#Lategame Upgrades

1 messages ยท Page 25 of 1

steady trail
#

I see now.

#

You're using the wrong function.
You're supposed to use RegisterSample()

gusty flint
#

i blame snack

steady trail
#

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.

gusty flint
#

gotchaa

#

this should work then

#

is lvl 0 the first or lvl 1?

steady trail
#

For you, it starts at 1.

#

As it should because you shouldn't need to worry how the internals work.

steady trail
#

So you gave an EnemyAI?

gusty flint
#

i gave an enemytype

#

ahhh wait, maybe my order of loading this in awake is wrong

steady trail
#

You can also do strings.

#

You have with EnemyAI, EnemyType and string.

gusty flint
#

icic, ill just do string

steady trail
#

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)

gusty flint
#

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

steady trail
#

Mhm.

gusty flint
#

but dropping the item makes it disappear

steady trail
gusty flint
#

no idea where it vanishes to

steady trail
#

Define disappear.

gusty flint
#

i press g

#

its not on the ground

#

or anywhere

#

it poof

steady trail
#

I don't mess with its physics logic though.

gusty flint
#

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

steady trail
#

I have no idea about that, lol.

#

I don't mess with the drop logic like at all.

gusty flint
#

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

steady trail
#

But it doesn't even do anything with position, lol.

gusty flint
#

huh this is somehow on my side actually

#

i didnt even touch the plushie recently owo_think

#

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

steady trail
#

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.

gusty flint
#

yeah but its vanilla stuff so idk

steady trail
#

Being vanilla doesn't mean it's right.
We have all our own perspectives of how some calculations should work.

gusty flint
#

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

steady trail
#

Killing a giant should pay off. Blobpat

gusty flint
#

as long as i can figure out why a baboon hawk can solo a 300 hp giant, yeah

steady trail
#

Pff.

gusty flint
#

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

steady trail
#

Battle log?

gusty flint
#

thing where you have a long range weapon and u stay juuuust outside of the range

steady trail
#

Ah.

gusty flint
#

kiting

#

thats the one

steady trail
#

Yeah.

gusty flint
#

ill just keep it like this for now lol

steady trail
#

Nice.

gusty flint
#

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

steady trail
#

How big is the collider with the EnemyAICollisionDetect component?

#

On the redwood, I assume the baboon is killing.

gusty flint
#

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

steady trail
#

Are there any errors being thrown?

gusty flint
#

nope

#

is it also overriding some settings from my Item scriptable object?

#

like its no longer two handed, no two handed animation

steady trail
#

It prompts a warning when it does.

gusty flint
#

its weight is different

#

alright lelmme check again

steady trail
#

It doesn't mess with two handed.

#

This is what it does in terms of changing the item properties.

gusty flint
#

its not telling me anything other than this

steady trail
#

Then yeah, it didn't mess with item properties.

gusty flint
#

weird, theres a few bugs im seeing that ill just have to look through later, ill try disabling LGU and see what changes

steady trail
#

You're using the same code I used for this picture.

#

Picking up and dropping worked just fine.

gusty flint
#

am i using the same code? cuz snack sent me an updated version i think owo_think

steady trail
#

What did they change?

gusty flint
#

i dont think anything, i think just the file you sent before was outdated lol

steady trail
#

What was outdated in it though.

gusty flint
#

i dont think it had custom registering code in it owo_think

#

ill have to reread the conversation

#

it was complaining about forest keeper sample so snack sent me the newest dll i think

steady trail
#

Ah.

#

Because I forgor to send the asset bundle too.

gusty flint
#

oh lol

#

what a lovely list for tmrw

#

i should sleep, its 2pm

steady trail
#

Damn, you have a list.

gusty flint
#

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

#

im a bit annoyed i couldnt get the lightning bolts to show up, no clue why they arent, but its a process

steady trail
#

I have no idea, just killed a baboon in the same room and the sample isn't just disappearing when picked up/dropped.

real gust
#

#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

steady trail
#

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.

real gust
#

The mod using the api should instruct the player to create the new level

