#Lategame Upgrades
1 messages ยท Page 25 of 1
i blame snack
I was wondering why there wasn't a level on the call.
But yeah, the intended interface for you is the "RegisterSample"
"RegisterSampleItem" is the logic function which deals with registering.
I only put it internal because I'm using it on my own.
For you, it starts at 1.
As it should because you shouldn't need to worry how the internals work.
btw just tried it
So you gave an EnemyAI?
icic, ill just do string
public static void RegisterSample(Item sampleItem, string monsterName, int hunterLevel, bool registerNetworkPrefab = false, bool grabbableToEnemies = true)
public static void RegisterSample(Item sampleItem, EnemyType monsterType, int hunterLevel, bool registerNetworkPrefab = false, bool grabbableToEnemies = true)
public static void RegisterSample(Item sampleItem, EnemyAI monster, int hunterLevel, bool registerNetworkPrefab = false, bool grabbableToEnemies = true)
i think it works
ill murder and try
ugh i totally forgot about wasd controls
okay this has to be on your side (probably)
everything spawns fine
killing it drops the item
Mhm.
but dropping the item makes it disappear

no idea where it vanishes to
Define disappear.
I don't mess with its physics logic though.
ah wait
i know where it went
i happened to see it on the other side of a cliff
its teleporting quite far forward, is that on my side?
actually no, not even far forward
its teleporting to the same point
everytime i drop it
no matter where im at
yeah it looks like when you kill the enemy it just decides to give them a place where everytime they're dropped they teleport there lol
relative to something
But it doesn't even do anything with position, lol.
huh this is somehow on my side actually
i didnt even touch the plushie recently 
oh also
you should probably multiply the scrap value that comes out by 0.4 unless its intentional that you're just taking the pure max and min value lol
It would be the same as you multiplying your boundaries by 0.4.
I find it kinda useless multiplying by some value and then your range is not actually what is used but rather a subportion of it.
yeah but its vanilla stuff so idk
Being vanilla doesn't mean it's right.
We have all our own perspectives of how some calculations should work.
true, its just gonna be a bit weird for me when spawning the scrap for my own mod with vanilla calculations and also having a soft dependency with LGU with separate calculations
Killing a giant should pay off. 
as long as i can figure out why a baboon hawk can solo a 300 hp giant, yeah
Pff.
i just dont get it, the baboon hawk CAN take damage from my giant
and my giant IS attacking
i cant remember the term's name but its doing one of those cowardly pvp things with my giant
Battle log?
thing where you have a long range weapon and u stay juuuust outside of the range
Ah.
Yeah.
ill just keep it like this for now lol
Nice.
i also did some shenanigans with it that should give it a glowing animation periodically
not 100% sure
though i kinda know it doesnt 100% work, itll effect all hearts because i havent created a new material im using the same one lol
How big is the collider with the EnemyAICollisionDetect component?
On the redwood, I assume the baboon is killing.
pretty small i think actually
there might only be a few sweet spots the giant can take damage from
including the center of the bottom of its feet
i have a feeling that even though the enemyType.enemyName is "Baboon hawk", its not actually that, and thats what my check goes for
ill probably just change it to univerally damage all enemies
yeah idk this has to be an LGU issue, i just made another item and when i killed my guy it auto placed it in that one specific location lol
Are there any errors being thrown?
nope
is it also overriding some settings from my Item scriptable object?
like its no longer two handed, no two handed animation
It prompts a warning when it does.
It doesn't mess with two handed.
This is what it does in terms of changing the item properties.
its not telling me anything other than this
Then yeah, it didn't mess with item properties.
weird, theres a few bugs im seeing that ill just have to look through later, ill try disabling LGU and see what changes
You're using the same code I used for this picture.
Picking up and dropping worked just fine.
am i using the same code? cuz snack sent me an updated version i think 
i dont think anything, i think just the file you sent before was outdated lol
i dont think it had custom registering code in it 
ill have to reread the conversation
it was complaining about forest keeper sample so snack sent me the newest dll i think
Damn, you have a list.
somehow
i think Chainloader.PluginInfos.ContainsKey("etc") errors me out if lgu isnt installed, dunno how to fix that one
and pretty sure its lgu dropping the samples weirdly, cuz without lgu i could do stuff normally but who knows
but hey, atleast this is a thing now
im a bit annoyed i couldnt get the lightning bolts to show up, no clue why they arent, but its a process
I have no idea, just killed a baboon in the same room and the sample isn't just disappearing when picked up/dropped.

