#Buttery Fixes

1 messages Β· Page 13 of 1

trim breach
#

wait

#

actually

severe gale
#

Narrator: It was then that his transmission grew 3 gear sizes that day.

trim breach
#

sorry i was gonna say "ill just hurry up and write that transpiler and release the update"

#

since a bunch of shit keeps piling up

#

including a couple of requests i'd really like to address sooner rather than later

#

but i forgot i was kind of in a limbo state with a bugfix i was pitching to matty

#

so i'd like to confirm some input on that before i push

#

i suppose i will still suck it up and make the trnaspiler either way

trim breach
#

i'll have to take a look at this

#

im not immediately sure what is happening for either of these

meager estuary
#

Sounds good

trim breach
#

it is now that i bring to you the Buttery Fixes Quality 100% Guarantee

#

if i do not write the transpiler by the end of tonight i will deprecate every single one of my mods and disappear from the community permanently

#

not a single person who has played lethal company will ever hear from me again

#

(except in their nightmares)

thorn breach
#

😭

cursive otter
#

😧 no... no no no...!!!

#

good luck...!

meager estuary
trim breach
#

ok it's done

#

it literally took me like 15 minutes

trim breach
# trim breach not a single person who has played lethal company will ever hear from me again

when she has to add literally 2 instructions

call static GameNetworkManager GameNetworkManager::get_Instance()
ldfld GameNetcodeStuff.PlayerControllerB GameNetworkManager::localPlayerController
ldfld bool GameNetcodeStuff.PlayerControllerB::isInElevator
brtrue Label5
+ldarg.1 NULL
+brfalse Label5
call static HUDManager HUDManager::get_Instance()
ldc.i4.0 NULL
callvirt void HUDManager::ShakeCamera(ScreenShakeType shakeType)
meager estuary
#

Crisis averted

cursive otter
#

hehehe

#

hooray!!!

trim breach
#

im gonna have a lot more trouble keeping my stomach upright visiting dine in the future πŸ˜“

#

(crawling flies now work for all of these scraps rather than just the foot)

cursive otter
#

hrm i wonder if there is a mod around to turn off that sort of thing ... well i guess if it doesn't work properly normally then it wouldn't be too hard to make ... but it'd be a nice thing i imagine . sorta like the NoVomit mod

trim breach
#

it's extremely easy

#

this mod hasnt been updated in years but i pitched a solution for it in that mod

GitHub

Lethal Company v73 redesigned the scrap found on the moon Dine, adding a variety of severed limbs, organs, and bones. Several of the "fleshy" items have the ability to spawn bug particles...

#

basically, these body parts have only a 25% chance of being infested with flies at all. and of those 25%, only 10% will have the "crawling flies" version of the particle i fixed

#

so only about 1 in every 40 of these items you see will be "worse than usual" (how it would appear without the fix)

trim breach
#

since it would destroy the object that gets created when the chance succeeds

#

and then the item will just behave as if they never spawned at all

#

what i will say is this... if there is demand for this entomophobia mod, and absolutely nobody else has plans to support it, i can throw something together and upload it real quick... but i'm also more than happy to just pass this off to somebody else and let them run off with it

cursive otter
#

huhh well it's a shame that hasn't gotten updated in forever it sounds really useful

#

i don't really know anyone else who has this issue though tbh we don't play on dine very much

#

i can imagine it'd get pretty bad after a while even for me

trim breach
#

but i do think it'd be a bit weird to upload a dedicated entomophobia mod when i don't really have plans to handle other bugs like circuit bees and locusts (some of which have been tackled in other mods already)

#

that's why i think ideally someone who's put in that work could just adopt my fix and offer everybody a more complete package

#

but im not sure there's anybody in the community actively doing that right now

#

so releasing a mod for "specifically removes the flies on dine" could work as a stopgap, just so the option is available for those who want it

#

so long as it is understood that i probably would not be developing more features for it

cursive otter
#

i mean i think that makes sense yeah

trim breach
#

dine is technically the meta right now

#

anybody going for world record is pretty much exclusively playing dine

#

but im not in any of those spaces to know if there's been demand for a dine entomophobia toggle in that community

#

or if it would even be permitted in competition anyway

opal cairn
trim breach
#

but i do know that it gets to me and every time i've spent time fixing issues with the dine scrap i have kind of dreaded playtesting it

#

now at this point, where it works and is ready for release, im dreading having to play with it in the future a bit

thorn breach
#

it is a weird situation you've put yourself in

trim breach
#

i dont know if im "dreading it enough" where i feel like i need a toggle to turn it off but i could absolutely see that sort of thing being nice to have

#

and im sure somebody else probably wants that even if im on the fence

cursive otter
#

well i think even in that case it'd be nice to have it for yourself if no one else... no pain you need to put yourself through with a solution that easy

#

i dunno up to you ultimately but if it'll make things easier on you mentally i imagine it's worth it

trim breach
#

but it always makes me a bit uncomfortable actually testing out the fixes for it

#

it's not as bad as it could be but it's certainly a bit awkward

#

idk how to describe it but i guess the desire to fix it is stronger than the desire to avoid dealing with it

#

although knowing it works now, i can't say im looking forward to putting up with it in actual gameplay

#

it's really weird

#

well

#

whatever

#

im probably gonna release this next update already

#

i've made like a million changes and now that i wrote that transpiler the changelog is finally complete

#

i will probably also release a microscopic "DineEntomophobia" mod as a sister release

#

to disable the flies (which exist in vanilla but will be so much worse with the new BF)

trim breach
cursive otter
#

yay!

#

u do a lot of awesome work for these mods, thank u greed ❀️

cursive otter
trim breach
#

so even "DineEntomophobia" is a bit misleading with the existence of mask hornets

#

Sighh...

opal cairn
#

theres also hoarding bugs, bunker spider, and maneater

#

πŸ˜ƒ

#

and snare fleas

trim breach
#

wow this is my first time uploading to thunderstore in 4 months

#

😬 ssssssss

#

dont do it

#

dont you dare fucking do it

#

oh wow i found an easter egg in dine (in the "both ways" ???)

#

anyways it looks like my mod for Removing Bugs works

#

with this latest release i will officially become one of the community's "Bug Removers"

trim breach
#

anyways, sorry for how long it took me to get this update out the door... but the new CharredBodies setting I added should let you turn that feature off while keeping PlayermodelPatches enabled

cursive otter
meager estuary
# trim breach dont do it

We need a mod that makes it so the Maneater keeps getting fatter with every scrap it eats, without limits

#

See how big it gets when set loose on Dine

slate venture
#

Butteryfixes new update seems to be incompatible with v70poweredlights fix. If the game generates a mansion interior, it will get stuck in the seed screen.

trim breach
#

lol

#

i added a fix for the incorrectly named object in the garage tile

#

since there was a bug report for it in zeekcord

#

and by the sound of things the person who posted it there is the same person who added it to poweredlightsfix

#

anyways

#

i went and checked the source of poweredlightsfix and apparently it has no null check before it makes changes

if (((Object)((Component)__instance).gameObject).name.Contains("GarageTile"))
{
    Transform val8 = ((Component)__instance).gameObject.transform.Find("HangingLEDBarLight (4)/IndirectLight (1)");
    ((Object)((Component)val8).gameObject).name = "IndirectLight";
}
#

so since mine runs first and makes the change already

#

theirs runs into an error and crashes

#

id argue the lack of error checking is dangerous and should be fixed upstream in v70poweredlightsfix

#

but i will just have to hotfix and add auto-compatibility to work around this for now

glacial garnet
#

Hey buttery a lil out of context but I really enjoy some of your mods, so I was wondering what's your favorite, personal modpack?

trim breach
#

i dont really use a modpack

#

i just made a profile with a bunch of fix mods and restored content

#

i like vanilla so i dont really use custom content

glacial garnet
#

ah, i see. I think vanilla is pretty unbalanced, especially with store prices and enemy power levels, so I was trying to find or create a modpack focused on that. Thanks though

trim breach
#

well i do rebalance some stuff

#

i agree pure vanilla is pretty bad

#

in its current state

#

i just havent found any custom content that i can holistically say i enjoy

meager estuary
trim breach
#

i dont think it's perfect but i think many of its mechanics feel they capture lethal company's sort of weird monster design

#

and aesthetics are pretty good

trim breach
#

i installed v70poweredlights fix and tested a manor seed with a garage

#

seemed ok

meager estuary
trim breach
#

