#Buttery Fixes

1 messages · Page 3 of 1

thorn breach
#

If its about strangulation then bracken mightve filled that quota for zeekerss

trim breach
#

if you mean mask hornets, they have a fair bit of special logic compared to circuit bees and they are also basically a bonus attached to a more fleshed out enemy

smoky current
#

i worded it wrong

#

i meant there are a lot of enemies that do this

woven tartan
#

I still am not sure if I have spawning rarity setup correctly for the barber and butler because of the special mechanics

smoky current
#

but

woven tartan
#

As long as 2 barbers spawn at a time they should work fine yea?

#

I have barberfixes

trim breach
#

without barberfixes, only the first barber to spawn functions

#

the rest slide around silently and will eventually get stuck on the map somewhere

smoky current
#

sob

trim breach
#

with barberfixes, all barbers will synchronize and function as zeekerss intended them to

trim breach
woven tartan
#

Bet, so I should have at least 2 spawn

trim breach
#

that's up to you

#

i think it is a unique niche for barbers to fit

#

the only indoor enemy scripted to spawn in pairs

#

and it highlights their social behavior which is quite interesting

woven tartan
#

So the masked hornets should ? Do what they’re supposed to if the butler is killed

#

I haven’t killed one yet

hollow fable
#

it may be a little too much to ask, but as you're messing with the doors...

#

it looks so out of place 😭

#

why it isn't even aligned

radiant nymph
#

V60 is coming next week which will add changes for the vanilla interiors

hollow fable
#

V60 IS COMING NEXT WEEK?

radiant nymph
#

Yes.

#

Zeekerss announced it yesterday

radiant nymph
hollow fable
#

damn bro we're rich for a indie dev to update the game so frequently

vital path
#

rich vanilla, yes. rich modded? (car crash)

marble patio
woven tartan
fleet lintel
#

also its not her job to fix any of this lol, its a bugfix mod

radiant nymph
trim breach
#

it is a common mistake

#

but the "stan" in my username has nothing to do with me

#

it's actually referring to a high school friend's cat

#

and is basically just an ascended inside joke

#

that i have yet to shed because the alias stuck

#

lol

thorn breach
#

For me buttery stancakes just felt like a username a girl would have so I just assumed

woven tartan
woven tartan
#

I named him after my grandpop

trim breach
#

this isnt something i can fix super easily

#

so i kind of just suffer in solidarity with everyone else bugged by this

#

the same prop is used to block all of these unusable doorways so the uv seams are super obvious

jolly raven
trim breach
#

its a bit peculiar but it isnt bothersome

#

about half of my friends do it too

jolly raven
#

oki! if it does ever get even a little annoying just tell me and i'll stop

trim breach
#

lol you are fine

woven tartan
#

Stanielle

smoky current
#

you do have one of the strangest usernames ive seen in a bit i will admit lol

fiery juniper
smoky current
#

buttery whats your kinlist

trim breach
#

fluttershy mlp crossed with jesse "dead seater" vincent

hollow fable
#

got this error while playing today