#

If the Level is over 3

steady trail
#

Plus there's still the whole ordeal between prices and tiers.

#

Because again, if less prices than tiers, some tiers won't apply.

real gust
tawdry wadi
#

@steady trail Update soon? ;o

#

I got a few mods I'm itching to remove when that update drops

#

XD

gusty flint
#

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

mortal berry
#

Ah, such is the college life.

gusty flint
#

Well he's doing the more important level of education

steady trail
steady trail
#

@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>()

gusty flint
#

If something inherits from grabbable object it still works?

steady trail
#

It should, yes.

#

Because deriving from GrabbableObject just means that they are a more specific GrabbableObject.

#

Doesn't stop them from being a GrabbableObject.

gusty flint
#

Gotcha

torn mason
#

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

steady trail
#

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.

torn mason
#

probably? i'm not sure

dawn phoenix
#

how about a t2 malware broadcaster upgrade that makes the codes scannable?

steady trail
#

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. hmm

dawn phoenix
#

zeekerss sometimes has a funny gen when the code overlaps with furniture

cedar coyote
#

@steady trail If im not stupid and understanding this correctly, Interns should revive the player somewhere inside the facility?

gusty flint
#

ye, its a one time upgrade you gotta keep buying tho

steady trail
#

I wouldn't really call it an upgrade.

#

It's literally a revive prompt.

cedar coyote
#

like it literally didnt revive the player

steady trail
#

I'm not blind, no.

cedar coyote
#

had to break it down for Xu

bold star
#

Oh fucking hell that's alot of work

cedar coyote
cedar coyote
#

fuck you obs

steady trail
#

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.

cedar coyote
#

most likely one of these mods

#

because i just did a small isolated test and interns did not work

gusty flint
#

im gonna take a gander and guess more company but no clue

cedar coyote
#

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

#

yknow what

#

fuck it

#

it is what it is

errant anvil
#

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)

stiff imp
#

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

mortal berry
#

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.

stiff imp
#

Thanks!

torpid ferry
#

@real gust I have not been flowing. Will these be present in LGU or an addon to LGU?

torpid ferry
real gust
#

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

hasty quail
#

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!"

real gust
#

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

steady crag
#

I cant do anything after typing lgu

#

cant leave or type or move

real gust
#

Do you have this mod?

#

If not post your log and wait to someone look at it

cerulean crown
#

Why my lategame upgrade mod broke my ship upgrade

rigid warren
#

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

steady trail
#

Does it not say in the README?

#

Bruh, why are you formatted like this?

rigid warren
cedar coyote
#

@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

steady trail
#

Ah.

#

I know why.

#

I will fix it later.

cedar coyote
#

thank you

steady trail
#

Odd that it's not throwing an error though.

cedar coyote
#

jesus christ it took forever to narrow it down

steady trail
#

Because there shouldn't have anything initialized when reviving.

dreamy galleon
dreamy galleon
steady trail
dreamy galleon
spark heath
#

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?

steady trail
dire quest
#

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.

cedar coyote
dire quest
#

Which one?

umbral imp
#

Strong leg's(Jump Power) its the added bonus at max level

vocal anvil
#

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?

steady trail
#

Because of the sensitivity thing when carrying one ,yeah.

vocal anvil
steady trail
#

Right.

stark monolith
#

Will late game upgrades for daytime length work with lethal expansion? Or should I used the depreciated patch

dire quest
steady trail
steady trail
#

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.

median egret
#

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

steady trail
#

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.

median egret
#

yeah ๐Ÿ˜…

steady trail
#

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)"

median egret
#

๐Ÿ˜“

steady trail
#

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.

median egret
#

yeah, that kind of system is designed to burn you out

#

๐Ÿ˜ญ why is it like this?

steady trail
#

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?"
THISISNOTFINE

median egret
#

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 ๐Ÿ™ƒ

steady trail
#

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.

median egret
#

yeah, true

#

it's better to know someone's actual competence rather than title

#

cause often there's no correlation ๐Ÿฅฒ