I blame whitespike 
#1178407269994594435 message
What happens if I register the sample to a level that does not exist on Hunter?
Like lvl 4, since the default Max Level is 3
Yes.
Though the level should be configurable.
Because like you said, if it's set on a level that doesn't exist ( because it's built on prices of Hunter ), it wouldn't spawn it.
The mod using the api should instruct the player to create the new level
If the Level is over 3
Plus there's still the whole ordeal between prices and tiers.
Because again, if less prices than tiers, some tiers won't apply.
@steady trail Update soon? ;o
I got a few mods I'm itching to remove when that update drops
XD
We've all got exams, it's exam season :p
You probably won't see an update for another week or so at the minimum
Ah, such is the college life.
Well he's doing the more important level of education
Probably beginning of May.
@gusty flint I made another method where you can specify the type of GrabbableObject you want to insert to the registered sample.
Does it work? Maybe. The logic is basically the same, only difference is the one component being added not being a GrabbableObject when you want to add your own GrabbableObject.
Call wise is RegisterSample<GrabbableObject>()
If something inherits from grabbable object it still works?
It should, yes.
Because deriving from GrabbableObject just means that they are a more specific GrabbableObject.
Doesn't stop them from being a GrabbableObject.
Gotcha
oh, while you're on what i assume is more samples, is it possible to make it so that samples don't have their visual effects when dropped?
because baboon hawk samples lag the game really bad when you have alot of them
So this isn't working?
Well more accurately this.
Because if it's not deactivating the particle system, it means that either an error should have been thrown (because it can't deactivate something that doesn't exist)
or for some reason the Stop() and Clear() don't do what they say they do.
Or the simple existence of a ParticleSystem component is in the one that is killing the thing.
probably? i'm not sure
how about a t2 malware broadcaster upgrade that makes the codes scannable?
The only use case I can think of for that is when the person that wants to go somewhere that has a code is the same person that can do anything about it. 
zeekerss sometimes has a funny gen when the code overlaps with furniture
Profile Code: 018f01ec-0e82-c5c2-ebb1-9e496049b0f3
@steady trail If im not stupid and understanding this correctly, Interns should revive the player somewhere inside the facility?
ye, its a one time upgrade you gotta keep buying tho
Did not work
like it literally didnt revive the player
I'm not blind, no.
had to break it down for Xu
Oh fucking hell that's alot of work
hardest part was the obs split recording
fuck you obs
So this is what I get with just LGU, yeah?
If you don't want to see the video, basically it's working.
So the most likely scenario is some other thing is stopping your player from being revived.
What it is? Not sure, I don't see any errors appearing from LGU's side.
Figured it out*
most likely one of these mods
because i just did a small isolated test and interns did not work
im gonna take a gander and guess more company but no clue
gonna point my finger at these 2 and see which one it is
yea
Nope
Its just Lategameupgrades
Tested it with just these
like, do you want the logs?
i really dont know what to do here
https://medal.tv/games/lethal-company/clips/28IZGjkLnxjF2J/d1337r9gWkoZ?invite=cr-MSxSM0ssMTQ3NDQxNTIs
My logs as host
Profile code: 018f021d-6446-0859-7165-c76c77d4c830
Watch no work for real and millions of other Lethal Company videos on Medal, the largest Game Clip Platform.
here is the log of the other human I was testing with
yknow what
fuck it
it is what it is
im getting some network issues and the log sends this error:
[19:08:19.9944809] [Error : Unity Log] NullReferenceException: Object reference not set to an instance of an object
Stack trace:
MoreShipUpgrades.Patches.RoundComponents.StartOfRoundPatcher.SetPlanetsWeatherPostfix (StartOfRound __instance) (at <96c909531e89475ea3192f3fbaf4416c>:IL_001D)
(wrapper dynamic-method) StartOfRound.DMDStartOfRound::OnPlayerConnectedClientRpc(StartOfRound,ulong,int,ulong[],int,int,int,int,int,int,int,bool)
StartOfRound.__rpc_handler_886676601 (Unity.Netcode.NetworkBehaviour target, Unity.Netcode.FastBufferReader reader, Unity.Netcode.__RpcParams rpcParams) (at <255c0877f9414c3aa6f1fe5079ac13f3>:IL_0103)
Unity.Netcode.RpcMessageHelpers.Handle (Unity.Netcode.NetworkContext& context, Unity.Netcode.RpcMetadata& metadata, Unity.Netcode.FastBufferReader& payload, Unity.Netcode.__RpcParams& rpcParams) (at <895801699cfc4b4ab52267f31e2a4998>:IL_004E)
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)
Hello, I've been reading this chat but can't tell what exactly is happening
LGU's page says it works for v50 but lethalLib was broken, which is an issue I think got fixed. does this mean I can use it fine on v50?
If there's a few broken items that's okay, I'll just disable them
LGU seems to be working just fine on V50 as I play it. If there are issues, it might be due to incompatibilites with other mods, and not due to V50 itself. LethalLib is updated to V50 and is working.
Thanks!
@real gust I have not been flowing. Will these be present in LGU or an addon to LGU?
Sorry, what you reffering to?
The new sample jars
The vanilla ones will be a lgu update
Just dont know when whitespike will release it
Theres also the api so other mods can add samples too
The API so other mods can add samples is a genius idea. "You want a sample for your modded enemies? Here's a tool I made so you can go make it yourself!"
Yes and simple to do too. I did it on a giant speciman test version
#1178407269994594435 message
But only whitespike can answer when/if it will be released
Do you have this mod?
If not post your log and wait to someone look at it
Why my lategame upgrade mod broke my ship upgrade
which is the last v49 supported updated? currently on 3.4.4. and it works fine. But was wondering if i should update to 3.5.1. or 3.5.3. Alot of mods that say they are compatible with v50 breaks v49 so i'm alittle unsure by reading the description
nvm will not update cause alot of other mods don't support csync 4 and v49
yeah saw! Didn't look hard enough. But thank you for the message
@steady trail Ok, sorry I am back
Ive narrowed down the Interns not working issue
its literally withing LGU itself, after disabling some nodes one of them actually disables Interns as well
be back when I find which one
Ok
I have found out that the Interns feature stops working alltogether, if you disable the Stimpack upgrade which allows you to buy more hp
Odd that it's not throwing an error though.
jesus christ it took forever to narrow it down
Because there shouldn't have anything initialized when reviving.
That picture is so outdated
Yeah 3.4.4 was the last version I would recommend using with v49. Technically some versions of 3.5.x were backwards compatible with v49. But with csync most mods bundled together their update to csync 4 and to v50. So you don't have their versions that would still support v49 but allow you to deploy csync 4

Oh didn't realize that there is a third line on the second line
Haven't gotten the chance to actually play yet, how does the malware upgrade affect the new spike traps? Also does beekeeper work against the ones that spawn from butlers?
Should be the same and should also affect the butlers damage.
I'm not sure if anyone has said this already but I think a cool idea for one of the lategame upgrades would be something like "Long Fall Boots" (ha ha, Portal reference). Which would be an upgrade that lowers the amount of fall damage you take with each purchase or something like that. Just a thought.
its bundled into another upgrade
Which one?
Strong leg's(Jump Power) its the added bonus at max level
Hey so doing some debugging on new LLL, I don't think lategameupgrades is breaking something but me breaking the lobby startup had me notice
this wheelbarrow check function you have transpiled into the player is seemingly running a lot?
it looks like this is running every frame?
which is rough because it contains stuff like a getcomponent check
but moreso because i don't have a wheelbarrow?
Because of the sensitivity thing when carrying one ,yeah.
ye but i wasnt
Right.
Will late game upgrades for daytime length work with lethal expansion? Or should I used the depreciated patch
Oh! I did not know this. Thank you.
It's running alot because PlayerLookInput is called in LateUpdate.
That's just what happens when you have camera manipulation in first person.
If there is a better way of knowing if the item the player's holding is in fact the item and/or retrieving field values from that component, I welcome it.
I can try the approach of having a value always multiplied to it which gets changed when picking up items.
Maybe that would be better than constantly checking if they are holding any items.
would keeping the carried item list on your end fix that?
so you only change the list when player picks up/drops something
and you only reference that
I just need that the player to hold a wheelbarrow in their inventory to apply the effects.
A list is a possibility but I would have to always check this list if there's any wheelbarrows or not.
I think checking when picking/dropping an item that if it's a wheelbarrow, I change this value accordingly would be a good approach.
As I would only need a value stored and then maybe on the wheelbarrow's GrabItem and DiscardItem I would need to change this value with the value stored in the wheelbarrow itself.
yeah ๐
Though that is probably a change for either tomorrow or the day after.
Because gotta love university projects meant for like three people being done by one.

"How come you haven't done much done?"
"Well my teammates decided to abandon me due to them thinking that the subject was not for them (even though they could have read about it before fucking picking the class)"
๐
The other approach I hate about this uni too is that they don't enforce any essential subjects before you take one.
So you end up in a subject in which you were supposed to have three subjects before.