[04:37:05.5612697] [Error : Unity Log] NullReferenceException: Object reference not set to an instance of an object
Stack trace:
ButteryFixes.Utility.NonPatchFunctions.ForceRefreshAllHelmetLights (GameNetcodeStuff.PlayerControllerB player, System.Boolean forceOff) (at <d8b3b6f98def4801a75039002a362c4d>:IL_000c4)
ButteryFixes.Patches.Objects.FlashlightPatches.FlashlightItemPost (GameNetcodeStuff.PlayerControllerB ___previousPlayerHeldBy) (at <d8b3b6f98def4801a75039002a362c4d>:IL_0001a)
FlashlightItem.SwitchFlashlight (System.Boolean on) (at <0b5b829887344817a21214132ea92eef>:IL_000fb)
FlashlightItem.ItemActivate (System.Boolean used, System.Boolean buttonDown) (at <0b5b829887344817a21214132ea92eef>:IL_00009)
GrabbableObject.ActivateItemClientRpc (System.Boolean onOff, System.Boolean buttonDown) (at <0b5b829887344817a21214132ea92eef>:IL_00112)
GrabbableObject.__rpc_handler_1761213193 (Unity.Netcode.NetworkBehaviour target, Unity.Netcode.FastBufferReader reader, Unity.Netcode.__RpcParams rpcParams) (at <0b5b829887344817a21214132ea92eef>:IL_00064)
Unity.Netcode.RpcMessageHelpers.Handle (Unity.Netcode.NetworkContext& context, Unity.Netcode.RpcMetadata& metadata, Unity.Netcode.FastBufferReader& payload, Unity.Netcode.__RpcParams& rpcParams) (at <895801699cfc4b4ab52267f31e2a4998>:IL_0004e)
Rethrow as Exception: Unhandled RPC exception!
UnityEngine.Logger:LogException(Exception, Object)
AsyncLoggers.Wrappers.Unity.<>c__DisplayClass4_0:<LogException>b__0() (at ./src/Wrappers/Unity/AsyncLoggerWrapper.cs:36)
AsyncLoggers.Wrappers.Unity.<>c__DisplayClass28_0:<wrapCallback>b__0() (at ./src/Wrappers/Unity/AsyncLoggerWrapper.cs:136)
AsyncLoggers.Wrappers.JobWrapper:LogWorker() (at ./src/Wrappers/JobWrapper.cs:84)
AsyncLoggers.Wrappers.LogJob:Execute() (at ./src/Wrappers/JobWrapper.cs:68)
Unity.Jobs.JobStruct`1:Execute(LogJob&, IntPtr, IntPtr, JobRanges&, Int32)

trim breach
#

oh what

hollow fable
trim breach
#

i've never seen either of these errors

#

im pretty confident the second one must at least be a mod conflict

#

i can maybe work with the first one

hollow fable
#

Well, the only mods i have that messes with scan nodes are from Testy

woven tartan
#

TestieCount666

#

333 men

smoky current
#

testaccount :)

radiant nymph
#

I'd disable it for now, he said he's gonna fix it tomorrow

trim breach
#

hopefully v60 would release soon

#

i'm sitting on bf v1.6 because i wanted to just make it the "v60 compat update" too

#

but it has some of the old bird settings that were requested

#

and a couple other neat things

#

like the fancy entrance doors

fleet lintel
#

should be out in 2 days if zeekerss is true to their word

brazen vapor
fleet lintel
#

could be v60 beta or v60 full release

#

they said 5 days ago that the update was finished but that progress was going so smooth they were gonna let it ride another week. so going off that it should be out in 2 days

uneven eagle
#

i didnt hear about this

#

do we know whats coming?

trim breach
#

i am at least hoping it is the last day of july

#

or first day of august

#

i don't know how literal "another week" was but i think the monthly transition is at least a pretty likely candidate for release

smoky current
#

now i have to wait for two things

#

i fr thought you canned that idea

trim breach
#

it wasn't ever canned

#

just wasn't sure if i wanted to make it a separate release or put it in this

#

but i decided i really dont want to flesh it out, so

daring steeple
#

imo seperate release would still be nice

#

people looking for fixes wouldn't be expecting that and people looking for that wouldn't be looking in fixes

ruby dagger
#

(Should only appear when the Manor is present, not be moon-specific)

trim breach
#

making it a separate release carries with it entirely different expectations

#

at least, that's how i feel about it

ruby dagger
#

Oh yeah

#

Along with that, could video previews of each vanilla moon be added to the terminal?

#

I can record them myself if you'd like

trim breach
#

i personally don't have much interest in doing so

#

but it's very easy to do

trim breach
#

i am now in the depths of transpiler hell agaain

#

trying to figure out why dnspy likes my il code

#

that i've reproduced identically with a patch

#

but is throwing an invalid il code exception when actually loaded

daring steeple
#

another transpiler from another mod perhap?

trim breach
#

im sort of doubtful

#

i dont think anything else is touching this

#

but i will probably check in the morning

#

im completely spent

fleet lintel
#

do you think this would have anything to do with that

trim breach
#

ive got it installed on this profile so it doesnt seem so

fleet lintel
#

might be worth to try without it just in case

trim breach
#

well

#

on a fresh profile with nothing except for my mod exclusively

#

it still throws an exception

#

so other mods and harmonyxtranspilerfix are not responsiblle

#

i dont know if that's better or worse

trim breach
#

i am seriously at a bit of a loss

#

now whenever i compile my plugin and load it

#

unity hard crashes

#

and i can't even begin to fathom why

#

i pulled out all the code i've changed since yesterday and it's still hard crashing

#

so it's like i've messed something up somewhere down the road or something

#

samboy's nuget host was down this morning and it's been crashing ever since i compiled after it came back

#

so i guess it's possible there could be something weird upstream

#

but idk what

#

ok, nvm. the hard crash was my fault

#

silly mistake on my part

#

glad that's been sorted

#

still getting an exception while transpiling i can't figure out, but i've spent most of the day not working on this, so i'm not surprised progress has been borderline nonexistent

#

i just wish

#

i understood

#

Sigh

trim breach
#

lol i finally figured it out

#

in hindsight the answer seems kind of obvious

#

im not totally sure why dnspy didn't catch this error even though harmony did

#

but that was the last major hurdle with v1.6.0

#

i'm still probably going to hold off on this until v60 is out, just so i'm not releasing a major update and then another one just for compatibility's sake

#

just glad to have that freedom now

somber hearth
#

this breaks Old Bird spawning for me entirely 😦
Haven't tested it on vanilla moons with Old Birds but Pestilence in particular (whose spawn roster I tweaked a bit with Lethal Quantities) no longer spawns Old Birds at all. There's still some dormant ones that spawn in but they literally never wake up, and removing butteryfixes causes them to spawn again.

It could very well be that on certain custom moons, dormant Old Birds never wake up period and only pop-in Old Bird spawns occur, and since this mod fixes that it just entirely breaks Old Bird spawning on said moons, but either way it's a massive shame because I liked all the other fixes in this mod.

Could you maybe add a config option to toggle Old Bird fixes on or off? I'll take pop-in Old Bird spawning jank if it means I can have these fixes + my sweet sweet Pestilence truck moon.

ruby dagger
#

I had a problem on LLL Artifice where like

#

NO old birds would spawn

#

I had to set their weight to 100 and everything else equal to or below 10 for even a couple to spawn

#

I was wondering why that was happening

oak sun
#

dang, time to turn it off again

trim breach
#

i dont have this issue so it sounds like an incompatibility with something else

#

although v1.6 includes a setting to let old birds spawn without a nest

#

as well as a setting to kill them with the car

#

so

#

once v60 is out you should be able to use those

trim breach
#

right now there is a minor bug that 1a3 discovered

#

where if an old bird tries to spawn while no nests exist, it cancels outdoor enemies spawning for the rest of the wave ("wave" happens every 2hrs)

#

i fixed that in v1.6 as well

#

but it is interesting that you arent having old birds themselves spawn, especially if nests are spawning for them to use

brazen vapor
#

wait whats old bird nest again

trim breach
#

the old bird "nest" is the deactivated object

#

that you can see stay still, walk on, etc.

#

when an old bird spawns it is teleported to a nest and the nest is deleted

#

which creates the illusion that it "woke up"

#

in vanilla old birds are still allowed to spawn if no nests exist

trim breach
#

so they just pop in instead

#

i "fixed" that, but there is a setting to restore vanilla's behavior sitting in the next version

#

im thinking v60 wont be more than another day or two

ruby dagger
#

Oh nvm I’m dumb

trim breach
#

baboon hawks literally have a nest

#

the pikes with the employee helmet

#

and zeekerss just reused some of that code with some tweaks

#

for the old birds

ruby dagger
#

If old birds can spawn without a nest, does that mean they have an unused intro animation?

trim breach
#

no

#

they just appear out of nowhere and do the wake up animation

ruby dagger
#

Weird as heck

trim breach
#

zeekerss added a "require nest to spawn" flag that currently isnt used by any enemies

#

but it is my belief that it was intended for the old birds and he just forgot to enable it

#

butteryfixes just sets that flag

trim breach
#

and then there is the config setting to just disable it entirely

oak sun
#

I hope v60 beta comes as soon as zeek said it will but I doubt it

fleet lintel
raw folio
trim breach
#

i have a sort of blind faith that it will release either tomorrow or august 1st

#

but we shall see

hollow fable
#

Probably August 1st

fleet lintel
#

my bet is tomorrow and thats definitely not because i just want it to come out sooner

trim breach
#

im just a little skeptical that "give it another week" meant zeekerss was planning to release it exactly 7 days later

#

i feel like he would've either called it quits and released it a day or two before when it was ready

#

or is in the middle of working on something now that is going to take extra time

#

i do feel like it will come before august 4th, at least

#

that would line up with his statement of "less than a month" and that would give him 4 additional days on top of the 7 he was already taking

#

which i would guess is enough time to wrap up anything else he's still working at

#

at the end of the day this is all just speculation and trying to draw patterns where they maybe don't exist

solid dagger
#

It'd be really funny if the update dropped in like 20 minutes

#

Good dev practice would be to drop it like, today or tomorrow in case an urgent hotfix was needed

#

But it is zeekers it could very well be Friday

trim breach
hollow fable
#

Is that a compass on bottom right? benice

trim breach
#

the arrow has always existed

#

the ship icon is supposed to be there but doesn't display

#

i fixed it

#

zeekerss' change was kind of weird and seems unintentional, but in case it was just to clear up screen space, i did make it a config setting

hollow fable
#

That's awesome

fathom peak
trim breach
#

yeah it's this

fleet lintel
#

yeah i googled it earlier, but i've genuinely never seen this before

trim breach
#

odd

#

it only spawns if there are at least 3 baboons "forecasted" to spawn during the day

#

so if you avoid the maps where they are most prevalent (mainly adamance) it would reduce your chances a lot

#

although i'd be surprised if you had never seen them at least at some point on artifice

fleet lintel
#

i dont think we've even been to artifice since the v50 beta 😭

#

we do go to adamance quite often though because it's my favorite vanilla moon

fleet lintel
near coral
trim breach
#

so sad

woven tartan
#

should totally push a quick update before v60 🙏

trim breach
#

i might

#

we will see

#

i'm sort of sitting on my thumbs right now because it's 100% ready

#

i just feel weird pushing v1.6.0 and then making a v1.6.1 that is just for hotfixing compat with the update

#

or making a v1.7 (which is even worse)

somber hearth
#

does the fix that makes masked who spawned inside but die outside not remove anything from outside power level work vice versa? some custom moons have masked spawn outside, but obviously they can then go into the facility, so does that fix also prevent masked that spawned outside who die inside not remove anything from inside power level too?

trim breach
#

99% of moons that allow monsters to spawn like that use starlanceraifix and id argue it is audioknight's responsibility to account for it since it is his new feature

#

vanilla registers every enemy type as either an inside, outside, or daytime enemy, and thats what power level they subtract on death

#

it isnt done on a per-enemy level

somber hearth
#

interesting, alrighty

trim breach
#

yeah it is sorta annoyingly inflexible

#

but in vanilla zeekerss has only ever given one method of spawning to each enemy

#

with the exception of the masked which spawn from vents, mask items, and player conversions, anyway

#

so it just works for his needs

woven tartan
#

I’m just Lowkey tryna skip v60 😹

fringe charm
trim breach
#

no

#

butteryfixes is my lethalfixes

#

anything that's separate from it is staying separate

fringe charm
trim breach
#

i sort of understand the demand for shrinking mod count

#

but i don't want to be maintaining multiple versions of the same mod

#

and im of the opinion that separate is always better

#

i just dont want to make CriticalInjuryAt10HealthFix

#

or HoardingBugsDontAttackYouIfYouLeaveTheGameAfterStealingScrapFromThemFix

#

so smaller stuff gets compiled into butteryfixes instead

fringe charm
#

so I thought id ask

trim breach
#

yeah, just explaining the thought process

#

i know profiles can grow unwieldy in size very quickly, but imo it's a lesser evil than game updates breaking all of my fixes because they are under the same umbrella

fleet lintel
ionic lion
#

v60 got delayed hehe

#

maybe you should do the v1.6.1 thing after all

radiant nymph
#

Would be pointless

ionic lion
radiant nymph
#

He said might lol

#

Not trusting it

trim breach
# ionic lion weellllllll https://twitter.com/ZeekerssRBLX/status/1819072869823127719

v1.6.0 is out

  • New config settings
    • Manor exterior doors on Rend, Dine, and Artifice
    • Restore the ship's icon on the radar compass
    • Disable Old Birds again by crashing into them with the Cruiser
    • Allow Old Birds to "pop in" after all dormant ones have woken up
    • Limit enemies with ramping spawns (baboon hawks, nutcrackers, masked, etc.) to 100 weight maximum (as intended? IDK) for more varied enemy spawns
  • Fixed enemies sometimes spawning in decreased volume after all Old Birds on the map have woken up
#

probably more stuff i forgot

fleet lintel
#

lol

trim breach
#

oh yeah this is the "disable out of bounds shit" update also

#

potential performance improvement on experimentation, assurance, and offense

#

kinda doubtful, but meh

ruby dagger
trim breach
#

every moon (except march) can spawn the manor in vanilla

#

rend, dine, and artifice are the 3 maps with manor primary

#

it doesn't work for modded moons if that's why you're asking

ruby dagger
#

NOOOOOOO

#

Does it work with March at least

#

(Since LLL fixes it)

thorn breach
#

fixes?

ruby dagger
#

March can't spawn the Manor because the Manor isn't compatible with three fire exits

#

Spawning it some other way aside from LLL will cause March to brick itself and not allow you entry into the buiding

thorn breach
#

icic

fleet lintel
#

it doesn't work with any moons besides rend, dine and artifice. it is not a dynamic replacement it is always the manor door on those moons

ruby dagger
#

What about the high chance that Artifice is the factory, then?

#

What's the point of the door if it doesn't dynamically change?

fleet lintel
#

because rend, dine and artifice are all moons that primarily spawn the manor interior

thorn breach
#

i could be wrong but i remember buttery saying that it only targets rend dine and artifice, but it only replaces it when manor spawn

ruby dagger
#

That makes more sense but still sadge it only affects those three moons

fleet lintel
#

.

ruby dagger
#

Wh

#

There's not really a point to this feature then-

#

No offense

#

I guess I'm just a complainer but idk

thorn breach
#

oh well

fleet lintel
ruby dagger
#

It'd be such a cool indication that you got the Manor though...

#

Oh well

trim breach
#

¯_(ツ)_/¯

#

i didnt want to set it up for all the moons since i manually positioned and rotated the doors

#

i just wanted to fix it on dine and rend, primarily, since they are almost always the manor

#

and then i extended it to artifice because it looked good with artifice's palette + artifice is still mostly the manor, even if it has a decent factory chance

smoky current
#

Its an aesthetic thing you don't have to get so critical about it just because it doesnt fit your use case

#

You can just not use it

#

I don't think buttery has to account for you randomly hard swapping out interiors on a moon by moon basis because most people arent doing that

#

It's just a cute indicator to show the default interiors for some moons and I think it looks nice

solid dagger
#

it's arguable it doesn't belong in a fix mod but eh

somber hearth
# trim breach v1.6.0 is out - New config settings - Manor exterior doors on Rend, Dine, and ...

does the "limit enemies with ramping spawns to 100 eight" thing force itself to apply across the board even if other mods are altering or deciding spawn weights for those enemies? I don't want my work in Lethal Quantities to get overridden or borked, one moon in particular I have nutcracker spawn weight set to 500 to almost guarantee nutcrackers spawn first, and then their weight goes down according to how many are alive.

trim breach
#

yes, i made it a config setting because it isn't going to play nice with custom moons or custom settings

somber hearth
#

oh good ty

trim breach
#

although, even if you use custom moons, it only applies to the vanilla levels (the idea being that modded moon authors are able to balance the weights manually to fit their vision)

somber hearth
#

I customize vanilla moons sometimes

trim breach
#

to be 100% clear im not even totally sure it's a bug to begin with

trim breach
#

but to explain the thought process

#

none of zeekerss' moons have enemy weights above 100

#

and the challenge moon "increased enemy spawn rate" modifier just selects a random enemy to set to 100 weight

trim breach
#

so the idea seems to be that enemies never exceed 100 weight, because even when their spawn rates are maxed for the challenge moons, they remain at 100

trim breach
#

so if you are playing a moon where they already have 100 (nutcrackers are 100 on rend, primarily)

#

they can exceed 100 spawn weight

#

that would also mean that if the challenge moon was rend and selected nutcrackers as the increased enemy type

#

nutcrackers would actually become less frequent because they were already 100 weight

#

and now they aren't getting their unique multiplier as extra nutcrackers spawn

#

and that seems like unintended behavior to me

#

anyways kind of rambly but that's why this is a config setting

#

if you believe it's a bug (and i kind of do) you can enable it, but it's disabled by default because it is the most likely setting to break modded compatibility

#

also i assume some people just wont want this change in general

somber hearth
#

interesting, alrighty

#

ty

thorn breach
#

just to throw my opinion on there, this would be a pretty weird bug, the fall off curve is just a curve, you'd need to deliberately set it in a way that it would increase spawns overtime, but maybe theres a pattern with zeekerss and he just happened to miss these instances

trim breach
#

zeekerss set the curve intentionally but i dont think he was considering it with challenge moons setting the weight to a flat unmodifiable 100

thorn breach
#

ah yeah okay that i can buy

cloud sorrel
# trim breach 99% of moons that allow monsters to spawn like that use starlanceraifix and id a...

Pardon my lurking, I'll see what I can do. If I figure out a method that doesn't necessarily require AIFix, I'll pass it along to you so you can implement it as a fix, since (unless I've read this wrong) you've implemented the fix for the opposite situation already.
From a vanilla stance, for simplicity, the issue you've fixed is that if a masked dies outside, it subtracts from the inside power where it originated, is that correct?

trim breach
#

no

#

the problem with vanilla is that masked only naturally spawn from vents

#

and whenever an enemy is assigned to a vent

#

it increments the current indoor power

#

but masked are marked as an outside enemy

#

so any time they die

#

it subtracts outdoor power level

#

so, for example

#

on rend, the outdoor power level cap is 6

smoky current
#

that does seem like an issue

trim breach
#

if a dog and a giant both spawn, that puts outdoor power at 5/6

#

and nothing else can spawn because rend has no 1 power level outdoor enemies

#

but if you kill a masked

#

it subtracts outdoor power (even though the masked never added to outdoor power)

#

which sets it to 4/6 and allows another dog to spawn

trim breach
hollow fable
#

if i kill 3 masked and no outdoor enemy spawned yet, the outdoor power gets negative?

trim breach
#

no, current power is never allowed to be negative

#

it only allows "overflow" if enemies have already spawned to take up power level

#

anyways

#

butteryfixes marks masked as indoor enemies because that's how they spawn in vanilla

#

and i added another patch to the masked death that doesn't subtract power level if that masked is mimicking a player (only happens in the "conversion" cases i mentioned above)

thorn breach
#

i imagine the fix is to keep track of their IsOutside property when they spawn, and then patch the decrease method to use that property

trim breach
#

this is sufficient for vanilla

#

because like i said before, zeekerss only ever assigns one means of enemies spawning

#

in vanilla, thumpers only ever spawn inside, so it's fine for them to subtract indoor power always on death

#

but in your case, since you want to allow inside monsters to spawn outside and vice versa, you might want to rewrite the logic for how power levels are handled

#

unless you've done anything to account for that, right now, a thumper spawning outside will subtract inside power when it is killed

#

allowing indoor overflow and continuing to block spawns outside

#

etc.

#

this isn't something i need a fix for, but it is something you might want to investigate for starlancer ai fix

#

the problem with the vanilla system is that the EnemyType controls what power level an enemy subtracts on death

#

so you can't change what type of power level they should subtract on death dynamically based on whether the enemy is actively inside or outside

#

you could set removedPowerLevel to true for all enemies (to skip the vanilla code) and then write your own code to manage the power level a different way on enemy death

#

it's probably as easy as having an IsOutside check for starlancer AI fix

#

but in the case of enemyescape you'll have to actually track where that particular monster spawned, not where they are when they die

#

anyways

#

hopefully my explanation makes sense

#

it's a little complicated

cloud sorrel
#

Yee, I think I've got a rough understanding of the issue, I'll investigate

trim breach
#

my bad the variable was called removedPowerLevel

#

anyways, SubtractFromPowerLevel returns immediately if removedPowerLevel is true (to prevent the same enemy from removing its power level twice)

#

so you can just set that variable to true on any enemies you want to write special handling for

#

then you'd probably just patch SubtractFromPowerLevel with your custom logic and subtract from the right power count

cloud sorrel
#

Unless I'm misunderstanding what VS is letting me do, I think I can just dynamically set the EnemyAI __instance's EnemyType on spawn, which should alleviate the problem entirely?

thorn breach
#

dont all enemies share that same enemytype? if u change it for one u change it for all of em (i could be wrong here)

#

all enemies as in like, all dogs, all masked

#

etc

cloud sorrel
#

EnemyType is just a component on the prefab, yeah?

thorn breach
#

nono

#

enemytype is a scriptable object (i say that without really knowing what it actually actually is)

#

but it's not on the prefab at all

#

the ai script does reference it, but thats about it

cloud sorrel
#

Do you have Unity open?

#

it takes too heckin long to open, so I wanna avoid doing it if possible

#

Also, let's move to AIFix so we don't clutter ButteryFixes

trim breach
#

okay

trim breach
#

as a side note

#

maybe it's not the worst decision that i launched v1.6.0 early

#

because i probably wouldnt have dropped the compat update on launch day anyway

#

i usually play the new updates without any mods (except scrollinverter) to ensure bugs don't ruin any of the new stuff i'm experiencing blind

radiant nymph
#

Like I haven't seen Forest Giants spawning on Aurlis for example

#

XD

trim breach
#

no i fixed a bug with enemies that use requireNestObjectsToSpawn

#

but no other spawn weights are touched if you have the spawning settings off

radiant nymph
#

Got ya

trim breach
#

and i dont touch spawn rates at all

#

just the weights

#

so like

#

well

#

if anything you should be seeing more monsters than you did in previous versions

#

because vanilla had a bug where old birds (if you used my mod, which made them require nests) would cancel other enemies spawning if they rolled their spawn chance and no nests existed

radiant nymph
#

Yeah I'll figure out what it is lol

trim breach
#

it was a pretty rare circumstance but i fixed it anyway, and now spawns shouldn't be reduced in any circumstance

trim breach
#

but at least part of that might be the starlancer ai fix update

#

that makes enemies subtract the right power level

#

this mod does fix masked enemies subtracting outdoor power, and thus allowing outdoor spawns to "overflow" the intended maximum

#

but that's been fixed in this since like v1.1 or something, so if you've been using it a while, you shouldn't be noticing a recent difference there

radiant nymph
#

Something in my pack is definitely fucking with enemy spawns

#

I went to Embrion and no old birds were spawned

#

LOL

#

I'm seeing if it's CodeRebirth, cus I know Xu messed with power levels for the custom weathers

#

I have a feeling it may be that

#

Nope not that

#

This may be an issue cus I'm testing with Imperium ofc but wtf

radiant nymph
#

Yeah it was an Imperium issue

#

Imperium seems to break really easily I'm not that big of a fan of it

trim breach
#

lol

#

i see

trim breach
#

or maybe it was some other incompatibility that imperium just makes more common

#

who knows

#

anyways i just became aware of a new outdoor spawn overflow bug

#

and im kind of surprised i didn't think to check this before

#

apparently when you unplug the apparatus, any old birds that wake up as a result of the radiation warning don't add to their species' spawn cap or to the power level

#

which actually would allow more than 20 old birds to spawn on embrion, especially if you play during eclipsed

#

and would exacerbate the pop-in issue

#

so im probably going to add a fix for that

#

especially since i can just bundle it in with the existing UnlimitedOldBirds setting

somber hearth
# trim breach it might be that imperium was causing your issue as well?

was not using imperium at the time of the tests that acquired this feedback, was doing good ol' fashioned LGU forcecredits 90000 and going to a moon that I customized the outdoor monster spawn pool of to have a bitchton of old birds from start of day to end of day, I have found imperium to break a lot of OTHER small things though, so odds are if I turned on imperium it would've broken even more from butteryfixes

trim breach
#

i see

#

unfortunate

#

still not sure what the root cause is, then

#

do you know if enabling the "UnlimitedOldBirds" setting has fixed your issue?

#

from v1.6

queen viper
#

Could you add a way to specify which moons get the fancy doors? Or just add them whenever the interior is a manor?

candid pivot
queen viper
candid pivot
#

oh, my bad.
I didn't understand your question

trim breach
#

the doors have to be manually positioned/rotated and then alterations have to be made to the doorframe and some other related objects

#

i only set it up to work on rend, dine, and artifice

#

and just being completely honest, im not interested in expanding it to work with other moons or change based on the current interior

#

it's extra work for a feature i don't care for and opens the door to a lot of additional expectations with modded content that i don't want to be responsible for

#

someone else is free to pick it up and run with it, though

#

i don't really mind

queen viper
trim breach
#

it's more than just that, because the old door objects also have to be disabled, and they don't have a fixed location in the hierarchy

#

also requires adjusting the scale of the doorframe + the fake "black screen" behind the door windows

#

wouldn't be a very user friendly config

fleet lintel
#
if interior = factory
  set door.factory
else if interior = mansion
  set door.mansion
else
  set door.custominterior

just paste this into the project it works

golden blade
#

I found a very specific bug. There is a conflict with LethalQuantities. If LQ is set to have custom spawns on a moon involving Old Birds, their stationery forms will spawn but they will never activate. However, if UnlimitedOldBirds is set to true, then they will start reappearing again with the LQ config set. (This took me too long to narrow down lol... 🪦 )

trim breach
#

interesting

trim breach
#

However, if UnlimitedOldBirds is set to true, then they will start reappearing again with the LQ config set.
this is expected, because I added that setting to disable any changes I made to the old bird's spawning behavior

#

so I'm glad that it functions as a workaround

#

would be nice to figure out what is causing that problem though

golden blade
#

I definitely deserve a cookie. Having a lot of mods installed made it difficult to pinpoint. lol But I'm glad I got the report in.

trim breach
#

just out of curiosity

#

if you still have your logs

#

do you see anything that says Enemy "RadMech" spawning is disabled; no nests present on map

golden blade
#

Unfortunately, I don't have that kind of experience, so I wouldn't know where to look. >.>

trim breach
#

it would be in %localappdata%Low\ZeekerssRBLX\Lethal Company\Player.log or %localappdata%Low\ZeekerssRBLX\Lethal Company\Player-prev.log

#

sorry typo'd that folder

golden blade
#

I use Linux with r2modman, but I've seen that folder somewhere, just gotta find it again... hold on...

trim breach
#

im personally unfamiliar with unity on linux but this is where it apparently stores logs

#

so in this case, should be ~/.config/unity3d/ZeekerssRBLX/Lethal Company/Player.log

#

or Player-prev.log

trim breach
#

i need to figure out what's going on with lethalquantities, then, because it seems like it would be the common link

#

for both of the reports for this issue

golden blade
#

Found it

trim breach
#

ah nice

trim breach
golden blade
#

Yes, it says it three times.

trim breach
#

humm okay

golden blade
#

[Debug :Buttery Fixes] Enemy "RadMech" spawning is disabled; no nests present on map
Failed to create agent because it is not close enough to the NavMesh
Spawned enemy: ForestGiant
[Debug :Buttery Fixes] Enemy "RadMech" spawning is disabled; no nests present on map
Failed to create agent because it is not close enough to the NavMesh
Spawned enemy: ForestGiant
[Debug :Buttery Fixes] Enemy "RadMech" spawning is disabled; no nests present on map
Failed to create agent because it is not close enough to the NavMesh
Spawned enemy: MouthDog
[Debug :Buttery Fixes] Enemy "RadMech" spawning is disabled; no nests present on map
Failed to create agent because it is not close enough to the NavMesh

trim breach
#

i wonder if lethalquantities is doing something that interferes with the nest generation logic

#

but that doesn't make a ton of sense

#

if those deactivated old birds are spawning, those are the nests; they should have the EnemyAINestSpawnObject component that gets searched for by both vanilla and my patch

#

so i would expect that either old birds wouldn't spawn at all, or they should work ok as long as they are spawning in "deactivated"

#

might need to run both together with unity inspector and check out the game at runtime

#

oh, i think i might be seeing what's happening here now

golden blade
#

?

trim breach
#

orrr maybe not

#

what i think might be happening is that lethal quantities is altering the HideFlags on the nest objects

#

with specific HideFlags, both vanilla and my patch would fail to find any nest objects, even if they do exist

#

and since vanilla cancels spawning an enemy with requireNestObjectsToSpawn unless it finds an existing nest object

#

that would seemingly cause nests to be visible to the player but "invisible" to the spawning functions

#

i could just disable the nest spawn patch if you have lethalquantities enabled

#

but i think this is more like a lethalquantities bug that needs to be fixed

#

that just doesn't cause any apparent issues unless you use my mod to activate some (currently unused in vanilla) behavior

trim breach
#

well, it was a good theory, but doesn't actually seem to be the case

#

unless unityexplorer doesnt show HideFlags correctly

#

i am definitely observing this bug though

#

as long as unlimitedoldbirds is off and lethalquantities is enabled

#

they just wont spawn

#

even during an eclipse

trim breach
#

probably going to make small updates to all of my plugins tomorrow

#

this one actually has a fair bit added

#

but like

#

there's a minor nullreferenceexception i want to fix with jetpackfixes

#

and a small detail i missed with enemysoundfixes i want to sort out

#

might also work on the revisitstingers update tomorrow as well

#

most of these updates are already ready to go but i am entirely too tired tonight to zip them all, write all the metadata, and upload

somber hearth
#

but they spawn in fine now, so the issue doesn't seem to be present anymore in the most recent version of buttery fixes

trim breach
gilded lintel
trim breach
#

it just has a bunch of criteria requests

#

im going to make it more configurable

brazen vapor
#

buttery do u know anything that make the quota raising sound being looped until u leave the orbit ?
having this problem recently, happened randomly so i cant pin out the mod culprit lol

trim breach
#

it should throw an error in the log

#

if you could send that i will take a look

brazen vapor
#

i dont think noone of us remember to grab the log lol
ill make sure to grab it next time it happened again since its so random
tho should cleanerlog and logneuter at default need to be turned off ?

fleet lintel
radiant nymph
#

Nilshud if you use it

trim breach
#

"default" logneuter does nothing

#

cleanerlogs on default wouldn't prevent exceptions

brazen vapor
#

aight

trim breach
#

you can try this

#

i've never experienced the bug mentioned here

#

but it sounds very similar

brazen vapor
#

ill try that after i get the sound loop again
in the meantime this is the pack in question
01914ef6-0e84-cfab-b129-6aecfa97c827
incase anyone wanna peek and know something

radiant nymph
jolly raven
trim breach
#

you can read the description

jolly raven
#

cuz if so i've had that bug for a looong time

trim breach
#

i've seen it on thunderstore but i can't confirm/deny the description is even accurate

#

it's just a guess

jolly raven
radiant nymph
#

I remember needing that mod back then at least, haven't needed it as of V50 or newer

trim breach
#

it's possible that even if this was a bug

#

it was fixed in v50

#

or whatever version fixed the intern rank

#

it might have been v47

radiant nymph
#

Yeah

brazen vapor
#

oh ye @radiant nymph is the betterexp mod still working fine ?
just wanna ask since i keep forgetting to add it lol

fleet lintel
trim breach
#

probably not

#

just the only thing i've ever heard of

#

in relation to "ticking noise forever bug"

gilded lintel
#

does the "Fixed erroneous active state of Vekknar's helmet light "flashlight" (now True)" a normal log entry? i would assume so if its "Info" level, or does it indicate an issue?

trim breach
#

yes

#

that is fine

molten wraith
brazen vapor
#

erm

jolly raven
#

it's just on moons w a chance for mansion I think

molten wraith
#

ah ok

ionic lion
#

have you thought about a mod that adds the ability for giants to hear? cause i've heard someone say there was unused code for it.

trim breach
#

there isn't unused code for it

#

rather, there was functional code for it in v40, that got stripped in v45 when zeekerss nerfed the forest giants

#

i am a bit curious to see how it plays, but i haven't had any serious thoughts about restoring it with a mod yet

jolly raven
#

you're such a sage, you know like everything about this game

fleet lintel
#

not sure about forest giants being able to hear

#

i do wish sound was an element with more enemies but i like that the dogs and giants are kinda mirror enemies

paper garden
#

you'd think Baboon hawks would be more complex with hearing things

#

maybe if Hoarding Bugs being able to hear(?) was more obvious too

fleet lintel
#

hoarding bugs do react to sound yeah

#

i remember the myth that baboon hawks would back off if you shouted at them, i honestly kinda wish that was their gimmick because the bestiary does hint at that and it would make them more interesteing

fathom peak
#

Despite it being a myth, I still tell them off. Its what they deserve.

fleet lintel
#

same yoiled

gilded lintel
#

same, I wish you could yell at them until they backed off a cliff. beevil

hollow fable
#

Same, yelling at baboon hawk to back it off it's just too real and funny

paper garden
#

Baboon Hawks still react to noise

#

Voice just makes them look at you or wake them up when sleeping

#

Items that make noise do make them back off though

trim breach
#

or, alternatively, referring to the fact that noisemaker props (airhorn, clown horn, hairdryer, and cash register) temporarily raise your threat level each time you use one

#

but yeah

#

i really like the yelling myth

#

it would be nice to see that actually be incorporated

#

i think zeekerss is able to sample the volume of microphone input and use it

#

question mark

#

so it should be possible to implement without like, normal conversation scaring them away

oak sun
#

Hawks do hear you and will wake upwhen sleeping, or look in the direction of the sound when walking, likely spotting you

#

If youre trying to sneak past their patrols dont talk, avoid LOS behind trees, sprint after being spotted

fringe charm
trim breach
#

im hoping to have the v61 update ready by tonight

#

revisitstingers also needs a critical hotfix

#

i think jetpackfixes, enemysoundfixes, and meleefixes are all functional

#

nothing about the barber changed in the update so barberfixes will still work

#

i want to guess weedkillerfixes is probably also good

radiant nymph
trim breach
#

probably nothing

radiant nymph
#

and also doesn't despawn

#

I think cus Dine's layout got updated

smoky current
#

ohh is that why main had no door

#

i thought that was intentionally put there by zeekerss lol i rlly need to start testing updates in vanilla first

trim breach
#

yeah

#

i forgot about that

#

i already fixed it upstream (ajust gonna make the setting rend and artifice only)

#

but i wasnt thinking about it until i went through all my files 1-by-1

trim breach
#

aghh i forgot that mineshaft is more common on artifice than manor now

#

maybe i really ought to just do it properly and make it dynamically adjust based on interior

#

im definitely not doing that in the v61 compat update but maybe it will come afterwards in the future

#

i guess

fleet lintel
#

new butter fixes yoiled

trim breach
#

im not totally happy with how it looks but i didn't feel right releasing the update with the setting only changing rend

#

i will probably improve on it a bit in the future

fleet lintel
#

does this work if you change where the vanilla interiors spawn on vanilla planets? like if an interior that normally can't spawn on a vanilla moon is changed to spawn there

trim breach
#

right now it only works for manor and only for vanilla planets

#

but it does work for all of them (except march since it's always a special factory)

fleet lintel
#

i see

gilded lintel
#

can I make a Buttery suggestion for a config setting? Removing spray paint on the environment between moon landings, not sure why Zeekerss hasnt caught this and fixed yet

trim breach
#

supposedly, it's meant to stay on the exteriors

#

i think either puffo or blueray said something about that in zeekcord

#

there is some code to remove it between days but it doesnt seem to work right

#

and it's definitely not meant to stay in the interiors

#

it's been on my backlog of things to look into

smoky current
#

someone forces march to generate manor

#

with lll

#

does it still not work

trim breach
#

i considered adding a special case for that

#

but decided not to just to save on time

#

since i was a little pressed for it yesterday

#

i will probably add it to march in the next version

#

since it'd be pretty easy to do

somber hearth
#

genuinely can't tell if this error is butterfixes or lethalfixes, but I got hung on the screen that faces the door as it closes after taking off and the ship was locked in ship in motion for clients while I as the host was frozen and softlocked

#

moon had a tornado from windy weather from Code Rebirth, in case that's somehow a hint to what caused all that mess, as taking off from this same moon had worked several times prior

somber hearth
#

😭

trim breach
#

your errors are being thrown by a different mod

#

this isnt lethalfixes or butteryfixes

#

in this case they're being thrown by this

somber hearth
#

oh? interesting, I just assumed because one line said "EnemyFix.Patches"

#

ohhh of course

trim breach
#

i am not familiar with the bug being described here nor sure why this mod is necessary

#

so unless you have experienced this bug before it's probably safe to just remove it

somber hearth
#

yeah seems it didn't even complain about a dependency when I uninstalled

#

honestly not sure how it snuck into my modpack anymore

trim breach
#

🤷‍♀️

#

in any case

#

hopefully that actually fixes your issue

#

it is possible something else is causing a problem, and it was just this specific mod getting hung up first

#

that probably won't be the case here

#

just something to take note of

somber hearth
#

hmm, alrighty thank you very much

trim breach
#

wondering whether to include a fix for mineshaft loot

#

or wait and see if we get a patch for it anytime soon

#

i wrote an (extremely ugly) transpiler that forces tabletop loot to spawn at any scrap spawn point if no tabletops exist, which prevents loot from being deleted in mineshafts

#

to make the scrap numbers more consistent

#

i used it with my friends and it worked just fine and it really made the mineshafts feel a little less frustrating

paper garden
#

if no patch for it from zeek

#

PLEASE

#

LMAOO

gilded lintel
#

What's wrong with Mineshaft loot? Putting them in the elevator or something? I noticed it's difficult finding loot in the tunnels, they clip into the geometry

solid dagger
#

I believe there's an uncommon issue where loot will try to spawn but has nowhere it can

#

So it just doesn't

#

But I might be wrong

trim breach
#

any time a fancy lamp, toothpaste, golden cup, magnifying glass, toilet paper, or plastic cup tries to spawn

#

it finds no valid spawn points

#

and then it gets deleted, rather than force spawning or being replaced with another valid item

thorn breach
#

I thought he fixed that in v61

trim breach
#

mineshafts had a flat +6 items added to them, which helps counteract the "penalty" (although he phrased it like it was intended to be a bonus for the mineshaft's level of difficulty, so it will probably remain once the bug gets fixed)

#

also, he sorta fixed the tabletop bug

#

because now if a moon does a "single scrap event", and the single scrap is selected to be a tabletop scrap, it completely ignores spawn restrictions

#

so, if for example, you play artifice and get a mineshaft + a single scrap event for fancy lamps

#

in v60 every single one of those fancy lamps fails to spawn and you get a $0 day (Lol)

#

in v61, those fancy lamps are permitted to spawn everywhere, even spots they would normally be blocked

#

which allows them to populate the map as expected

thorn breach
#

Icic

gilded lintel
#

anyone had a softlock when leaving a moon? game didnt detect we were in orbit and the UI wasnt appearing on screen, couldnt fly to other moons

gilded lintel
#

Oh I should look at logs hey, haha

fleet lintel
#

this seems to be patched in v62

whole bridge
#

So is this I think

fleet lintel
#

oh yeah forgot about that

trim breach
#

my patch isn't incompatible

#

but yes

#

i will remove it in the next version

#

my fix for mineshaft loot was technically a little bit stronger

#

because it allows tabletop loot to spawn at any position on any interior if it runs out of valid spawn points

#

to make scrap numbers completely consistent

#

but i don't think i've ever encountered this issue outside of the mineshafts in fairness

radiant nymph
#

lol

trim breach
#

i'm not 100% sure his fix works

#

i think it might work in vanilla

#

but it could still be funky if you use any reserved slot mods

#

depending on how those function

#

i fixed it a different way that is a little more aggressive

#

so i will probably leave my patch in just for safety

#

still a nice change though

radiant nymph
trim breach
#

i remember the flashlight thing driving me crazy

#

several months ago

#

because shaosil published flashlightfix

radiant nymph
#

Yeahhh I had to remove GI again unfortunately

#

I love it

#

But Teleporters keep breaking randomly

#

It's BeamUpPlayer patch just decides to randomly die

#

and idk why

#

We really need a mod that does the item rotation saving stuff as a seperate mod

#

So badly

trim breach
#

i dunno

#

it's such a minor detail i've never been too bothered

#

also i dont think rotations are even synced across the server properly

#

i thought mattyfixes included a fix for it but i noticed that changing the v-type engine rotation desynced it between me and my friends

#

i could see it as upright when my friends dropped it with default horizontal rotation settings

#

so i dunno

rustic crater
#

@trim breach Hey, sorry for the random ping, but I found a fix for a very minor vanilla bug that just feels, uh, Buttery(?) and could maybe be included in here. The bug being that if you switch from an item with a special grab animation to an empty slot, the next item you scroll to has that special grab animation active. I have the fix apply in the video after I toggle the light switch, but before that the flashlight's moving as if it were a knife. It happens with the clipboard too (holding other stuff in front of you as if they were a clipboard), and probably also with some other grab animations I just haven't tested.

#

Seems to be fixed with just this:

    [HarmonyPatch]
    internal class GrabAnimationPatch
    {
        [HarmonyPatch(typeof(GrabbableObject), nameof(GrabbableObject.PocketItem))]
        private static void Postfix(PlayerControllerB ___playerHeldBy)
        {
            ___playerHeldBy.playerBodyAnimator.SetTrigger("SwitchHoldAnimation");
        }
    }
trim breach
#

lol

#

i've noticed this bug before but looked at the inventory code and it looked really annoying

#

to fix

#

if it's really this simple you are a lifesaver

rustic crater
#

I was trying other stuff with PlayerControllerB.playerBodyAnimator.parameters, but no changes were doing anything. Pretty surprised at that just working...

#

Haven't tested with stuff like reserved inventory slots, though, might have to account for that, but for vanilla it just seems like it's supposed to run that line of code in PlayerControllerB.SwitchToItemSlot() but it doesn't due to the item switching to being null.

rustic crater
#

Actually, now that I think about it, it might be better to just do a transpiler to insert that method call. 🤔

rustic crater
# rustic crater Actually, now that I think about it, it might be better to just do a transpiler ...
    [HarmonyPatch(typeof(PlayerControllerB))]
    internal class GrabAnimationPatch
    {
        [HarmonyPatch("SwitchToItemSlot")]
        private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
        {
            return new CodeMatcher(instructions).End()
                .MatchBack(true,
                    new(OpCodes.Ldarg_0),
                    new(OpCodes.Ldfld, AccessTools.Field(typeof(PlayerControllerB), nameof(PlayerControllerB.playerBodyAnimator))),
                    new(OpCodes.Ldstr, "cancelHolding"),
                    new(OpCodes.Ldc_I4_1),
                    new(OpCodes.Callvirt, AccessTools.Method(typeof(Animator), nameof(Animator.SetBool), [typeof(string), typeof(bool)])))
                .Insert(
                    new(OpCodes.Ldarg_0),
                    new(OpCodes.Ldfld, AccessTools.Field(typeof(PlayerControllerB), nameof(PlayerControllerB.playerBodyAnimator))),
                    new(OpCodes.Ldstr, "SwitchHoldAnimation"),
                    new(OpCodes.Callvirt, AccessTools.Method(typeof(Animator), nameof(Animator.SetTrigger), [typeof(string)])))
                .InstructionEnumeration();
        }
    }
#

This works but is not exactly pretty. UAHGHHUAHGHHH

trim breach
#

i was thinking i could try to transpile this

#

into this

#

but i guess i'd be a little concerned about some weird mod conflict happening there

rustic crater
#

Can't really think of any specific mod that would conflict with that, though...

#

Maybe an emote mod that lets you scroll through your hotbar? I guess it could maybe reset the player animation there.

trim breach
#

i would be more worried about reserved item slots just because im not sure how they interact with pocketing/equipping items

trim breach
#

but maybe if said emote mod transpiles the same method to try and add some special logic

#

it would cause an issue there

rustic crater
#

Yeah, not sure, I'll probably do some testing to see how it interacts with some of those mods.

paper garden
#

I think @stable wharf has said Reserved Slots use vanilla code

rustic crater
#

Actually jumped the first time it happened, haha.

stable wharf
#

There's a lot of text above, so I haven't read a lot of it, but was there an issue with my reserved mods? Or maybe a compat issue?

rustic crater
stable wharf
# rustic crater Not a specific incompatibility, just wondering if the fix for that grab animatio...

Is this a reference to my mod calling that line? Also, there is a good chance that my reset grab animation code where I attempt to reset some holding animations or something is not perfect. I don't think I ever got it quite right, because it was really confusing at the time. It was also quite a while ago, so I don't remember all the details on how I ended up handling all of it. I will need to reference my code sometime when I'm back at my computer. I'll probably be heading to bed soon.

I think it's more likely that my mod isn't necessarily unfriendly with other modded items, it's probably just any items in general, including vanilla items. I think I remember hearing someone talk about the shotgun animations acting strange sometimes.

trim breach
#

tl;dr:

whenever you scroll from an item on to an empty slot and then scroll onto another item, the new item uses the old item's animation
EX: if you're holding a kitchen knife, scroll to an empty slot, then scroll to a flashlight, you will hold the flashlight like a knife

this is because PlayerControllerB.playerBodyAnimator.SetTrigger("SwitchHoldAnimation") only gets called when currentlyHeldObjectServer != null when the item slot gets switched, which would be false when you are scrolling from an empty slot

my mod would always reset the trigger when switching item slots, including when currentlyHeldObjectServer is null, if you are aware of any issues that could cause off the top of your head

#

i feel like it is a relatively safe change, all things considered, but anything is possible

rustic crater
# stable wharf Is this a reference to my mod calling that line? Also, there is a good chance th...

Oh, didn't know ReservedItemSlots was doing something similar, but it seems you're only calling PlayerControllerB.playerBodyAnimator.ResetTrigger() so maybe it's fine? https://github.com/cmooref17/ReservedItemSlotMods/blob/main/ReservedItemSlotMods/ReservedItemSlotCore/Patches/PlayerPatcher.cs#L197

#

I can check real quick if it causes anything, though.

stable wharf
# rustic crater Oh, didn't know ReservedItemSlots was doing something similar, but it seems you'...

Yeah, so usually any grabbing animation code that I might have would be when you grab a reserved item, it tries to prevent you from swapping holding animations because that item often doesn't even go into your main hand which is usually how the game handles picking up items.
So where I do have code that messes with grabbing animations, it's usually because I'm trying to put the grabbing animations back to what they were before they grabbed a reserved item so it looks like the player never swapped off the item that's currently in their hands.

I'm not sure how much I touch animation stuff unless it's when the player is grabbing a reserved item. I'd have to check when I'm not so tired 😂

rustic crater
#

Didn't stumble across any errors regarding animations either.

smoky current
rustic crater
radiant nymph
#

@trim breach Did you patch being able to spam the hairdryer?

#

Cus I like being able to spam it

#

Btw you should probably make auto collecting bodies a config option

trim breach
#

also it just doesnt make sense you can turn the hairdryer on while it's already on

trim breach
radiant nymph
trim breach
#

do you have a log

radiant nymph
#

That was how I found out they were breaking from that mod and not GI lol, although granted you said some things in GI still break

trim breach
#

like, when you say "it" broke are you talking about the teleporter breaking?

radiant nymph
trim breach
#

because the code in butteryfixes for collecting the body does not affect the teleporter

radiant nymph
#

Yeah this was from LethalElements breaking it

trim breach
radiant nymph
#

Mhm I know GI does touch the teleporter function, which the reason I thought GI was breaking them before was cus GI's patch was always throwing a Stack Trace when they broke

#

I'm still unsure if it's better to use GI or the seperate mods though

#

I guess for stability it may be better to not use it

radiant nymph
trim breach
#

i play with two groups of people with two separate profiles

#

one of them is basically just vanilla + qol + bugfixes

#

the other one is a lot more heavily modded

#

i use generalimprovements in the latter and not the former

radiant nymph
#

Ah I see you said GI breaks stuff relating to furniture even when the setting is turned off

#

Rip

radiant nymph
#

I found I have very few things I use from it nowadays, like when I took it out yesterday I replaced it with OpenMonitors, BetterShipScreens, LetMeLookDown, DoorlessStorage, and MoreMoneyStart, your mod and darmuh's mod cover almost all the other things I used to once rely on GI for tbh

trim breach
#

yeah

#

it is sort of a shame because generalimprovements is a convenient package

#

and back when shaosil was actively maintaining it and fixing stuff every couple of days it was an easy recommendation for all packs

radiant nymph
#

It is, but the main issue trend I notice

#

Shaosil keeps releasing buggy features in it then going inactive

#

yeah

#

I respect the man a ton

#

But he needs to focus on stability patches before he goes inactive rather than 5 updates that add new things and leaving

#

lol

trim breach
#

yeah i can kind of understand the perspective

radiant nymph
#

Yeah I can too

trim breach
#

it's probably more exciting to work on new features than just fix bugs endlessly

radiant nymph
#

Mhm

trim breach
#

i actually love doing the latter and not so much the former so im kind of weird on that

#

but it's not a very common situation i would think

radiant nymph
#

It's a matter of balance imo

#

I think adding new features is fine, but also ensuring things are stable after is also good

smoky current
#

@trim breach is all new scrap still conductive

trim breach
smoky current
#

yours?

#

oh so you fixed it

trim breach
#

i think i disabled soccer balls, zeddog, plastic cups, clock, and toilet paper rolls

#

iirc

smoky current
#

thank you!!!

trim breach
#

also i think i did the maneater but all of a sudden i cant remember 🥲

smoky current
#

i still think flasks shouldn't be conductive if they are tbh

#

idk if that was fixed

trim breach
#

yeah i fixed that in v1.0 i believe

smoky current
#

cooll

trim breach
#

or whatever version i first added the conductive setting in

paper garden
#

he made the enemy conductive?

trim breach
#

yeah all the new items in v60 are conductive

#

including the maneater as a baby

#

but due to a vanilla bug,i dont think the maneater can be struck by lightning

#

unless you use lethalfixes

paper garden
#

wtf 😭

#

baby ate too much

trim breach
#

ah nvm

#

i did remember to uncheck the "conductive metal" box for the baby in v1.7

#

hooray

trim breach
#

hopefully the next update will be soon

#

there's a bunch of stuff i want to fix but i've been having trouble motivating myself to actually write the code to do it

#

recently

jolly raven
#

take all the time you want bud!!

trim breach
#

one bug that has been eluding me for a while is the bug that lets you drive the car into a death pit and survive

#

im not even exactly sure how to replicate it, let alone what is causing it

#

but a couple of times on dine i've gotten trapped in a death pit because i've slipped off in the car and just not died

#

it's weird

#

i was hoping to fix it in this next update since i'm fixing a couple of other bugs with the cruiser

#

but i might just put that on the backburner

trim breach
#

the scope of this update keeps growing as i keep remembering little nitpicky things i want to address

#

i think for real the last thing i will do is the item animation thing pacoito was posting about the other day

#

i'd like to do it "mostly properly"

#

it's just kind of an annoyingly specific fix so any time i try to pick it up i just kinda get irritated and move on to something else

#

i feel like doing it the hacky lazy way isn't a great idea this time, since scrolling is something you're gonna be doing constantly

#

so minimizing the amount of code that runs is kinda big for aiding performance

daring steeple
trim breach
#

initially i was thinking the trigger was ignored because using the vehicle set some sort of flag

#

but that wasnt the case

trim breach
rustic crater
# trim breach i feel like doing it the hacky lazy way isn't a great idea this time, since scro...

At this point I'm wondering if something like this could be better than patching PlayerControllerB.SwitchToItemSlot directly:

    [HarmonyPatch(typeof(GrabbableObject))]
    internal class GrabAnimationPatch
    {
        [HarmonyPatch(nameof(GrabbableObject.PocketItem))]
        private static void Postfix(PlayerControllerB ___playerHeldBy, Item ___itemProperties)
        {
            if (___playerHeldBy == null || ___playerHeldBy.currentlyHeldObject != null
                || ___itemProperties == null || ___itemProperties.grabAnim.Length == 0)
            {
                return;
            }

            ___playerHeldBy.playerBodyAnimator.SetTrigger("SwitchHoldAnimation");
        }
    }
#

The null checks might be redundant, but that should only run when switching from an item with a grab animation to an empty slot, and it does still work.

#

(This bug is an infohazard. agony)

trim breach
#

i might do something simple like this just to get the update out

#

i don't know how much longer it's going to take if i force myself to write a transpiler for it

hollow fable
#

I've always wanted to ask, did you ever think on fixing the non-existent hitbox in the sloping walls near the Experimentation fire exit

#

That we can just pass through whar

trim breach
#

i've avoided making changes to moon collision up to now, so probably not

#

since it's a client mod you'd be able to see other people clipping but not be able to follow them

#

etc

hollow fable
#

Fair

#

Then you could make them invisible?

#

Or remove them

#

As they don't do anything

trim breach
#

all of those pillars are the same mesh and disabling them would significantly reduce the detail of the exterior

trim breach
#

weirdly enough the settrigger thing doesn't seem to work for me

#

at least not when postfixing SwitchToItemSlot

#

oh, wait, i think i see what the problem is

#

your fix does work but only if you equip a generic item after equipping an item with a special animation or vice versa

#

i just tested it with the knife and flashlight and it works fine

#

but when i was testing it with the shotgun and jetpack

#

no dice

#

oh it also looks like patching SwitchToItemSlot causes the item grab animation to stop playing

#

hughhh i hate this bug

trim breach
fleet lintel
#

what does this mean

ruby dagger
#

Manor has unique doors where they’ll randomly burst open or slam close

trim breach
#

yeah

#

the chance for a door to be haunted when spawning in manor runs once for every player in your lobby

#

which significantly increases the effective chance

#

with butteryfixes only the server host will allow haunted doors

#

and then the doors opening/closing will sync to everyone on the server

fleet lintel
#

is that a new thing? i don't think i've ever noticed it

trim breach
#

yeah it was just added in v60

#

but it was broken and disabled until v62

#

so it's brand brand new

fathom peak
#

Nice

lofty badge
#

Something something, when one door opens another closes.

#

I'll see myself out...

rustic crater
rustic crater
#

OH wait the parameter in SetTrigger() needs to be "SwitchHoldAnimationTwoHanded" for items that have twoHandedAnimation set to true, which I thought was referring to actual two-handed objects but it applies to the jetpack and shotgun since you do hold them with both hands.

#

@trim breach This one should work for everything:

    [HarmonyPatch(typeof(GrabbableObject))]
    internal class GrabAnimationPatch
    {
        [HarmonyPatch(nameof(GrabbableObject.PocketItem))]
        private static void Postfix(Item ___itemProperties, PlayerControllerB ___playerHeldBy)
        {
            if (___playerHeldBy == null || ___playerHeldBy.currentlyHeldObject != null
                || ___itemProperties == null || ___itemProperties.grabAnim.Length == 0)
            {
                return;
            }

            ___playerHeldBy.playerBodyAnimator.SetTrigger(!___itemProperties.twoHandedAnimation
                ? "SwitchHoldAnimation" : "SwitchHoldAnimationTwoHanded");
        }
    }
#

I couldn't get the bug to show up testing various combinations of items, at least. yoiled

trim breach
#

i tested the switchholdanimationtwohanded thing because i thought it would work

#

but i think i was doing it in the wrong spot

#

so it didn't work

#

and i wrote it off

#

when it was something else causing it to be broken

#

😅

rustic crater
#

I assume you were trying a bunch of stuff at the same time though, so it's understandable to write it off after it not doing anything.

#

I still don't think that's an ideal solution, though... not sure if there's a way to modify PlayerControllerB.playerBodyAnimation to just specifically reset the holding animation, since I don't really know what SetTrigger() is doing under the hood.

trim breach
#

i think settrigger is fine

#

the animator component is basically just a state machine that holds booleans and jumps between events

#

the SwitchHoldAnimation trigger just jumps the animator from any animation into the state that checks which grabAnim bool is true

#

and then jumps to the state that plays the proper animation

rustic crater
#

Oh, I see. That's probably fine, then.

#

Also I'm wondering why vanilla doesn't have these two lines inside an else, it seems to work just fine if SetTrigger() is only called once for two-handed (animation) items.

#

Maybe worth considering if you do decide to write a transpiler for SwitchToItemSlot(), but probably doesn't matter or affect anything.

gilded lintel
#

spooky 👻

near coral
#

ghost football

trim breach
#

on second thought it looks like haunted doors actually dont cause issues when multiple people roll the haunt chance

#

since it is based on a couple local variables

#

so i might revert that change in the next update

trim breach
somber hearth
#

a new config option or stand-alone mod to let people tweak or entirely disable the 'all scrap is the same' thing from v60+ would be lovely, I've seen multiple people already complaining it kinda borks their modpack balance, and am now finding myself in the same position after playing it enough

trim breach
#

i wont be adding it as a config option since it isn't a fix

#

or restored content

#

i'd be a little surprised if a standalone mod doesn't already exist

#

but if there isn't one i could maybe throw one together

#

on that note i sorta want to release a patch for scrap

#

there's still some extremely rare circumstances where an interior could generate without valid spawn points for certain types of items (generally on the smaller dungeons)

radiant nymph
#

@trim breach Been running into an issue where knives are hurting players when you swing them today, is that a bug with the update for Melee Fixes?

trim breach
#

the melee fixes update was nothing

#

i just updated the thunderstore description

#

since vanilla v60 fixed multi-hit

radiant nymph
#

Okay just wondering what mod is causing that lol

trim breach
#

due to random.next being minimum inclusive and maximum exclusive, configuring a map to spawn "14 items minimum and 18 items maximum" actually spawns 14-17

#

so it's entirely feasible all the max scrap numbers are off-by-one to begin with

#

hard to say for sure if zeekerss was designing around that knowledge or not

thorn breach
#

I hate that the function is exclusive, it makes sense but it's so unintuitive

trim breach
#

i think the reason why is maybe so that you can just pass in an array's length

#

to get a random element

#

instead of having to remember to do length - 1 every single time

#

but that's just my guess

#

🤷‍♀️

thorn breach
#

My guess was that it's more literal just based on how the function is made code wise

#

Also iirc system.random's range isn't exclusive?

trim breach
#

IT IS

#

oops caps

#

it is

#

scrap spawning uses system.random anyway

#

anything seeded does

thorn breach
#

Oh so that means it IS 14 to 18 not 14 to 17?

spice marten
thorn breach
#

I dont know if u consider this a bug, but as the ship was leaving a forest giant hit the soccer ball since it was behind the ship while leaving and i feel like that's unintended LOL (I assume its possible for it to get out of ship by kicking it)

daring steeple
#

@trim breach have you considered fixing the probuilder warning spam when you load a vanilla inbterior

trim breach
#

not really

#

i have a ton of logging stuff disabled and ignore most of the vanilla logs

#

but depending on what it'd take to fix i might be able to

daring steeple
#

iirc you just need to stick your hands into the prefabs and make the negative numbers positive but would need testing ofc

trim breach
#

ah

#

i do plan to do some prefab adjustment at some time

#

to fix some stuff like mineshaft navigation

#

or fix traps spawning inside of certain colliders

#

etc.

#

it is kind of a large undertaking and i'd hopefully only make changes that are client-sided or host-only

#

which does limit my options a bit

gilded lintel
trim breach
#

it's not like

#

a bug

#

but in fairness zeekerss did hardcode some stuff to be unable to interact with stuff in the ship

#

i.e. forest giants literally can't grab people inside the ship as it's taking off

#

so it does feel sort of at home

#

i applied some similar changes as well

#

like making the kidnapper fox not kill players inside the ship

#

back when that was still in the game

#

or the eyeless dogs

#

as long as they were locked out

radiant nymph
#

@trim breach You think you might be able to implement masked not spinning on the radar at some point?

trim breach
#

they stop spinning when they are killed

#

by default

#

but i dont think im going to implement a setting to globally disable the spin TBH

radiant nymph
#

True I just would like an option for them to not spin at all, I like that it makes them less obvious

#

fair

#

Idk if that comes with a performance penalty at all

trim breach
#

it would be easy but it is a subjective change and i'm trying to keep the config sorta lightweight

radiant nymph
#

Ye

trim breach
#

it's only like

#

one line of code though

#

so it'd be really easy to implement in one of the masked overhaul mods for example

#

if mirage is still in active development it could be added really easily there

#

etc.

radiant nymph
#

Yeah I can see @stark mantle adding it to Mirage eventually