steady trail
#

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)

gusty flint
#

I love plane vectors

steady trail
#

You just want something bigger and better.

gusty flint
#

I do want something bigger and better

steady trail
#

Anyways, did the RegisterSample<> thing worked for ya?

gusty flint
#

I think so? I was messing with the scan node after I spawned the network object so there was a bit of desync

steady trail
#

The components I add to it should mess with the value in the node just fine.

gusty flint
#

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?

steady trail
#

You can have your own drops.

#

The API is just a way to add drops to the Hunter upgradew.

gusty flint
#

Tru tru

steady trail
#

I can have them be a list of samples for each enemy and it randomly picks one.

#

That's also a choice.

gusty flint
#

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

steady trail
#

Swapping between items?

#

Or you mean when you bring it back to your hand?

gusty flint
#

When you bring it back

steady trail
#

I think GrabbableObject.EquipItem should be what you want.

gusty flint
#

Okay perfect

torpid dock
#

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

steady trail
#

Does any errors appear when that happens?

#

And is it only with contracts?

gusty flint
#

damn doesnt work

mental jackal
#

Hi, does protein powder affect any melee weapon?

mortal berry
#

It should, yes.

mental jackal
#

Even modded ones?

mortal berry
#

I believe so, I know it works for the Fire Axe from Scoopy's variety mod

river dawn
#

is there any mod like the stimpack upgrade that changes your max health?

mortal berry
river dawn
mortal berry
#

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

river dawn
#

i swear i think it was already in this but maybe not

cedar coyote
#

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

steady trail
#

It never worked since it was made, no.
And since the default config was off, nobody would really talk about it.

cedar coyote
#

I have already asked a lot of you to fix

#

but if possible

#

could you look into it?

steady trail
#

It's already fixed in my development branch

#

I just need to sort out uni first to then sort out this.

tawdry wadi
#

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

steady trail
#

LGU or LethalLib?

vocal anvil
#

LLL

tawdry wadi
#

LGU breaks with LethalLevelLoader 1.2.0

#

You could probably port it from LL to LLL tbh

steady trail
#

So LGU breaks with LLL.

#

What's the error?

tawdry wadi
steady trail
#

Porting may not be sufficient

tawdry wadi
tawdry wadi
#

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

steady trail
#

Registering network prefabs is dying

tawdry wadi
#

lol

#

yeah

steady trail
#

Because apparently I'm putting prefabs with same unique identifier.

tawdry wadi
#

Mhm

#

It sucks this is happening cus you're busy but yeah a hotfix is needed

#

๐Ÿ˜‚

steady trail
#

After today's morning classes, I will look at it.

tawdry wadi
#

๐Ÿ‘

steady trail
#

@vocal anvil I would assume LLL has their own Network Manager, yeah?

steady trail
#

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?

cedar coyote
#

hey uh

#

Does the Protein Powder upgrade crit chance work?

steady trail
#

It should.

#

Last I tested was two months ago thoufh

cedar coyote
#

So hypothetically speaking, if i set the crit chance to "1.0" it should be guaranteed death for whatever I touch

steady trail
#

If I remember how I set it up, yes.

cedar coyote
#

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

mental jackal
#

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

steady trail
#

Can you provide the logs of when that happens?

#

Best to be sure than to catch straws.

cedar coyote
#

Ok

cedar coyote
#

However

#

This doesnt seem to work

steady trail
#

What doesn't?

cedar coyote
#

Ive capped the upgrade to one upgrade

#

which I assume doesnt read as "max level"

steady trail
#

Probably because an empty list of additional upgrades default to zero and it doesn't check that particular case.

cedar coyote
#

so I have to set it to 2 upgrade levels in order for it to work

steady trail
#

I could be wrong though and I can't check right now how the configs work right now.

cedar coyote
#

Im gonna try something wacky

#

this will break something

steady trail
#

Argh, Reply.

#

But yeah, that will say that proteins max level is 2 in terms of applying effects.

cedar coyote
#

