#Imperium

9316 messages · Page 10 of 10 (latest)

eternal perch
#

what exactly was the issue?

distant stag
#

i think that it didn't spawn if it was spawned not with imperium

#

if so, yeah that was fixed in the last version

dark heath
#

not sure if y'all already know but the thing where cruiser spins after jumping twice is caused by having flight enabled

#

at least I'm 90% sure, because whenever I disabled flight the cruiser behaved normal again

eternal perch
#

well, that was my conclusion as well. did you open the link?

dark heath
#

no

eternal perch
bitter compass
#

@distant stag can you link me to the code that would run when you press X on a monster's entry to delete them?

bitter compass
#

Thanks

#

Hmm I'm trying to find the exact code that runs when you despawn an enemy

distant stag
#

you have to follow the net messages

bitter compass
#

Basically impossible on phone lol

distant stag
bitter compass
#

I did get to DispatchToServer

distant stag
#

this is the server code

bitter compass
#

Hmm okie, I think this code is problematic for enemyai, I'll take a proper look when I'm on my PC and update you :3

distant stag
#

in what sense?

#

i just despawn the network object

bitter compass
#

I think it doesn't update some flags

#

The powerlevel flags, maybe it doesn't update certain RoundManager fields like cannotSpawnMoreInsideEnemies

distant stag
eternal perch
distant stag
#

but i think he did add something enemyai does on its own when destroyed which might cause problems

bitter compass
#

Huh

distant stag
#

enemies spawned with imperium should not affect the power level and or max enemies or whatever by design

eternal perch
#

and messing with spawned enemies array didn't go very well, and was reverted

#

or something like that

bitter compass
#

Why would you not wanna follow base game logic lol
I've gotten a bug report from someone that I couldn't figure out with powerlevel and enemies spawning when they shouldn't or not spawning at all etc

bitter compass
distant stag
#

yeah thats the catch

#

and this is a problem rn

#

enemies killed by imperium won't free power and or spawn count of that specific entity

bitter compass
#

Is this disclosed anywhere? I've been trying to figure this out for so long and I never thought imperium lol

distant stag
#

what exactly?

#

we should definitely make it so enemies spawned by the game and deleted by imperium should free their power level and max spawned so everything is in sync, but for that we first need to track all enemies spawned by the game and imperium so we can even differentiate between the 2

bitter compass
#

If you delete all enemies after spawn cap is reached, no enemies will spawn anymore and someone's been talking me to investigate it cuz they thought it was dawnlib

distant stag
#

yeah this isn't specified anywhere in imperium but thats what happens

#

ill add an issue

#

if there isnt one already

bitter compass
#

I feel like this is an unnecessary nuance lol

#

I dont get the use case personally

#

Especially since its more useful for testing if imperium followed base game logic

#

Maybe you can add it as a toggle in settings or smthn instead?

#

I just don't know who would benefit from imperium explicitly not interacting with powerlevel

distant stag
#

Yeah, my reasoning was to not mess with the game logic too much, so the spawning can still continue normally even if you spawn some enemies for testing

#

But I also see how this might actually be less intuitive

bitter compass
#

I understand the reasoning, I just don't understand why anyone would want that tbh

distant stag
#

But in any case, to make it more consistent we should make it so enemies that are spawned by the game are also cleaned up properly afterwards

bitter compass
#

Yee

eternal perch
#

more toggles for god's sake toggles

bitter compass
#

That would be nice atleast

distant stag
topaz matrix
#

the spawning menu currently has a bunch of empty space in the middle of the bar for enemies, maybe a tick there could be good?

distant stag
#

I'll have a look once im finally back at my setup

topaz matrix
#

something to this effect

#

dont mind the shittiness im on my phone lol

eternal perch
topaz matrix
#

i was thinking it would be there but disabled for all of them no matter which one u click

#

like they all set the same toggle

eternal perch
#

if they are all linked to each other, then there should not be more then one of them

topaz matrix
#

im not sure where else it could be put that doesn't just make it a global setting then

#

i would say just one at the top of the row / topmost entity but i could easily see someone typing something that shows up with multiple entities and picking one that is not the topmost entity

distant stag
#

could put it in the field

#

or make a separate menu

#

then we could also put the "Spawn this in front of you / inventory or at the indicator" setting there

topaz matrix
#

oh yeah like the bar at the top

#

that could work

bitter compass
#

oh btw i finally got on my pc to check the issue more closesly

#

none of this is true

#

the game handles the power level stuff when they enemy is destroyed OnDestroy too

bitter compass
distant stag
#

interesting

bitter compass
#

so uh, thanks for doing it unintended :p (it helps test a lot more than u think lol)

distant stag
#

:P

burnt cradle
#

Is there a way to make it so you don't disappear when the freecam gets close to you?

eternal perch
pseudo field
#