i also think terra's scrap is the holy grail of custom scrap

#

R.I.P.

trim breach
paper garden
#

that guy is peak

glacial garnet
slate venture
#

You can use lunarconfig to change tool price

glacial garnet
trim breach
#

it's not intended to be a fully fledged configurator mod like lunarconfig (at least, that's what i believe everybody is using now)

#

it's mainly designed so i can push networked changes to my friends in multiplayer without making them have to constantly download local mods

#

if any of the changes in that mod interest you, you can install it and disable the other choices that you dont like and it should still work fine

trim breach
#

ex. if you just want coilheads to be 2 power and maneater to be 3 power

#

i am 99.9999% sure you can just do that with lunarconfig

#

but if you want the maneater's lunge change, afaik my mod is the only one that has implemented a change for that

opal cairn
#

lunarconfig not only has more options but is just better anyways

glacial garnet
#

should i swap LCvariables for lunar?

opal cairn
#

probably

#

dont know if this is the case for it also
but another configuration mod recently broke entirely if recent dawnlib versions are in use alongside it

#

oh yeah and lunarconfig can properly read content added by dawnlib

glacial garnet
#

can it alter enemies, prices, weights, and scrap values? without having to do it per moon

opal cairn
#

im not sure about a single item having globally shared weight for all moons its on

#

but i mean you can just copy paste a weight entry

glacial garnet
#

that's interesting, i didnt know weights were moon based... i thought every item always had a certain weight and value assigned to it, and then the moon has a price modifier that affects all scrap equally

trim breach
#

i think there is a misunderstanding with the term "weight" being used here

opal cairn
#

oh yeah

glacial garnet
#

i mean weight in Kgs

trim breach
#

there are 2 definitions for "weight"

#

items themselves have a weight value, which is how much they slow the player down when held

#

and then when you assign an item to a moon, you have to give it a weighted value to determine how likely it is to spawn

glacial garnet
#

right

trim breach
#

internally the second value is called "rarity" but it's a bit confusing because items with higher rarity spawn more often than items with lower rarity

opal cairn
#

as a term

trim breach
#

because "spawn weight" makes more sense

#

it's a weighted list

#

and items with a larger spawn weight should spawn more often than items with a lower spawn weight

#

it's just unfortunate that it exists in a game that also has actual weight (like gravity applied to mass weight) as a term that also needs to be defined

#

anyways

opal cairn
#

now we just need a mod to add weights

#

(the exercise equipment)

trim breach
#

that is correct

#

it's actually impossible for individual variants of an item to have different weights

trim breach
#