:(

#

i just wanted to convert the upgrade into a crit chance with no additive damage

steady trail
#

I know.

cedar coyote
#

welp I can just split the cost over 2 levels and it functionally works the same

steady trail
#

The only change needed I think on the code is just the case of the upgrade having only one level to apply crit.

cedar coyote
#

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

steady trail
#

It's fine.

#

So long as I am treated like a human being, I don't mind fixing stuff when needed.

mental jackal
#

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

steady trail
#

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.

gusty flint
#

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?

steady trail
#

You have ScrapValueSyncer and MonsterSample.
The work itself is done by ScrapValueSyncer, MonsterSample makes a call to the first with the provided value.

gusty flint
#

Alright I guess I gotta steal scrap value syncer

steady trail
#

Damn.

gusty flint
#

I'm guessing that's all im missing

steady trail
#

Uhh.

#

If you can set the things before spawning it and they appear the same for everyone, yeah, it seems to work.

gusty flint
#

Clients don't see the scan node value owo_think

#

And apparently some clients saw duplicates though I couldn't replicate that part

steady trail
#

Then yeah, you would have to do it after spawn.

#

Because it will probably only show the changes to who's changing it.

gusty flint
#

ConfusedShock 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

steady trail
#

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.

gusty flint
#

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?)

steady trail
#

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?

gusty flint
steady trail
#

The code you implement the serverRPC is executed by the host, yes.

#

And clients can only call that RPC.

gusty flint
#

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

steady trail
#

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.

gusty flint
#

Okie! Ty

molten lion
#

so will this get compat with new lll soon?

#

i heard its broken with it atm right

steady trail
#

Apparently.

#

Though I'm not sure where to put the registering on through LLL right now.

#

So I will wait for a response.

molten lion
#

k np

gusty flint
#

@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 AG_AnimeXD

steady trail
gusty flint
#

okie

west blaze
# steady trail You can also check ``NetworkBehaviour.IsHost`` or ``NetworkBehaviour.IsServer`` ...

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

steady trail
#

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.

west blaze
steady trail
#

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.

west blaze
#

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)

steady trail
#

Aspects as in each upgrade?
Not really. They do their own thing, only thing touching them is the "UpgradeBus" which manages each's levels.

west blaze
#

Ah I see. Interesting.

steady trail
#

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.

west blaze
#

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?

steady trail
#

Gander?

west blaze
#

Slang for "look"

steady trail
#

Ah.

#

I don't mind. So long you don't mind criticism.

west blaze
#

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

steady trail
#

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.

west blaze
#

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

steady trail
#

Oh dear, design patterns.

west blaze
#

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.

steady trail
#

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.

west blaze
steady trail
#

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.

random mirage
#

okay i'm a bit confused on this

#

what exactly does it mean by time decrement?

#

how long does the dropship usually take??

real gust
#

The first time you buy something it takes 20sec

#

After that its 40

bleak stump
#

Just lost the money thanks to this lmao

#

It's the npc

#

Nvm

#

He spawned outside lol

warm copper
#

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 ๐Ÿ˜ฎ

mortal berry
#

TerminalFormatter gives you something close to that, minus the ability to control it via WASD

warm copper
#

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

outer plaza
#

sick beats doesn't work right?

steady trail
#

In what sense does it not work?

#

Completely? Partially?

outer plaza
#

idk i thought you said it just didn't work

outer plaza
#

cuz i remember someone saying that here a while ago

#

i think mi6k? and you? been a bit

steady trail
#

The defense part didn't work from release because of how the patch was made.

#

Everything else does.

outer plaza
#

ahhh okok!!

#

sick ty :]

steady trail
#

I guess I'll just leave this image instead.

gusty flint
#

Is that to this server

steady trail
#

Yeah.

#

Apparently I don't share a server with the server.

gusty flint
#

Lol

fading marten
#

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

steady trail
#

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.

severe grove
#

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

steady trail
#

When the upgrades are bought.

#

Also hi Kieth!

indigo prawn
#

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

severe grove
indigo prawn
#

