#Imperium

1 messages Ā· Page 8 of 1

bitter compass
#

it's just swapping the executable and another file iirc

distant stag
#

yeah this doesnt have a constructor

#

dont have the build on me to find the IL pointer

bitter compass
#

maybe its these?

distant stag
#

but the bindings and messages arent gameobjects

bitter compass
#

no yeah but you're creating them in the field itself, which i believe would cause it

#

@untold jay would know more than me here, im not too knowledgeable on this lol

distant stag
#

peak trolling

#

good old times reading through imperium code

bitter compass
#

lol

distant stag
#

that would be really hard and annoying to fix in eveyr lifecycle object

bitter compass
#

oh im blind

#

i just looked at the error

#

its this

distant stag
#

šŸ’€

bitter compass
#

you cant do this as a field assignment

distant stag
#

yeah might be this

#

i guess unity doesnt like load the layers or somehting when initializing objects

bitter compass
#

second one i assume you're doing GameObject.Find on a field

distant stag
#

im blind too

#

ah its not at the top

#

L developer

bitter compass
#

liune 486

#

lol

#

yeah i just searched for it after seeing the error

distant stag
#

okay yeah thats an easy fix tho

bitter compass
#

yee, thankfully

distant stag
#

weird that this works in prod

#

like this one i get, but the find

#

i feel like find should never work in constructor

#

from how i understand unity

bitter compass
#

i dont know the exact internals of why the development/debug versions of unity games dont like this stuff but normal versions works, its odd

distant stag
#

yeah this is where the Find() is

#

this used to not work thats why I did it like referenced like that

bitter compass
#

lmao

distant stag
#

because AFAIK this shouldnt be executed right away

#

its like lazy loaded

#

but its not, because the base binding requires an immediate value

#

x)

#

welp

bitter compass
#

looks fun AG_Sip

distant stag
#

I guess I just also asign this in awake

bitter compass
#

yea

distant stag
#

its just annoying that unity cant use the object constructor

#

but then agian usually all the property data is defined in the UI

#

unlike with mods where its just normal programming

bitter compass
#

yea

distant stag
#

Well good catch, I'll add it to the changes, I don't have many but I guess its a good time to push an update sometime soon

#

I just never setup proper CICD for this project so I'll have to do it manually šŸ’€

bitter compass
#

🫔

#

lol

distant stag
# bitter compass 🫔

how are you doing? are you still actively modding? its been ages since ive been really active in the LC community

bitter compass
#

yee, been a bit on and off but i've poured a lot of work into this #1387434268577370324

#

its meant to be the successor of both LL and LLL, and so far really happy with it

#

occasionally do other stuff on the side too like coderebirth and other projects when im bored

#

itll take a bit for me to fully stop modding LC lol

#

wbu? i havent seen anything since REPO Imperium

distant stag
bitter compass
#

yee it's been really nice seeing it get used and adopted by people :p

distant stag
bitter compass
#

fair enough i get that

distant stag
#

I still have large one projects like the level editor and simulacrum for LC which I probably poured houndreds of hours into

bitter compass
#

oh yeah i do remember that stuff, it was pretty cool from what i remembered

#

i do still get motiv for lethal cuz zeekerss is actively working on a bunch of cool stuff

distant stag
#

but idk after working on REPO I just really dont have the any motivation to work with lethal code anymore, its just so atrocious šŸ’€

bitter compass
#

lol, i dont think its as bad as you'd remember tbh :p
Though the terminal is probably worse than you remember, that and weather

#

but other than that i think its okay quality

distant stag
#

i think it has potential, but again, id have to get back into the code and everything

bitter compass
#

its new skills, which learning stuff like that is kinda fun, i wish to sometimes just do vfx instead of coding 24/7 lol

distant stag
bitter compass
#

i dont doubt it's better tbh, it does use a lot more abstraction and That_One_Keyword_I_Forgot_But_A_Bunch_Of_Isolated_Components

distant stag
#

like writing Imperium was fun but its also a huge buggy patchwork because zeekers code is all over the place
and idk I just have like an obsession with clean code, i get really demotivated if I consistently can't implement something in a clean and readable way

bitter compass
#

i do wish i enjoyed REPO's gameplay then maybe i'd be more invested into it

distant stag
#

probably part of the reason imperium is so overengineered and that it took me so long lol

bitter compass
bitter compass
#

like having mechanics to just make the new player specifically experience worse, and only new players 😭

#

it's still a good game, but not one i'd pour thousands, maybe 5 digit at this point hours like i would with lc lol

distant stag
bitter compass
#

lol yeah truwe

distant stag
#

imperium for LC probably took like 700-1000 hours to implement while the rewrite for REPO took like 300

#

approximately

bitter compass
#

timeofday, roundmanager, startofround, they do probably 95% of the game

#

ignoring playercontrollerb's code

distant stag
#

yeah exactly

distant stag
#

I have like 700 hours in lethal but 90% of them are deving and testing

bitter compass
#

oh i dont mean playing, i probably have 300 lc hours of playing back before i modded and maybe 100 after i started modding it early 2 years ago šŸ’€

distant stag
#

wait so wdym with 5 digit hours

#

if not playing

bitter compass
#

just spent on modding

#

coding, unity work, etc

distant stag
#

right yeah

bitter compass
#

it's been a very long and exhausting constant 2 years lol

#

i think i checked my commit history at some point and my biggest break was 3 days months ago šŸ’€

distant stag
#

idk I switched to other projects now, started working with Rust and idk if I can ever see C# in the same way as I did a few years ago when it was like my favorite thing

bitter compass
#

it's probably better now since i got less interested around a couple months ago but damn it was a lot

bitter compass
#

ill never touch rust because everyone i see says the same thing šŸ˜” (i probably will eventually)

#

oh actually i have been thinking of doing hytale modding

#

but im waiting for my partner to come back from their hiatus to do it with em

distant stag
#

yeah twas the same for me, i never really had any motivation to do anything with it and i though it was overhyped af

#

but then i randomly decided to rewrite an old electron project of mine into tauri

#

and i have to say i really like it so far, like just the functional style of the language and the many features you dont have in other common languages like C++ java C#

distant stag
bitter compass
#

Java for server client is c# but mods are serversided

#

Is what I was told

#

Apparently hytale is also built in a way you can mod it without code

#

But I'm not really a fan of node modding