because every individual item (let's use the v-type engine as an example) all reads from a global v-type engine file that says "they weigh 15.75lbs" with no randomization

opal cairn
#

does variables not have settings for spawn weight specifically

trim breach
#

individual moons dont have a price modifier in vanilla

opal cairn
#

it should be a string like
"Red soda:37,V-type engine:48" as an example

trim breach
#

but there is a global "scrap value multiplier" and a global "scrap amount multiplier" that the game tracks internally

#

i assume mods that let you configure that on a per-moon basis are just overwriting those global values temporarily

#

but for vanilla, the scrap value multiplier is always 0.4x and the scrap amount multiplier is always 1x

thorn breach
trim breach
#

so if an item says "my minimum price is 50 and my maximum price is 140" (again, this is the v-type engine)

#

50 is actually multiplied by 0.4x and so is 140 (so they become 20 and 56)

#

the decimal places are dropped if it's not an integer value already

#

and then because Random.Next is maximum exclusive, the actual price range becomes $20-55

opal cairn
#

i love that V-type engines are worse than large axles on average for no reason

#

large axle min/max is 36-55

glacial garnet
#

that's odd, why not just make the multiplier 1x, would be less math

thorn breach
#

i imagine zeekerss had a whole thing with their weights already done at a high value, but thought that the numbers overall were too high so he just multiplied em all by 0.4x

trim breach
#

the value exists as a knob for zeekerss to tweak the balance of the entire game

trim breach
#

if he thinks scrap is too valuable across the board he can change one number which adjusts everything all at once

#

rather than rescaling every individual scrap item's price values

trim breach
#

say you want eclipses to increase all items' value by 50% for a day

#

you can just prefix SpawnScrapInLevel() to say "if it's an eclipse, increase scrapValueMultiplier to 0.6"

#

and then reset the value back to 0.4 after items spawn

#

same thing if you want 50% more items to spawn

#

you can just change scrapAmountMultiplier to 1.5

#

and then change it back

#

like i said, this is what im assuming most configurator mods are doing under the hood

#

(although i suppose they could just transpile their own modifier value into the function)

thorn breach
#

i dont think a single configuration mod has used transpilers yet

#

maybe lethal quantities

severe gale
#

What's a transplier?

cursive otter
severe gale
#

Oh, I wonder if that's what harmony does

cursive otter
#

well harmony can do lots of things

#

it can also run code before/after a method, that's just a prefix and postfix respectively

severe gale
#

I'm using this knowledge to transplice beanie and cheese into the same being.

cursive otter
#

intriguing...

trim breach
#

ridiculously minor thing

#

πŸ”Ό before and πŸ”½ after

#

i had to reimplement this text for the FilterDecor setting anyway, so if you're using that, it will have corrected formatting in the next update

trim breach
#

ok so as far as i can tell the first issue just isnt even a thing

#

on a profile with just imperium + unityexplorer + lcbettersaves

#

im able to lockpick both sides of every door that is capable of generating in the greenhouse

#

i do have a hypothesis for why people could be getting confused by this

opal cairn
#

that wasnt the issue

#

the issue is the double greenhouse doors have a space under them that you cant pick up items from

trim breach
#

anyways

trim breach
#

i am aware this is a problem but this is not very easy to fix

#

the problem is that lethal company allows the interact raycast to be interrupted by triggers

#

so items inside of triggers can't be interacted with

#

the glass doors have an absolutely massive trigger and any items inside that region are uninteractable

#

but if you shrink the trigger, it changes how enemies interact with the door

#

because enemies open doors by standing inside the trigger

trim breach
#

and right now it's the best way to get around that issue

#

although personally i dont use it because it makes selling items at the company really annoying (the desk's "sell zone" is a trigger you interact with, so items showing grab prompt inside of that makes it unusually difficult to place large amounts of items)

#

and also iirc it made stacking items in the cupboard difficult

#

or maybe im forgetting the other reasons i turned it off

#

anyways

#

everybody using TestAccountFixes with ItemGrabFix enabled shouldnt have to worry about the trigger issue, and if that's a recurring issue in your gameplay, that is the workaround i'd probably suggest

#

here is why the maneater thing is a problem:

#

the box at the bottom of the double doors is the trigger

#

monsters need to stand in that zone to open the door

#

but it's very short (i guess zeekerss shrank it to try and allow "tall items" to be grabbed through the trigger zone?)

#

and the maneater's collider hovers over that trigger

#

0% overlap

#

you can see the single glass door variant (also in the screenshot) has the monster trigger cover the entire vertical distance of the door

#

so maneaters can open those just fine

#

barbers also hover above the trigger

#

and probably others but i dont feel like checking every single one

#

baby maneaters have their colliders touch the floor so they can open these doors just fine

#

thumpers also touch the floor

#

and hoarding bugs, and spiders... etc.

trim breach
# trim breach here is why the maneater thing is a problem:

there are 2 ways to fix this, and im concerned neither one will be very popular.
no matter what, these colliders have to touch for the door to get opened, meaning:

  1. the affected enemies need to have their colliders extended downwards
  2. the door's trigger needs to be extended upwards
#

fix #1 is kind of the nuclear option because i expect it will change a lot of nuances of interacting with these enemies

#

maybe there's some strategy with maneaters/barbers on the factory stair tile that will become impossible with their hitbox extended, even just a little bit

trim breach
#

and while personally, i think that's acceptable (since most items will already be ungrabbable anyway, this only affects big stuff like bottles, engines or axles)

#

im sure some people will be very vocal about me making a change that:

  1. makes it easier for monsters to chase you through a certain area
  2. makes certain items that are grabbable in vanilla ungrabbable
#

so im hesitant to do that

#

as much as this is objectively a bug that i want to fix

#

unless #2 were out of the picture i think it would be a problem for me to fix it

paper garden
#

I ❀️ Lethal Company jank

trim breach
#

so i guess feel free to weigh in, anybody who reads the above

cursive otter
#

i think the first issue is fine since they can go through every other door it is just bug exploiting to hide behind these broken doors, so fixing it would be fine...

#

as for the second one, you said ItemGrabFix fixes it, right? you could maybe add it to the readme as a recommended mod for that fix to make it not a problem

#

if that's a thing you can/want to do

#

basically i think itd be an acceptable bug fix

slate venture
#

idk how navmesh generates, but I think if navmesh near the door was thin, the enemies would try to pathfinding by the middle of the door.

trim breach
#

so you need the latter installed and need the former enabled

trim breach
#

the biggest example that comes to mind is when i patched old birds getting killed by the cruiser

cursive otter
#

WHAT?!

#

people were upset about that that's completely ridiculous

trim breach
#

even though zeekerss fixed it himself in the next patch anyway

#

and also it was obviously a bug lol they'd just freeze in place permanently with no special effdcts or animations

#

anyways

cursive otter
#

my bug fixer mod that fixes bugs fixed the bug that i liked?! outrageous!

trim breach
#

i guess i could make it configurable like i did some of the other exploits

#

but i really dont like adding new config settings unless they feel really warranted

#

and i think a config setting that says "this fixes maneaters not being able to open a specific door but makes items ungrabbable in extremely rare cases" is just weird and unintuitive anyway

cursive otter
#

yeah i think it'd probably be fine to leave it as is

#

without config i mean

slate venture
#

Fixing a bug that makes the game easier: πŸ‘ Fixing a bug that makes the game harder: 🀬

meager estuary
meager estuary
# trim breach the biggest example that comes to mind is when i patched old birds getting kille...

The line between exploits and tech can be very thin I find, so people like to bend the latter to be the former. If I had to guess, a lot of sweatier players are just kinda annoyed that so much unfair stuff is being left as-is while rare helpful jank is patched out. I still stand by that Zeekerss not enabling the code to make traps not spawn near entrances was a huge fumble.

The only exploit I actively defend is bunny-hopping around Dogs, and even then I understand patching it out. I just like that the exploit allows some active counterplay (not just passively sitting there waiting for them to leave). The exploit is not free either, costing all your stamina and still being a bit finicky. That said I can see that it may make Dogs too easy on most vanilla moons.

trim breach
#

but i also put a lot of effort into fixing a lot of that "unfair stuff" in this mod and imo there's a give & take to it

#

if you want to play with my mod where i patched turrets shooting you through bookshelves, spike traps spawning inside the elevator on mineshaft, forest keepers having completely broken sight mechanics, etc.

#

then it personally feels a little unfair to me that those players also expect any change that disadvantages the player to be left as is or at least made configurable

#

i do it anyway for a couple things, because i've already set a precedent for it (by including that jump cheese setting years ago i opened the door)

trim breach
#

i probably wouldnt have even included the option in the first place just being real

#

though im not gonna go back and remove it

#

i think as it exists lethal company has a lot of issues with balance and a lot of it comes down to unfair interactions that have just never been fixed

#

and i do make an effort to fix that stuff when i can with minimal heartache

#

i just get personally a lil annoyed at how that is sometimes overlooked and i get requests to re-enable bugs that offer players an unfair advantage

#

i've basically made my peace with where it's at but this is my philosophy

#

anyway

#

this mod does have a default config and i do have another mod (BRB) which people can use if they care to try "my vision of lethal company"

#

and with the current arrangement of configuration settings hopefully i can make "the vast majority of players" happy

#

if previous incidents havent made it apparent (probably the big one is the item cooldown thing)

#

i do feel like i tend to be pretty narrow minded and controlling of "what other people should experience"

#

and i am making an effort to try and be less forceful of what i think the game should be like

#

which is why some settings like PatchPocketLights and AdjustCooldowns exist now

#

and why i've historically caved for options like KillOldBirds (and iirc UnlimitedOldBirds was also a request but my memory might be failing me)

#

anyways

#

no TL;DR

meager estuary
meager estuary
#

UnlimitedOldBirds and Dog cheese also do allow some mod compatibility you may not be aware of. The former keeps Old Birds from just dying off each day when mods that introduce ways to kill them are installed, and the latter keeps some modded moons from being brutally difficult

#

So the options for those of us in different circumstances to control aspects of this mod are very much appreciated

trim breach
#

@hollow palm ok so i pass the buck to cruiser improved now

#

it looks like toggling the setting mid-game with lethalconfig just doesnt work

#

i havent checked what CI is doing under the hood

#

but as long as you boot the game with the setting disabled BF 1.16.2 will respect that

#

I guess I will just go ahead and push it

hollow palm
#

okei :D

trim breach
#

[Debug :Buttery Fixes] Player "ButteryStancakes" died to "Blast" outside during stormy weather
[Debug :Buttery Fixes] Player "ButteryStancakes" was likely struck by lightning, shake rigidbodies
#dev-general message

#

if your dead body's cause of death is "blast" and you died within a certain radius of the most recent lightning strike, i added the "electrocution jitter" from circuit bees/electric chair to it

#

it's very fun

meager estuary
#

Epic

#

Should do it with the electric chair too

#

(idk if it has that already)

trim breach
#

circuit bees or electric chair

#

i just apply it to lightning bodies (which are technically "blast" and don't spawn the electrified corpse prefab)

meager estuary
#

I see

cursive otter
#

oh that's so awesome it's so perfect

severe gale
#

Zappity Zap Zap

trim breach
# trim breach

while i was implementing this fix i finally discovered the reason my fix for auto-collecting players who die in the ship didnt work

#

so that will also work in the next update

trim breach
#

i think there's a lot of fun to be had in seeing bodies randomly get collected on your screen

#

and then you find them decapitated by ghost girl on ship or surrounded by dogs or baboons or something

#

or maybe someone detonates a jetpack on your other 2 friends and you see 3 bodies instantly collect πŸ˜›

slate venture
#

Nice

slate venture
#

Is it possible to do an auto-collecting when teleporting a body? General Improvements did this, but it doesn't work pretty well.

trim breach
#

but it is disabled if you have general improvements installed

#

im not sure if you're asking because it's disabled or if it's broken

slate venture
#

GI sometimes collects players without bodies, and if you teleport a player while changing the screen, it will teleport the right body, but the collect notification will be the wrong one.

slate venture
trim breach
#

i see

#

i didnt realize it was so buggy

#

i disable mine so that the GI config setting would still work

#

i still never got around to figuring out a way to test specific settings from another mod's config

#

i dont think it's actually that hard, probably just a matter of using configfile with a diff GUID, but ive never tried up to now

slate venture
#

I'm not sure, but this GI setting causes the collect notification to spam when teleporting a masked while going to orbit.

summer falcon
trim breach
#

i havent run into any issues like that with my implementation

#

im not sure if it's a conflict or if GI just doesnt do something that i do

#

but anyways

#

historically i have just disabled all my body collection stuff if GI is enabled

#

in the next version i will just make it a config setting

#

so you can use it and disable GI's implementation if you think mine works better

#

or you can just disable it everywhere if you have some sort of conflict or bug with it

slate venture
#

πŸ‘

trim breach
#

the next update is going to include a very controversial fix

#

so controversial i don't even think it makes sense to be enabled by default

#

it's going to completely change how monster spawns work

#

across basically all seeds

#

but im pretty sure the current system works the way it does because of several unintended effects

#

if you read zeekerss' code there is an intentionality that i believe is missing in the current system

#

but they are pretty complicated issues and difficult to concisely explain

#

so im not sure how much this would actually help

meager estuary
#

Very interesting

#

So I assume something about the spawning system we take for granted could actually be β€˜wrong’?

cursive otter
#

ogh good luck with these ...

#

sounds like quite the undertaking

#

all of this because of trying to get the baby to be struck by lightning lol

trim breach
cursive otter
#

oh well there we go

trim breach
#

it's more just that it has such overarching impacts on gameplay that im not sure people will appreciate the changes

#

they are a bit over-steppy i guess

daring steeple
#

next time you should just silently change it and see if anyone notices πŸ˜›

trim breach
# meager estuary So I assume something about the spawning system we take for granted could actual...

the TL;DR is:

  1. vanilla lethal company has 2 spawn waves immediately at the beginning of each day, when spawn waves are intended to only occur once every 2 hours
  • so for example, when a spawn wave occurs anywhere between 7:00 AM and 7:59 AM, the next spawn wave should occur at 9:00 AM
  • in vanilla, you get a spawn wave at 7:39 AM (when the day starts) and another spawn wave immediately at 7:40 AM
  1. when spawn waves put enemies inside the vents, the math used to set the upper/lower bounds is wrong
  • this allows them to persist inside of vents after the next wave is supposed to occur
  • ex: a spawn wave at 9:00 AM can spawn monsters anywhere between 10:10 AM and 12:00 PM, even though the next spawn wave is supposed to occur at 11:00 AM
  • spawn waves can't occur until all the vents are empty, so if a monster needs to spawn at 11:30 AM, the next spawn wave will occur at 11:31 instead
#

my changes would mean:

  1. there is exactly one spawn wave at 7:39 AM, and the next one will occur at 9:00 AM
  2. enemies will always spawn within 10 minutes to 2 hours of the current spawn wave (ex: a 9:00 AM spawn wave would only allow enemies to sit in vents between 9:10 AM and 11:00 AM)
#

some potentially undesirable effects of these fixes:

  1. outdoor monsters (dogs, giants, old birds, etc.) will always spawn at exact intervals which might be noticeable, or even distracting, in gameplay (spawns will only happen at 9 AM, 11 AM, 1 PM, 3 PM, etc. on the dot)
  2. indoor monsters can spend as little as 10 seconds making vent noise before they pop out
trim breach
trim breach
#

both of these are host-only functions

#

literally nothing else needs to be done

#

it's a clean and concise fix for what is an extremely convoluted issue to explain

trim breach
#

it's already kind of distracting seeing dogs/giants/baboons all play their spawn animation at the exact same time, but imagine how distracting it would be to notice that's always happening exactly at 2 hour intervals

#

on the other hand some players will probably appreciate the added consistency

#

so !

cursive otter
#

i imagine that could be somewhat exploitable to expect it to happen every 2 hours... i guess you don't know what's spawning though so that's fine

trim breach
#

i accidentally replied to the wrong message... wrote so much bullshit i misread my own post...

#

anyway

trim breach
#

with the bugged vent spawn time calculations, the spawn wave at 9:00 AM can be delayed as late as 10:00 AM but the vents will always be empty by then

#

and even if it happens at 10:00 AM, the next wave still gets queued at 11:00 AM, it doesn't suddenly offset the next wave to 12:00 PM and then change the 2-hour cycle to even hours

#

so in vanilla it's "i know enemies will spawn between 9:00 AM and 10:00 AM" opposed to "i know enemies will spawn at 9:00 AM"

#

that's still a wide enough period of time to add some doubt and uncertainty, but you know for sure that there won't be anything spawning on the surface between 10:00 AM and 11:00 AM for example

#

indoor monsters don't have that issue, because the vent timers completely obfuscate the spawn waves (and also the clock isn't visible inside the building anyway)

cursive otter
#

yeah yeah

#

i do think fixing this is for the better of course but it would become quite more predictable

trim breach
#

anyways im sorry to dump all of that text here

#

this is a bug ive been curious about for forever and until last night i never looked into diagnosing exactly what all these problems were

#

now that i finally understand the exact mechanisms it's like putting an old friend-turned-villain to rest

cursive otter
#

no need to be sorry this is important and very interesting plink

#

glad you found it eventually!

trim breach
#

i believe 99% of players won't really notice much of a difference with the setting enabled

#

and it's probably a 50/50 whether the people who notice like it or dislike it

#

but i would be happy to see this fixed in vanilla if it is indeed unintended

#

or maybe zeekerss can weigh in on whether some of this jank became a feature (i'm like 99% confident all of the math was intended to work how i've described it, but he might have kept the bugs because it adds some unpredictability to the game)

cursive otter
#

i was kinda thinking the same thing honestly

#

like it's a bug but if it works out it works out

#

might be worth asking him about it?

trim breach
#

lol i hate pinging him unless it's for something disastrous (like the old bird client desync bug)

#

sometimes im lucky and i catch him responding to other modders in #patreon-hangout but usually the extent of our communication is "oh wow a moderator locked my post and added the fixed tag in the bug reporting forum"

#

so im not gonna hold my breath

cursive otter
#

that's fair honestly

#

i just... idk with some of the things he gets pinged with it certainly wouldn't be the worst thing lol

trim breach
#

there are so many things i'd love to talk about but i also feel like the time spent talking is time he spends not working on the game anyway

#

if we never talk about bugs but they start popping up as fixed in future patches then that is still a net positive

cursive otter
#

very true

#

lethal q&a someday maybe... (looking up to the stars)

thorn breach
#

the only time i was ever confident to ping was the stoat gun

trim breach
#

yeah i mean... i think im probably being too reserved about it, but id rather not become a problem just because "i can blame others for being worse"

#

so i still don't really feel good doing it

trim breach
#

you definitely should've felt good about this

thorn breach
#

oh yeah for sure, what i said wasnt meant to be taken as "others do bad so i can too", it's just kinda weird seeing it lol

meager estuary
#

I would not mind a BYB change later on to give outdoor enemies randomly offset spawns

livid plover
trim breach
#

or well

#

actually maybe it does

#

now that i think about it

#

but if it does impact it the way i think it does

#

then it should be possible to see stuff like bees/sapsucker spawning after the day starts in vanilla

meager estuary
#

They should still spawn, they just will only have half the opportunities (1 spawn wave rather than 2) if I understand right

trim breach
#

the spawn wave at 7:39 AM is only for indoor enemies

#

daytime enemies only occur during the second spawn wave (which is usually 7:40 AM)

#

but if enemies spawned inside of vents at 7:39 AM and delay the second spawn wave to 8:00 AM

#

then you could totally see sapsucker/bees spawn at 8:00 AM

#

anyways that's also an easy fix, i can just force the original spawn wave to also spawn daytime enemies

trim breach
#

but ANN brought up a good point

trim breach
#

for complete 100% consistency i need to also make outside enemies able to spawn during the first wave

#

but then i'd need to change RoundManager.PredictAllOutsideEnemies()

trim breach
#

but any changes to PredictAllOutsideEnemies() will require a transpiler...

#

and thus the dream dies

#

now im not sure if i want to ship this feature (which is disabled by default anyway) in an incomplete state or if i should just shelve it until im willing to do the rest

trim breach
#

that "2 spawn waves at the start of the day" thing is really fucky but so many things require special handling once you start to fix that

trim breach
meager estuary
#

I think this is all a bit above my pay grade

#

But sounds good!

cursive otter
#

i mean yeah i feel like the baboon hawk thing is a totally different bug so it'd be fine to release the fix for one/both of these

trim breach
#

lol zeekerss has apparently changed a shit ton of stuff with enemies spawning

#

in v80

#

so maybe i ought to just wait and see what he did

#

even

radiant nymph
#

Am I crazy for feeling like v80 is gonna be the update that brings the game out of Early Access?

#

It really feels like that is the goal tbh

trim breach
#

there's 3 more sigurd logs, all of the drill parts, and whatever awaits behind the company wall

#

he hasn't communicated any work being done on this so far

#

v80 is shaping up to be the largest update since v50 for sure

#

already he has "completed" 3 new creatures

#

same number as v50

#

and apparently still has plans for more in this one update

#

but many of the big changes he's mentioned are just tweaks to existing content or internal changes that likely *primarily impact modders

#

he has apparently reworked the spawn system to make the seed more deterministic (so killing enemies won't change what spawns during the day, until all predicted spawns have already occurred)

#

i imagine something like that is going to break starlancer ai fix

#

as an example

#

and i imagine im going to have my hands full updating BF once v80 releases

#

removing all the fixes implemented in vanilla

#

and changing a bunch of my behaviors to match vanilla

cursive otter
#

ough good luck... i hope that doesn't impact your ability to enjoy the update

#

whenever that does come out

slate venture
#

I saw that he fixed Giant bug.

trim breach
#

ASAP

#

aka as soon as my friends are on and willing to play

trim breach
#

like i prefer my inventory controls reversed

#

and scrollinverter probably will never break

#

but anyways

#

whenever my friends get off

#

i just get to work updating mods until im able to get new sessions going again

#

sometimes im able to finish updating my mods before my friends want to play again

#

maybe that won't happen with v80 just because of the scale of internal changes

#

but idk

cursive otter
#

oh yeah i figured, i just thought it might weigh on your mind like damn i gotta get rid of the fix for / go back and fix this

cursive otter
summer falcon
trim breach
#

the more i look into PredictAllOutsideEnemies() the more i notice little incongruencies and im wondering if maybe i want to just completely throw out the vanilla function and re-implement it with a prefix cancel

#

prefix canceling is pretty bad and you're not generally supposed to do it... but im not aware of anybody else touching this function, and all of this is behind a config setting i've disabled by default... so the ease-of-implementation is absolutely tempting me

cursive otter
#

do itttt...

#

worst case you have to go back and do it the long way around anyway... best case you don't

trim breach
#

i have decided

#

although i now have another decision in front of me

#

with the facts:

  1. this setting is disabled by default currently
  2. it's like 4 or 5 different fixes in the same realm of code ("enemy spawning systems")
  3. it radically changes the course of gameplay
  4. explaining exactly what i've fixed is way too complicated for BF's changelog or in-game configuration menu
#

im actually thinking i might want to just split this out of BF completely

#

and release a new mod like "spawncyclefixes" or something like that

#

#4 is the biggest reason for that

#

it would be particularly cumbersome to explain everything that i've fixed as a single configuration setting for a huge mod that makes a magnifillion other changes

#

and i can't understand why people would see a big scary "this will change gameplay" config setting and turn it on without a clear explanation of what it does

#

i'd need an entire mod description to cover everything

cursive otter
#

do you see any other bug fixes needing this to be fixed as well in the future? otherwise i think it's a good idea

trim breach
#

anyways that also has the perk of "people who want new spawn behavior but hate BF can use it" so that's a boon

cursive otter
#

cause then it'd need to be a dependency anyway... but i guess having the description isolated regardless would be nice

meager estuary
trim breach
#

BF casts a giant umbrella over the game since it would be ridiculous for me to release individual mods for some of the small nitpicky changes i want to make

#

but i do generally like to split things up when it's reasonable... MaskFixes, Chameleon, tulip snake changes from JetpackFixes, shotgun changes from MeleeFixes, etc. all used to be under this one mod

#

and i think splitting those out has been a net positive

meager estuary
#

I’m not sure how this mod would be split anyway, none of the changes are big enough on their own

trim breach
#

but then it grew up from "code bug" to "code butterfly"

cursive otter
#

wow...

#

metamorfosis πŸ¦‹

hollow palm
#

code fish,, 🐟

meager estuary
#

Metamorphosis into possibly the best mod in all of LC Thunderstore

#

Change is a beautiful thing

hollow palm
#

aw hell nah cookie caught da fih

cursive otter
#

i'm quite curious to try this out

#

like i'm pretty sure i understand objectively what these fixes would do but it's hard to imagine how it would feel to play

#

if it is much different

meager estuary
#

It’s one of those mods you will have a real hard time going back after playing with it

#

The changes and QOL are small but numerous, and make the game more intuitive and fair imo

thorn breach
trim breach
#

okay

#

im splitting the spawn fixes into their own mod

#

i just think i'd feel better that way

#

in other news

#

butteryfixes will now fix sapsucker egg value changing for the same seed

#

the function that sets the price for sapsucker eggs uses like 4 different seeded RNG calls and then in the middle there's a single unseeded RNG call that makes the entire point moot

meager estuary
#

Zeekerss

trim breach
#

just in case anybody wants to see some fun stuff

hollow palm
trim breach
#

here is the spawncyclefixes predictor predicting all the spawns for an eclipsed artifice day on 0 days left

#

maybe i can release this tomorrow

#

i also moved a bunch of other spawning fixes from butteryfixes to this mod

#

so

#

i kinda have to release both updates together

#

at this point

cursive otter
#

can i ask what's different about this algorithm besides the "no 2 spawn waves at the beginning of the day"?

slate venture
cursive otter
#

ah yes probably should've thought to do that first lol mb

#

just woke up

cursive otter
trim breach
trim breach
#

also the reason i decided to move everything over was because i had to change the predictor to cap enemy weights at 100

#

for baboons on adamance (as an example)

#

and that doesnt really make sense if you have to also install BF and toggle on that specific setting

#

im also relatively confident that if you arent ok with the cycle timer changes

#

you wouldnt want any of the other features im migrating over anyway

#

but the goal is to make everything toggleable in case im wrong about that

cursive otter
#

ahh i see alright

#

i thought enemy weights were already capped at 100 since they add up to 100?

trim breach
#

100

#

in all of the vanilla moons, zeekerss never gave any interiors more than 300 weight

#

and never gave an enemy more than 100 weight

#

usually those numbers are reserved for the moons' "main attraction"

#

i.e. rend has 300 manor and 100 nutcrackers

#

and there's a bunch of other cases where this is relevant:

  1. challenge moons randomly choose one indoor and outdoor enemy to boost the spawn chances of. their weight gets increased to 100
  2. enemies which have increased chance to spawn in specific interiors (currently just the maneater in mineshaft) get their weight multiplied by 1.7x, but capped at 100.
  3. infestations set hoarding bugs or nutcrackers to 100 weight and set everything else to 1 weight
#

all this is evidence, to me, that 100 is the intended maximum weight

#

however there is exactly one case where this is not enforced

#

if a monster's probability curve (for time of day) or number spawned falloff curve actually increase their weight, it can cause their weight to exceed 100

#

nutcrackers on rend are a good example. after the first two spawn, the third has its spawn weight boosted to 106

#

baboon hawks and masked are the other two enemies affected by this interaction

#

baboons exceed 100 weight on both march and adamance if enough spawn during the day

#

it also leads to odd behavior like "if rend challenge moons select nutcrackers as their increased monster, it locks nutcrackers at 100 weight, which actually decreases their spawn rate"

cursive otter
#

aahhhh

#

i see the issue ...

trim breach
#

anywayspl

#

i fixed this in BF years ago at this point

#

but now that im changing the predictor's behavior to be more consistent

#

i needed to change it there too

#

and if the predictor is part of a separate mod i dont think it makes sense for BF to keep that setting

#

so if im moving that i decided i might as well move everything spawn related

cursive otter
#

that's fair yeah

trim breach
#

thats a change i think is just good for the game

#

it keeps enemy variety up

#

rend is the nutcracker moon but it's honestly needed a nerf for forever and reducing nutcracker spawns (even just a teensy bit) is totally fair

#

but i made it a setting anyway

#

so it will be a setting in SCF too

thorn breach
#

I'm just glad your mod naming style isn't like Minecraft where they got "YetAnotherButteryFixMod" or smthn stoopid

trim breach
#

even though i really think most people using SCF will just be curious to have everything on

slate venture
#

TheSamething2

trim breach
cursive otter
#

huh!

trim breach
#

i think if coilhead/jester weight was restored to v40's values, and butlers finally got increased spawn rate in manors (why Zeekerss)

#

that would basically be "fine" for rend

#

even those changes would reduce nutcracker spawn rate from like 25% to 20% lol

#

that's the main thing i did with rend in BRB

#

butlers are "sort of" dine's thing but a lot less noticeably now than it used to be

#

and also dine randomly became a mineshaft moon

#

because dine is always having an identity crisis

#

butlers are horrible in dineshaft

trim breach
#

vow is the only other moon that has undergone so much soul searching

cursive otter
#

it really was crazy to see

trim breach
#

and then offense fell asleep a decade ago and has been having nice dreams that we dont get to see i guess

slate venture
#

And with the new changes from mineshaft, maybe Titan will be a little better with mineshaft interior

trim breach
#

anyways im getting really off topic

#

id really like to release SCF and BF 1.16.3 today

cursive otter
#

u got this i believe in u

#

greed πŸ”₯

trim breach
#

i was playtesting it yesterday in solo

#

and while it totally fucking breaks imperium's displays

#

(not sure i can do anything about that lol...)

#

the actual behavior seemed to work

thorn breach
#

Imperiums displays barely ever worked for me tbh

cursive otter
#

do you think it plays nicely?

#

or are there really any super noticable changes at all

#

gameplay wise that is

trim breach
#

it's actually pretty accurate to vanilla's behavior but it seems to have re-implemented vanilla's behavior into new functions

thorn breach
trim breach
#

because when i changed all of the vanilla functions, imperium now keeps up to date with all of the old stuff, but totally mismatches what my mod makes the game do

thorn breach
#

Maybe cuz when I use it I'm using it in a modded context or smthn, dunno

trim breach
#

every time a spawn wave occurs, oracle updates to show the correct time and monsters, but all the vent timers are wrong, and all the future waves are wrong as a result

#

it also didnt seem to like me moving the first outside/daytime spawns to 7:39

#

because now when you land on a moon you have to refresh the objects menu (by spawning something) or the entities list is just empty lol

trim breach
#

the only major changes are being able to tell comprehensively that enemies spawn at specific hours outside and never any time else

#

which is "cool i guess" but not a huge deal

#

and also like... i guess since daytime spawns always happen at 7:39 AM, there is "a non-zero amount of seeds where bees/sapsucker will have increased spawn chances compared to vanilla, which sometimes allows them to spawn as late as 8:00 AM"

#

the biggest change is my nervous tic will no longer be telling me i need to fix this shit while im playing the game

#

that's what we call a Quality of Life mod

cursive otter
#

LOL that's fair

#

well i'm glad that'll all be sorted out soon

#

been a bit of a messy experience so far from what i can see/comprehend

trim breach
#

it's actually just mostly been the headache of "i want this to be a separate mod"

#

implementing everything was really easy

#

even rewriting the predictor cycle as a prefix was easy, just kind of time consuming

cursive otter
#

i mean part of the work was even parsing what was going on too no?

trim breach
#

but i still have to write the thunderstore description, and config descriptions, and make an icon...

#

sometimes i get a cool idea for an icon

#

like for what it's worth im really proud of the concept behind revisitstingers

#

but most of them are extremely low effort

#

like sometimes i just want the world to know i removed all bugs in lethal company v73

cursive otter
#

lol i mean for that one it's understandable

trim breach
#

im also proud of how i made the chameleon icon look

#

but it's worth mentioning i did not come up with the concept behind it i just put it together

#

lol

cursive otter
#

yessss i've always really liked that one

trim breach
#

batby pitched the idea for it and i think nickham13 also maybe gave some feedback

cursive otter
#

it looks awesome

cursive otter
cursive otter
trim breach
#

i wanted to do something with the night-time icon

#

since it's time-related and also very Lethal Company

#

outside of that i have not developed the idea at all

cursive otter
#

oooh yess...

thorn breach
#

Make it a big stack of skulls and put buttery on top

#

Call it buttery skull

trim breach
thorn breach
#

Amazing

slate venture
#

Clock scrap idk

cursive otter
#

Flames

trim breach
#

on a semi-related note i actually used the palette of the clock scrap to color the scale in the BRB icon πŸ™‚

cursive otter
#

ohhhhthats awesome

trim breach
#

maybe i can make the icon a hoarding bug holding a clock

#

or a baboon would be more relevant i guess

#

since many of the fixes apply to outdoor monsters primarily, including the 100 weight thing for baboons specifically

cursive otter
#

oohh true...

slate venture
trim breach
#

mann... i just discovered a new problem with SCF

#

all this talk about the kidnapper fox finally led me to boot up yesfox on my debug profile again

#

where i was also testing SCF

#

and i realize that my changes make the kidnapper fox spawn at 9 AM instead of when the ship lands

trim breach
# trim breach and i realize that my changes make the kidnapper fox spawn at 9 AM instead of wh...

so right now there's 3 avenues i can use to deal with this

  1. "fuck it, kidnapper spawning at 9 AM is a balance change now"
  2. make a PR for yesfox where i move that function call somewhere else and ask 1a3 to push an update
  3. interface directly with YF (ideally through soft dependency only, since not everybody running SCF will want the kidnapper fox) and add a call to its spawn function to my first spawn wave
#

#2 is probably "the most objectively correct fix" but it wouldn't make a difference in 99% of cases and i'd hate to bother 1a3 about this

#

and #1 is "acceptable but unideal" for me

#

so i guess im going to go the way of the #3

cursive otter
#

i don't think it'd be a bother if it's for bug fixes, especially if it's possible it'll be fixed later, but up to you

trim breach
#

he's running SpawnWeedEnemies() in a prefix to AdvanceHourAndSpawnNewBatchOfEnemies() which changes the order-of-execution from vanilla

#

since SpawnWeedEnemies() actually uses the value of currentHour it's not going to have consistent behavior with vanilla in 100% of cases

#

also since the fox takes up outside power this would cause bigger issues if normal spawns occupy all the power level

#

like, on eclipsed dine, you'd get 4 outdoor monsters immediately, and that would basically instantly suck up all 7 of the outdoor power

#

which would block the kidnapper fox from spawning

#

but with yesfox's current behavior the kidnapper fox would spawn first and then some of the other spawns would be canceled

#

so i guess i actually probably would want to bug him about this instead...

cursive otter
#

ooohhhh

trim breach
#

maybe i should also look into doing those player count fixes

#

at the same time

#

and thus another side quest begins

hollow palm
cursive otter
#

godspeed

hollow palm
#

random thought, i sort of doubt that this is a bug but i think it's odd how the [ SYSTEMS ONLINE ] text only shows up when first entering a lobby and not also every subsequent time you get revived after death

(maybe it's just so the game can display the penalties and exp though idk)

trim breach
trim breach
#

i fixed this a couple months ago and i forget how i did it

#

and now im running into trouble again

#

i feel like im already pushing it by submitting something like this without even compiling it, so i need to figure that out, and then im not sure how long fixing those AI issues is going to take me

#

but if 1a3 just winds up pushing these few changes to thunderstore and the AI stuff gets put off then maybe it can wait until after BF + SCF are out

#

i guess i can also push BF + SCF before yesfox updates, and then people will just have to deal with 9am fox until everything gets synchronized on thunderstore together

cursive otter
#

i think that would be reasonable

#

i mean correct me if i'm wrong but looking at the commit it seems like a small enough change that it should be alright

trim breach
#

because the fun is never over

#

im also realizing im gonna have to release an update for BRB's infestations to coincide with spawncyclefixes

cursive otter
#

oh goodness

#

may i ask what's breaking with it or is that a big question to answer

trim breach
#

that work with vanilla's weird jank

#

but because spawn cycle fixes is trying to polish that jank

#

some of those assumptions are now incorrect

#

and i'd like for them to be correct

#

i dont think getting into the specifics is super important but basically:

  • vanilla infestations
    • just add +2 to spawn counts
    • max out the "infestation enemy" weight, to 100
    • set all other enemy weights to 1
    • mega increase the power level
  • BRB infestations
    • all normal spawn wave behavior still applies
    • "infestation enemy" doesn't occupy any power count
    • each spawn wave has a secondary spawn wave that just assigns 2 "infestation enemies" to the vents
#

since im changing how the first spawn wave works in SCF it wasn't going to work correctly with that secondary spawn wave system

#

and i made a couple of other "just frankly weird" decisions in how i set up that mod

#

because i didnt understand the spawn system as much as i do now

#

so im just mopping up the floors a bit so to speak

cursive otter
#

ahhhh i seee

#

well i hope that doesn't give you too much trouble

trim breach
#

it shouldnt

#

in fact i think im already done but i have not tested at all

#

it's more just inconvenient because i was holding on to the next BRB update because i had plans

#

but now i need to shelve those plans to get this hotfix out

#

so ripping that stuff out took a second but it's mostly fine now

cursive otter
#

that's good

thorn breach
#

@trim breach do you know of any bugs related to player physics region? i have a big hazard with multiple of them, but it seems like visually, when a player goes into one of the main playerphysicsregion, they get teleported (only for other clients) to another specific player physics region

trim breach
#

i am not aware of any but ive also never looked into the system that much

thorn breach
#

fair enough

trim breach
#

sciencebird discovered [this one](#1370877936084844624 message)

#

and player physics regions get sorted into a giant list

#

StartOfRound.CurrentPlayerPhysicsRegions

#

maybe it's not consistently ordered for all clients

thorn breach
#

oh maybe that would do it

thorn breach
trim breach
#

lol well im pretty sure there's actually nothing tethering playerphysicsregions and networkobjects together

#

i remember looking into the system "in some amount of detail" and being confused at how "risky" the sync felt

#

but i dont remember specifics anymore

thorn breach
#

but the second and current version has a networkobject field, which i assumed is what he parented to

trim breach
#

i think this was the last time i did anything with PPR research

v1.12.1

  • Fixed items growing when dropped in the Cruiser and shrinking when dropped in the elevator
thorn breach
#

lol items growing bigger in playerphysicsregion is one of hte funniest bugs to exploit

trim breach
#

even though i think i am making good progress on everything it is kind of overwhelming knowing im gonna have to update like 4 separate mods on thunderstore at the same time all in a particular order

#

lol

subtle compass
trim breach
#

i mean

#

i dont really think so

subtle compass
#

they both have physics regions

trim breach
#

because cruiser and mineshaft elevator spawn so far apart from one another

thorn breach
#

the currentplayerphysicsregion thing is only for the current physics regions you're on

trim breach
#

meanwhile if one network object spawns with multiple playerphysicsregions inside of it i wouldnt be surprised if those aren't guaranteed to be ordered

subtle compass
thorn breach
trim breach
#

or if multiple network objects get spawned at the same time, and all of them have a physics region

subtle compass
#

also, vehicles get removed and readded when they go past the tipping angle iirc

trim breach
subtle compass
thorn breach
#

also, the issue is related to a getcomponentsinchildren somewhere that zeekerss does lol

trim breach
#

cruiser spawns in orbit when joining a new game or 40s+ after landing when the dropship arrives

subtle compass
#

misunderstood mb

trim breach
#

and mineshaft elevator spawns during SpawnSyncedProps()

trim breach
trim breach
subtle compass
#

on my vehicles i just fixed the size to be 1,1,1 so this issue doesn't occur normally

thorn breach
#

if there's two playerphysicsregion on an "object" (something like the cruiser i guess) and they both point to two different synced transforms for the player to be constrained to, one of them is gonna act like the other

thorn breach
#

hence why i think its a getcomponentsinchildren somewhere, because that does get the components sequentially

#

iirc anyway

#

swapping some gameobject ordering around reversed my issue

trim breach
# subtle compass how did you go about tackling this? out of curiosity
[HarmonyPatch(typeof(GrabbableObject), nameof(GrabbableObject.EquipItem))]
[HarmonyPostfix]
static void GrabbableObject_Post_EquipItem(GrabbableObject __instance)
{
    // fix items being too big/small when grabbed out of cruiser or elevator
    if (__instance.transform.lossyScale != __instance.originalScale)
    {
        __instance.transform.SetParent(StartOfRound.Instance.propsContainer);
        __instance.transform.localScale = __instance.originalScale;
    }
}
[HarmonyPatch(nameof(PlayerControllerB.PlaceGrabbableObject))]
[HarmonyPostfix]
static void PlayerControllerB_Post_PlaceGrabbableObject(GrabbableObject placeObject)
{
    // other code removed

    // fix items shrinking/growing when dropped in elevator/cruiser
    Transform trans = placeObject.transform;
    Vector3 scalar = new(trans.localScale.x / trans.lossyScale.x, trans.localScale.y / trans.lossyScale.y, trans.localScale.z / trans.lossyScale.z);
    placeObject.transform.localScale = Vector3.Scale(placeObject.originalScale, scalar);
}
subtle compass
#

i see

thorn breach
#

okay figured it out

#

its not entirely a bug, just faulty logic that i can workaround with what zeekerss' given

#

im pretty sure it's this getcomponentsinchildren, i should just be giving each playerphysicsregion its own network object lol

#

i forgot unity wont just spawn em

thorn breach
#

this is proving to be annoying

trim breach
#

I have finally released SCF please go use it and break the game and yell at me so i can fix it tomorrow

eternal lantern
#

"SCF please go use it" is a strange name for a mod

thorn breach
#

is there a thing for when dying to ghost girl in mineshaft water or is this coincidental?

#

this has been spamming while im inside the ship lol

trim breach
#

im totally unfamiliar with this

#

i know there's a problem with the masked in water

#

they use player tags on some of their colliders which causes QuicksandTrigger to freak out

#

i fixed that in maskfixes

thorn breach
#

Ic, well at least my issue fixed itself when I landed so the errors didn't spam that often (and standing on ship lever put me outside of any reverbs so no errors there either)

trim breach
#

@opal cairn @mellow umbra we were playing for so long last night i didnt have any time to look into your issue

#

as far as i can tell the problem is just that im causing a crash in RoundManager.Awake()

#

which prevents it from initializing anything in Start() and probably causes all of the spawn shit to break

#

monster spawns happen due to chain-of-command from RoundManager.Update() and normally when scripts throw an exception on initialization they get disabled (which means no Update())

trim breach
#

something about my "tile overrides" system is breaking with your mod

#

it's running into a nullreferenceexception somewhere

mellow umbra
#

We can look into it together later as today i'm not at home

#

Really not sure what could be missing though

trim breach
#

i can fix this a couple different ways, two of which i will probably be implementing anyway:

  1. i can HarmonyWrapSafe my RoundManager.Awake() patch so it will catch exceptions instead of just breaking RoundManager (this is worth it for basically any of the start-up initialization stuff, so this is fine)
mellow umbra
#

Perhaps it be because one of my interiors doesn't spawn vents (very obvious oversight on my end)

trim breach
#
  1. right now im only overriding tiles for vanilla interiors (to fix drip particles in caves, fix table collision in kitchen, etc.) so i can add an interior whitelist so i dont touch modded stuff at all
#
  1. all of my code is supposed to null check everything it's doing so im not 100% sure where the null reference even is, but once I figure that out, ideally I could just nip that problem in the bud too
trim breach
#

im finding myself split between many projects again

#

im starting to get overwhelmed by the amount of stuff i need to do all at once

#

and with v80's release "any day now" im feeling a bit iffy about releasing anything in general

trim breach
#

since both of those mods are touching the exact same systems (technically they dont conflict but i feel like they might as well exist under the same roof)

#

but that means ill need to update barberfixes and butterybalance to point to SCF as a new dependency instead of VSF

#

and i wanted to implement a bunch of new stuff for BRB so ideally i could release this dependency change with all that new stuff

#

but the new stuff is going to take me so much work to get done

#

i wanted to have a look at rebalancing jetpacks again

#

but with the cruiser being as completely busted as it is

#

nerfing the jetpack is awful for balance if the cruiser does not also get nerfed

#

but everything i want to do with the cruiser is gonna be like 100x the effort of the jetpack changes

thorn breach
#

honestly up until the BRB changes you wanna make, the rest seem like they'd be fairly quick

trim breach
#

yes

#

i wanted to get to work on BRB 0.4 right away

#

but im thinking maybe i just shouldnt do anything in that department until v80 is out

#

so i should just work on a 0.3.3 instead and get this dependency chain sorted

thorn breach
#

i think that makes sense

#

with v80 hopefully any day now, you might have things you'll wanna balance more than jetpack cruiser shenanigans

trim breach
#

it's true i guess

#

i've just felt really bored in the endgame recently

opal cairn
#

im so excited for the modding scene to collapse soon yoiled

trim breach
#

ive always wanted to revisit zeekerss' jetpack nerfs "eventually" with a mod but all of my early tests were never in a state i felt confident to release

#

and then i dropped it after the cruiser released because it just didnt seem like anybody was focused on jetpacks anymore anyway

#

but like

#

with all the v70 gameplay ive done recently

#

with the totally invincible cruiser

#

i just feel like stakes are so low now im not really invested in what's happening most of the time

#

i thought changing both of the vehicles would sort of revitalize that interest

#

and that's a big reason why i think it doesn't make sense to release one without the other

#

i can probably get away with some smaller changes at least

#

like improving thumper infestations and adding those other two infestation types

subtle compass
trim breach
#

i do intend to try it

#

if nothing else just for the trip down memory lane

#

though my "ideal cruiser" still includes stuff like space-rocking and (more restrictive) item collection

subtle compass
#

i guess i just enjoy the pain and suffering that this vehicle is meant to bring

meager estuary
#

What do you want to nerf about the Jetpack? I think 900 credits, v49 controls, lower battery, and no high sale has it in a pretty fine state

#

Do you really want to add v50 beta controls 1000QuotaStare

#

As for Cruiser I would definitely not mind it getting rolled back to v69 durability, it is pretty brain dead right now

subtle compass
#

she has talked about some other nerfs

#

for the cruiser

#

as for the jetpack iirc she said about making carry weight affect the jetpack

meager estuary
#

Sounds interesting

#

I would have to try that before deciding if I like it though

trim breach
#

at "excessive weight" it would use v50 beta values

#

and there would be a sliding scale in between

trim breach
#

and then the 40s battery goes with that

#

the discount nerf was a bigger deal when the cruiser was a lot easier to destroy and jetpacks kinda reigned supreme

#

with thrust nerf steep discounts are probably more fine

#

especially with cruiser being as cheap as it is

trim breach
#

the other big issue is enemy detection

#

old birds not being able to see you in the seats makes it feel pretty safe to drive when it should otherwise be much more dangerous

#

there's also some jank with becoming immune to enemies as long as the backdoor is closed

#

even when you're like, standing out in the open on top of the back storage

meager estuary
#

Ah yeah, I have said for a while now I am fine with Old Birds seeing you in the Cruiser

#

Especially as a trade-off for CI making their rockets no longer kick you out of the seat

#

I think a price nerf is in order for the Cruiser too, I think 600 or even 700 is appropriate

subtle compass
#

also baboons can't see you in cars either

#

technically Sapsuckers too

#

but Sapsuckers are coded to get mad at vehicles so it's not as bad there

trim breach
#

couldn't tulip snakes fly you out of the seat

#

or is it only externalForceAutoFade

#

easter eggs would launch you out of the car too

#

but i guess there's also a chance those would launch the cruiser itself

subtle compass
subtle compass
#

but imo it seems more likely it was intended for old birds

trim breach
#

it definitely was

#

yes

subtle compass
#

old birds seeing seated players is all my what my v55 cruiser is really just missing atp

#

and maybe baboons

#

i think baboons squaring up against the car would be funny

jade badge
tall fableBOT
#

Sorry, meow, the Lethal Company Modding community has restricted the ability to share links to that specific platform. Please use modmail if you have any questions or this is an important link, mew!

trim breach
#

pawsy ...

jade badge
#

Oh I see

#

So I assume this means he's gonna release the new creatures in a different update then?

#

Or does this just mean he's nearly finished

trim breach
jade badge
#

Ahh

#

That's cool

trim breach
#

he wanted to release the update in march

#

but around the time he finished the third creature

#

he still wanted to add more

jade badge
#

Ahhhh I see

trim breach
#

and more creatures would delay the update past march

#

a couple weeks later he tweeted that he has decided to just finish what's already there and release it

#

and then after v80 we will get another update with more creatures

#

maybe it'll be v85

#

maybe it'll be further down the line

jade badge
#

That sounds good, you don't wanna delay anything too long after all

#

Do you know if the new revamped mineshaft/facility is coming out anytime soon?

#

Or if he's still working on that?

trim breach
#

i assume it will happen "eventually"

#

and he confirmed factory was up before mineshaft was

#

but i doubt those are coming in v80

meager estuary
#

I do hope he has not forgotten about those

#

At least the Mineshaft generation tweaks are something I am really excited about

trim breach
#

yeah

#

im hopeful i can just retire mineshaft changes in BRB

#

after v80

#

im not sure whether or not i'll be happy with vanilla shafts until i see it

#

but like

#

the concrete sections being so absurdly big and having no loot are my biggest gripes with mineshaft

#

and both of those problems are mitigated partly by the new distribution of caverns

#

maybe he will even shrink mineshafts down a little bit generally

meager estuary
#

Not having one or two choke points that monsters can camp will be very nice, but I do think shrinking them is still warranted

trim breach
#

although i think i am becoming "more okay" with vanilla mineshaft size over time

#

i think BRB maybe makes them a bit too small now

#

i also wanted to look into adding more loot nodes into the concrete tunnels

#

like for the shelf/pallet props reused from the factories

#

i was thinking of putting loot spawners on those

#

so the concrete zones feel more rewarding to explore

meager estuary
#

Ye

#

I think a good way to address the size at this point would be to make it scale less with bigger interior sizes. It feels fine on Vow and Adamance, but Artifice is a bit much and Titan is lowkey hopeless. The difference between 1.0 and 2.0 size is so much more palpable than Facility or Mansion

trim breach
#

yeah defiinitely

meager estuary
#

I think it’s because you have to find the loot in the caves, which is harder than Mansion having loot in every tile and Facility having predictable loot room generation. The extra time spent finding and traversing caves really adds up as the interior gets bigger

trim breach
#

the problem is mostly, i think, that the cave tiles themselves are so small

#

so zeekerss made the "map tile size" smaller to make it generate more tiles

#

but that same multiplier gets applied to the concrete tiles which are much larger

#

and so titan has these awful mile-long concrete tunnels

meager estuary
#

I still remember a picture someone posted on the Bread server of Mineshaft Titan. It was so big it barely fit in the game’s draw distance for the free cam

#

Maybe Zeekerss will also come to his senses and remove the stupid β€œNo Signal!” thing literally nobody likes. One can dream

thorn breach
#

i dont think they're that big of a deal

trim breach
#

i like the no signal screen but i do wish radar boosters were more justifiable to use

#

as a counter

meager estuary
#

Well of course there are people saying they like it now

#

Not sure where you all were before

daring steeple
#

people bring up things they don't like more often then they bring up things they do like

opal cairn
#

havent i said i like it too

#

i dont like it for gameplay but thats different from liking just it itself

meager estuary
#

I guess that is the key. I have not seen anyone (until now) say it is a good part of gameplay

#

Every time I have brought it up before it was met with groans and sighs

daring steeple
#

Depends on the type of people you talk to as well

opal cairn
#

time = clock from lethal company
up = elevator from lethal company
groans = ambient sounds from lethal company
sighs = ghost girl from lethal company

meager estuary
opal cairn
#

this is the first time ive seen you use a gif reaction

#

does that mean you laughed or

trim breach
#

conceptually i do like it and i think it's fun for the mineshafts to have an extra hazard to play around

#

but i think the counterplay that exists for it is "not effective enough"

#

right now

#

so i can't say i wholistically like it

opal cairn
#

would it be as bad if hazards couldnt spawn in the caves

trim breach
#

i mean

meager estuary
#

What gets me is Mineshaft would still be the hardest interior without it

trim breach
#

it still means the ship player is totally disconnected from the game as it's occurring

#

though

opal cairn
#

oh yeah i guess

meager estuary
#

I also recently organized my phone’s photos which means I have better immediate access to gifs for reacting

still mantle
trim breach
#

lol

#

i feel a bit silly

#

apparently the "high resolution" mode supported by butteryfixes isn't actually unused at all

#

rather, high resolution mode is used when you are interacting with the terminal

#

to make the text more readable

#

i had no idea this was the case until zeekerss mentioned it the other day in the patreon channel

#

but now it totally makes sense why that was in earlier versions of the game

#

even before the v60 intro cutscene (which also uses high res mode)

#

as far as im aware, the low res mode is still exclusively used for v50's intro scene

thorn breach
#

is there a toggle or some function i can call for the high res mode?

trim breach
#

but in v80 zeekerss is adding a resolution setting

#

so that could change

thorn breach
#

i remember hearing about that but being unsure about asking him

thorn breach
#

i've wanted something similar to that for a while for some of my stuff

trim breach
thorn breach
#

mmmm that sounds like fun

trim breach
# trim breach no, and when you see the way zeekerss did it, you're probably gonna find it pret...
/// Terminal.Update()
private void Update()
{
    if (HUDManager.Instance == null || GameNetworkManager.Instance == null || GameNetworkManager.Instance.localPlayerController == null)
    {
        return;
    }
    if (!this.terminalInUse)
    {
        this.timeSinceTerminalInUse += Time.deltaTime;
        HUDManager.Instance.playerScreenTexture.texture = this.playerScreenTex;
        GameNetworkManager.Instance.localPlayerController.gameplayCamera.targetTexture = this.playerScreenTex;
        return;
    }
    this.topRightText.text = string.Format("${0}", this.groupCredits);
    this.screenText.caretPosition = this.screenText.text.Length;
    HUDManager.Instance.playerScreenTexture.texture = this.playerScreenTexHighRes;
    GameNetworkManager.Instance.localPlayerController.gameplayCamera.targetTexture = this.playerScreenTexHighRes;
thorn breach
#

πŸ’€

#

he changes both localplayer and hudmanager's reference to the normal one, but only hudmanager to the high res one?

trim breach
#

the only reason butteryfixes' changes even work is because i apply my changes to PlayerScreen directly instead of creating a new render texture and assigning it

trim breach
thorn breach
#

oh okie

trim breach
#

anyways

#

so butteryfixes' high res mode just forces it to use "terminal quality" everywhere

#

essentially

#

but it's actually not restoring a cut feature

#

like i initially thought

#

good to know, i guess, though i probably wont get a chance to correct myself

#

because i assume ill be totally removing the option in v80 anyway

thorn breach
#

i wonder what the best way would be for me to replicate how the terminal does it where i switch it on the fly whilst overriding the fact that he does it on update 😭, zeekerss pls you have an interact for interacting the terminal, use THAT instead