hello ๐Ÿ™‚

steady trail
#

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.

lethal latch
#

Are the settings for the player applied after they connect? (PlayerControllerB:ConnectClientToPlayerObject)?

steady trail
#

Uhhh.

#

Well, they apply when they appear in the ship after a while because of the WaitForSecond enumerators that I can remember.

lethal latch
#

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...

severe grove
#

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

steady trail
#

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.

lethal latch
steady trail
#

Wait

lethal latch
#

LCV does not store any debug information in the release version

steady trail
#

Okay.

lethal latch
#

Ohh, you meant the method

steady trail
#

So I can't check what values you had before you called Init

#

That'a a bummer.

lethal latch
#

Yea, some methods and stuff are compiled-handlded and removed for the release

lethal latch
steady trail
#

Yes.

severe grove
lethal latch
#

I mean, i can send you the version with the debug data, it will log everything

steady trail
#

It's fine.

steady trail
severe grove
steady trail
#

I understand health because it's set to a value after the players are revived.

lethal latch
#

Afaik the only times LCV could override them is when joining the game or when reviving (only health)

steady trail
#

jumpforce is only set on initialization (on LCV) so it has to be something else changing it while mid-game.

#

Same for movementSpeed.

tawdry wadi
#

@steady trail I hope you manage to get compat with LLL going soon

#

I miss LGU

steady trail
#

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.

lethal latch
#

that schedule looks like a croissant

steady trail
#

And the other test in next saturday.

severe grove
steady trail
steady trail
stark monolith
#

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

lethal latch
#

That's why I will never work in more than 2 projects at a time

severe grove
#

Oh. I've just had a look at the log. Why is GeneralImprovements logging that? ^^

steady trail
lethal latch
#

That might not be right

#

can you disable it to check if the issue persists?

steady trail
severe grove
lethal latch
lethal latch
#

But it can also be messing up that

severe grove
stark monolith
severe grove
#

I need to do more testing - will get back to you when I better isolate the "offending" mod - can't make assumptions anymore.

steady trail
stark monolith
#

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!

west blaze
misty plank
#

bump bc idk if anyone acknowledged or knows about this

steady trail
#

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);
}
frail briar
#

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?

steady trail
#

The lightning rod code shouldn't have changed.
If anything, I would expect errors when the selecting object to lightning strike happens.

frail briar
#

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?

steady trail
#

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

west blaze
#

What class is the terminal ui gubbins all handled in ?

steady trail
#

The new store, you mean?

#

Where you can interact with it.

west blaze
#

aye

steady trail
#

Should be Misc.UI

west blaze
#

Ah sweet

#

cheers

frail briar
steady trail
#

If I can remember the defaults correctly, the last level should give you a damage of 3 on shovel hit, yes.

steady trail
frail briar
#

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 ๐Ÿ˜„

steady trail
#

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.

frail briar
#

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 ๐Ÿ˜„

steady trail
#

I always take suggestions.

#

I don't think I remember ever stating otherwise.

frail briar
#

Great, I will try to think of some and get back to you

#

^suggestions for the quantum disruptor description

dawn phoenix
#

can someone give me a tldr of whats wrong with lgu and lll 1.2's compatibility?

steady trail
#

My prefabs don't spawn so my logic goes kaput.

#

From what I have seen in the logs anyways.

dreamy galleon
# dawn phoenix can someone give me a tldr of whats wrong with lgu and lll 1.2's compatibility?

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.

dawn phoenix
dreamy galleon
# steady trail My prefabs don't spawn so my logic goes kaput.

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

steady trail
#

Yeah, I'm more busy studying/delivering projects right now so I can't really study code to fix this right now.

gusty flint
steady trail
#

Uhh.

#

I would have to change the pick algorithm to be weight based.

#

But yeah, I can try that.

small dirge
#

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.

steady trail
small dirge
#

I can drop code/mod list if needed.

fading marten
#

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

frail briar
#

If the dynamic damage is too complicated to state, it could also be "Shovels now deal an additional X damage" ?

fading marten
#