It's recommended to take them before you take one but it's not enforced.
Which is a huge deal because it just means you will have a harder time to follow compared to others who did.
I have a colleague like this and they basically can't do anything because they don't even know the basics of what to do.
"Hey man, have you done putting the check for signature to authentication?"
"What's a signature?"

oh god ๐
i remember when i tried to do a CS course at uni
almost all my classmates had the title of "electrical technician" from their trade school? technical school? (don't know the term in english lol)
it was fun when we had introductory course in electrical circuits that started on their level ๐
Titles are meaningless to me.
I only care if you know stuff and are you willing to learn stuff if you don't.
You can be the best person in class but if you aren't willing to admit that you can be wrong, we're gonna have a hard time working together.
yeah, true
it's better to know someone's actual competence rather than title
cause often there's no correlation ๐ฅฒ
At least the bachelor here is forced to do in certain order (to some degree).
Master's degree, you're free to pick whatever before you do a thesis.
Programming subjects aren't restrictive so you can have done all complex subjects before completing the introductory one.
(Yes, it makes sense, trust me)

I love plane vectors
You just want something bigger and better.
I do want something bigger and better
Anyways, did the RegisterSample<> thing worked for ya?
I think so? I was messing with the scan node after I spawned the network object so there was a bit of desync
The components I add to it should mess with the value in the node just fine.
Yee it's just the other of things I think didn't go well with the client cuz I basically copy pasted it since it'd be a soft dependency
Also are you wanting me to make them samples or can I just have my own drops?
You can have your own drops.
The API is just a way to add drops to the Hunter upgradew.
Tru tru
I can have them be a list of samples for each enemy and it randomly picks one.
That's also a choice.
Lol I was having a small problem with the particle system not disabling iirc but I think I fixed it
I turned it off when pocketing and discarding and turned it on when you grab and smthn else I can't remember
I dont think I found a proper "when swapping to" function
When you bring it back
I think GrabbableObject.EquipItem should be what you want.
Okay perfect
Did someone manage to get this mod (contracts especially) and custom moons(lethalLevelLoader) to work together?
when I enter contract in the terminal with LLL experimental the terminal freezes
damn doesnt work
Hi, does protein powder affect any melee weapon?
It should, yes.
Even modded ones?
I believe so, I know it works for the Fire Axe from Scoopy's variety mod
is there any mod like the stimpack upgrade that changes your max health?
Do you have LethalCompanyVariables/ConfigurableCompany? That allows you to not only change your max health, but also add damage reduction. And it's configurable to be per save.
yes but i was not up to date on the changes!
It seems to be a brand new thing. Keep looking at those changes, there's plenty of stuff you're able to do.
Actually, damage reduction sounds like it'd be a good upgrade for LGU, huh
i swear i think it was already in this but maybe not
The only damage reduction is the boombox
Does not work tho...
:(
According to my testing
may be a weird quirk with a combination or mods or config changes
It never worked since it was made, no.
And since the default config was off, nobody would really talk about it.
I have already asked a lot of you to fix
but if possible
could you look into it?
It's already fixed in my development branch
I just need to sort out uni first to then sort out this.
You may wanna drop a hotfix update soon
LGU breaks with LLL atm
I had to disable it cus it was fine for me but breaking for clients in like
Every single way
XD
LGU or LethalLib?
LLL
LGU breaks with LethalLevelLoader 1.2.0
You could probably port it from LL to LLL tbh
Only for clients as well
Porting may not be sufficient
First error that was thrown
Then after that everything else broke
and clients couldn't die by blunt force, if they did die they couldn't respawn if they stayed alive after first game ui would be gone
Registering network prefabs is dying
Because apparently I'm putting prefabs with same unique identifier.
After today's morning classes, I will look at it.
๐
@vocal anvil I would assume LLL has their own Network Manager, yeah?
Then you pick up the prefabs registered in one manager to yours.
My question is does it also do that when something else decides to add a prefab to the old manager?
So hypothetically speaking, if i set the crit chance to "1.0" it should be guaranteed death for whatever I touch
If I remember how I set it up, yes.
using this config
I should have a very high chance of one shotting anything, lets say a dog for example since their hp is higher than the damage buffs i recieve
Okay so I know I probably am the reason the mod is fucked on my end rn but I was trying out the shop and I couldn't actually buy anything, my money was gone but absolutely nothing changed
and the weirdest part was that I could keep buying and buying the same upgrade even after my money went in the negatives lol
Can you provide the logs of when that happens?
Best to be sure than to catch straws.
If I'm reading right, yes.
Ok
What doesn't?
Probably because an empty list of additional upgrades default to zero and it doesn't check that particular case.
so I have to set it to 2 upgrade levels in order for it to work
I could be wrong though and I can't check right now how the configs work right now.
That won't trigger crit.
Argh, Reply.
But yeah, that will say that proteins max level is 2 in terms of applying effects.
I know.
welp I can just split the cost over 2 levels and it functionally works the same
The only change needed I think on the code is just the case of the upgrade having only one level to apply crit.
That would be nice, thank you
I seriously do feel bad Im asking for a lot of bug fixes what it seems like every day
It's fine.
So long as I am treated like a human being, I don't mind fixing stuff when needed.
Alright, I can't get you the logs rn but I'm pretty sure the name override feature might be at fault
I turned it off and now I can actually get the locksmith upgrade
I had changed the name
and it wasn't working
Now that it's back to simply "Locksmith" it's working
Ah yeah
That should be fixed when I next release it.
Because I did it in a lazy way which leads to problems later on.
I forgot to send this message earlier but im sure u told me already how you do it but how did you sync scan node values again for samples?
You have ScrapValueSyncer and MonsterSample.
The work itself is done by ScrapValueSyncer, MonsterSample makes a call to the first with the provided value.
Alright I guess I gotta steal scrap value syncer
Damn.
https://github.com/XuuXiao/GiantSpecimens/blob/main/Plugin/src/Utils.cs this is what I have rn lol
I'm guessing that's all im missing
Uhh.
If you can set the things before spawning it and they appear the same for everyone, yeah, it seems to work.
This seems to work?
Clients don't see the scan node value 
And apparently some clients saw duplicates though I couldn't replicate that part
Then yeah, you would have to do it after spawn.
Because it will probably only show the changes to who's changing it.
ig ill do it both before and after because I tried before ans that also didn't work weirdly lmao
I was wondering if there was some rpc I had to set up
It really depends on how you want to do it.
Either have one calculate a value and RPC to everybody to change to that value.
Or have everybody calculate the same value and change to that.
Oooh (are you too busy to explain how I'd do the rpc part for the first one? I tried getting into rpc's but it seemed super confusing but as I understand it, I'd have to call a client rpc inside a server rpc and the host would call the client rpc so things would happen on all clients?)
ServerRPC is code to be executed by the host invoked by clients.
ClientRPC is code to be executed by all clients invoked by host.
@vocal anvil Where am I supposed to register stuff?
Ohh so clients call serverRpc but the code in serverRpc gets used by the host?
The code you implement the serverRPC is executed by the host, yes.
And clients can only call that RPC.
Icic, I don't think id even need a server rpc since the host already gets the right value, I'm assuming I just need to make a client rpc that sets the scan node value
Yeah, since you're already making the host spawning the item, you only need to make a clientRPC for when it spawns to set the value.
Okie! Ty
Apparently.
Though I'm not sure where to put the registering on through LLL right now.
So I will wait for a response.
k np
@steady trail does this look right to you? i just had an error saying "Only server can spawn NetworkObjects" so i put it into a server rpc but i have no clue if thats actually what it means xd
the scannode value is sync'd atleast 
You can also check NetworkBehaviour.IsHost or NetworkBehaviour.IsServer to check if you're the host to spawn it but RPC also works.
okie
Hey white spike, just wanted to say that the terminal upgrade is pretty damn nifty and it inspired me to come to ya'll personally.
tl;dr: Im a dirty horrid java developer (done a lot of stuff with minecraft and aerospace applications, weird mix I know lol) and am interested in starting to work on Unity mods in general. And was wondering if you could run me through the process as LGU is extensive, has several different modding aspects in it (custom assets, ui changes, in game logic like the upgrades etc) so figured this was a great place to get advice / general info on mod making.
As, greatest respect to the wikis, they arn't exactly all encompassing haah
While LGU is extensive, its implementation is obviously influenced by how the game is implemented too. If it had a different implementation logic, the "in game logic" of the upgrades would also have to be different.
I'm not that great at developing Unity code (even though technically I made two games) but I do not mind helping out people in coding whenever they need to.
Plus being open-source and MIT helps in understanding how to get things done without worrying of technicalities.
Aye. It was more I am just generally interested in the basics of modding LC in C#. Hence you have dabbled in all these pies, hence would be nice to know your takes / how shit works as of now
Well, the code is there. It's not really gonna go anywhere.
You can always take a peek at it and see what you need.
If you have any doubts about it, you can ask me so that I can explain why it was made that way.
It's best to try first then ask rather than the way around.
I wanted more of a general "this is the backbone of how it works" so then i can dive in with a tiny bit of context?
I.e. wheres the main logic stored (as I assume all the aspects of the mod talk to each other no? haha)
Aspects as in each upgrade?
Not really. They do their own thing, only thing touching them is the "UpgradeBus" which manages each's levels.
Ah I see. Interesting.
They only have to touch each other if one influences the other in some way.
For example the wheelbarrow needs to know how Back Muscles is at to apply the correct weight.
Oh sweet jesus ive just looked at upgradeBus.
Okay I had a feeling LC modding would be a bit like this haha
I'll probably fork LGU soon, get it working in a unity enviroment (god im not looking forward to that lol) and then try and do something I think LC modding needs a lot more of.
Abstraction / interface logic haha
And then if youd be so kind, once ive done my bodge job gaffer tape attempt, having a gander?
Gander?
Slang for "look"
Im an aerospace engineer. Our entire industry is built on blowing shit up until it works
criticism is life
xD
The thing im gonna dabble with is, say for example, I fully deadass expected to open up the code and see an interface for stuff like "contract" and "LGUItem" etc.
But it does seem in the LC Modding space to be quite rare
Contract, I guess it has a couple?
I know there's like ContractItem or something.
Plus to have abstractions, you would need something that isn't already in the vanilla's item abstraction but would be common in all mod's items.
I agree entirely.
I dunno how its done in LC modding land, but say minecraft plugins, 99% of the first week I usually build interfaces, then managers that utilise the interfaces.
Then build the implementations
And factories to register all the interfaces to the respective managers
Oh dear, design patterns.
Hey man, i dont use many.
But Managers built around interfaces are god tier.
Once again cant speak for modding yet, but in my minecraft plugins, if i build my managers around the interfaces. I never have to touch their logic again, and merely just add more implementations and register them.
Yeah, plugin wise, it makes sense to have managers.
I could probably make LGU like competely interface/abstraction stuff.
It's just really a bit of brain power consumption that I can't really afford to waste before university projects.
Agreed. Hence why i want a stab at it
For example, I know that the new UI I made for the store can still be more abstracted because I can decide to make more than one "application" used for something else other than upgrade store.
Is it a bit of work? Very likely.
Do I need it now? Not really because I don't need another application besides the new store.
okay i'm a bit confused on this
what exactly does it mean by time decrement?
how long does the dropship usually take??
Just lost the money thanks to this lmao
It's the npc
Nvm
He spawned outside lol
I know LGU is kind of it's own thing, but I really love the new layout for the LGU menu and was wondering if it would be possible to do something like that for the moons ๐ฎ
TerminalFormatter gives you something close to that, minus the ability to control it via WASD
I'll have to look at it again. I had tried it and there wasn't much of a difference between it just being set to display all and sorted by price. I just absolutely love the new layout for LGU and how clean the ability shop is
sick beats doesn't work right?
idk i thought you said it just didn't work
no idea! i'm just asking
cuz i remember someone saying that here a while ago
i think mi6k? and you? been a bit
The defense part didn't work from release because of how the patch was made.
Everything else does.
Is that to this server
Lol
I love reading through config changes (since I remade all the configs after not updating for god-knows-how-long)
and seeing that you did a lot of grammar and capitalization ๐คฃ
10/10. Approve of making configs look fancy again
Well yeah, I made it easier for me to update text by having each affect the other.
That way, it's easier to not miss a change somewhere.
Hi @indigo prawn , I suspect there's a minor incompatibility with Lethal Company Variables, the creator would like to know when you set the player values (upgrades) - I've just tested using both mods and for some reason LCV is ovverriding all LGU upgrades applied on a player: #1193627690960437369 message
If it's still as it was variables are added and subtracted to, not assigned. WhiteSpike is the owner now and will be of more help than I
that's probably part of the variable updates. Quite sure there's one on loading a game
hello ๐
Well yeah.
The thing it does is when you load up, it checks what upgrades you already bought.
If bought, activate it and does the things it needs to do.
In cases of player attributes, it just adds a set amount to the variable.
So yeah, technically is when you buy an upgrade and when you come back to the save with upgrades already bought.
Are the settings for the player applied after they connect? (PlayerControllerB:ConnectClientToPlayerObject)?
Uhhh.
Well, they apply when they appear in the ship after a while because of the WaitForSecond enumerators that I can remember.
So it's after some time when the player joins... that seems kinda akward that LCV overrides them, LCV does not modify anything after the client connects...
This is the modpack I've been using - I'm almost 95% sure no other mods tweak those values: 018f174c-5948-88d5-5b73-ea81c381c529
I could only heal to the expected (upgraded) of hp (160) by using the "healing station" right above the recharging station in the ship (I believe it's a GeneralImprovements addition)
Probably it's a recent change since so far both mods were working just fine
But when does the override happen?
Exactly at start or in the middle of a game?
Also is it supposed for LCVPlugin.Debug to be empty?

Anyways, I can see the effect of the movement change very clearly.
This with said upgrade that also affects it.
So I'm not sure what's going on.
Where did you find that, there is no file called like that lol
Wait
LCV does not store any debug information in the release version
Okay.
Ohh, you meant the method
Yea, some methods and stuff are compiled-handlded and removed for the release
Player settings init?
Yes.
Player walk speed - works as intended
Jump height - capped/default even with 4 upgrades
HP - capped at 100 even with 4 upgrades
I mean, i can send you the version with the debug data, it will log everything
It's fine.
But is this at load or after coming back to orbit?
pretty much always
- I only noticed that playing on a moon. So way past loading a game and/or landing
- I can try to see when it happens, gimme a min.
I understand health because it's set to a value after the players are revived.
Afaik the only times LCV could override them is when joining the game or when reviving (only health)
jumpforce is only set on initialization (on LCV) so it has to be something else changing it while mid-game.
Same for movementSpeed.
When I figure out to register stuff in it, sure.
And the project delivery tomorrow.
And the test on the day after that.
And the other project delivery in next tuesday.
that schedule looks like a croissant
And the other test in next saturday.
right after loading - temporarily HP is correct. Jump is at the apex when I took the screenshot
The best part is that I'm doing work of a pair on both projects.
hey not sure if this has been adressed but something i have noticed is late game upgrade items like the peeper and advanced teleporter are conductive and can be struck by lightening inside the facility
I feel that pain
That's why I will never work in more than 2 projects at a time
Oh. I've just had a look at the log. Why is GeneralImprovements logging that? ^^
Right, peeper is conductive.
But I don't think this mod should take responsibility for the items not being set to inside the facility when going through an entrance.
As that is a thing that should be applied to any kind of item.
hmmmmmmmmmmm
That might not be right
can you disable it to check if the issue persists?
Can't really have that luxury in an university degree. 
Sure - not sure why GI would...oh well, I'm quite sure it could be GI at this point (why is GI tinkering with HP values?)
At least in a month or so you'll be free, I hope at least
Im more concerned about the jump or movement
But it can also be messing up that
same as before. for maybe 1 second hp is 100, then it gets upgraded to 180 (but I'm quite sure landing and playing/healing/resurrecting could only bring that to 100 (untested)
Even without GI, jump height is still capped.
you know it did happen when i inverse teleported in. could that be the issue?
I need to do more testing - will get back to you when I better isolate the "offending" mod - can't make assumptions anymore.
Possibly. If the mod used to bypass teleporter dropping items forgets to set the necessary variables for when it goes inside the facility.
i bet that was it. general improvements was updated today and thats what i use to bypass that. it seems to have resolved the issue!
Aye, a link to the code for the terminal would be grand though, Could be a great place for me to start figuring out how these moon runes work lol
bump bc idk if anyone acknowledged or knows about this
I have no idea how it's deactivating for everybody when there's a check where it looks if the player that is dying is you or not to deactivate it.
static void DisableUpgradesOnDeath(PlayerControllerB __instance)
{
if (!UpgradeBus.Instance.PluginConfiguration.LOSE_NIGHT_VIS_ON_DEATH.Value) return;
if (!__instance.IsOwner) return;
if (__instance.isPlayerDead) return;
if (!__instance.AllowPlayerDeath()) return;
if (__instance != UpgradeBus.Instance.GetLocalPlayer()) return;
if (!BaseUpgrade.GetActiveUpgrade(NightVision.UPGRADE_NAME)) return;
UpgradeBus.Instance.UpgradeObjects[NightVision.UPGRADE_NAME].GetComponent<NightVision>().DisableOnClient();
if (!UpgradeBus.Instance.PluginConfiguration.NIGHT_VISION_DROP_ON_DEATH.Value) return;
NightVision.Instance.SpawnNightVisionItemOnDeathServerRpc(__instance.transform.position);
}
I saw some talk earlier about the lightning rod so forgive me if im just bringing up a topic that has already been talked about:
I noticed that going from v49 to v50 lightning rod seem to let lightning strike items a lot more than previously. It even feels like the lightning rod doesnt even work since items get spammed with lightning strikes inside/right outside ship, whereas previously that would rarely be the case. IDK if the LGU code for this is through some dependency that actually has this problem, I was just wondering if this is known?
The lightning rod code shouldn't have changed.
If anything, I would expect errors when the selecting object to lightning strike happens.
I suppose I could go back to the previous version and test it...
On another note, I have two questions regarding some confusion to the descriptions of protein powder and quantum disruptor:
Protein powder: For the default settings of the mod, the damage with shovel should be: 1 (no upgrade), 2 (inital upgrade), 3 (2nd upgrade), correct? When buying the upgrade in terminal it seems to suggest that it goes 1-3-6 (the phrasing of it), but that isnt the case?
Quantum disruptor: The phrasing of the upgrade does not seem to mention that the reduction scales multiplicatively for each upgrade? i.e., total reduction = 1 * 0.8 * 0.1^incremental_upgrade which of course is much lower then additively scaling lol
Could it be possible to change the upgrade descriptions to reflect that?
Each level is the effect you're getting.
It's not a stacked value per level.
At level 1, you gain an additional damage bonus of 1.
At level 2, you gain an additional damage bonus of 2.
And so on and forth.
Otherwise, for that, I would just have 1 on each level because each increment by 1.
The quantum's formula is defaultSpeed - initialSpeedReduction - incremental^incremental_upgrade
What class is the terminal ui gubbins all handled in ?
aye
Should be Misc.UI
Yes, but the terminal description is defautSpeed - initialSpeedReduction - incremental*incremental_upgrade ?
Also for clarity on protein powder upgrade: with initial + incremental, shovels should be doing 3 damage?
If I can remember the defaults correctly, the last level should give you a damage of 3 on shovel hit, yes.
Yeah, it's a *, I don't know why I put power.
Yea, but the upgrade you get ingame is calculated with the power, not a multiplication, hence why I am suggesting the information given when buying it to reflect that.
Protein powder currently states the damage that shovels will do at the listed upgrade as the increase they get
Note that I am doing saying the code works incorrectly, I am saying the text entries for the information should be changed ๐
Hm, it says increase.
It shouldn't but okay.
I don't know what else to put in quantum besides what it does.
Which is , at that level, it decreases the time by x.
I understand the protein thing because it says "increase damage done" rather than "Damage done with shovels is set to 2" or something of sorts.
I will change it later when I'm done with tests.
Also @gusty flint I changed the API to allow multiple item registrations on the same monster.
It will still spawn only one but it will have a list of possible items to spawn rather than being a specific one.
That way, you can have it like sometimes drop a heart, sometimes drop an arm.
At least, I think that would be more interesting in terms of diversity.
I agree the quantum entry is difficult because it will either give some weird number examples or stating it simply as "decrease time by another 10%" without the total decrease number there. Would you like suggestions if I can think of some?
Protein powder change to something like "Dealing damage with shovels now does X total damage" would be nice ๐
Great, I will try to think of some and get back to you
^suggestions for the quantum disruptor description
can someone give me a tldr of whats wrong with lgu and lll 1.2's compatibility?
My prefabs don't spawn so my logic goes kaput.
From what I have seen in the logs anyways.
lgu uses LethalLib,
LethalLib's functionality was partially (or fully idk) moved into LethalLevelLoader 1.2.x
LethalLib was put of life support, it will no longer be improved.
All of LethalLib's functionality is still there so lgu works fine when isolated.
Since LethalLevelLoader 1.2.0 released, the intended place for the moved functionality is now LLL.
Idk the specifics, but it seems like the functionality moved into LLL takes priority over LL when both are installed.
You would probably need to ask Batby about the where to register stuff.
From what I've been reading during this thread activity #1228961224126103632
You need to create a .lethalbundle file which will be loaded by LLL and auto-magically registered without code.
Treat this as a hint, I haven't looked at any code
Yeah, I'm more busy studying/delivering projects right now so I can't really study code to fix this right now.
That's sick, can it be a list similar to LLL with a string with rarity so I can specify the chances?
Uhh.
I would have to change the pick algorithm to be weight based.
But yeah, I can try that.
Wait what about LGU isn't working for people? I've got it running with LLL 1.2.1 and it seems to be loading the upgrades fine.

I can drop code/mod list if needed.
The Protein Powder info page would have to calculate the damage realtime then
in the times of AC - AC had a way to amplify your melee damage. So if the info of it stated "Your shovel now deals 3 damage" - but I have another mod multiplying it - it does not just deal 3 damage, it deals 3 x 1.5
Although maybe that is possible WhiteSpike?
In a terminal command - to fetch the current output of a shovel's damage swing?
Or I think the shovel always does "1" - and then mods add onto the damage calculation for it to output something else prior to the entity taking damage
I would argue the description should state in some way "Shovels deal a base damage of 1" - and the upgrades are "Level 2: adds 1 additional point of damage" or something along those lines. But maybe WhiteSpike can do some coding magic and have it calculate current damage and next level damages ;p
although adds would be wrong too... because other mods multiply damage afterwards
If the dynamic damage is too complicated to state, it could also be "Shovels now deal an additional X damage" ?
The hard part is also getting this description correct without it being a wall of text xd
Also, I retract needing to tell the palyer a shovel does 1 damage. Everyone should know that
like a basegame trivia thing
Does it actually do 1 damage, or did we all just agree the shovel base damage is 1? :D
It legitimately does "1".
and entities spawn in with HP at smol numbers
other than forest keeper now 'n whatnot
Yea but players die in like 4 hits to shovel :D
Because to other players - it does 30 ๐คฃ
Dynamic damage would need me to know all possible patches applied on a weapon. 
Just like how the nutcracker shotgun does what... 100+?
but it scales off distance
Seems like our characters are highly motivated to murder fellow employees
but when an employee shoots a shotgun - it does 5
Unless it hits an employee-
-u -
I shouldn't say "scales off"- more like "drop-off"
damage fall-off
Scratch that. I don't have it working with LLL 1.2.0 or 1.2.1, but I do have it working with the now-depreciated LLLFixedv50 patch.
Code: 018f1b06-e526-f53c-a751-be9d5f52a50f
LGU seems to be working fine for me if I update to the new official LLL 1.2.1, but I have the bug where the ship gets stuck in motion when leaving a moon and won't roll over to the next day.
Code: 018f1b08-916e-0dd3-8464-f4fa5b4a4ebd
Only issue I'm having with LGU is the name override causing certain upgrades to not work. @steady trail I know you said you're too busy to work on LGU rn, but would it be possible to get a hotfix patch with that Name Override fix you have?
What would be better and easier to implement that stating it like that.
Would be a floating damage number, that pops out when you actaully dealt the damage.
This would be another mod completely. But it would give players an intuitive understanding how much damage they are currently outputing in any situation. Without being a wall of text to understand and remember.
:p
I disabled the hitmarker sound due to conflicts making it double/triple-play, but it details all damage you deal to entities c:
and defaultly doesn't tell you if things die if you didn't kill it yourself (can be configured to notify everyone of many events)
Well there you go, that exists already
It is like 90% perfect. Sometimes it shows as if you hit them twice in one swing - when you didn't.
But if you did hit them once - at least you'll know you hit em with a hitmarker crosshair and text on the bottom right c:
and then get equally as infuriated when you shoot a shotgun at a nutcracker within licking distance to get 0 hitmarkers and 0 damage dealt on the bottom right-
๐
Stupid shotgun bugs <~<
I don't really have the time to be separating code to make separate releases.
My best bet right now is after I'm done with at least the second project delivery, I will start looking at LGU again.
I understand your frustration but you also have to understand that making these sort of things takes time, which I cannot afford to waste if I don't want to spend more time in college paying more. Haha
Oh no sweat. I totally get it. I'm working through finals right now too. I also can imagine making a mod like this is a ton of unanticipated work. I'm no programmer so I have no idea what would go into putting out a fix like that haha. The issue is also incredibly minor since I can just disable name overrides for now.
@steady trail i just need some tiny help with rpc's
Shoot.
game doesnt like this, since clients cant run this, it wasnt me to only run it for host, but how do i make a check for only the host
weird, lemme find hte error rq
[17:30:48.4079317] [Error : Unity Log] NotServerException: Only server can spawn NetworkObjects
Stack trace:
Unity.Netcode.NetworkObject.SpawnInternal (System.Boolean destroyWithScene, System.UInt64 ownerClientId, System.Boolean playerObject) (at <895801699cfc4b4ab52267f31e2a4998>:IL_0002f)
GiantSpecimens.src.Utils.SpawnNetworkObjectServerRpc (UnityEngine.GameObject go) (at ./src/Utils.cs:26)
GiantSpecimens.src.Utils.SpawnScrap (Item item, UnityEngine.Vector3 position) (at ./src/Utils.cs:22)
GiantSpecimens.Enemy.DriftwoodGiantAI.SpawnHeartOnDeath (UnityEngine.Vector3 position) (at ./src/DriftwoodGiantAI.cs:678)
GiantSpecimens.Enemy.DriftwoodGiantAI.KillEnemy (System.Boolean destroy) (at ./src/DriftwoodGiantAI.cs:669)
EnemyAI.KillEnemyClientRpc (System.Boolean destroy) (at <255c0877f9414c3aa6f1fe5079ac13f3>:IL_000f4)
EnemyAI.__rpc_handler_1614111717 (Unity.Netcode.NetworkBehaviour target, Unity.Netcode.FastBufferReader reader, Unity.Netcode.__RpcParams rpcParams) (at <255c0877f9414c3aa6f1fe5079ac13f3>:IL_00049)
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)

The thing is
You should only need to instantiate for host
Because then they would spawn it and then appears for everyone
mhmmm
im just not sure how to specify for only a host to spawn it lol
i dont think im spawning it for anyone else
ignore da red
And you're sure this was net code patched?
how do i check 
Are you using a patcher right now?
this..?
im just using the template from example enemy which has this
Alright.
Hmm
Ah wait, static rpc
Uhhhhh
I have no idea if that works as expected.
uhh should i be changing it?
Like I have mine on a networkBehaviour.
I don't know if there's some library which allows static rpcs.
am i able to just do this?
all going over my head ngl lol
does the class need to inherit a networkbehaviour?
nvm cant since static
Yeah, static Rpcs aren't really a common thing.
also no i cant do this lol
love following snack's code
how should i be doing it?
Becuase I don't think mine are static and are relative to some networkBehaviour.
๐ฟ
Isn't there a boolean somewhere that just says AmIHost? That would be exactly what you need
hi snack
cant use that here
im not really too knowledgable on static classes, does htis need to be a static class?
I think the issue here is that it's static so it doesn't stop clients from executing it.
you can make it a singleton
Yeah, you can use some networkBehaviour and define the rpcs there.
It's what happens with mine. I believe.
I think it uses LguStore to spawn stuff.
This branch is 3 commits ahead of, 18 commits behind XuuXiao/GiantSpecimens:main. 
Static classes just means that they arent meant to have instances of said classes.
hey you wrote the utils class
lol
Oof

No
Because the issue here is not the class being static.
It's the method rpc being static.
ooooh
Because server Rpcs are executed only by host, period.
yeah but make it not static i would have to make the methods not static and the class not static right?
I do not believe you get that same behavior if you decide to make it static by normal means.
You would need something to be instantiated so that you can call the rpc, yes.

You will need the rpcs to be defined on a network behavior
You can't have the rpcs static.
okie
Not by normal means anyway
?
but changing utils to network
Like yeah?
hideFlags = HideFlags.HideAndDontSave is safe, right?
I just find it odd you think you need to make an UTILITIES instance.
lol this is just something i dont understand tbh
But yeah, so long you have some network that spawned, you call the rpc on it.
im okay to use this then?
utils, itemspawner, helper ยฏ_(ใ)_/ยฏ
At first glance, yeah
you have to test it.
i will yee
also commited the change to NetworkBehaviour
i cant do a pull request because my branch have all that bullshit i had to make so unity would work
and the downgrade of unity version
yeah rip

my unity project would not reconize the AI class
had to delete every meta file, re-do the project and downgrade to "correct" version
Sounds fun, lol
yeah this whole mod is on the wrong unity version lol
im on version 20
need to be on version 9
i personally have had no problems with it thankfull;y
the pull request
lel
Have fun
nooo

is the peeper working? last time I played it wasn't. the coil heads still moved everytime we placed it on the ground.
Last I checked they did.
This was two months ago and the code never changed since then.
some of the mods me and my friends use in the latest update didn't work so we went back to the last update and lategame upgrades isnt working
its not any mods interfering with it either because i downloaded just lgu and its still not loading
By going back to the last update, you mean back to v49 of the game?
logs would be cool
yeah i went to steam and clicked on previous version
did you also downgrade lgu to a version that works with v49?
and the dependencies
oh uh i forgot
do you know what version of it to use?
what did you do? merged with your mod and now netcode is screaming at me
look at the changelog history in thunderstore
wut
mk i will lyk if it works
earlier the problem was that i inherited the wrong thing to utils lol
im also doing restructuring rn for LLL
i mean this
fixed mine, cant rpc gameobject xD
So who was the original maker and who is the maintainer btw?
@steady trail is the maintainer
I knew they were one of em
hes to only one
Ah I see. So who was the original maker
That would be Kieth/Malco
kieth?
Ah cool cool cool
Just learning the history of it as, frankly, as both a developer and player, its my fave mod
jesus, a couple of mods freaked out because LLL haha
LLL?
LethalLevelLoader
ooft
you can't open 2 lan lethal company anymore? MMHOOK did not update on my second profile
@steady trail would be possible to add a RegisterSampleItem that does not add GrabbableObject/MonsterSample? or RegisterSampleItem<T> that check for null? like in the case of xu samples the GrabbableObject already exists in the gameobject or it would be better to add the GrabbableObject script with AddComponent when registering it?
Null in what sense?
Like registering an item that already has an grabbableObject in the prefab?
true, but could something like that be made?
or you think that script should be add at code level
i thought whitespike said they would already consider this
If you want, I can add another register where you don't specify a type and just assumes that you have inserted a grabbableObject component in it
not prefab?
Like
I can make it consider every possibility.
The only change is the one where it adds the sample grabbableObJect, it first check if it already has one.
you now can add your own script but if you already have one at the prefab it will conflict
yeah this was a conversation that we've had, cuz my samples were bugged when i used lgu's api if u remember lmao
not sure if whitespike implemented the prevention for that tho
im testing it rn with the scrap value
Stack trace:
GiantSpecimens.Enemy.DriftwoodGiantAI.HitEnemy (System.Int32 force, GameNetcodeStuff.PlayerControllerB playerWhoHit, System.Boolean playHitSFX, System.Int32 hitID) (at ./src/DriftwoodGiantAI.cs:657)``` creatureVoice.PlayOneShot(hitSound[UnityEngine.Random.Range(0, hitSound.Length)]);
maybe my assetbundle is outdated?
Man I know ull probs ship me off to the main mod support chat, but if ur willing to help, what are the key steps to get all the dependancies / unity editor set up for apre existing mod after doing VCS to clone?
config your ModName.csproj.user
you can look at ModName.csproj
to see how the path is called
this is the one I use for lgu
Where do you even put this .user file?
i feel i may be fundementally not understanding how to load a LC mod
same folder as moreshipupgrades.csproj
you have to change the path inside the user file
to patch your pc
LC-LateGameUpgrades\MoreShipUpgrades
after changing paths you import the project in visual studio
My only issue now is the plugin path
Like I assume this is something that need setting up seperate?
I use thunderstore for playing mods
LC_PATH = folder where your game is installed
LC_PLUGIN_PATH = folder where the dlls from the dependecies are
Ah I figured it out
And now the real magic can happen
Frankly, im fed up of all this malarky
TestProfileDir = your thunder profile folder xD
And now ive finally figured out the issues and where crap has to be set
I wanna make a plugin for rider
Cause this shit should be setupable by standard haha
rider?
C# IDE
Its god tier
I found out about it as I use intelij for my java project
*projects
And Rider is basically "InteliJ but for C#"
my big brain dream is a plugin for LC tht does the same thing that the minecraft development plugin does for intelij
i hate jetbrains xD
Why? xD
ah faiirah fair
lol
But yeah I want to be able to open rider and boom, project can be set up fully ready out the box without any pissing around
could not make fabric work with eclipse
Ew eclipse
does this mod work in v50? (Ik it says smth bout v50 but i dont rly understand it lol)
no
it does
like it wont mess with enemy spawning or anythin?
LLL?
LethalLevelLoader
whitespike will update the mod to work with LLL but not for now
so if i dont use lethallevelloader it should be fine?
if you use thunderstore/r2modman
If i have lethallib and lgu will it work?
yes, lgu need lethallib for now
cuz i have some mods that use lethallib or whatever
oh wait thats a different one
idk i have a ton of mods lmao
haha
nvm its the same one
Idek anymore
so if i download lgu and all its dependencies it will work fine?
yes
alr thx
its hard to understand what it meant
what does charging booster upgrade do?
boosts charges
charge of battery fueled items, like flashlight
ohh
lasts longer
if you go in terminal and type name of each upgrade with the word info after, itll tell you what each one does
Hi there! I'm still investigating which mod is preventing the jump height to be tweaked, besides:
Is it a known issue that when you buy the NV Googles, and wear them, the whole party gets night vision? ^^
I know ChatCommands resets jump height every frame for some reason, it's what was causing Strong Legs to not apply properly in my friend group's mod list, since I was leaving it in there for testing purposes.
Also I pretty much just started treating night vision as a permanent upgrade because of that, upping the price to 1000 scrap and disabling both death-related options in the config (which were causing death functions to error out when a player died without having equipped the goggles, making them immortal).
Been several versions since I did those changes, that specific error might've already been fixed.
Because shared things, yeah.
Hello! I have a question. I downloaded the 'Lategame Upgrades' mod and I'm not sure if it was a coincidence, but I noticed a significant increase in 'danger' and creatures, even on the easier moons. Was it a coincidence or does the mod actually increase monster activity?
The only thing it touches is the prevention of the game breaking on enemy spawns due to a high count of days.
ok, thanks!
What about changing quantum disruptor description to something like:
"Reduce time passing by X %" for initial, then "Reduces time passing by another X % (total Y %)"
Then Y would be the calculated total, but probably not dynamic (Unless you can maybe get the current difference between default speed and current speed, up to you whether it tracks changes from other mods)
I do have other mods related to the terminal but not that specifically.
May I share you my profile config to let you have a look? Maybe it's something obvious you know about?
Oh, I don't really know of any other mods that could be affecting it, but I could take a look depending on how long the list is.
On a separate note: what about adding Natural Regeneration, such as per mod with the same name?
It's a HP regen (800 credits) and makes sense being part of LGU - especially since it could be conflicting with the HP capping?
It's a bit long but it's mostly fixes, monsters, and QoL tweaks for small parties (2+ players, up to 4).
Definitely not vanilla but I love my runs get to day 50 and over.
Not using LLL, so no extra moons/interiors are in the list.
I'm definitely clueless and it's a very recent issue due to recent updates.
Thought it was CompanyVariables, BetterStamina, or GenericImprovents but it's not?
I'm sharing the profile with my modpack just in case someone could confirm the issue is there and I'm not hallucinating ๐
Note: all players, not just me as a host, are having the exact issue - everything was fine about 2 days ago:
018f1e0d-1e50-bbf0-0727-d1614de5a318
Alright, mostly just planning to let Harmony output every patched method to the log file and using Ctrl+F to try and find anything that modifies jump height.
Disabled a bunch of nonrelated mods, apologies: 018f1e14-34ff-9044-e3cf-1562efd94a34
@severe grove I think it's GhostMode probably? It's the last mod that patches PlayerControllerB, and the only one other than LGU that modifies jumpForce.
๐ Omg. I wasn't even suspecting that - I assumed it used some other ways to handle hovering - it's not even applying a multiplier T__T
Thanks a bunch @leaden kindle!
It's probably a bit offtopic but - how did you debug that? Is there a guide around explaining that? (I know how to attach debuggers in...various contexts, but I'm still a bit of a noob with BepinEx.). I'm guessing some info could be on the bepinex wiki?
That would really be helpful to know - to avoid bothering other devs around ๐
(and yes, that solved the issue!)
Oh my, I'm making you write a lot - I shouldn't have bothered you even further, but thank you T_T
Pretty much setting this to 'All' to dump IL code to the log, then just searching for methods/fields that are being modified/causing issues. There's a substantial number of lines for IL code, but if you scroll up far enough you can see every Harmony patch being done (prefixes, postfixes, transpilers, finalizers), then I just look at the source code of the mods' patches to see if I find anything.
Ah, don't worry about it, mostly helped because of how much nicer the upgraded jumping (working) felt to my friend group, haha.
Indeed! So lifesaving! If I could pair it with some minor "hovering" or speed-capping when falling (not too much or you're gonna be stuck in parachute mode forever), that would save so many LC agents when doing critical jumps ๐
Like Dragon's Dogma 1 "keep jump button pressed to float for 0.x seconds at the apex of the jump" mage ability. Just an idea ๐
Is LGU still not working for clients with LLL?
I know it my be a bit enterprisey, but would it be wise to have a development branch that is used for people forking off of? With the forks for PR's sort of acting like feature branches? Leads to less "fucky wucky" when merging from my experience haha
Also im still wrapping my head around the structure of these upgrades.
The idea ive had is add a "Radar Teleport Booster" upgrade in where, when inversing, if the upgrade is active, you will teleport randomly to one of the currently placed and active radar boosters
And Im struggling to wrap my head around the structure of that
You would probably have to patch the method in which it picks a position to set the player at when inverse teleporting.
Which checks if the upgrade is on and if so, check for any active boosters that are inside.
If none were found, execute as normal. Otherwise, use the position of the first booster you found.
I feel like that would be the same as doing PRs to the main.
My fork is already a dev branch by default.
Yes and no.
We keep having people say it doesn't work and people that say it works.
Even though I haven't updated it for a good while.
(and more because tests/project deliveries)
Ah I see
Ultimately, I review the PR to see if everythings alright.
So there shouldn't be any worries in terms of conflicts.



