#Imperium
1 messages Β· Page 9 of 1
just have an extension for when a network object is spawned im confused
i just do:
NetworkObject.OnSpawned(() => { });
also no he cant
same issues we have, he will have
Hmm, how is that extension implemented
ill check
Sorry, I meant he can just execute the functionality on each client and it's "synchronized"
He doesn't have to send any rpc
i mean, yeah he can override OnNetworkSpawn (not awake or start that just wont work), and then run the code there for a specific client
but then he has to hardcode that
whilst we can send the specific client that we want to pick it up via rpc
if he wanted to make a thing that auto picks an item for a player without hard coding the player, he NEEDS to rpc
What I mean is that for my example, he can run the burst function in the awake of every client
No need for any RPC
It just happens on every client individually as soon as the object appears
Idk I think thats pretty cursed
But I guess that's the way, this is also what I'm doing rn
i mean if you have a better cleaner way of waiting for the network object to be functional you can let me know
I don't, I'm just saying it's unfortunate there isn't a better way, like technically unity could provide this on spawn function
Because it exactly knows when objects spawn
yeah
also i still dont understand this, are you saying awake of playercontrollerb or grabbableobject?
and just to be clear, when you are saying awake, you mean onnetworkspawn because awake wouldnt work
that would run the code every frame, right?
Yeah
yeah that's how waituntil works
why are there no real signals in Unity π
a better way would be putting this on an update loop
RIP performance
I mean, it's not like there's any better way anyway
yeah, but its also not like even if there was a better way, it would actually matter how much better it is
performance wise anyway
Like in the start function of the cadaver bloom it checks whether a test variable is set. If so, it immediately bursts the bloom and it opens
This is not synced tho, it happens locally on every client. So every client needs to set this variable on their own for this to not desync. This is basically what I have to do in imperium
Btw, I sometimes get teleported out of the ship when landing 
Yeah it's probably not a problem at all, it's just a simple check that's like super fast, it just doesn't sit right with me that we have to do this when unity could just provide like an action you can subscribe to instead
Or not, there's probs a reason they didn't do it
Who am I to know
okay, lets say we do have this example but for items, a client needs to press a button to flip a toggle that is only changed locally that says grab every item that is instantiated on the awake of the item, do you expect this to work?
Uhh I mean if every client executes this logic, why wouldn't it be synced?
Like as long as not every client tries to grab it themselves
I assume just the fact that it is grabbed at all is synchronized
In that case the host would win every time
first of all, doing this on the awake of the item would cause the rpc's that should be running when grabbing an item to not run because the networkobject isn't spawned, so that would already fail
second of all, how do you make sure not every client is trying to grab it for themselves? what if multiple clients have this toggled? what if they dont want to grab every item but only specific items that they themselves spawn, but the problem is, spawning an item is server sided, so you have to run a clientrpc that tells the client that said they wanted to grab that specific item that they spawned that only they can grab it
"The house always wins" typa shit
yeah but that's irrelevant
I'm not really sure what logic you're exactly trying to explain
I don't really remember how I implemented
But evidently it doesn't work ππ
im trying to say, you need an rpc to make sure that the client who's calling the spawn function to be the one to grab it
So yeah I guess you're right?
and you're saying you dont need any rpc's, which makes no sense
even zeekerss would need an rpc
I guess
You could have a network var
That specifies who is holding it
Then every client checks if that's them
And then grabs it based on that
how are you setting this network var before the object exists
and how is that NOT more overhead than an rpc
Can't network variables be set on the host before spawning and then they are immediately set like that on spawn on clients?
I assumed so but I haven't really worked with them
I think I also read it somewhere but maybe I misremember
Well if you can set the value then spawn it that would be the simplest solution, no?
This would mean that your serverrpc has to carry a reference to the player who's spawning, which is good, that's what i would do, i dont actually know if you can give network variables values before the networkobject is spawned, but having an rpc that targets the player who spawned, and you already know who this is, to run the code you want, is much less overhead and less hardcoded than going to every item's onnetworkspawn and checking this very specific network variable that wont be used again and will keep incurring overhead
But you'd have to wait for the object to be spawned before sending the RPC, no?
Well this variable could be always used for storing who is currently hiding it, isn't there even a variable like this in grabbable object, just not network variable?
you DO have to wait for the object to be spawned, but not before the rpc that tells the client to grab the item is sent, because that would just be part of your networker and not grabbableobject's code
idk, this is just getting messier to justify the variable lol
But this variable literally exists
You'd just have to make it networked?
But anyways I need to go now, I can talk later
i dont know what variable this is, but yeah if it does exist i guess you can rpc it every time you want to change it, and then patch onnetworkspawn for grabbableobject and THEN write the code there, rather than just handle everything in one rpc
its just so much more complicated
why cant netcode just be easy
it is π
But why do I need an RPC every time I want to change it
That's literally the point of a network variabke
That it does all the syncing for you
That's why I'm saying it's easier
because how are you making a network variable out of an already existing variable
Rewriting the code
Like aren't we talking about how zeekerss could have made it easier?
Obviously we can't do that
okay true, we are talking about how zeekerss would do it
So that's why rpcs
still hacky though
having a network variable that you would only care about when the object spawns
like surely network variables are always incurring costs over their lifetime
Well no, as I said this already exists rn (I THINK) it just has to be networked for that functionality
if you mean playerHeldBy, which gets set when a player grabs it, turning it into a network variable will just add a bunch of overhead because it probably is just an rpc internally every time the value is changed
"Unity is a C++ engine with bindings to .NET" it's also old AF, and supported JavaScript at some point. C# event was probably not an option back then, and it's too late to change now. They can't even migrate their IEnumetator/generator based coroutines to a proper Task/async/await, even though they tried.
But isn't there an RPC already that's executed when someone is grabbing it? This logic still needs to be executed on every client
You could just use the variable for that instead imo, so the client just sets it to themselves when they pick it up and then the network variable manages all the networking for you
Every client executes their own logic in the onChanged of the variable
This way it becomes a lot more data centered, a lot of networking logic in imperium works like that
But atp this discussion becomes kinda useless, there are many solutions and architectures to solve the same problem
Fair point actually
Backwards compatibility and legacy code my beloved 
I have returned
tested spider webs recently. very borken.
https://github.com/giosuel/imperium/issues/78
https://github.com/giosuel/imperium/issues/135
and my ability to launch in Unity Editor broke after some git shenaningans
:-\
Yeah I remember this, I did implement some custom shenanigans a while back but it didn't really fix it
But it should be a simple fix I think
Another problem is that not all spider webs from a spider are removed if that spider is d e l e t e d
Which I think is described partially in the first issue
i just woke up and thought it said "tasted spider webs" man
yeah, it is fully described there
Git shenanigans?
Uhm 
but yeah, Unity Project Patcher makers took some unreasonable decisions which results in git being useless unless you un-ignore a lot of stuff
Oh...I see, I haven't really used the patcher in a while, I still go the old-school route of reading the asset files since that unity version didn't even run on modern distros with 475+ Nvidia drivers for a long time
Surprisingly, it does work now for some reason, indicating that they added some kind of backwards compatibility fix like 20 versions later 
I usually had a second windows laptop which I used for the imperium asset stuff π
the reason I migrated to Windows, basically
linux + graphics == never working
Idk I wouldn't say that in general, I don't like Nvidia at all but it will take me lot more to switch to windowsπ
Like this issue specifically was immediately fixed in newer unity versions, it just happened to be present in the one version zeekerss is using
Launched two instances in LAN, had to Reset UI in the second instance (windows moved out of bounds due to switching to Window mode, which we should finally fix for real btw).
How would you fix the windows going out of bounds?
Two bugs happened:
-
Moon Controls for Map Obstacles got disabled for the day for the client which Reset UI.
-
Next day got a desync generation occurred. Presumably because logic state was stored in the UI components which got reset and not synced afterwards?
Listen to the window size change signal, whatever that might be in Unity; or just check position every frame / Update
Well the windows are anchored to the corners, technically we could give the same anchor to all the windows
Because with some windows it doesn't happen because 0,0 on the top left can't move
I honestly have no idea how UI works in Unity, so I'm underprepared for a more technical discussion of implementation details
I'll have a look tomorrow, I think the problem is not that hard to fix
How is your vacation goin? 
As long as both windows and screen can be converted to some common math units, should be fine, right?
Yeah I tried to make the reset UI function more light weight but I ran out of time last week
Amazing, thanks for asking 
But too short! Flying back tomorrow
everyday on GitHub, from what I see
Preferably I would like to do it with built in UI stuff, rather than doing manual positioning on resizd
I'm almost certain it's possible
In other news, Flickering Lights turned out to be slightly more involved because it is not networked in vanilla
(for now, I hijacked an existing button to trigger the code)
now I believe my friend who said Dust Pan can be $69
dw whenever Wesley goes to vacation I always get a bunch of pictures and messages of him just working on his stuff
(and I'd probably do the same too lmao)

Well I didn't take the laptop for a reason, so all I can realistically do is comment on PRs and issues
WHICH IS A GOOD THING
Exactlyyy
you guys have grass in April already?
I mean in all fairness, I haven't worked on imperium for months before this, it's just an unlucky clash of schedules hahaha
what grass
It snowed like 5 days ago but now it's 25 degrees sunny like summerπ
Degrees Celsius if that wasn't clear 
I have absolutely no idea
phew, glas not Kelvin
oh, you mean the new foilage, riiiight
yeah yeah yeah shader HRPD unity XR stuff of course
it was easy indeed https://github.com/giosuel/imperium/pull/136
Just for future reference, you can use Imperium.RoundManager, this makes it easier to track dependencies to vanilla singletons
These singletons are also guaranteed to be non-null as imperium is loaded later on
ok, updated
https://github.com/giosuel/imperium/pull/137 now where's my "Brew a Coffee" button
Nice, thx 
hahahhaha amazing
HOW DID YOU MANAGE TO DO THIS
manually. craft. https://discord.com/channels/1168655651455639582/1433881654866477318
hahaha I love this
i love this too
Would it be fun to use Imperium to mess only with your friends? I can see why it would be bad with random people though.
perhaps
is it real
who made this..
me, long time ago


btw, is the imperium fix mod you made a while back still relevant?
if not, would it be possible to deprecate it to not confuse people as to whether they need it or not?
Afaik, yes. It's still fixing the issue where the flight keybinds are broken
what exactly is the issue again?
I'm unsure. First Imperium throws an error at startup.
Then it throws an error every time you press space or control.
I "fixed" the issue by re-binding the key to the key it's already assigned to
is it just this?
Fixes a longstanding issue with Imperium. Contribute to Test-Account666/LethalCompany-ImperiumFix development by creating an account on GitHub.
Yes
That's my rudimentary fix
and when exactly does this happen? because I cant remember encountering this
It might be an issue with non-qwerty keyboards according to someone else.
But the issue appears every single boot.
Pressing space = Error
Pressing space twice = Error + Flight starts
Pressing space twice again = Just an error, you're stuck flying
Press Ctrl also error.
Somehow the error is gone for me since recently.
if anyone still experiences if on latest release, can you send you save file folder?
cant see the vidd
crap, my Discord CDN sometimes does that
https://ratijas.me/share/public/LC/video/2026-04-07 17-56-32 Imperium teleport spider webs.mp4
new Imperium will allow you teleport Spiders Webs
I managed to modify Unity LC project patcher gitignore to store everything meaningful in git. So now I have a git with Imperium that I can nuke, clone from fresh state, and it will launch into play mode with mods πͺ π«
damn thats amazing
Imperium (or any other mod) can be configured to copy build artifacts right into Unity project BepInEx/plugins folder, so it can be playtested right in
(disclaimer: DarnLib does not work in Unity Editor due to MMHOOKs or smth)
it does work 
i've been told it works and to just ignore the mmhook ignores tbh
cool then!
sharing such project would violate something-something copyright, but the instructions (as commit messages) and gitignore are pretty simple
basically, don't do this, which project patcher adds automatically:
# Patcher specific
/[Aa]ssets/LethalCompany/Game/*
*.dll*
/AssetRipper/*
/AssetRipperOutput/*
but do add this:
# BepInEx
Lethal Company/BepInEx/cache/*
and remove /AssetRipperOutput/ because its content has been copied elsewhere
well the point is to have a personal repo setup that can be truly recreated
stripped dlls won't really help with that usecase
Has the mod been updated for the most recent version of Lethal Company (V80/81)?
yes!
neat, thx
heyyyy imperium daddyyy
i think you were joking with the uhm fixing all bugs stuff, but do you think you will ever be able to fix bracken ai when using this mod?
or is it too hard to fix or theres another reason? hehe
not too bad but a weird issue
I assume youre referring to
https://github.com/giosuel/imperium/issues/124
the thing is, I don't really know the exact problem and its pretty inconsistent I think
if you spawn a bracken it doesnt work at all
and naturally spawned brackens work really weird and spam logs
someone in #modding-general just had this issue
maybe a log could help you?
its been bugged for a long time now
since v69, at least that was the first time i saw that
imperium seems to break the bracken's AI
from what i experienced, spawning a bracken or a enemy using Flowerman AI will not move unless directly hit by a player when spawned through imperium in v81
(it also spams the console with errors related to imperium so i'm assuming it's imperium)
i think a log will help em out a lot
yeah I just fixed this
ah, nice
it will be working in the next version
which I will hopefully be able to push in a few hours
nice holiday btw
im back since yesterday 
damn has it already been a week
yep 
time is going by faster and faster...
current challange moon is foggy art duck only
I got an issue https://github.com/giosuel/imperium/issues/74 stating (among other things) that entities spawned with Imperium aren't added to GameManager.Instance.spawnedEnemies.
I purposfully did not do that to not intervene with any vanilla systems. Should Imperium add spawned entities to this list? WDYT? @bitter compass @eternal perch
yeah 100% lmao
but i thought you fixed this
what is GameManager
RoundManager.Instance.spawnedEnemies
this is something i reported ages ago and i remember you fixing it
bro's looking up bugs from 2 years ago π₯
well you gotta clear the list somehow
what does this even do?
it doesnt mess with vanilla spawning, right?
it just stores the list of enemies that were spawned during the round
yeah it doesnt really do anything other than exist for caching purposes
so why is it important that Imperium adds entities to that list?
as of v81 i dont think that is true anymore
was there a specific reason?
cuz it's faster to iterate through that than do a SphereCast
it seems like the game never uses the list, just adds to it and clears it
which is used for certain enemies like barbers (which i digress)
well, there are places where it does iterate through the list, like manticoil? lol
the list is used for entrance doors to show nearby activity
and im not sure where else off the top of my head
also what is thisEnemyIndex used for?
is it just basicallyt a shortcut for getting the enemy in spawnedEnemies list? i wonder what the usecase is
well like i said barbers use it but they are also turbo broken in vanilla
im not sure what else uses it off the top of my head
rng offsets for things
like bee hive values
i think
was this removed? i dont see it on dnspy
oh wait no im lying im looking wrong
actually bee hives use numberSpawned which is what causes the bug where all hives cost the same in a day
yeah i see it, the barber with the smallest thisEnemyIndex is the master i think?
the most ancient bug in this game
yes
master selection is really broken but this is the intent
i dont think he could've written this in a worse way
absolutely he couldnt have
because it doesnt even work
idk he has a thing for using for loops in weird ways
lol
every time barbers spawn all of them re-select the master and they totally brick if any of them disagree on who the master is
my issue, if he's looking for the smallest barber index, just loop through the damn spawnedEnemies and the first one is the lowest π
even though the first barber spawn should always be the master
i refactored it in barberfixes
but yeah, @distant stag you should be fine modifying this when spawning enemies (and you probably SHOULD be)
by the way, should we patch Gunkfish? it also selects master fish which dictates players to be slippery
the thing is, funny enough every entity does add itself to RoundManager.Instance.SpawnedEnemies
but only on non-hosts (this is from EnemyAI.Start()

what
@feral sentinel i was wrong, he CAN write it worse
why is there an array sort if he's gonna be looping through the whole thing im genuinely confused what he's doing
can i ask why the fuck this exists
maybe i just need to pay more attention to it
hosts add it in SpawnEnemyGameObject
))0))0))00)
he added this to EnemyAI.Start() presumablt because hosts would be the only ones with functional near activity detection otherwise
he does have a habit of doing things faster in host than clients and therefore adding it to clients in a roundabout way
btu why even? why couldn't he just do it in EnemyAI.Start() on both host and clients?

with entrance doors
well he did the host thing first and added the client thing later
i think
is why it's so weird
but he could have totally done it in EnemyAI.Start() everywhere, no? its not used for any server logic or anything
also, I just want yall to appreciate this functionality. whenever a non-server calls this function, the network object of the prefab of the first enemy of the current moon is returned
oh wow. sounds really useful
thie never happens btw
i dont know what would happen if he returned null
its a fallback "just in case"
yeah
universe would die
now my plugin for printing the name of the first enemy to spawn that only works for clients can use SpawnEnemyGameObject
it should probably be logging stuff though if a client triggered that function π
well if he didnt add this check, it would just fail at the Spawn() call
well what im saying is since the host is the only one doing the spawning he probably only put it there since he didnt think clients needed it
but later he started using it in stuff like AIs and entrance door detection
so he did the client thing as a bandaid fix and left host as is
maybe he was afraid it'd break something if he removed it
i have no idea
yeah I can see that
I think this is a pretty good analysis of how most of the code probably came to be

I found a bug in SpiderAI maxWebTrapsToPlace, but I don't see any way to abuse it, at least not in single player
Due to an off-by-one error and inconsistent checks
webTraps.Count > maxWebTrapsToPlace
webTraps.Count < maxWebTrapsToPlace
it is theoretically possible that waitOnWallTimer will never run out, and spider won't switch from state 1 to state 0.
another minor thing i'd like to see tweaked
#1225942840282976316 message
this is still a problem for weed killer
i think not having to shake the spray paint is fine (since you can just shake it 6 times after it spawns and then you never have to shake it again anyway)
but weed killer is specifically supposed to fire in these bursts
https://github.com/giosuel/imperium/blob/00c39afb2e5d8afc2c7270f1e855af36d034662c/Imperium/src/Patches/Objects/SprayPaintItemPatch.cs#L20
this line just needs to check !__instance.isWeedKillerSprayBottle
edit: remove /AssetRipperOutput/ folder
It does work.
I couldn't explain why, so I printf-debugged it. Apparently, it is important for weed killer to be able to run out of its sprayCanShakeMeter, because when it runs out, it stops, and when it stops it resets addVehicleHPInterval back to 0 but only if tryingToUseEmptyCan is set, which funny enough is set in PlayCanEmptyEffect
Currently, if you don't let the spray paint run out of sprayCanShakeMeter, it will take longer for the addVehicleHPInterval to run down to 0, which is another way for it to reset.
the vehicle HP thing is another problem
zeekerss uses Time.deltaTime in a function which only runs every 0.1s which makes adding turbo boosts to the cruiser really weird and inconsistent
i have a fix for that in weedkillerfixes but i didn't even realize it was also getting reset when the spray burst was over
given that that's the case, this is even more of an issue, because if you hold the spray button down (which only works with imperium's battery patch) it takes forever for weed killer to work on the cruiser
yea, I pieced it together. that was quite a spaghetti to go through
https://github.com/giosuel/imperium/issues/76#issuecomment-4202622223
also that explains how it is bound to FPS. higher fps == slower cycle, because it accumulates timeDelta every 0.1 second.
Co-authored-by: ButteryStancakes [email protected]
Fixes #76
Imperium v1.3.0 - Regular Update
This update tackles a number of long-standing bugs alongside several frequently requested features. The biggest change under the hood is a rework of the object explorer's multiplayer functionality, which is now far more robust against desync and network latency: updates are only sent when objects actually change, the explorer refreshes periodically to stay in sync, and RPCs are more consistently routed through the host for better access control.
Modded outdoor and indoor hazards added by LLL and DawnLib are now fully supported as well, so network-aware modded hazards will work out of the box. Oracle has also been updated to correctly predict entities in v81.
General Changes
- Reworked the map obstacle section in the moon control window.
- Added a button to flicker the lights.
- Added a button to remove the slippery surfaces / gunk from the stingray.
- Added an option to disable culling in the rendering window.
- Added an optiont to disable the new indoor fog in the rendering window.
- Updated oracle to correctly predict entities in v81.
- Removed permadrunk functionality from the control center.
- Added button to enable noclip while flying to the control center.
- Added support for modded outside hazards with network objects.
Bug Fixes
- Fixed a bug that made it so locking doors toggled the lock instead.
- Teleporting a player now applies the correct audio reverb preset.
- The apparatus teleport button now correctly targets an apparatus inside the facility.
- Fixed a bug that caused Imperium's lock blocks to misalign sometimes.
- Fixed a bug that caused speedy shovel to not work anymore.
- Fixed outdated information about indoor map hazards in the info window.
- Fixed a bug that made spider webs impossible to teleport or destroy in the object explorer.
- Spider webs are now cleaned up properly when a spider is destroyed in the object explorer.
- Fixed a bug that made it possible for the resolution slider to go below 0.
- Fixed a bug that caused the game's resolution to ignore the resolution slider in the object explorer.
- Fixed object explorer related bugs that prevented certain items from being toggled or toggle desync in general.
- Fixed a bug that caused brackens to break when spawned indoors.
- Fixed Infinite Battery causing the weed killer to fill up the cruiser slower.
- Despawning a bee hive now also despawns the bees the hive belongs to.
QoL Improvements
- Added terminal codes to landmines, turrets and security doors in the object explorer.
- Made it so the position / teleport indicator points exactly to the screen center.
- The object explorer is now updating periodically to account for desync and network latency.
- The object manager now only sends object updates when objects have actually changed.
- Removed the respawn button for spider webs as it didn't do anything.
- Object RPCs are now more consistently routed through the host, improving access control.
- Renamed "Full Auto" shotgun option to "No Cooldown".
Compatibility
This version is compatible with v81 of Lethal Company.
Buy a german keyboard 
the issue is gone on my end too, not sure what can I do to make it manifest again
if it is still happening with the latest version of everything, can you share your game saves folder? also, move it away (rename to .backup or something), and try from a fresh start
well its debug
just disable debug, no?
nuh uh
yuh uh
tbf it's not that trivial to be granular about which mods get to use debug level and which don't?
Normally I'd say that belongs to Trace level, but we don't have trace level in BepInEx
i think if im debugging and a mod im used for debugging is spamming my logs, no matter where it is, im gonna have an issue
true
cant you like filter log sources anyways?
i would assume youre not using the bepinex console in real-time to debug

idea π‘ can we do a little status / pulse animation in UI, and trigger it every time an update comes? that would be so cool
i am because what are you using lol
im not gonna generate the whole thing, close my game, THEN look at it
slow and inefficient
there is software specifically to read logs in real time
or you can just open it in VSCode
that isnt updating in realtime though
it is
that updates whenever i ask it to update no?
i am not sure if its enabled by default but there is definitely a way to make it auto update
thats what I am doing most of the time
maybe ill look into that, still doesnt mean i can cull imperium spamming logs though afaik anyway
there's also the fact that i dont want user sent logs to just only be filled with imperium
not in vscode, you'd have to search with Ctrl+F, otherwise you could use something like lnav to filter
this is weather registry spamming warning logs all over again π
yeah im not saying i will leave it in haha, i was just wondering how you do it
yeah i get it, atleast its not per frame
i think the puma does taht rn
actually annoying
yeahhh
i dont like installing mods that cull logs because it's never gone well lol
idk I have never used a mod like that before
usually I just search for the mod name with Ctrl+F and then go through the results
or I use lnav
Ctrl+F is usually what i do, and honestly bepinex console can break with Ctrl+F, ig im too lazy to find another alternative (it does mean i gotta have another application open and with unity, 3 vsc's, streaming in vc, youtube, etc i dont think my pc will like another π)
historically i have just used this to disable log levels for specific mods
you could disable debug logs for specifically imperium with this
though that's kind of unideal for this
I'm unsure if this is just a me thing, but does Imperium not load correctly on v81? Been trying to load it up and it just says "failure to launch, shutting down." In a lobby by myself btw and I am the host. Are there other mods that conflict with it?
Furthermore, is there a way to customize the welcome message or is that not featured yet?
there is a checkbox to disable it but it doesn't work
which Imperium version? logs?
at least it didn't last time i checked
I am currently on 1.30, the latest one. I'm going to try exporting my mod profile and just re-downloading it, hopefully that works too. GenImprovements is also not registering so it could be something on my end
what's 1.30?
logs please
You're going to need to be more specific
send game logs please. do you know where to find that? "C:\Users\<user>\AppData\LocalLow\ZeekerssRBLX\Lethal Company\Player.log"
Oh sure! Let me try searching for it
or, like, just the relevant part where the error happened
Want me to DM it? @eternal perch
sure, if you don't wanna upload here
Kk sent it on over
I appreciate the help, been a while since I've done modded
turned out to be not an Imperium bug
An older version of matty's fixes conflicted with it but it got recently updated, so we'll see how well it goes
Update, the new matty fixes works with imperium now!
https://www.youtube.com/watch?v=aa_LSL_I1kQ
@proper oyster explains how to use Imperium (previous version), and at 11:20 shows how to deal with Culling. Since the latest version 1.3.0 there is a checkbox in the Rendering window to toggle Culling now.
discord: https://discord.gg/GTV7y3v86j
twitch: https://www.twitch.tv/alteregosocial
business email: [email protected]
The AI Behind Forest Keepers: https://www.youtube.com/watch?v=QSa1p9wu1So&t=31s
Imperium: https://thunderstore.io/c/lethal-company/p/giosuel/Imperium/
damn, the last section of the video could really make use of that
Very much so. I recorded this the day before Gio released that update
no hard promises, but I thing there will be more bug fixes and UI improvements later this week. For example, we had a prototype of help labels in Freecam mode, so you don't have to explain what is scrollwheel, or what arrows do
Hahaha we were in vc testing the new update when I told him about the culling thing but he already recorded these parts
Unfortunate timing 
Is there a keybind to get off-screen items back on screen? 
no, this will be fixed in the future
for now, there is a button to reset the ui in preferences
(keep in mind, resetting ui mid-day breaks a lot of stuff, so only do that while in orbit, and maybe re-host for good measure)
Hey so I forgot which layer did this but when you are in freecam and hit the L key
what layer is it that removes the first person arms?
cuz the first person arms mesh together with the third person arms
I mean these arms btw, these ones
oh god
water.
Debbi lemme get this straight
Zeekers
our
beautiful dev
Zeekerss
of all layers
of all the beautiful layers of cake
he put the arms
ON THE WATER LAYER
Β―_(γ)_/Β―

any issue in the universe:
"why would zeekerss do this"
it must be on default then
lol wtf
you might have to restart the game until it changes
damnit
but i dont know if that fixes it, sometimes it does and sometimes it doesnt
Imperium is weird
i would recommend just using NicheTweaks to disable the arms though
personally this is the mod i use for freecam lol
but you can delete the fog with Imperium
i like that one but its pretty limited
i've never had a situation where i wanted that honestly
and me no likey fog in thumbnail unless im making one similar to the brutal translated video
you cant change movement speed, fov, move up/down, and it wasn't able to show trees last time i tried it
but also ig i know how to disable the fog myself if i wanted to
oh weird, trees werent shown? lol
it may have been a conflict in my recording modpack, i dont know for sure
i blame zeekerss
same!
Disable all layers and see what happens 
I just disabled them through Unity Explorer one time I think
yeah thats what ive been doing recently too, its really handy
because you dont have to restart the game to show them again like with nichetweaks
unityexplorer is also great for forcefully hiding the hud (especially spectator hud)
Btw, any plans on improving the collider visualization?
I've been in a lot of scenarios where I added, scaled or moved colliders and the visualization didn't follow or appear in the first place 
For example, I added a trigger collider to Blast Doors in one of my mods.
I was unable to properly debug it, because I couldn't see it (And I couldn't test in the editor)
uh
i mean if you just add random colliders it wont be visualized
like why would it? i cant visualize literally every collider in the game, no?
What rules do you use to decide which can be visualized?
slap a cube mesh filter and mesh renderer on it with the renderer turned off, then use Unity Explorer to toggle it (idk if this would work but I don't see why it wouldn't)
I mean if you want, you can always use Imperium API to visualize any objects
it might be ModelReplacementAPI that moves the arms to water
hmm that might just be it
if i were you, I'd look around
thats up to you to find out!
since StoreRotationConfig is not yet updated, I'll have to go with this method for my furniture mod for now.
this is minor inconvenience, but I wonder which code generated cfg with comments, and which omits them
BepInEx makes these comments, no? π€
are you implying that something writes these configs at runtime which is not bepinex?
You never know 
I would understand if comments were generated by a mod manager, but IIUC this config in unity project has never been touched by any mod manager
is it possible to select a interior you want to see with imperium?
in moon manager you can force an interior yes
thx
I may have glanced over the answer in my time here, but is there/will there be an option to change the "greetings padawan" message as you load into a lobby w/Imperium? 
uhh I am actually unsure
it might be that I added a config that is not in the UI
so maybe you can change it in the config editor
Like in TS file config or lethalconfig?
I can load it up/double check rn standby
Also just wanted to say a huge thanks for the Imperium mod overall. Has helped me bug test a lot as well as host some fun runs with my friends! β€οΈ
Okay, so I see the "enable custom welcome" mod lets you choose true/false, but I don't see a way to customize said welcome. I'll keep digging
Yeah I don't see the option yet! 
are you checking in the imperium configs?
thanks, I appreciate the feedback 
I believe so. I'm going into
Thunderstore
Edit Config
Imperium.cfg
Edit Config
I don't see the option, unless I'm looking in the wrong place
Haven't modded for a bit so I could be missing it
okay yeah it might be that I never added it
is there a reason why you don't want it?
Oh no it's not that I don't want the greeting, I just think it would be a cool idea to change the words of the greeting
Customized for the user per se
Like instead of "greetings padawan" it would be like "welcome retro" for example
Maybe I'm not phrasing it right.
I basically want to keep the greeting, but change the words in the greeting itself
ohh, well no there is no option for that
-# yet?
maybe theres another mod that does that tho? I don't know any tho

if you really want you can make an issue in github
and i can add it
not that big of a deal probs
Oof lemme see if I remember my login. I wouldn't call it an issue, more of a cool QoL interface feature
Lemme dig into it for sure
Just got to print out these screws for my helmet first
Got it! I believe I sent it in. 
can we PLEASE have a standalone real time clock mod
would a website work? https://ratijas.me/lc
Β―\_(γ)_/Β―
you think modern web browsers have worse security context than installing random mods from thunderstore
yes
my brother once got a damn bloatware virus from gamejolt
no warnings
and i try to download scp containment breach and it gives me a virus wanring
FROM THE OFFICIAL WEBSTIE
but that was one day
imagine getting viruses from websites in big 26
time to switch to ladybirb
promise me you are not a nigerian prince
@silent river is Imperator, so imma be a price alright
im joking
what if I'm not
this is legitimately one of the songs in my mod btw: https://www.youtube.com/watch?v=gQsQy6XaDno
Provided to YouTube by TuneCore
Russian Hackers Β· CYBEΠ―IA
Russian Hackers
β 2021 Moon NEEMO
Released on: 2021-07-09
Auto-generated by YouTube.
im pretty sure RandomizedTexts by tomatobird has it as an option, but it just gets overridden by imperium's message
ahahaha rip π
with that said, a webapp is not integrated with the game at all, and requires manual start/stop.
was made with Qt and Web Assembly for the sake of the game; not even very usable on mobile
Wouldn't it have been easier to just write a single html file? 
Or is there more to it than just the timer?
you missed the "for the sake of the game" part, and "game" was not referring to Lethal Company
Doing it for the love of the game
Fair enough, yeah I thought you meant lethal at first π
and i missed the correct way to spell the idiom, huh
we love the company, the companey, the copmayne
I stared into the abyss of ship take off & landing animations, and the abyss stared back at me.
many entry points, need to skip WaitForSeconds and bump&restore animation speed, methods can be normal and coroutines etc
what if we combined both existing checkboxes, and the upcoming "Instant Route" (feature request #66) into one control? does anyone have a usecase for them being separate
The instant landing and instant takeoff toggles? Maybe if the moon has some trick jump you can do when landing (like Assurance)? You might want to have the landing be normal to try the jump but leave instantly. I feel like as someone who's made moons and some with a "landing jump" I might could see keeping them separate.
Or, the animations are a bit different iirc. I think I once had terrain cut into the ship on takeoff but not landing so testing with instant landing but normal takeoff was nice to reshape the terrain
though I guess in both cases you could just toggle it on/off as needed if it was combined into one toggle
what about Instant Route then? if those two are separate, then it would be separate as well
instant route sounds like a great feature. In my opinion, regardless of if the takeoff/landing is combined or not I would think the route would be separate. Because I feel like checking how a moon looks during takeoff/landing or just playing a whole normal day on a moon makes sense in development, but the wait to route really doesn't relate to the moon development/testing if that makes sense. It's just an arbitrary wait time that's not even a part of the gameplay on a moon.
And, yes, if it was all combined in one checkbox you could check and uncheck it as needed but that would mean opening the menu and toggling it a few times when it might be nicer to just have them set how you need and just run with that
like we do instant everything?
we can also add a toggle that skips ALL waitforseconds calls in the game

but whats wrong with it now? isnt it currently working on dev?
it sort of works, but I can't even tell for sure how and why. For example, there are duplicate patches for the same methods
I was trying to make it make sense. And then I realized not everything is a coroutine, so I can't wrap them in the same manner. And even if they were we'd still have to add a custom WaitForSecond until the 1000x animation finishes
kinda wanna do this now fr, is there a way to patch arbitrary code? im sure theres some way to patch all functions in a loop and look for waitforseconds, right?
you already have a (currently broken for reasons unknown) transpiler
but why not just leave it like it is? isnt it good enough? I mean i guess it could always be better
"we could do better" is pretty much the goal rn
but it doesnt transpile every waitforSeconds call, right?
okay okay
and to accommodate Instant Route
technically we could just transpile waitForSeconds to always immediately yield
no more waiting

i wonder how much of the code would break honestly
like i think sometimes he does rely on stuff happening during waiting
without checks
like using setTimeout in react to wait for it to complete one draw cycle 
Real question, for the sake of the game of Instant ship animations:
What else ship animator is used for? Any downsides to leaving it at 1000x, and audio muted, if Instant checkbox is checked?
I'm not sure what's up with it. I checked IL code, and it looks like it should've worked. needs debugging, idk how tho.
The problem with Unity animations is like with CSS animations: you can start/trigger them, but you have no idea when an animation finishes. Right?
are there no callbacks? i thought there was a way to know
i think you are always able to start a coroutine that checks a variable every frame though that tells you whether the animation is done or the animator is in a specific state
I think
well, starting a coroutine which would wait for 0.5s and then reset ship speed and unmute audios is pretty much how I was gonna implement the resetting
not sure if there is a way to check for state, as an alternative to wait for 0.5s.
the thing with vanilla is, even though we skip WaitForSeconds, there is also a yield return null in a loop that implements an audio fade out, so that probably helps with skipping the 1000x animation
hmm okay
couldnt we just replicate the yield return null aswell?
i mean, we don't quite have to. and it's still there, yielding as pass through
okay
what do you think of the new theme btw?
side note: in WebAudio you'd use a GainNode, and schedule its gain parameter with linearRampToValueAtTime() which is not a coroutine. In Unity I can't find any equivalent API, so Zeekers' loop with volume -= 0.05f is pretty reasonable
50 Shades of Imperium? might as well be my new favorite. Is it completely non-translucent though?
yeah its my fav too
git diff is not quite diffing, but looking at the code... yes, opaque
uhh I am not actually sure, I copied it from imperium repo, it might be that i made them all non-translucent at some point
might be better to make them all non-translucent then
wdyt?
moreover, it's the only one with fully opaque background rn
yeah
i think it should be like the rest. i like the ability to peek through windows
(it's one of my favorite tricks on desktop in general. I have Meta+scroll wheel bound to window transparency both on Windows and Plasma)
but window transparency in general or just when moving them?
both lol
okay, yeah I can make the new theme slightly transparent
I was a bit annoyed when everything started adding blur on desktops
I have it in my hyprland config that windows are slightly transparent when they dont have the focus
but they are not truly transparent I think, they show a blurry version of the wallaper, not whats actually behind them
which I quite enjoy
i already commited this hahaha
but I think i wanna adjust the transparency of some themes
i think the purple one is too transparent
doesn't count unless it's been pushed!

can I merge your other PR?
or is this still WIP
Utils: Remove unused transpiler #156 ? merge
yes okay
what about this one? have you experienced issues?
looking
Speedy Shovel is the same deal as ship animation: animation needs to run for a bit before its speed can be reset
hmm okay
I am not sure how feasible the first one is and the second one might not be generic enough
but second and third sound the most promising imo
First time looking into metarig player animator layered spaghetti: god help us all
(yes, I am aware it is completely normal for a character in video games)
I think I solved it with
private static int ShovelReelUpHash = Animator.StringToHash("ShovelReelUp");
private static int HitShovelHash= Animator.StringToHash("HitShovel");
yield return new WaitUntil(() =>
{
AnimatorStateInfo stateInfo = animator.GetCurrentAnimatorStateInfo(layerIndex);
var hash = stateInfo.shortNameHash;
return hash != ShovelReelUpHash && hash != HitShovelHash;
});
SpeedyShovelReset(self.playerHeldBy);
don't look at the github. I'm cooking a shitpost
some things about the item spawning which irk me:
- as of v80+, spawning an item into your inventory no longer updates the weight display (so even though im carrying a shovel that weighs 14lbs, and my movement speed is reduced, the screen still reads "0lbs")
- this is an old issue (been an issue as long as i can possibly remember), but the first time you drop an item after spawning it, it doesn't make any noise when hitting the ground
yeah this has to do with the weird logic how I do the spawning of an item inside the inventory of a player
might have to rework that entirely
nevermind, the shitpost mis-rendered
I think we can do even better by moving all the if-else logic into reelUpShovelPatch, and getting rid of ItemActivate patch entirely
@proper oyster this guy said speedy shovel doesn't work in the latest video
π³
ohh its alter ego from youtube! i really like the AI behind videos!!! when are you publishing AI behind jeb?? :D ||
||
AI behind jeb behind counter
As soon as the list is finished

its fine thanks to @eternal perch were down to like 21 issues
I think he meant the list of enemies lol
goddaymn i'm famous
ahahahhaahh
weve been referencing the Imperium issues list as the list ever since I have been procastinating to work on it
since like 2024
oh wow, insider memes

Possible null reference exception after deleting items in Object Explorer:
[Error : Unity Log] NullReferenceException
Stack trace:
Imperium.Interface.ImperiumUI.Windows.ObjectExplorer.ObjectExplorerWindow.RefreshEntries () (at <fbbc061154f54daa8eca6f6752195785>:IL_0000)
Imperium.Core.Lifecycle.ObjectManager.RefreshLevelObjects () (at <fbbc061154f54daa8eca6f6752195785>:IL_0398)
Imperium.Core.Lifecycle.ObjectManager.Update () (at <fbbc061154f54daa8eca6f6752195785>:IL_000D)
(why is the IL pointer zero? that's just IL_0000: ldarg.0)
I'm not familiar with ImperiumWindow lifecycle though
i think this might be fine
i think it can happen when the despawn command has been sent but it hasnt despawned yet
i think the IL_0000 might be a bug
nah
that's another one of Reset UI bugs
I performed Reset UI before that happened
oh damn
but it does happen after deleting items,no?
I mean it does remove the item. It's just yes another dangling event handler
yes
okay interesting
Hey @distant stag! Iβve run into a conflict between Imperium and the LethalCompanyVariables (LCV) mod in the latest game version. I contacted the creator of LCV (the_ansuz on Discord) to report the issue and it looks like both mods are trying to patch the same methods, specifically PlotOutEnemiesForNextHour and SetNewProfitQuota.
LCV is throwing a warning that itβs finding unexpected indexes, and then Imperium shuts down right after. Here is the specific snippet from my console:
[Warning:Configurable Company Variables] Unexpected index for patch PlotOutEnemiesForNextHour_Transpiler#158 Got 122 but was expecting 83
[Error :Configurable Company Variables] Unable to patch LCV.Patch.RoundManagerPatch: IL Compile Error (unknown location)
[Message: Imperium] < [ERR] Imperium startup failed: IL Compile Error (unknown location) >
If you want I can provide the log entries from Imperium as well (I would need to send them as a text file).
Ansuz wasn't quite sure how Imperium handles these exceptions or if there's a specific way to make the patches play nice together. Would you be open to taking a look or talking to Ansuz about a fix?
Interesting, this is how my patch looks like for PlotOutEnemiesForNextHour
I basically skip it whenever indoor spawning is paused
maybe this is the problem? It would be possible to patch something further down the line if its not fixable from @hearty hatch 's side
Hallooo, I see you are not using a transpiler but rather just a prefix, im not sure why does this cause an error in the IL... maybe its pushing a variable into the stack shifting it and thus causing an issue
im not sure what approach to follow to handle compatibility, let me try a few things
and let me also share the code too
sounds good 
Window object itself is == null. Because Unity objects can be null internally
but I thoguth everything is reset when imperium resets
does it work when you quit the game (to main menu) and then start a new one? this should be roughly the same flow iirc
it comes from Imperium.ObjectManager.CurrentLevelObjectsChanged += RefreshEntries. does the ObjectManager get recreated too?
hmmm maybe not in the refresh tbh
because now that I think of it, thats Disable + Enable
I guess we could add a -=
to that
you can see all of the main lifecycle logic in Imperium.cs
this is the current code
hmm
I think the problem is that I kinda short circuit the method by returning false in the patch, so this index you are looking for might no longer exist?
I am no expert with transpilers at all though, @eternal perch might have more insight here
my method should lookup for the instruction stloc.2 regardless of its index
well I can rewrite a transpiler to something simpler
your method might add new instructions but as long as the stack remains the same there shouldn't be any problems with the prefix
this one is ready btw, bullet proof now https://github.com/giosuel/imperium/pull/160
fixed, now both mods are compatible :)
oh, how did you manage to fix it?
I've been investigating this coroutine for hours. going afk to actually play the damn game
I... am not sure
unless there is a good reason for iterative review, I prefer force-pushing final ready version of patches
yeah fair enough
@distant stag would you like me to make a meta-issue for all the issues caused by Reset UI?
yeah I think that would be good, I'll rework the reloading mechanic overall
and how the UI is spanwed, so we don't have to reset all of imperium every time
this logs on debug every 1 second and drive me insane when debugging, i use async to block it
counter intuition... break logging to udnerstand logging
excessive logging has been removed in development branch: https://github.com/giosuel/imperium/commit/652080a55ba1dadebefa881fce1e3aff88b87364
Made some logs more consistent
Removed obsolete dependency folder
you can build Imperium from source, it's pretty trivial
imperium... i know what youve done, but i dont feel like explaining it... thats all
Close as "fixed at some point in the past":
this one is a low-hanging fruit, unless it is "by-design". IMHO Night Vision outdoors can be pretty useful.
Setting Light.intensity at start does not work because... HDRP wants you to use HDAdditionalLightData?? Doesn't make any sense that it works during the rest of its lifecycle.
apparently, HDAdditionalLightData component will be added for you regardless
Changing intensity of Light does not affect HDAdditionalLightData, but
changing intensity of HDAdditionalLightData DOES change intensity of Light .
To make it more confusing, things has been shuffled around and deprecated in later Unity / HDRP versions
And apparently 1 HD Additional Light intensity = 0.07957747 Light intensity units
yes in hdrp you always have this component
and the component regulates all the lights
same with cameras
they also have some HDAdditionalCameraData component
somewhat makes sense
except the fact that OOP inheritance exists
and not used for its primary purpose in the slightest here
aaanyway
probably for the better
so that's 1 / (4 * Ο) factor, and the inverse would be just (4 * Ο)
disabling/enabling HDAdditionalLightData does nothing apart from a weird brief blinking, so you still have to disable "vanilla" Light itself. but set intensity on HDAdditionalLightData. huh
i think it probably only turns off for a second, no?
disabling HDAdditionalLightData turns off the light for, like, one frame. but I haven't measured it or validated through hooks/logs.
either way, kinda pointless
Night Vision: refactor to store objects and components in a struct
For the sake of bookkeeping let's store all relevant objects in an
ad-hoc record structure instead of half a dozen flat me...
Imperium broken again 
how so?
probably the hotfix gamepatch from like 12 hours ago
it just refuses to load at all
I patched the new version today, installed Imperium into it, and it worked right inside Unity Editor. So that can't be true.
What's the actual error you are getting, from the logs? What's the modpack? It is reproducible on a pure modpack with Imperium and its dependencies only?
i can try these things in a few minutes
perhaps tmi broke more than just itself? idk
yea ok without tmi it works so all good
why a website tho
ok its not a mod
what's tmi
can you check the logs to see what's broken, and tell if it's an Imperium bug or not, please? It's confusing
no its all fine dont worry
too many emotes just wasnt updated yet and apparently broke imperium aswell. its all working just fine without too many emotes and gale still hasnt picked up the update for too many emotes
finally dared to open a sus link?
u said the naughty digital currency word, I'm telling mom
now make it a mod trust
ok i'm on it, making a mod with a trojan to [[TRANSFER]] all ur [[KROMER]]
rude
isn't LCBetterClock doing what you want?
It does have "Faster clock ui update rate" as one of its selling points
question since im not that much of a C# knower
HUDManager.SetClock was changed from string to void at some point, would that impact LCBetterClock using it
i would assume it would need to be recompiled but iono
the return type?
I hope somebody makes a fork of it
ya
It got changed in v81:
- public string SetClock(float timeNormalized, float numberOfHours, bool createNewLine = true)
+ public void SetClock(float timeNormalized, float numberOfHours, bool createNewLine = true)
arguments haven't changed though. And HarmonyPostfix patch doesn't have __result magic parameter.
Looks like should be fine, unless there is an IL command to discard string value in the PostfixMoveTimeOfDay patch that calls HUDManager.Instance.SetClock ?
yeah, no. it's broken.
MissingMethodException: Method not found: string .HUDManager.SetClock(single,single,bool)
#1181061835722608722 message
I got Imperium softlocked in a funny way, by opening it at the end of round. The windows overlay stays open, but the controls are handled by the base game in-world.
https://github.com/giosuel/imperium/issues/165 don't let the issues count decrease
Cursor locking is cursed 
It's a huge mess
Because I have to kinda manually account for every UI zeekerss opens
this is an interesting bug to investigate: https://github.com/giosuel/imperium/issues/89
and it's not as simple as I initially suggested in the comment. yet another rabbit hole.
"make it make sense" ahh table
got it. timeToHoldSpeedMultiplier was invented specifically for cruiser. It defaults to 1 elsewhere, except couple of objects in Cruiser prefab (and I bet most of them don't need to be zero).
fixed Skip Interact Hold, more and better than I hoped for: https://github.com/giosuel/imperium/pull/166
Close this an non-reproducible. The guy must have been using more mods with network prefabs. He never actually claimed that Imperium was the only mod in his pack, and complained about the modded/vanilla check, think about it.
is there a way to spawn in kidnapper foxes? i tried spawning vain shrouds but game still logs [Info : Unity Log] No game objects found with spore tag; cancelling and prevents the spawn
kidnapper foxes won't spawn without a certain number of vain shrouds - FoxLover is a good mod to get around that ( [thread](#1491332478470848633 message) )
ah i misread what you said
i mean FoxLover will still help with that, but i think the vain shrouds imperium spawns in don't work for weed enemy spawning
how does that affect its behaviour?
FoxLover?
yeah they are not registered mold
i should probably do that
ahhh okay
oh hi while you're here giosuel... just wondering if you saw the pings in the LC miraheze server? 
if ur busy or anything thats all good just wondering if u saw them
#1191555609779261492 message
#1191555609779261492 message
it was mostly about the curve stuff you uploaded, cause they've been updated since v45 and we wanted to get some updated ones on there
the moon curves should all be up to date
but not the entity curves probs
didn't look like it (the second image is experimentation outdoor curve)
i put some more examples [here](#1191555609779261492 message)
hmmm okay interesting
What does Imperium have against the Rubber Ducky specifically 
Like, spawning anything else works just fine π
Spawning rubber duckies worked for me just yesterday, on LAN multiplayer. It must be some other content mod? I have not tried AdditionalNetworking though
Spawning works, but they're not spawning networked 
is this issue reproducible with Imperium only (and its dependencies)?
Seems to work fine. Probably another mod doing something I guess 
I should check if it's BepInEx or Imperium at fault. This diff is not fun to see in git.
Random QoL (quality of life) fix:
https://github.com/giosuel/imperium/pull/170
An even better way:
https://github.com/giosuel/imperium/pull/171
Just out of curiosity, does the teleport to main still use names or is it using this system? I remember a while back trying to figure out why I couldnβt teleport to main on my moons and it was because I renamed the EntranceTeleportA to βmain entranceβ or something and prefabbed it
This sounds like it could get around this, but idk if this just is for fire exits from the pull request name
seems to be entranceId == 0
Oh. Maybe it was changed and I forgot
according to another guy, it was changed back in the v45 era
I feel like it wasnβt that far back but maybe Iβm just completely losing it
It was this: #1225942840282976316 message
ah, I see what you mean
yes, and that one has been recently fixed to teleport to Apparatus
so maybe I should do this for Main too
yet another rabbit hole, i see
do you know of any specific moons which would be affected by this?
feel free to drop a note at this PR:
https://github.com/giosuel/imperium/pull/172
Not any more. I changed my prefab hierarchy to have EntranceTeleportA be nested under a βmain entranceβ object instead of being the root and renaming it directly
I also couldnβt tell you which version of my moons had this issue (if theyβd even still load for testing in V81). I donβt think itβs in any changelog nor did I explicitly update to fix it. It was just quietly slipped in whenever I did the next real update iirc
oh well
But really, if this works then now the teleportation should work on any moon. If the teleporting option still works after this change then name-related issues should be gone entirely.
Because, well, thereβs no name checking at all any more
i wonder though, what if anyone made Main ID != 0
Surely no
That seems more unlikely than renaming the object tbh
And it would mess up fire exit stuff wouldnβt it? Because on the inside main is 0
Youβd have main link to a random fire exit and then the inside main probably just wouldnβt work Iβm guessing
Even LLL bases main as the id 0 to then dynamically connect up however many fire exits are on the moon iirc
At best I feel like main would connect to a fire exit, both going in and out. At that point, is it really even βmainβ anymore? And can you really expect any mods looking for main to be compatible?
right, I didn't think of interior generation where ID is hardcoded in doors prefabs.
it's getting too late, I'm not thinking straight
Relatable
Hey, is there a way to disable those logs?
sorry this is fixed in the next release but its delayed a bit because I upgraded my PC and im setting everything up again
alrighty!
if you want you can build imperium dev branch yourself
its already fixed there
or actually, it should be in the Ci/Cd artifacts
OH since i've got you here: did you work on implementing a reload mechanism for weather selection in Moon Control panel?
https://github.com/giosuel/imperium/actions/runs/24128184445/artifacts/6324311547
this should be working
I havent looked at that in a while, what was that about again?
don't we already support weather registry as of rn?
Moon control panel never reloads the "current weather" that's selected in the dropdowns
yes, the changes work and it integrates with WR
like when the user selection changes or when the game changes it the dropdowns are not up-to-date?
when the day ends and game rolls new weathers, the dropdown selection is not updated
after landing and going back up
i'm trying to find the code responsible for that π
I think the code should be in Core/Lifecycle/MoonManager.cs
and that yeah, thats the UI code
that runs only on lobby start
does it not run every time the UI is opened?
sadly no
it should run whenevr the UI is opened and whenever the scene is loaded
if thats not the case rn, it would be a pretty easy fix
for the open, there is a function to override in the UI window component
and for the scene, there is a binding Imperium.IsSceneLoaded or something that we could subscribe to
i was trying to "fix" it from my end, and running this code again created a second instance of all dropdowns π
uhh π
I thought we fixed the clipping issue, but the scrollbar strikes back!
so from my point of view the solution is to store all the dropdowns in a list, and after the scene change destroy them all and recreate them with "current" weathers
i think they are all bound to a binding, no?
normally in UI programming you don't create all the dropdown items immediately, only when popup opens
or am I remembering it wrong?
I can take a look later too
okay so no binding interesting
but we only need to execute the second part of the code
on open
this
yeah, basically
so we put this into a function that we all in ImpWindow.OnOpen and also on Imperium.IsSceneActive.onTrigger
we dont even need it in init
well so this only sets the values, it doesn't actually create any UI elements
realistically we only need this line
for each dropdown
because we just need to update the values, everything else stays the same
oh, yeah
also if request fails, there should be a way to rollback/refresh
like "optimistic updates"
unless you guys have already fixed it, can someone, please, drop a line at the bug tracker with reproduction steps and such?
https://github.com/giosuel/imperium/issues/new
'cause I have a memory of a goldfish
will do
my character emotes when I type in the credit section, normally this wouldn't be a problem unless you're running better emotes which hasn't been updated since the big bang because it prevents typing all together.
Yeah it's because mods aren't really able to communicate and enable / disable each others input maps
workaround: type digits on a numpad
it is an issue with vanilla 1/2 emotes as well. though I do recognize these are probably two separate issues on the implementation level
btw I don't think it used to be the case, but now when spectating, open the Escape menu, and clicks on the overlay would still switch between spectates players. So yeah, the base game does a bad j*b at it too.
hey, any change you'll be able to work on the project in the upcoming days? just trying to plan the rest of the week
tragically i don't have one lol
maybe tomorrow or on friday
but no promises, I am pretty busy rn
wsup how's your friday goin'

im afraid i wont be able to do it this week, maybe i got some time on sunday but today and tomorrow is pretty packet :/
I'm proud to report I have accomplished ~nothing meaningful today, and now apparently won't do anything in the evening either
i have a question about imperium
what does this mean
[Debug : Imperium] [PROFILE] Objects refresh time : 61
[Debug : Imperium] [PROFILE] Total objects refresh time : 62
get the latest build from github actions pipeline, or build yourself from the development branch
https://github.com/giosuel/imperium/pull/164
what about this? have you tried using a directional camera instead?
not yet, but I'll try, thanks for reminding.
(last time I opened Unity I got sidetracked trying the UI stuff instead of 3D/rendering stuff)
if you have some free time you don't need, feel free to look at these until I have some time to publish
https://github.com/giosuel/imperium/issues/173
https://github.com/giosuel/imperium/issues/169
or also this https://github.com/giosuel/imperium/issues/145
https://github.com/giosuel/imperium/issues/58
i cant disable realtime clock for some reason
So you have any other mods?
Can confirm. "Realtime Clock" checkbox does seemingly nothing, the clock is always realtime. Even if you start the game (cold boot) with the setting disabled.
nope only testing my scripts but they dont touch anything in TimeOfDay or hudmanager
uhh what
was that always a bug?
no idea. i could bisect, but a bit busy with my mod rn
it was broken near v73 update
it was working fine before
btw
https://github.com/giosuel/imperium/issues/153 <- reported by "high quota"
Using 2 consecutive boosted jumps anywhere on any moon causes the cruiser to flip on the second boost, making most cruiser jumps impossible. Not only this, but driving at high speeds also causes th...
also was the cruiser bought in terminal fixed i havent tested?