well- not entirely wrong, but half-right

#

Yus

frail briar
#

The hard part is also getting this description correct without it being a wall of text xd

fading marten
#

Also, I retract needing to tell the palyer a shovel does 1 damage. Everyone should know that

#

like a basegame trivia thing

frail briar
#

Does it actually do 1 damage, or did we all just agree the shovel base damage is 1? :D

fading marten
#

It legitimately does "1".

#

and entities spawn in with HP at smol numbers

#

other than forest keeper now 'n whatnot

frail briar
#

Yea but players die in like 4 hits to shovel :D

fading marten
#

Because to other players - it does 30 ๐Ÿคฃ

steady trail
#

Dynamic damage would need me to know all possible patches applied on a weapon. THISISNOTFINE

fading marten
#

Just like how the nutcracker shotgun does what... 100+?

#

but it scales off distance

frail briar
#

Seems like our characters are highly motivated to murder fellow employees

fading marten
#

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

small dirge
# small dirge Wait what about LGU isn't working for people? I've got it running with LLL 1.2.1...

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?

dreamy galleon
#

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.

fading marten
#

: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)

dreamy galleon
#

Well there you go, that exists already

fading marten
#

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 <~<

steady trail
# small dirge Scratch that. I don't have it working with LLL 1.2.0 or 1.2.1, but I do have it ...

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

small dirge
gusty flint
#

@steady trail i just need some tiny help with rpc's

steady trail
#

Shoot.

gusty flint
#

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

steady trail
#

What do you mean?

#

Server Rpc are only executed by host period.

gusty flint
#
[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)
steady trail
gusty flint
#

yeah im confused

#

cuz line 26 is the server rpc line

steady trail
#

The thing is

#

You should only need to instantiate for host

#

Because then they would spawn it and then appears for everyone

gusty flint
#

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

steady trail
#

And you're sure this was net code patched?

gusty flint
#

how do i check owo_flop

steady trail
#

Are you using a patcher right now?

gusty flint
#

this..?

steady trail
#

Like have you had to change the csproj before doing this?

#

Okay, yeah

gusty flint
#

im just using the template from example enemy which has this

steady trail
#

Alright.

#

Hmm

#

Ah wait, static rpc

#

Uhhhhh

#

I have no idea if that works as expected.

gusty flint
#

uhh should i be changing it?

steady trail
#

Like I have mine on a networkBehaviour.

#

I don't know if there's some library which allows static rpcs.

gusty flint
#

am i able to just do this?

steady trail
#

Uhhh

#

I think the rpcs need to be defined on a networkBehaviour.

gusty flint
#

all going over my head ngl lol

#

does the class need to inherit a networkbehaviour?

#

nvm cant since static

steady trail
#

Yeah, static Rpcs aren't really a common thing.

gusty flint
#

love following snack's code

#

how should i be doing it?

steady trail
#

Becuase I don't think mine are static and are relative to some networkBehaviour.

real gust
dreamy galleon
#

Isn't there a boolean somewhere that just says AmIHost? That would be exactly what you need

gusty flint
gusty flint
#

im not really too knowledgable on static classes, does htis need to be a static class?

steady trail
#

I think the issue here is that it's static so it doesn't stop clients from executing it.

real gust
#

you can make it a singleton

steady trail
#

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.

real gust
#

This branch is 3 commits ahead of, 18 commits behind XuuXiao/GiantSpecimens:main. concern

steady trail
gusty flint
real gust
#

the original one

#

haha

steady trail
#

Damn

#

Imagine blaming each other.

real gust
#

i blame @steady trail

#

ยฏ_(ใƒ„)_/ยฏ

gusty flint
#

lol

steady trail
#

Oof

gusty flint
#

so i just unstatic it?

#

does it matter if theres instances?

steady trail
#

No

#

Because the issue here is not the class being static.

#

It's the method rpc being static.

gusty flint
#

ooooh

steady trail
#

Because server Rpcs are executed only by host, period.

gusty flint
#

yeah but make it not static i would have to make the methods not static and the class not static right?