can't spawn old birds for some reasons

#

@acoustic lion this is why the variants weren't working

#

we were just unable to spawn them

#

cuz i'm unable to spawn base old bird

#

for some reasons

topaz matrix
#

old birds require an "old bird nest" (the inactive old bird) to spawn now

pseudo field
#

yeah

topaz matrix
#

if there is not one then they are just deleted

pseudo field
#

okay so imperium should fix not being able to spawn them without the nest

#

and/or it should have the ability to spawn the nest

#

and said nest should be able to be triggered via imperium

topaz matrix
#

that would definitely be nice

#

i wonder if that would mess with spawning stuff, having a nest when the game doesn't predict an old bird to spawn (probably not now that i think about it, if it doesn't get activated)

pseudo field
#

with the amount of mods that rewrite the game's core stuff

#

i'm at a point where "messing with spawning stuff" is a term you could even use in a legit sentence in this community anymore

topaz matrix
#

im not entirely sure what you're saying with this sentence

pseudo field
#

idk got drunk mid sentence

#

i meant to joke on the fact we often have overwrite vanilla stuff that are core parts of the whole game despite the fact it almost always causes problems at some point

topaz matrix
#

i see

#

thats true but for a debug mod it would ideally behave as close to vanilla as possible for things you aren't directly messing with

pseudo field
#

eh

hollow granite
distant stag
#

Somehow enabling users to spawn a nest and then spawn old birds "into" it is probably the way to go

hollow granite
#

actually, baboon hawks do not appear to be

distant stag
#

i think old birds might be the only ones being affected by this

#

and also john but thats a different mechanic again

hollow granite
#

who tf is john?

distant stag
hollow granite
#

ah

pseudo field
#

i remember now that zeekerss mentionned making it so they "can't spawn out of nowhere"

feral sentinel
#

yes

#

it was a flag specifically introduced for old birds

pseudo field
#

my nerd senses were right

feral sentinel
#

but was not used at all from v50-v80

#

he fixed it in v80

pseudo field
#

cuz for some reason, the version of the old bird prefab i have

#

well uhm, it does work with imperium

#