#

Or well, node editors in general

#

I don't trust how much you can do with em

distant stag
#

but also kinda limited

#

no? xD

distant stag
#

part of the reason why I love blender and embergen so much

bitter compass
#

i wanna learn hlsl at some point to not use shadergraph

distant stag
#

haha fair enough

oak venture
distant stag
#

Me agrees

#

For anything procedural nodes are just goated

bitter compass
oak venture
oak venture
bitter compass
#

Me neither

distant stag
distant stag
oak venture
#

true

bitter compass
#

Yea

plucky granite
oak venture
#

real

elder pumice
#

Why does Imperium behaves so differently for non host aaaah

distant stag
#

because a lot of things are coded very differently on host and client in this game TE_trollSmile

elder pumice
#

Pain

distant stag
#

agreed

elder pumice
# distant stag agreed

Btw, anyway to spawn items that have the same names? Like let's say two mods adds buckets, but the items have the same name, is there a way to differentiate them, or like, copy one to get more?

#

(Trying to fix a save that got wipe because of v73 sorry twt

distant stag
#

there are ways to do this with content mods but as of now I have decided to go the vanilla way and just not support duplicate items in order to not have to care about content mod compat problems and all that

#

@bitter compass come to think of it, how does dawn lib do this? I thought LLL did something like generating unique names or something

bitter compass
#

but if the SAME person

#

registers two items with an identical name

#

there is no realistic way of generating a unique UUID that I or anyone can rely on

distant stag
#

so the unique ID incorporates the mod ID?

bitter compass
#

but yeah dawnlib uses a namespace system

#

mod_name:item_name

distant stag
#

yeah makes sense

bitter compass
#

then i have a registry list that's like LethalContent.Items.TryGetValue(NamespacedKey, out DawnItemInfo itemInfo); which returns a custom class with info about an item like its shop item nodes etc

distant stag
#

okay yeah thats kinda what I expected

eternal perch
#

Large Axle my beloved

distant stag
dark heath
#

is the 69% sale on everything a bug or an intentional easter egg? (and also could there be a way to disable it?)

tranquil swan
#

I wish I could remember it more precisely 😢

dark heath
#

looks like this is it. i had no idea this existed, thanks for letting me know!

tranquil swan
#

Yep, you’re welcome

distant stag
eternal perch
#

noice

dark heath
#

how rare is the "Emporium Control Panel" easter egg? i just saw it for my second time earlier today

distant stag
alpine glacier
dark heath
alpine glacier
#

Huh... I wonder if I ever missed that stare

dark heath
bitter compass
#

@distant stag you reckon there's a way for me to tell imperium to stop listening to inputs and then listen again? basically i have an item with a bunch of keybinds for debugging but the amount of keybinds kinda fuck with imperium so i was wondering if there was like a way for me to turn off imperium inputs while im holding that weapon

tranquil swan
# dark heath yuh

The CHANCES of me getting the same easter egg in R.E.P.O. after checking this chat 🤣

#

Tbf, 1% isn't crazy rare, but it's still unbelievable lol

burnt cradle
#

this is R.E.P.O. Imperium

dark heath
#

i knew there was a repo version of imperium but i never actually saw it, that's cool how it seems to look pretty much the same

distant stag
distant stag
distant stag
bitter compass
#

Okie

hollow granite
dark heath
bitter compass
#

another thing i'd wanna see different in the next update, stop reading scroll inputs when freecam isn't even turned on lol @distant stag

dark heath
#

it doesn't do that for me

bitter compass
#

i can tell it does because lethalperformance is spamming me about the input affecting configs, which im like fairly sure is because of freecam from imperium, but i could be wrong

dark heath
#

oh if it's something under the hood then yea i wouldnt know, i thought you meant the freecam speed increases if scrolling outside of freecam

distant stag
#

And maybe that could lead to it getting stuck in always on, or maybe it's just never turning it off when leaving the freecam, hard to say

bitter compass
#

hmm yeah unsure

dark heath
#

odd thing that isn't really a big deal but i wanted to share anyways, selecting & toggling options with the keyboard doesnt work even though the boxes visually change

distant stag
#

I think I am just using the listeners unity provides, idk why keyboard and mouse control would make a difference

dark heath
#

feature request for next imperium update:
make it so that if you enable "Pause Time" and "Disable Quota" it stays enabled when you reload imperium

#

it would be amazing quality of life because almost every time i load imperium i need to enable both of them

topaz matrix
#

agreed that would be very nice

feral sentinel
#

+1 to this

#

pause indoor/outdoor/daytime spawning would also be nice (if you dont pause time)

tranquil swan
#

Would it be worth adding something like a ā€œRemember settings on reloadā€ option?

distant stag
#

well most of the settings are backed with bepinex configs and therefore saved automatically

distant stag
dark heath
#

Yeah it definitely could be confusing if you don't realize it

#

I think it would be nice to have an option in lethal config to remember significant options like them, so you'd have to opt-in for it to be remembered

distant stag
#

well most of the configs are remembered, no?

#

like basically everything

dark heath
#

yeah but i mean just a toggle to make imperium remember these 2 things specifically

alpine glacier
#

Or maybe send a notification on moon landing or smth that time is paused

#

Or show a giant ass pause button in the sky plink greed

eternal perch
alpine glacier
#

Still... 99% of the time I want time paused when testing my mods...

If I need an enemy, I just spawn them in

eternal perch
#

with that said, I'd also like to have a way to make those settings persistent, in order to support rebuild-restart-land-test workflow

alpine glacier
#

And you can just throw a notification at me every time I land. Similar to how god mode spams you full of notifications

eternal perch
#

notifications can be annoying tho. and there is already a list of toggles to turn them off

#

it's like a zero-sum UI/UX problem here

hollow granite
#

How about you can’t do anything or move because time is frozen, so you’re frozen with it? /j

eternal perch
alpine glacier
#

Time Moves when you move greed

#

Superhot in Lethal Company

distant stag
distant stag
distant stag
alpine glacier
barren raft
#

Does the save editor work? I can't seem to get it to apply the changes I make, do I need to do something to confirm?

distant stag
#

it currently does not work, I hope to be able to fix it in the next update

barren raft
#

Ah I see

#

Is there an ETA for the update or just whenever it's ready?

distant stag
#

well I am kinda busy lately so I am not sure, I initially planned on releasing it with the new update but I think that will probably take another month

barren raft
#

I'm currently in a very long game of Wesley's (with an extend quota days mod) and at some point mobs stopped spawning (we're at day 115 or so), so I heavily suspect something about the day count breaks spawning, so I wanted to try reducing it manually

distant stag
barren raft
#

Do you have any recommendations for such an editor?

distant stag
topaz matrix
distant stag
#

ohh yeah true that one too

#

i forgot about this one, but I have used it before

barren raft
#

Thanks!

desert silo
#

lol

dark heath
#

the REAL imperium reveals itself.....

desert silo
hollow granite
dark heath
#

hello i have another feature request :3 it'd be cool if you could set your health to a specific value in the imperium control panel

topaz matrix
alpine glacier
#

(Imperium) Daddy, can you add the persistent time pause while you're also fixing Imperium for v80? stare

distant stag
#

I am not sure how easily I can make UI adjustments. I don't have the project on hand right now and he also changed unity stuff in v80 from the looks of it

#

I am working on the update for v80 right now though

bitter compass
#

zaggy told me that you said that runtime dungeon is in a new assembly now

#

or moved assemblies

#

but the namespace and dll its in seems to be the same so im confused

distant stag
#

yeah it doesn't matter at runtime

#

this is how the new assembly looks like

#

all the dungen stuff is now gone

alpine glacier
#

I didn't even realize šŸ’€

distant stag
#

but at runtime everything stays the same, its just that if you use dungen stuff directly in your mod (as I am) you now have to add the dungen assembly as dependency

#

well he also updated the dungen version, so some stuff did change at runtime but thats besides the point

distant stag
#

Imperium v1.2 - v80 Update

This update brings compatibility with the Lethal Company v80 public beta, along with several long-standing bug fixes.

Note: Due to a lot of changes in the entity spawning, Oracle entity spawn prediction is currently broken.

General Changes

  • Imperium now works with Lethal Company v80.
  • Re-added functionality to spawn, despawn and manage vain shrouds.
  • Added functionality to spawn cadaver blooms and cadaver growths.
  • Due to long-standing issues, the save file editor has been removed.

Bug Fixes

  • Fixed a problem that caused log spam from tooltips.
  • Fixed a bug that caused insights to be invisible in the visualization window.
  • Fixed an issue that caused the game to crash when Imperium was used with some content changing mods.

QoL Improvements

  • Improved responsiveness of the object explorer.
  • Added name overrides for several items and entities in the spawn menu.

Compatibility

This version is compatible with the v80 public beta of Lethal Company.

eternal perch
#

btw, Imperium, what are these light beams in the air near ship?

distant stag
eternal perch
#

shoulda have guessed

#

I think god mode saving me from death also stripped from ability to interact with obejcts

distant stag
#

huh?

eternal perch
#

I can pull the switch on Artifice warehouse tho, weird. I couldn't pick up items or close ship

distant stag
#

as host?

eternal perch
#

i'm the only one

#

coilhead doesn't care about my existance either

distant stag
#

thats weird, i never had that

#

are you sure you didnt activate anything else?

#

like invisible or interact hold animation skip or something

eternal perch
#

old bird still tries to grab me, so i'm not completely invisible

distant stag
#

well some enemies have different targeting

eternal perch
#

i can go through doors, but can't grab any items or open lockers in loot room

#

huh, I do have AlwaysPickup by NutNutty v1.2.0. maybe it messes me up

#

but coilhead?

distant stag
#

i would assume so, I never had this problem with only imperium

eternal perch
#

feature request: limit max width of table formatting

forest charm
#

its not working for me, im on a private solo game and i updated to 1.2 what do i do 😭

forest charm
#

yeah

bitter compass
#

oh, post your logs then

forest charm
#

only these are installed

#

these are the thunderstoe logs

#

seems like it cuts off at the end so maybe im doing something wrong

topaz matrix
#

the NullReferenceException happened after trying to quit out, 1st try threw the exception and 2nd try quit

forest charm
#

what am i looking at

#

im just gonna make a new profile

#

i made a new profile and it fixed itself

#

thank you kind sir

normal trench
#

Just adding onto previous discussion, seems something about this new version doesnt play nice with old config settings, so you have to regen config to fix the null reference

distant stag
distant stag
#

or just mods in general

normal trench
#

imperium specifically

distant stag
#

huh thats weird

normal trench
#

For me the mod loads, but soft locks during landing

distant stag
#

I didnt really change any configs in the past few versions I think

#

maybe something with the layer masks, he did change those I think

#

and I do save them for the freecam and such

distant stag
#

but there will be more updates, I need to fix oracle too

eternal perch
distant stag
#

hmmm right someone said this before I thnk

#

and i liked it but forgor about it again

#

but yeah i think thats a good idea

#

it just wouldn't 100% work with UI mods

eternal perch
#

it would probably require new assets for icon, which is haram

#

unless you go with text-only

distant stag
#

well I did manage to get the unity editor running on linux, so editing the imperium asset bundle is pretty easy again

#

but i would need to match the exact size or do it in code

#

might as well just duplicate some existing sprite and change the color or something

alpine glacier
#

Just say "Time paused" literally underneath the clock

#

I'm quite certain even the most blind people would notice it....

distant stag
#

well yeah but that wil conflict with UI mods

#

and also the clock isnt always there

#

but yeah I think I will do something like that

alpine glacier
#

Sorry for being so aggressive about it btw.

But it would really speed up debugging mods. These couple of seconds I need to pause time add up...

distant stag
#

hahahaha yeah ill look into it

#

dw

alpine glacier
#

For now, I just made a little mod that just forces time to pause on lobby boot SCaraara

distant stag
#

with the Imperium API?

alpine glacier
#

Uuuh, I'm messing with Imperium's internals. Is there a proper API to do so?

distant stag
#

uhh actually I didnt expose it

#

but yeah you can just use Imperium.MoonManager.TimeIsPaused.Set(true)

alpine glacier
#

Btw, Instant Takeoff and Instant Landing seems kinda broken. At least it hasn't worked for a while now SCaraara

distant stag
#

for a while? i wasnt aware of that

#

but yeah its broken in v80 for sure

balmy scroll
#

It worked if you tick it mid flight !

hollow granite
eternal perch
#

there is some combination of checkboxes that make it work

hollow granite
#

I don’t want to add more to your plate, but any chance https://github.com/giosuel/imperium/issues/70 could get fixed? I feel like it’s spawning at a global position, not relative to the dropship. Either way, it’s something that I feel like fairly often comes up in the dev-moons channel with people trying to figure out what they did to break their cruiser spawning when they really didn’t do anything wrong. (Also, it would just be nice for testing in general)

GitHub

For some reason (I might be having an oversight please tell me if so) The cruiser becomes invisible when using Imperium. I had a modpack that used imperium and noticed when the drop pod arrived, th...

carmine zinc
#

which prevents the code that visually attaches it to the dropship from running

distant stag
carmine zinc
#

the only thing this doesn't affect, for the most part, is modded vehicles :3

distant stag
#

i guess i need to add an rpc to specifically initialize the cruiser when its been spawned with imperium

carmine zinc
#

which reminds me

#

support for modded vehicles with imperium would be nice

#

like, to be able to spawn them in and such

#

and also not just have them called "Cruiser" in the explorer

distant stag
#

how are they identified?

#

rn I identify the one cruiser that exists via prefab that has the script

carmine zinc
#

you can grab a list of vehicles from either the terminal or startofround

#

startofround is probably easier to get

#

you'll have to grab them after LLL/DawnLib adds them

distant stag
#

I normally get everything from resources

carmine zinc
#

you identify it by VehicleController?

distant stag
#

i think so yeah

carmine zinc
#

modded vehicles that use LLL inherit vehiclecontroller

#

dawnlib vehicles use a custom VehicleBase

#

which is detached from vehiclecontroller

#

the only exception to this is my v55 cruiser which overrides the prefab in both startofrounds list and the terminal list

distant stag
#

wait, I think I actually idenfity it by name

#

because there is only one

#

so technically if I identify by classes it should work then

#

do you have an example mod that adds a vehicle that I could use to test?

carmine zinc
#

yes

#

the Company Hauler

#

its a bit broken in v80 but its useable

#

its just the killplayer method that needs updating

#

which doesnt prevent it from working otherwise

distant stag
#

okay, ill have a look!

carmine zinc
#

awesome :)

distant stag
distant stag
#

because I also spawn the manual for example when spawning the cruiser

carmine zinc
#

a service manual isn't required for modded vehicles to be delivered properly

#

if that's what you mean

#

they should just be using the vanilla systems for the most part

#

the dropship delivery is completely handled by vanilla

distant stag
#

hmm, I guess I could just ever spawn the manual

carmine zinc
#

you can get a reference to the manual in the terminal buyable vehicle list

#

its the secondaryPrefab

#

although some people might choose to put another item in there if they wish

distant stag
#

hmm, is there a way to get this from the VehicleController object?

carmine zinc
#

no

distant stag
#

or do I need to find it through some higher order object then

carmine zinc
#

vehicle controller has no explicit reference to the manual

distant stag
#

oh the company hauler doesn't currently work in v80

#

so I can't test this rn

carmine zinc
#

does it not

#

?

#

what's broken with it now

distant stag
carmine zinc
#

i'm planning on overhauling it, but i imagined it would still be somewhat functi

#

ah right

#

yeah

#

that patch needs removing

#

since it's not required

distant stag
#

maybe just a recompile issue

#

but i have no idea

carmine zinc
#

its because weedkiller changed, but before v80 i added a different patch in that made that one redundant, and glojam forgot to remove it

#

so it's just kind of been sitting there and now it seems its being nuked in v80 because of changes to weedkiller

#

i do have one of my own vehicles that uses LLL which is functional in v80 but it's not like, out yet

#

so that isn't really helpful

distant stag
#

hmm okay

#

would you happen to have some DLL that works for me to try?

carmine zinc
dark heath
distant stag
#

Imperium v1.2.1 - Small Update

General Changes

  • Oracle is correctly predicting enemies again.
  • Added support for modded vehicles in the spawning UI and object explorer.
  • Made it so pausing time persists after restarting the game.

QoL Improvements

  • Improved usability of the Oracle UI and removed coordinates.
  • Moved all visualizer objects into Imperium parent objects.
  • Destroying a cruiser in the object explorer now makes it explode.
  • Made it so the time indicator icon is replaced with a lock when time is paused.
  • Removed various internal log statements.

Bug Fixes

  • Fixed a bug that caused a destroyed cruiser to leave colliders behind.
  • Fixed a bug that caused naturally spawned cruisers to be invisible.

Compatibility

This version is compatible with the v80 public beta of Lethal Company.

bitter compass
#

@distant stag can i be obnoxious and not do a PR cuz im lazy but write down an old issue's fix cuz i totally forgot about it 🄺

#

ill write down the changes cuz ill probably forget later just incase:
but in PlayerManager
Removing the new() calls on ShipTPAnchor, MainEntranceTPAnchor and ApparatusTPAnchor
and instead initialising them on Init()

Then on ObjectManager, moving the LayerMask.NameToLayer("Terrain"); into the Init() method instead

both of these changes are to support opening imperium on development mode without it killing itself

distant stag
#

yeah I can do that

#

if i remember tomorrow TE_trollSmile

bitter compass
#

thanksies

#

sorry for no PR i hate setting up projects just for like 3 lines of changes 😭

distant stag
#

its fine

topaz matrix
#

feature request: being able to interact with story logs in the Object Explorer menu would be really awesome, as would being able to unlock them all at once under something like Game Settings (like unlocking the shop)! they're listed as StoryLogCollectable objects if that helps at all, it'd be nice to be able to teleport to them quickly through this

#

this has been on my mind for a while but (beta spoilers?) ||i just spent like an hour scrambling around UnityExplorer looking for all 16 of the logs for their new locations so lol||

distant stag
topaz matrix
#

i don't believe so, there's still the bug where collecting it for one client doesn't remove it for others

distant stag
#

Hmmm, but they are synced IN SOME way

#

I'll look into it later today

#

Shouldn't be too hard

topaz matrix
#

doesn't seem to be

#

the object itself i mean

#

the actual text is sent to all clients (as is the message that it was collected) but the object itself isn't i think

distant stag
#

Okay yeah so it's just done via HUDManager šŸ’€

#

Why zeekerss

#

Why

topaz matrix
#

i ask this a lot

distant stag
#

Yeah sameRIPEmployee

distant stag
#

isnt this the one?

#

it seems like this object is never really removed for all clients, or at least I can't find the code for it

alpine glacier
distant stag
#

well yeah but this function is also only executed on the client that picks it up

#

unless im missing something, I don't see any RPC handling this

alpine glacier
#

Yepp. Pretty sure that's how it works SCaraara

distant stag
#

zzz

alpine glacier
#

I think Zeekerss was just a bit lazy when he made these .-.

carmine zinc
eternal perch
#

yo, can I send a feature request to trigger FlickerLights method?

distant stag
eternal perch
#

we have Breakers On, Breakers Off, and I'd like to have this somewhere in between

#

fun fact: FlickerPoweredLights coroutine triggers animators in 4 batches separated by 0.05 seconds, with the following pattern:

XXXXXXXXXXXX                                     1/4
            XXXX                                 1/12
                XXXXXXXX                         1/6
                        XXXXXXXXXXXXXXXXXXXXXXXX 1/2
distant stag
#

lmao interesting

eternal perch
topaz matrix
#

curse of 6am code peeking

eternal perch
distant stag
eternal perch
#

clearly, we need an int configuration option, because we can't predict which number will be funny next season

distant stag
#

thanks

#

i really need to go through them some day

distant stag
#

EVEN BETTER

eternal perch
topaz matrix
#

this looks so lovely

distant stag
#

thanks PES_Heart

topaz matrix
#

r there any plans to put unlocking all of them in the game settings as well o.o no pressure this is already super awesome just curious

distant stag
topaz matrix
#

the Game Settings section in the same window as where the godmode stuff is would be a good spot i think, it's only got Unlock Shop there and lots of empty space (sorry i'm not at my computer so i can't get a screenshot)

distant stag
#

hmmm

#

idk, this is something that only works when landed on a moon, so it would probably have to go into moon settings

#

or do you mean unlock ALL logs in the game?

topaz matrix
#

yeah unlock all logs in the game

distant stag
#

okay yeah that could work

#

but then its also a checkbox

topaz matrix
#

hrmm

distant stag
#

i dont even know how unlock shop is a checkbox

#

like, does it even lock the items again when unchecking?

topaz matrix
#

i'm not sure i usually only tick it on and never off

distant stag
#

yeah i think thats what most people do, so nobody has complained yet ahhaha

topaz matrix
#

i would say making it a flat button to unlock the logs would be fine, but it also wouldn't match the unlock shop being a checkbox... so idk how much you'd want something like that

distant stag
#

yeah ill have a look

topaz matrix
#

thank you so much plink its very appreciated

#

it'll be really great for new logs/locations if they get moved, but i see this also being mega helpful for if/when he moves it to being rare scrap...

distant stag
#

rare scrap?

topaz matrix
#

yeah he talked about making them into rare scrap instead of constant outdoor collectables a while ago (i believe v70)

#

i'm not super sure when or even if this will happen

#

since two logs have been added since he said that and he completely reshuffled the ordering (per my feedback lol)

#

he might be reconsidering it... but it's still possible

topaz matrix
#

right

distant stag
#

how do you even look up all the logs in the terminal?

topaz matrix
#

just typing in "sigurd" will bring up all the collected ones

#

no way to see them all ingame but i do have a list of them if you need that

bitter compass
distant stag
#

I see

#

petition to also flip the imperium UI on 1st of april

eternal perch
#

Arabic is quite popular lately

bitter compass
#

petition to kill you raaa

distant stag
#

something like this might be good

#

but then I might as well make the shop one into a button

topaz matrix
#

oooohhh i like it

#

yah i think that would be good

#

i imagine the current sorting of the logs internally should also make it so that unlocking them all at once puts them in order too... which is very nice

distant stag
#

ahhh I do this to reset the shop

#

and when its unlocked I just make sure it stays unlocked

#

but i suppose there is no way to do this cleanly and easily with logs

#

but then again, why would you want to un-discover the logs after

topaz matrix
#

i can't imagine why anyone would, they've always persisted between runs and if you want to recollect them you'd always just reset the save...

distant stag
#

is there a list of story log IDs somewhere?

#

like of ALL of them

#

they do have scriptable objects

#

so i suppose they are somewhere?

bitter compass
#

oh is this why unity explorer locks when i have imperium lol

bitter compass
distant stag
bitter compass
#

ahh okay

distant stag
#

the UE locking fix is in preferences

#

but yeah its an imperium fix

#

and its on by default

bitter compass
#

also you can probably just read storylogid from the storylog class itself

bitter compass
distant stag
#

in preference window

distant stag
#

i mean i guess fair enough

bitter compass
#

ye but those are easy to get

#

just running through networkprefabs and getcomponent'ing

distant stag
#

network prefabs?

#

not just FindObjectsByType<StoryLog>?

bitter compass
#

no that's expensive and also doesnt the story log need to exist for that?

#

unless you're going through Resources?

#

i don't like going through resources, i've heard bad things about it, i just go through every network prefab in the game, every prefab with a networkobject is in there

distant stag
#

and also, since I need many objects I just go through ALL gameobjects instead of doing multiple calls for each of the different component types

#

which is A LOT faster

distant stag
bitter compass
distant stag
#

looking for an actual script like StoryLog feels wrong

#

when its not a scriptable obj

bitter compass
#

ehhh i mean i prefer to look for the script, because otherwise you're looking through terminalnodes, which is less ideal

distant stag
#

okay yeah its just a generic terminal node, so i dont think there is a good way to find only logs

bitter compass
#

well, there is, otherwise zeekerss wouldnt be able to find it

#

ill check rq

#

im sure there's an ID somewhere in that

#

i have dawnlib open might as well

distant stag
#

i think he does it with the compatible nouns list or something

#

idk i have never really looked into how the terminal works

topaz matrix
bitter compass
distant stag
bitter compass
#

but there are multiple ways to get the SO

#

the terminal stores every storylog's terminalnode, that's the first one

#

it's just under Terminal.logEntryFiles

ionic crescent
bitter compass
#

each story log's terminalkeyword defaults to the View Keyword

distant stag
#

didnt you like rewrite the entire terminal

#

for NM

bitter compass
#

and each terminalnode that relates to a story log has a .storyLogFileID

distant stag
#

i guess there isnt a command to get all of them

#

just unlocked

ionic crescent
bitter compass
bitter compass
distant stag
bitter compass
#

ye, but this is just one way to get access to them

distant stag
# bitter compass wdym?

like there isnt a command to get all logs in the game, so he doesnt need a way to identify them

distant stag
#

yeah so i guess i have to do it the script way

bitter compass
#

i mean, i dont think he would've made a function get all logs, no point to, it's like making a function to get all shop items in the game, it doesn't make sense

#

but he also doesn't need a function to get all logs

#

he stores them in a field to begin with

bitter compass
distant stag
distant stag
#

never done that

#

and is that better than using resources?

bitter compass
#

yeah it's better than using resources imo

#

just postfix GameNetworkManager.Start

#

and do allat

distant stag
# bitter compass

there is no way this is better, this is O(n) over all network prefabs at worst, no? i would assume unity has some index and doesn't just iterate over all resources everytime you search for something by type

bitter compass
#

i dont think there are that many network prefabs, and i feel like resources has a LOT more stuff to go through

#

doesnt resources allow stuff like SO's etc too?

distant stag
#

yeah, but isn't it indexed somehow internally?

#

i dont think they iterate over the entire memory everytime you call this

#

interestingly, they also only say "this function is slow" in the non-generic version

#

so maybe the generic version is actually pretty optimized

eternal perch
distant stag
#

thanks a lot!

bitter compass
distant stag
#

yeah ig

#

okay so Resources.FindObjectsOfTypeAll<StoryLog>() doesnt work lol

#

it just returns nothing

#

i think the logs might be hard coded in the scenes

#

I MEAN TECHNICALLY

feral sentinel
#

yes story logs are in the scenes themselves

distant stag
#

i could just add all numbers from 0 to 1000 to the unlocked logs

feral sentinel
#

and there's no prefab (they all got flattened into the scene because he doesnt instantiate them anywhere)

distant stag
#

and then all of them are unlocked for sure

bitter compass
feral sentinel
#

yeah as part of the scene

bitter compass
#

yeah but u can access it as soon as the game loads perceive

distant stag
#

but maybe with the network prefab lookup method we still might be able to find them

feral sentinel
#

all of the story log IDs are inside the scenes themselves and i dont see storylogcollectible inside the network prefab list unless im stupid and just missing it

bitter compass
#

im starting to think im wrong, im gonna launch the game just to check, this code i wrote might've been for stuff like LLL storylogs now that i think about it

eternal perch
bitter compass
eternal perch
#

spreading spores and misinformation

distant stag
#

hmm, but at the end of the day the game still needs all network prefabs, no? like to make sure netcode and all that will work fine

#

no?

#

nvm this doesnt work either

bitter compass
#

yea

#

your best bet is just checking the terminal for the scriptableobjects, you won't be able to access the gameobjects/script itself

#

it's a good thing the terminal has a direct reference to all SO's for the logs

#

no wonder i made teh gameobject nullable perceive

distant stag
#

but how do we differentiate between logs

#

and other viewable SOs

#

this will also be bestiary, no?

bitter compass
#

what makes each story log unique is two things

#

the creature name and the logID

distant stag
#

like this is the list of results in the view.asset SO

#

are these all the logs, or also bestiary entries? is there anything else that can be viewed?

#

because if not, this is exactly the list we want

#

yeah there is this also

bitter compass
#

do you only want story logs or bestiary + storylogs?

#

im confused

distant stag
#

good question actually

bitter compass
#

like i can get you where you want, i just dont know what you want lmao

distant stag
#

how are bestiary entries unlocked anyways? I assume its not Terminal.unlockedStoryLogs TE_trollSmile

bitter compass
#

yeah not that

distant stag
#

ah Terminal.scannedEnemyIDs

#

right there

bitter compass
#

yep

distant stag
#

i guess thats easier, there is a list of scan nodes in HUDManager

#

ill make that a separate button

#

but yeah, so how would you now do the story logs thing?

#

I need to get all the story log IDs

bitter compass
#

okay, so the terminal has a field of them, Terminal.logEntryFiles

#

it's a list of the relevant ScriptableObjects

#

you can take those, and read their storyLogFileID

distant stag
#

but how do I get the IDs from there, these are just TerminalNode objects

bitter compass
#

giosuel im gonna punt you

ionic crescent
feral sentinel
#

is there a reason you couldnt just use Terminal.logEntryFiles

#

that was my first thought

#

okay yeah i just read up

#

just do that

#

right

distant stag
#

but why did we even talk about the prefabs and resources and all that if it was that easy all along

#

got me confused

bitter compass
#

because i did say the logEntryFiles thing way back 😭

ionic crescent
bitter compass
#

😭

feral sentinel
#

backwater blobfish

distant stag
#

okay works perfectly

distant stag
#

thanks guys

bitter compass
#

so proud 🄹

bitter compass
#

blob looked like it was trynna get away too#

distant stag
#

exactlyyy

#

it was like contracting or going away

#

but then it just turned around

#

mf

#

like i tried to pick up the body

distant stag
distant stag
#

good times

bitter compass
#

who was watching spongebob at the end

distant stag
distant stag
#

this game without fog looks so cursed

#

how many landmines was that

ionic crescent
#

50

ionic crescent
distant stag
#

NM outdoors?

#

wasnt it indoor only

#

or at least the version i playd

ionic crescent
#

you havent played in 6 years

#

you should again

distant stag
#

i should

#

i thought of it recently bc i started working on the rogue like game mode I made a while back again

#

i think i told you about it

ionic crescent
#

i dont remember (im a great friend)

distant stag
distant stag
#

is NM released now?

ionic crescent
#

no

distant stag
#

theres no way I release simulacrum before NM

#

it just cant happen

ionic crescent
#

there is a way

distant stag
eternal perch
distant stag
#

ahhhh

#

okay yeah makes sense

eternal perch
#

"makes sense" whaaaaat

#

xD

feral sentinel
#

well technically the ship returns to its "landed position" once it finishes the takeoff animation and i think the rocks are in an object container in SampleSceneRelay right?

#

so when the moon unloads it still hasnt cleared out the rocks

#

unless im mistaken about that

distant stag
feral sentinel
#

maybe

distant stag
#

I assumed theres some manual cleanup, but I guess they can be part of the scene

feral sentinel
#

i think they spawn in RoundManager.Instance.mapPropsContainer

#

but i forget if that's in the scene or in SampleSceneRelay

#

it might be in the moon scene i forgor

bitter compass
distant stag
feral sentinel
#

RoundManager.SpawnOutsideHazards() uses mapPropsContainer

distant stag
#

a tree being a hazard sounds like propaganda to me

distant stag
#

stuff now spawns in the map props container

bitter compass
#

is imperium still up for feature requests?

#

what im asking for is gonna be a little unnecessary for me but might help others (i already made my own debug tool for this purpose)

distant stag
#

i mean yeah as long as I find the time, I am leaving for vacation tomorrow so if its easily implementable I'll do it rn

bitter compass
#

i dont know how easy it is but you could add a soft dependency that gives you everything you need perceive

bitter compass
bitter compass
distant stag
#

is this a modded-only thing?

bitter compass
#

i can walk you through the whole code, the event you can subscribe to for when the map object registry is frozen (so that you can then grab from it), where to get the specific gameobjects, etc

bitter compass
eternal perch
distant stag
bitter compass
#

he didnt get rid of old fields that are now unused for them, unsure why

distant stag
#

Oh-

#

Because I looked at the code and it seems like they are SOs so I was confused why I didn't get them like every other object

#

But that explains it

bitter compass
#

you're looking at IndoorMapHazardType right?

#

that's new yeah

distant stag
#

But that's indoor

bitter compass
#

outdoor has always been SO's

distant stag
#

That just replaced another type that already existed

#

Yeah but he renamed the classes and slightly changed them iirc

bitter compass
#

IndoorMapHazard replaced SpawnableMapObject

#

they're both serializable classes

distant stag
#

Yes exactly

bitter compass
#

IndoorMapHazardType is new

#

it's an SO with the fields from SpawnableMapObject

#

it's basically replicating how outside map objects looked like

distant stag
#

so what does that have to do with outside objects?

#

this is how I am currently getting outside objects

bitter compass
#

idk, you asked why you didnt do em as SO's like the rest of stuff in imperium

distant stag
#

so I guess I DID do it with SO

#

so what exactly is not compatible?

#

i thought you talked about outdoor stuff

bitter compass
#

nah, indoor stuff, im actually unsure about outdoor stuff but i know modded indoor hazards wouldnt get registered by imperium

distant stag
#

and with registered you mean for spawning or in the object explorer?

bitter compass
#

never checked object explorer, i do mean spawning

distant stag
#

yeah they are currently registered manually

#

I guess I could do this via the IndoorMapHazardType now

eternal perch
#

is this line outdated?

        <Folder Include="src\Integration\InputUtils\"/>
distant stag
#

I think so yeah

#

i thought i removed it yesterday but I guess i havent

eternal perch
#

you did this: e0e58be9e1f1ee1d033dd64d71523a8057ebc5f6

#

which is, main - 2

distant stag
#

yeah i did some cleanup

#

i think i can remove this as well now

feral sentinel
#

9

distant stag
bitter compass
distant stag
#

and how is the hazard called

bitter compass
#

try laser turret

#

if you can, try cacti/cactus too

distant stag
#

something wth dawnlib is breaking

#

does it work in v80?

bitter compass
#

yeah it does, oh did thunderstore not get latest update

#

i pushed it a bit ago, latest is 0.9.2

distant stag
#

DLL?

bitter compass
#

sure gimme a sec

#

zip cause its like 5 dlls

distant stag
#

holy loading time

eternal perch
#

what's your workflow for dev/test cycle? Do you manually invoke <Target Name="ThunderstorePack" or do you just copy the dll in a custom .user target?

distant stag
bitter compass
#

Nest

#

Neat

bitter compass
distant stag
#

object explorer will be harder because indoor hazards don't have a shared script

bitter compass
#

Yea, nor do outside

distant stag
#

ya

bitter compass
#

But u can just make a script

#

And give it to em

distant stag
#

like at loading time give all the prefabs my own script

#

like a tag kinda

#

I could

#

but I think ill do that another time

bitter compass
#

Okie

distant stag
#

was there anything else I should do in this update?

#

@eternal perch anything else?

eternal perch
#

I built imperium from dev branch for good measure

distant stag
#

yeah this is true, minimap settings have been broken for ages

#

i have never ported it to the new UI system that I built ages ago

#

I don't think thats something I can easily fix rn

eternal perch
#

minimap scale seems to be working on my end, both in orbit and on moons. Camera angle resets to top-down when I'm pulling the lever.

distant stag
#

wait, how are you changing minimap scale?

eternal perch
#

slider bottom right

distant stag
#

but thats zoom, no?

#

not the physical size of the minimap

eternal perch
#

what's scale then

distant stag
#

the size of the minimap

eternal perch
#

size of the minimap viewport on screen?

distant stag
#

yes

#

okay i actually managed to fix it immediately, idk why i didnt do this a long time ago

#

you can change it by clicking on the "minimap settings" button

eternal perch
#

found it

#

indeed was broken, huh

#

Minimap settings window can't be moved or closed

distant stag
#

yeah I fixed it just now

eternal perch
#

can i give a shot to flicker button real quick?

#

or would that require editing UI in asset bundle?..

distant stag
#

oh right thats what it was

#

and yeah, it would mostly require UI work

eternal perch
eternal perch
distant stag
#

imperium is not backwards compatible, you gotta use an older version

distant stag
#

its not that complicated of a change, just need to figure out how I will restructure the UI

eternal perch
#

meanwhile I can add such button to my mod's LethalConfig if needed

eternal perch
#

ah you replied too, oh well

distant stag
#

yeah I closed it as well, thanks!

#

Imperium v1.2.2 - Small Update

General Changes

  • Added support for story logs in the object explorer.
  • Added an option to disable the flipped camera effect on 1st of April.
  • Added buttons to unlock all bestiary and story logs.
  • Added an identifier to steam lobbies when Imperium is running.
  • Added support for modded indoor map hazards in the spawning UI.

QoL Improvements

  • Added a check that disables flight when the player hits the ground.

Bug Fixes

  • Moved some field initializers to init functions to make Imperium work with development builds.
  • Fixed a bug that caused manually spawned outside objects to persist after leaving a moon.
  • Fixed a bug that caused the minimap settings window to break when opened.
eternal perch
#

surely we'll find use for the emerged empty space for more new stuff

topaz matrix
#

hope vacation goes well :D

eternal perch
#

like, remove slippery floor after the fish

#

(imagine Imperium mops the floor for you)

dark heath
#

could the player FOV slider in imperium control panel be increased to go lower than 50? like maybe 30

eternal perch
distant stag
#

But yeah I'll probably change the whole layout there a bit so it fits better

#

I didn't really like this part of the UI from the start

eternal perch
distant stag
#

XDD ahhh

#

Welp

distant stag
distant stag
feral sentinel
#

Added an option to disable the flipped camera effect on 1st of April.
what is this for? does it just prevent it from activating automatically on lobby boot? this is already a setting in the pause menu (it just resets itself each time you host)

distant stag
distant stag
dark heath
#

thats a github thing right?

eternal perch
distant stag
dark heath
#

okie i'll probably do that at some point then, ty

distant stag
ionic crescent
dark heath
#

toggling global volume would disable interior fog i think, but that would also remove like, light rays and steam leaks too

distant stag
#

I don't think imperium provides any fine tune settings for the post processing effects

eternal perch
#
GitHub

[Message: Imperium] ╒════════════════════════════════════════════════════════════════════════════════════════════════════════════...

bitter compass
#

can i make an issue and close it so i can feel special 🄺

eternal perch
bitter compass
#

yes

eternal perch
#

both were fixed in 1.0.0

distant stag
#

perfect, thanks!

#

im glad were able to get rid of some of those

#

im sure many if not most have been fixed already

#

at least the bugs

eternal perch
#

granted, idk why would you need that, it's such a random feature

distant stag
#

yeah its more of a joke lol

eternal perch
#

a good usecase for HarmonyX enumerator passthrough trick though!

distant stag
eternal perch
#

I'm gonna test it with an inverted check now

#

I'd wish the "Unlock Shop" thing was a thing that I can easily copy-paste into my furniture mod. Then I wouldn't have to recommend StoreRotationConfig

distant stag
#

why is it not easy copy pasteable?

eternal perch
#

idk, StoreRotationConfig does some unspeakable things with transpiler

#

I looked into Imperium, and it does look simpler and copy-pastable indeed

eternal perch
#

it works with the condition inverted, but there are bugs

eternal perch
#

Is there any reason you prefer HarmonyPatch by string rather than by nameof() ?

distant stag
eternal perch
#

alright

#

I though it might have something to do with supporting future/past versions, but today was proven wrong about that

distant stag
#

yeah usually backwards compatibility problems are harder to solve

eternal perch
dark heath
#

i think so yea

eternal perch
#

I couldn't find it

#

I'm filing an Issue for you, I should @.tag you there

eternal perch
dark heath
#

ok i thought i did but i guess i dont

dark heath
#

this is the greatest mod ever

#

finally large axle is dead

topaz matrix
#

LFGG

eternal perch
eternal perch
eternal perch
eternal perch
eternal perch
eternal perch
bitter compass
#

If you can't open imperium on the latest version, delete your imperium configs

normal trench
#

For some reason toggling steam valve causes security doors to open/close as well?

distant stag
#

I'll rework how the toggling works next week when I'm back

distant stag
eternal perch
distant stag
dusty vault
#

does this work in the beta?

distant stag
dusty vault
# distant stag Yes

i just tried to load my game with imperium and when i loaded in it said "imperium launch failed"

#

its on the latest version

distant stag
dusty vault
#

yeah that worked tysm

eternal perch
#

Imperium launch failed. Shutting down.

Solution:

  1. Close the game.
  2. In mod manager, go to profile, Open Profile Folder.
  3. In the profile folder, find BepInEx/config/giosuel.Imperium.cfg file, and delete it.
  4. Launch the game.

Some mod managers may provide "Delete" button for configs as a user-friendly alternative.

#

Honestly, pinned messages in Discord are not that visible

eternal perch
distant stag
#

Imperium v1.2.3 - Hotfix

Bug Fixes

  • Fixed a bug that caused outdated configs to break Imperium startup.

Thanks to @eternal perch for a quick fix while I was away on vacation!

topaz matrix
#

hmm...

#

i can make a proper github report later im just getting map pictures rn lol

eternal perch
bitter compass
#

i dont remember exactly if it was that function though

#

i just remember it seemed like a hacky impl for grabbing an item on spawn

distant stag
#

Planned for next week asw

distant stag
#

So it's Client -> Host, Host -> Client after it's spawned

bitter compass
#

the new rpc's should make that a little cleaner with a local player check for the specific client

distant stag
#

Hm okay haven't looked into that yet

eternal perch
#

lemme guess, it's all async all the way down

distant stag
#

Well picking up an item needs to be synchronized somehow, right?

#

But the server needs to tell the player to pick it up

#

Or like it needs to spawn in the inventory and not on the ground in the first place

bitter compass
distant stag
#

But does this work for spawning the item in the inventory immediately? Or do you have to spawn it on the ground and then pick it up? I don't really remember how I did it

bitter compass
#

spawning it directly in the inventory before waiting for it to spawn is just asking for a problem

eternal perch
#

that's how I implemented smoke color in HookahPlace btw

#

animation triggers an even that spawns Fog instance, and sends an RPC

#

where server chooses color, and dictates it to clients

#

and client which initiated the animation now need to wait until color arrives from RPC later

#

such a spaghetti, eww brotha

distant stag
#

Which is unfortunate

bitter compass
distant stag
#

Wdym

bitter compass
#

when you say same net object, which network objects are you talking about?

distant stag
#

Like the modded RPCs aren't on the actual object, right?

#

They are on your own prefabs

eternal perch
#

vanilla animations are network-capable, so I doubt I could reuse that

distant stag
#

So they aren't guaranteed to be executed in order according to unity

#

For example, if you spawn a cadaver bloom, how would you make it burst immediately?

eternal perch
#

Promise.race() Promise.allSettled()

#

problem solved

#

(don't listen to me)

bitter compass
#

there's only one network object in this equation

eternal perch
#

the point is, we need some machinery to collect all the expected but arrived out-of-order inputs

bitter compass
#

yeah... like.. 0.2 seconds?

#

probably less?

distant stag
#

Zeekerss can just put the RPC in start or awake and that's totally fine

distant stag
bitter compass
#

waiting for the network object is not cursed what