steady trail
#

I do not believe you get that same behavior if you decide to make it static by normal means.

steady trail
gusty flint
steady trail
#

Like, I understand what you are doing.

#

But this is not the way.

gusty flint
steady trail
#

You will need the rpcs to be defined on a network behavior

gusty flint
#

i cant tell if i should want it static or not

steady trail
#

You can't have the rpcs static.

gusty flint
#

okie

steady trail
#

Not by normal means anyway

real gust
#

?

#

but changing utils to network

steady trail
#

Like yeah?

real gust
#

hideFlags = HideFlags.HideAndDontSave is safe, right?

steady trail
#

I just find it odd you think you need to make an UTILITIES instance.

gusty flint
#

lol this is just something i dont understand tbh

steady trail
#

But yeah, so long you have some network that spawned, you call the rpc on it.

real gust
#

utils, itemspawner, helper ยฏ_(ใƒ„)_/ยฏ

steady trail
#

At first glance, yeah

real gust
gusty flint
#

i will yee

real gust
#

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

gusty flint
#

yeah rip

steady trail
real gust
#

had to delete every meta file, re-do the project and downgrade to "correct" version

steady trail
#

Sounds fun, lol

gusty flint
#

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

real gust
#

the pull request

gusty flint
#

building gives error

real gust
gusty flint
#

lel

steady trail
#

Have fun

gusty flint
#

nooo

real gust
gusty flint
#

oh wait

#

prolly my fault sec

#

whoopsie yeah

hollow blaze
#

is the peeper working? last time I played it wasn't. the coil heads still moved everytime we placed it on the ground.

steady trail
#

Last I checked they did.

#

This was two months ago and the code never changed since then.

karmic field
#

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

dreamy galleon
#

By going back to the last update, you mean back to v49 of the game?

real gust
#

logs would be cool

karmic field
karmic field
#

or do i take a picture

real gust
real gust
#

and the dependencies

karmic field
#

do you know what version of it to use?

real gust
real gust
karmic field
gusty flint
#

earlier the problem was that i inherited the wrong thing to utils lol

#

im also doing restructuring rn for LLL

real gust
gusty flint
#

i fixed it tho

real gust
#

fixed mine, cant rpc gameobject xD

west blaze
#

So who was the original maker and who is the maintainer btw?

real gust
#

@steady trail is the maintainer

west blaze
#

I knew they were one of em

real gust
#

hes to only one

west blaze
#

Ah I see. So who was the original maker

steady trail
#

That would be Kieth/Malco

real gust
#

kieth?

west blaze
#

Ah cool cool cool

#

Just learning the history of it as, frankly, as both a developer and player, its my fave mod

west blaze
#

LLL?

real gust
#

LethalLevelLoader

west blaze
#

ooft

real gust
#

you can't open 2 lan lethal company anymore? MMHOOK did not update on my second profile

real gust
#

@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?

steady trail
#

Null in what sense?

#

Like registering an item that already has an grabbableObject in the prefab?

real gust
#

yes