(my variant i'm saying)

feral sentinel
#

disable requireNestObjectsToSpawn in the enemy type

pseudo field
#

oooooo

#

that's why

feral sentinel
#

but that will cause the same issue as before where old birds instantly spawn in random positions with no animation

#

during actual games

distant stag
# feral sentinel he fixed it in v80

okay yeah crazy, because I read through the code and it did seem like it but idk if I was just trippin (i play this game too little to actually know myself TE_trollSmile)

feral sentinel
#

before v80 there was a problem with its implementation

#

where if it was enabled, and an old bird failed to spawn (because there was no nest)

feral sentinel
#

it would cancel all other enemy spawns for that hour

distant stag
#

yeah the classic return instead of continue / break

feral sentinel
#

also as for spawning nests in the middle of the day

distant stag
#

literally half of the bugs are this

feral sentinel
#

all players in a lobby are expected to have the same nest objects on their clients

#

and they are expected to be sorted in the exact same order

pseudo field
#

in any case you could just have the bool toggled off for testing, and on for releases

feral sentinel
#

so i could see problems arising from trying to spawn old bird nests mid-game with imperium

distant stag
feral sentinel
#

individual clients despawn the old bird nest when the actual old bird gets spawned

#

it just takes the first nest in the list, teleports the newly spawned old bird to it, and despawns the nest

carmine zinc
feral sentinel
#

all clients run that individually, the nests aren't a network object which the host despawns

feral sentinel
carmine zinc
#

ah

feral sentinel
#

in v80+, old birds immediately despawn themselves in the circumstances where it used to occur

distant stag
feral sentinel
#

actually nvm you're right i was misremembering a little bit

#

they are network objects and the host does send an RPC to add them to the list in a specific order

distant stag
#

the enemies or the nests as well?

feral sentinel
#

the nests

distant stag
#

okay thats quite easy then

#

I added an issue

feral sentinel
#

all enemies run this code though:

if (this.enemyType.isOutsideEnemy)
{
    if (this.enemyType.nestSpawnPrefab != null)
    {
        bool flag = false;
        for (int i = 0; i < RoundManager.Instance.enemyNestSpawnObjects.Count; i++)
        {
            if (RoundManager.Instance.enemyNestSpawnObjects[i] == null)
            {
                RoundManager.Instance.enemyNestSpawnObjects.RemoveAt(i);
            }
            else if (RoundManager.Instance.enemyNestSpawnObjects[i].enemyType == this.enemyType)
            {
                flag = true;
                this.UseNestSpawnObject(RoundManager.Instance.enemyNestSpawnObjects[i]);
                break;
            }
        }
        if (!flag && this.enemyType.requireNestObjectsToSpawn)
        {
            this.isEnemyDead = true;
            this.inSpecialAnimation = true;
            if (base.IsServer)
            {
                Object.Destroy(base.gameObject);
            }
            else
            {
                this.EnableEnemyMesh(false, false, false);
            }
            return;
        }
    }
#

all clients, all enemies, on EnemyAI.Start()

#

tldr is if the enemy spawns outside and has a nest prefab, it goes through the list of nests (in order) and checks if any match the enemy type

#

if they do, they call UseNestSpawnObject()

distant stag
#

interesting

feral sentinel
#

otherwise, if no nests exist, and the enemy is requireNestObjectsToSpawn, it immediately gets despawned

#
public virtual void UseNestSpawnObject(EnemyAINestSpawnObject nestSpawnObject)
{
    this.agent.enabled = false;
    base.transform.position = nestSpawnObject.transform.position;
    base.transform.rotation = nestSpawnObject.transform.rotation;
    this.agent.enabled = true;
    if (RoundManager.Instance.enemyNestSpawnObjects.Contains(nestSpawnObject))
    {
        RoundManager.Instance.enemyNestSpawnObjects.Remove(nestSpawnObject);
    }
    this.nestObject = nestSpawnObject.gameObject;
    if (!this.enemyType.useMinEnemyThresholdForNest)
    {
        Debug.Log(string.Format("Enemy {0} #{1} destroying nest object '{2}'", base.gameObject.name, this.thisEnemyIndex, nestSpawnObject.gameObject));
        Object.Destroy(nestSpawnObject.gameObject);
    }
}
distant stag
#

why does this boolean even exist when it also requires nestSpawnPrefab to be non-null? isnt that kinda redundant

feral sentinel
#

UseNestSpawnObject() still runs on all clients, and teleports the enemy to the nest as it spawns

distant stag
#

or do i understand this wrong

feral sentinel
#

and if the enemy type is also !useMinEnemyThresholdForNest, it despawns the nest itself (via Destroy() running on all clients)

feral sentinel
#

baboon hawks and old birds implement the same variables for their nest

#

but baboon hawks:

  1. spawn a nest if at least 3+ baboons are predicted to spawn in a single day
  2. treat the nest as a "point of interest" they regularly return to
#

and old birds use the "nest" as a stand-in for their dormant body (meaning 1 nest for every old bird that's predicted to spawn)

#

so it appears they spawn at the beginning of the day and just take a while to power up

#

only old birds despawn their nest when they spawn

#

because that completes the illusion of them "booting up"

dark heath
# burnt cradle

sorry for the late response, but installing modelreplacementapi fixes this

distant stag
tall bough
#

@distant stag getting "Imperium startup failed" here is my log
any idea?

distant stag
#

any other mods installed?

tall bough
#

019df87b-b070-1231-a951-3ec594671532

#

its weird because it was working last night

#

then i woke up today and its just not wanting to work
I even disabled the mods I added since I woke up

#

tried resetting config and reinstalling with a cleared cache

distant stag
#

have you tried on a clean profile?

#

there seems to be some dawnlib error as well in there

tall bough
#

dawnlib aint even enabled rn

distant stag
#

yeah maybe thats the problem? idk

#

it says its missing

tall bough
#

works fine on an empty profile as expected but idk why it doesnt work on my other

desert silo
tall bough
#

No

#

Like I said this was working last night
I wake up today add a few mods now it doesn’t
I disable said new mods and still doesn’t work which is very odd

desert silo
#

Whar if you delete them instead of disabling?

#

Unlikely, but possible

tall bough
#

im assuming the log didnt give enough info either

bitter compass
#

that could be why your stuff is breaking

tall bough
#

Oh lol I wonder why I didn’t get a popup on my mm for that
I did also test with it reenabled earlier but it made no difference for imperium

bitter compass
#

you'd have to ask him

distant stag
bitter compass
#

but im too lazy to look at the github and point out exactly where

distant stag
#

or that

tall bough
#

yeah testy forgot

#

but like i said unfort even enabling dawn lib didnt make a difference
i just instead made a new profile to test stuff with only a few mods

eternal perch
#

well

#

WELL

#
 W   w     W  EEE  L   L  
 W  w  w  W   Ee   L   L  
  W    W      EEE  LLL LLL
distant stag
thorny island
#

Is there a current issue or is it just me with reviving and not being seen by your friends(nor the items that you carry)? On top of that, when you kill yourself as you've revived yourself, the ship will see it as all players dead and leave.

thorny island
distant stag
distant stag
thorny island
supple blaze
#

I've found that teleportation to the ship is disabled in my modpack, I wonder if it's an incompatibility with WiderShip

eternal perch
distant stag
eternal perch
desert silo
#

Wat

eternal perch
# desert silo Wat

y'know, his country got to keep all the gold bars, and somehow we are the ones celebrating it

distant stag
eternal perch
#

the (long forgotten) victory day for ex-ussr countries

distant stag
#

damnn

#

congrats(?) then

#

:D

frail nest
#

i have an item that has an attribute it randomly selects (using StartOfRound seed) on spawning, is it normal for that random roll to be exactly the same for each time i spawn it in via imperium? or is this a me problem...

#

nvm it's exactly the same regardless of imperium...

#

sad cry

odd pecan
#

How do I fix everything being invisible 😭

dark heath
#

Turn culling on and off in the render settings

bitter compass
#

@distant stag got a bug for ya

#

i assume you manually assign value to scrap you spawn with the imperium stuff

#

but you dont assign value to stuff like !isScrap

#

but you probably should because the game checks for SPECIFICALLY the key to give it a value lol

#

and technically, anyone can use itemId 14 to make their non scrap be worth value to the game

distant stag
#

But why do I have to do this in the first place? Aren't those values set in the scriptable object?

bitter compass
feral sentinel
#

keys start with 3 scrapvalue on both their GrabbableObject and ScanNodeProperties

#

it seems imperium is specifically wiping that when items are spawned

#

because ive experienced the same issue

distant stag
bitter compass
#

like, the value only gets removed on the host?

#

i dont know, why would that matter?

#

you're still getting rid of the value

distant stag
#

Well how is it supposed to be removed explicitly? All that happens on the client is spawn

#

Idk just wondering

#

But is there code that does this explicitly?

bitter compass
#

in imperium?

distant stag
#

Yes

#

Ion rember

bitter compass
#

you're probably trying to set the .scrapValue to something

distant stag
#

But only when a custom value is specified I'd imagine?

bitter compass
#

i cant check rn but my guess is that the key's SO doesn't have the right min and max values

bitter compass
distant stag
#

Like when spawning scrap you can specify a value

bitter compass
#

thats for how many you spawn

#

not their scrap value

distant stag
#

Both

bitter compass
#

oh

distant stag
#

You can supply 2 params

bitter compass
#

well i didnt know about this feature lol

#

so im gonna say no then to your question

distant stag
#

Yeah you can do the same with enemy HP 💀

bitter compass
#

thats cool though, i did actually need something like this lmaooo

distant stag
#

But nobody knows about it and it's also host only

hollow granite
#

Wait, does it tell you you can do this? I know I’ve seen the amount mentioned before but I don’t remember the other param being mentioned

bitter compass
#

another thing imperium should do
run StartOfRound.Instance.SendChangedWeightEvent(); when spawning an item in a player's hand/inventory

#

so that the weight in the UI gets synced immediately lol

distant stag
#

is this a client side method?

bitter compass
#

ye should be

#

it just invokes an event that a person's weight got changed

#

and it uses the current weight to put it into the UI

distant stag
#

alright

mellow fjord
#

how do i make myself go insane

mellow fjord
#

i dunno how to

#

and i wanna test insanity music

dark heath
#

spawn a forest giant

mellow fjord
#

woah

distant stag
#

Contrary, if you want to test the sanity music you can spawn an urban dwarf

limber ice
#

@distant stag greetings, I don’t know if my GitHub request was looked at but I thought I’d check in Popcorn

#

Was about the changeability of the “greetings Padawan” via custom text (or however I phrased it ngl)

distant stag
#

There's a hidden setting in the config

limber ice
#

I HAVE TO HUNT

limber ice
#

It's to actually configure the text of the welcome message itself

#

I might be tripping. Long day at work 7 am to 5:30 pm

limber ice
#

Gonna try again

#

Unless you could point me in ze right direction

green oriole
#

Hey @distant stag , I have a question about your mod (Imperium of course).
Will you add a night vision to free camera? Like it works in "freecammer" or "Poltergeist" mod? I'm asking because this feature could be useful for those who are making maps for custom moons. Some of them are pretty dark so night vision for free camera would be appreciated.
I hope you'll consider it.

tight wharf
#

i'm pretty sure you can do that already

distant stag
#

well rn the freecam just follows the player so if you are in freecam you have to tp the player to you kinda like a lamp

#

we are working on reworking the night vision entirely so this wont be a problem anymore

#

im just busy with exams in the next few weeks so idk when I will get to that

limber ice
eternal perch
distant stag
dark heath
#

Why is it that in the newer imperium version, items in the object explorer are arranged in a seemingly random order? previously when i'd spawn in items they would show up at the top of the Items list, but now they get shuffled in with everything

#

which makes it hard to remove the items i want, due to having to search the list for them more thoroughly

eternal perch
dark heath
#

damn..

feral sentinel
#

does instance ID/network object ID not make sense to sort by?

#

i was under the impression instance ID always decrements for new stuff and network object ID always increments for new stuff

bitter compass
#

NetworkObjectId is a "static" int created that isn't meant to change after registering the network prefab no?