#
    GrabbableObject grabbableObject = sampleItem.spawnPrefab.AddComponent<T>();```
steady trail
#

That doesn't make sense thoufh

#

Because that's a type.

real gust
#

true, but could something like that be made?

#

or you think that script should be add at code level

gusty flint
#

i thought whitespike said they would already consider this

steady trail
#

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

real gust
#

not prefab?

steady trail
#

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.

real gust
gusty flint
#

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

real gust
#

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?

gusty flint
#

probably?

#

i would commit rn but making big changes

west blaze
#

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?

real gust
#

config your ModName.csproj.user

#

you can look at ModName.csproj

#

to see how the path is called

west blaze
#

Where do you even put this .user file?

#

i feel i may be fundementally not understanding how to load a LC mod

real gust
#

same folder as moreshipupgrades.csproj

#

you have to change the path inside the user file

#

to patch your pc

real gust
#

after changing paths you import the project in visual studio

west blaze
#

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

real gust
#

LC_PATH = folder where your game is installed

#

LC_PLUGIN_PATH = folder where the dlls from the dependecies are

west blaze
#

Ah I figured it out

#

And now the real magic can happen

#

Frankly, im fed up of all this malarky

real gust
#

TestProfileDir = your thunder profile folder xD

west blaze
#

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

real gust
#

rider?

west blaze
#

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

real gust
#

i hate jetbrains xD

west blaze
real gust
#

had lots of problem when i tried it

#

php and java

west blaze
#

ah faiirah fair

real gust
#

i do have it installed

#

just for minecraft

west blaze
#

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

real gust
#

could not make fabric work with eclipse

west blaze
#

Ew eclipse

real gust
#

eclipse ๐Ÿ

#

eclipse, notepad++ and visual studio is my poison

molten parcel
#

does this mod work in v50? (Ik it says smth bout v50 but i dont rly understand it lol)

molten lion
#

no

real gust
#

it does

molten parcel
#

like it wont mess with enemy spawning or anythin?

real gust
#

no

#

unless you use LLL

molten lion
#

oh yea my fault

#

wasnt thinking

molten parcel
#

LLL?

real gust
#

LethalLevelLoader

molten parcel
#

oh ive never heard of that

#

it says smth about lethallib or whatever its called

real gust
#

whitespike will update the mod to work with LLL but not for now

molten parcel
#

so if i dont use lethallevelloader it should be fine?

real gust
#

just install lgu with it will install all dependecies

#

yep

molten parcel
#

oh alr

#

its hard to understand what its saying lol

real gust
#

if you use thunderstore/r2modman

molten parcel
#

If i have lethallib and lgu will it work?

real gust
#

yes, lgu need lethallib for now

molten parcel
#

cuz i have some mods that use lethallib or whatever

#

oh wait thats a different one

#

idk i have a ton of mods lmao

real gust
#

haha

molten parcel
#

nvm its the same one

#

Idek anymore

#

so if i download lgu and all its dependencies it will work fine?

real gust
#

yes

molten parcel
#

(late game upgrades im guessing)

#

is lgu

real gust
#

lgu, lategame upgrades, moreshipupgrades

#

so many variations xD

molten parcel
#

alr thx

#

its hard to understand what it meant

#

what does charging booster upgrade do?

molten lion
#

boosts charges

molten parcel
#

charges?

#

im dumb :/

molten lion
#

charge of battery fueled items, like flashlight

molten parcel
#

ohh

molten lion
#

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

molten parcel
#

oh alr

#

thx\

severe grove
#

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? ^^

leaden kindle
# severe grove Hi there! I'm still investigating which mod is preventing the jump height to be ...

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.

GitHub

Mod to add /commands to the chat to Lethal Company, especially for testing mods and messing around - Toemmsen96/ChatCommands

#

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.

steady trail
sage valley
#

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?

steady trail
#

The only thing it touches is the prevention of the game breaking on enemy spawns due to a high count of days.

frail briar
# frail briar Great, I will try to think of some and get back to you

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)

severe grove
leaden kindle
#

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.

severe grove
#

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?

severe grove
# leaden kindle Oh, I don't really know of any other mods that could be affecting it, but I coul...

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

leaden kindle
#

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.

severe grove
leaden kindle
#

@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.

severe grove
# leaden kindle <@295940600820269056> I think it's [GhostMode](https://thunderstore.io/c/lethal-...

๐Ÿ‘€ 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

leaden kindle
# severe grove ๐Ÿ‘€ Omg. I wasn't even suspecting that - I assumed it used some other ways to han...

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.

leaden kindle
severe grove
#

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 ๐Ÿ˜›

steady verge
#

Is LGU still not working for clients with LLL?

west blaze
#

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

west blaze
#

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

steady trail
#

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.

steady trail
steady trail
#

Even though I haven't updated it for a good while.

#

(and more because tests/project deliveries)

steady trail
#

Ultimately, I review the PR to see if everythings alright.

steady trail
#

So there shouldn't be any worries in terms of conflicts.