#Central Config

1 messages · Page 4 of 1

safe wedge
#

lmao

#

also, would it be possible to add a global / default config? one that applies to every level regardless of tag / moon / weather

lilac sorrel
#

what does that mean?

#

Like add x enemy to all levels with a rarity of 10 or something?

safe wedge
#

yes

#

ideally for enemies and scraps

lilac sorrel
#

I mean you can just put it in the custom and vanilla tags

safe wedge
#

yeah, that's what I'm looking at doing rn

#

it's just a bit of a pain to have to manage the same thing in 2 places

lilac sorrel
#

all vanilla levels are hand given the vanilla tag by LLL and all modded levels registered through LLL are given custom

#

Only adding enemies or replacing them globally?

#

well ig it would be a chance to replace tho

safe wedge
#

well I'm only looking to add

#

I think ideally it should have the same functionalities as a tag config

lilac sorrel
#

Yeah, that’s 7 settings then

safe wedge
#

I've tried adding my own tag to every moon but it seems to not work

#

that was last update though, haven't tried it on this one

lilac sorrel
#

I could probably hook that right into the original setting of those values below it even gets into the temp change/reset loop

lilac sorrel
stone depot
#

Currently using this as a replacement for LethalQuantities since I get some creature spawning errors with that mod in my modpack.
Do you plan on being able to edit creature info, rarity of interior per moon, and modded hazard spawn rates/amounts per moon like in LQ?

lilac sorrel
#

ok so

  1. edit creature info - what you mean the bestiary page?
  2. Rarity of interior PER moon - impossible, matching data is part of the ExtendedDungeonFlow's properties, this is just the way LLL Is coded (I did try)
  3. Modded hazard spawning - Planned
stone depot
#
  1. No, LQ has a lot of info you can edit per creature such as max count, power level, HP, door opening speed, group spawn count, etc
  2. Really? LQ lets you edit that, but I can't say for certain that it actually works, at least after v60... Does LLL let you do it and I should just use that?
lilac sorrel
#

LLL doesn't because ExtendedLevels do not hold dungeons

#

the dungeonmatchingproperties for the dungeon determines what moons it is registered into the pool for

#

These are all the level properties

#

This is how dungeon selection is done through LLL

#

LQ probably directly changes the level's dungeonFlowTypes

stone depot
lilac sorrel
lilac sorrel
#

LLL isn't exclusive with its settings, only adds/sets the matching levels as individual mod configs can add and set them too

#

my mod is exclusive, if you use the dungeonselection overrides, it completely empties them and only uses the matching properties in my config

#

So if you say put Experimentation:99999 and everything else is empty, that dungeon will only appear on Experimentation

#

the default values are dragged from both LLL AND every other config's changes that are applied on launching the game

stone depot
#

Ok well I don't have any other mods changing that so that wouldn't be a problem for me

stone depot
#

I don't?

lilac sorrel
#

they could be registered in the code itself and not configurable (not rare since some devs leave config to LLL)

lilac sorrel
stone depot
#

You're referring to modded interiors? I only have vanilla interiors

lilac sorrel
#

vanilla interiors are populated too

#

facility is the 'default' interior

#

Update {0.11.0}

  • Introduced ~Global~ settings, allowing you to add or replace enemies and scrap on all moons (excluding blacklisted ones). These changes occur immediately after individual list configurations (if enabled). Replacement happens before adding new entries as usual.

  • Added methods to save the original (unmodified by this mod) enemy and scrap tables before any changes. These new dictionaries are used on Disconnect() to revert lists to their original versions, preventing duplicate changes from global settings and ensuring temporary changes (current weather/dungeon) are reverted upon leaving.

  • The mod now uses actual ExtendedLevels and ExtendedDungeonFlows for dictionary keys instead of their NumberlessPlanetNames and DungeonNames for optimization.

  • Delayed when the randomMapSeed is logged, I can confirm synchronization with clients in LAN testing. :3

  • Added setting to 'add' moon tags, for example you can input Spooky,OuterSpace,Amogus (don't forget to whitelist/not blacklist them), now you could put Spooky, OuterSpace, and Amogus on whatever moons you'd like. They additionally will get their own section in the config to add/replace enemies and add scrap onto those moons.

  • I 'cauterize' tags in more places to further prevent duplicate entries from appearing.

  • Reset the enemy table logging to prevent it from growing excessively by retaining old logs and just adding on the new log to it.

  • Resolved the WeatherRegistry SetPlanetsWeather() null reference issue by moving the lengthOfHours change to a different method.

  • Fixed the whoopsie of scrap injection by dungeon being under the tag (dungeonname) instead of dungeon (dungeonname).

  • Moved the setting to enable Big Lists to be under the ~Big Lists~ section.
    Note: THIS CHANGE WILL DEFINETLY RESET YOUR BIG LISTS. PLEASE COPY AND PASTE THEM INTO A SPREADSHEET OR DISCORD CHANNEL BEFORE BOOTING UP TO AVOID DATA LOSS.

#

@chrome kettle Pinging u in specific to make sure you don't lose your biglists, back em up before updating

chrome kettle
stone depot
lilac sorrel
#

Yes

#

What I at least thought you meant is a list of dungeons under the moon

#

like facility:300,mansion:3,mineshaft:69

#

this mod also has the moon names under each dungeon

chrome kettle
#

Is there no way to turn off the random size multiplier?

lilac sorrel
#

Is it bugged?

chrome kettle
#

I just don't want it

lilac sorrel
#

hm fair

#

just don't want to see it then ig?

chrome kettle
#

It's just I went through and methodically checked the sizes of everything, now the multipliers kinda mess all that up :/

#

Also seems silly to force the user to use it

lilac sorrel
#

It doesn't change anything if that is what you are thinking

chrome kettle
#

Oh is it just displaying the default random variance?

lilac sorrel
#

yes

chrome kettle
#

Ah that's fine then😅 I was wondering where the default values were from

lilac sorrel
#

set by devs

#

I was kinda scared that devs didn't know it exists but they can set it through ExtendedDungeonFlow.DungeonFlow.Length

#

its used in dungen here

#

its a shame I can't have the retry loop be on the targetlength int itself

chrome kettle
#

Some of the numbers are so large I was worried😅

lilac sorrel
#

yeah, its pretty varied

#

but, the targetlength is an int so if its like 1.5x and there wasn't a random size it would just be 1 anyway until it gets to 2

#

but instead it would be like 27 * 1.5x for the size

#

then rounded to 40(?)

#

yeah 40

#

its not 40 tiles, but it may be sorta close mattering on how they have their connectors set up and such

#

like you can see black mesa is only 25 for the random size multiplier

#

if its not set by the dev, it would be 5-10

chrome kettle
lilac sorrel
chrome kettle
#

Also speaking of Black Mesa, the config for it is currently messed up in LLL, thankfully this works just fine 😄

lilac sorrel
#

nice

stone depot
lilac sorrel
#

this bool?

lilac sorrel
chrome kettle
stone depot
lilac sorrel
#

Ok yeah that makes sense then, just thought you meant the other way around

#

When I first made the mod I was thinking I would need a wiki but it’s easy enough to use and had less settings but now you can definitely get lost with the amount of general settings

lilac sorrel
#

thankies :3

lilac sorrel
#

Fix {0.11.1}

  • Fixed Tag whitelist/blacklist not applying when capitalized.
#

its now ran through the cauterizer as well

safe wedge
#

trying to figure out the order of manipulations based on config descriptions. is the order of manipulations this?
moon overrides -> biglist overrides -> weather -> tag -> dungeon -> duplicates removed

sick heart
sick heart
#

Weird, im going to try to do a fresh config generation tomorrow and see if that fixes it

lilac sorrel
tawdry heath
#

The day speed multiplier seems to be a little off rn, I have it set to 1 and instead of being 16 minutes it was around 28

#

I only had CC and LcCountdownTimer

#

Using 1.75 seems to have put it back to 16

sick heart
lilac sorrel
#

1.4 speed is vanilla, 1.0 is 1 second = 1 minute

tawdry heath
#

I know that

#

A multiplier of 1 should be 16 minutes no?

#

I was here for that discussion

lilac sorrel
#

no 1.4 is 16 mins

#

wait no 1 is 16 mins since its 16 hours?

tawdry heath
#

Did you adjust it again?

swift tangle
tawdry heath
#

Imma lose signal, test it out if you don’t believe me

lilac sorrel
#

may be since I'm dividing the lengthofhours?

#

may have to do some math to split it between them?

#

since lengthofhours needs to be divided in order to line up the enemy spawn cycle

#

hm it does affect totaltime which affects everything else

lilac sorrel
#

Fixdate {0.11.2}

  • Reverted changing the lengthOfHours to adjust the enemy spawn curves as it is unnecessary.
    This fixes the time speed bug.

Accidentally made a method to 'squish' enemy spawn curves while testing stuff.
I will not let it go unused so

  • Added new _Enemies_ setting, Accelerate Enemy Spawning?.
    If set to true, you can set a new value separately for each moon that determines how fast the enemy spawn curves advance.
    The default of 1x will not change anything.
    2x will result in day enemies vanishing faster while night enemies appear twice as fast and the interior is overrun much sooner.
    Using a value such as 0.25x will act in reverse and instead result in enemies spawning into the level much slower.
#

Here is a visual reference:
Orange is 1x (vanilla)
Red is 2x
Blue is ~4x
Green is ~0.5x

desert hamlet
lilac sorrel
#

Yes

desert hamlet
#

ability to change the name and routing words of a moon

proper canopy
#

YES

#

alr imma disappear again

lilac sorrel
desert hamlet
# lilac sorrel why is that?

main reason, mod released that makes versions of vanilla moons that are more cruiser friendly and I wanna replace the vanilla versions(their names are slighty different)

#

also could be used to preveny moon overlaps

#

expert moons has some name overlaps

proper canopy
#

I want to replace current dine with the old dine moon mod

#

and name old dine as dine and just lock/hide current dine

desert hamlet
#

as I like it but wanna change the name

proper canopy
#

ah

desert hamlet
proper canopy
#

First thing i thought of that name is 🧞

lilac sorrel
#

changing names

desert hamlet
#

LQ already has that

#

doesnt chance routing words tho

proper canopy
#

wait i didnt know you could change moon names

lilac sorrel
#

well LQ isn't 'faced' as far as I know

lilac sorrel
proper canopy
#

interesting

desert hamlet
#

I do hope you consider it

proper canopy
#

W idea tho

#

we can alr change hazard and description

summer moon
#

devs should at least feel safe assuming the name of their level is right

safe wedge
#

what harm to a moon dev does a player changing the name of the moon do? the point of releasing mods is to make something that people enjoy, and if someone's enjoyment of it can be enhanced by changing the moon name then why insist on denying that?

prime garden
#

you cant speak for moon devs on that type of thing

#

and, if someone's enjoyment stems from changing a mod dev's vision for something, then it's up to the mod dev to allow it, not the user

#

remember you're not entitled to a mod

safe wedge
#

can we speak for zeekers or for any game developer in saying that we havent done harm by releasing thousands of mods for the game and replacing coilheads with peter griffin?

#

there's no difference between modding a game and modding a mod

summer moon
#

because cross mod compatability is a fragile hot egg that can burst at any moment

#

the only difference is modders hopefully slightly know what their doing to the extent that if they break stuff it's on them

#

users shouldn't be able to access every setting

prime garden
#

it sucks for vanilla players but LC modding ruined so much

safe wedge
#

sure, mods shouldn't provide settings for everything. just like how a game shouldnt provide settings for everything. LC does not provide settings for changing spawn rates, rebalancing mobs, etc. so when a user wants to change something about the game, they add a mod to do so. if the thing they tried to mod then breaks in some way then they must understand it was in some way because of the mod they added, not the fault of the game. the same logic applies to a mod modding a mod. if a mod modifies another mod and causes incompatibility, it's the fault of the mod modding the other mod, not the fault of the original mod. so there is no harm being to the mod developer

summer moon
#

absolutely

#

which is the problem

prime garden
#

keep in mind we also have zeekerss' consent to mod

#

like we NEEDED that consent

#

to publish the mods etc

summer moon
#

any log i get with this mod installed i have to ignore because of how much it can fuck with stuff

#

it's just too unviable to look into

summer moon
safe wedge
prime garden
# summer moon not really

i think theres a pin in #dev-general or #modding-general that says he gives permission, but i could be misremembering

summer moon
regal dirge
safe wedge
#

based

summer moon
prime garden
summer moon
prime garden
#

caused by mods though?

regal dirge
summer moon
#

i dont know how to phrase it correctly so i dont mean offense but like

#

i think that is a stupid response

prime garden
#

just because they're not explicitly in this community, doesnt mean that modding has not ruined the vanilla experience heavily via cheaters

summer moon
#

no i think it does mean that

prime garden
#

you dont think this community/other modding lc communities at all contributed to the popularity and rise of anyone who ever made a cheat mod and abused it?

summer moon
#

modifying a game is a very generic action, like swinging a hammer. you can hammer in a nail or kill someone with said hammer. modding != hacking

safe wedge
#

anyone who plays in public lobbies of a game that doesn't have server authoritative logic has to understand there will be cheaters

summer moon
#

imo if the modding community was dead there would still be hacks and/or cheat mods

prime garden
summer moon
#

it's not the same community

prime garden
summer moon
#

yeah because the game wouldnt be as popular

safe wedge
#

so modding has created a problem and also its solution

summer moon
#

fuck us for making stuff that gets used lmao

prime garden
#

no because modding wouldnt be as popular lol

summer moon
#

I genuinely don't think that is actually relevant

#

people who make cheat mods and stuff like that aren't learning it from here that shit is well established

prime garden
#

that's completely false, a lot of the people who make cheat mods etc get HOW to do it from guides and wikis in here, been proven by the hundreds+ of removed mods on thunderstore

#

im not saying all, but a lot do

dusk shore
#

I think that if you're playing on a public lobby on any game you should always expect cheaters and (if possible) mod your game accordingly to reduce the likelyhood of it happening

proud needle
prime garden
#

the first thing i expect is that the devs dont leave cheat information not secure lmao

dusk shore
prime garden
dusk shore
#

and again it'll always happen on any game

safe wedge
# summer moon sure but when a popular mod makes it unviable for the author of the custom conte...

if the mod is popular then it must be meeting some needs of the users. if I were the content developer I would consider it a sign that the content being modded (LLL / its moons) is lacking some features that a lot of users need to enjoy the content. otherwise they wouldnt use the mod. I think its wrong then to deny a player the right to make their own game more enjoyable through external means while also declining to implement the feature in my own content. if the concern is that the mod makes it harder to debug the content and so many players need the features added via the mod, then I would either implement the features into my own mod or, if unwilling, accept that debugging will be harder for people who use the mod

dusk shore
#

nobody says minecraft's vanilla was ruined by the modding community just because anarchy servers exist

prime garden
prime garden
dusk shore
#

any online game will have cheating, you deal w it by implementing counter measures yourself

#

or yknow, playing with your friends

prime garden
#

LC is a bad example, it is setup horrible that you need counter measures, most games will have an anti cheat setup for these scenarios, which arent perfect but are a helluva lot better

dusk shore
#

yeah, there's also no report feature afaik, right?

#

by that logic it's vanilla's fault that it there's a lot of cheating going on, not the modding side's

prime garden
#

yeah, LC is absolutely easy as hell for cheaters, as long as you're given a short guide anyone can do it

#

which a very popular guide does that was shown off here and youtube

dusk shore
#

i don't really care cuz I don't play public! so that's all I have to say on the matter :P

prime garden
#

but yes, this game's vanilla is very unsecure

summer moon
#

not all content has to cater to all users

#

it's great to get feedback and opinions forsure but sometimes its just like

#

naur

prime garden
#

the conversation got derailed but I still think if you dont have the mod dev's consent, you shouldn't be allowed to change something they don't want you to change, it's not an intense philosphy

prime garden
#

this isnt to say there arent mods that do those changes

prime garden
summer moon
#

my issue isn't devs messing with mods

#

it's users

prime garden
#

im confused then, whats ur issue with what i said

summer moon
#

my issue isn't consent it's experience

prime garden
#

oh then that's stupid (imo)

safe wedge
#

yeah I agree. I'm not saying you should implement every feature that CC implements. just like how I wouldn't say zeek should add an option into LC to replace coilheads with peter griffin. but some users want to do it so they add a mod, and its their responsibility to understand the consequences if the mod breaks the game, not zeek's responsibility. it's the same thing here.

summer moon
#

i agree

#

which is why i think a mod like this adding settings exposed for users for so many details of content is them either not understanding the consequences or understanding them and doing it anyway

safe wedge
#

yes

summer moon
#

imo this community has abit of a problem with expecting configuration for every aspect of every mod

#

not used to being told no

safe wedge
#

agreed, many gamers have entitlement issues

#

the difference here is that you are proposing the mod creator say no due to a principle of protecting mod creators from some kind of harm that changing a moon's name would bring rather than just that the specific mod creator doesn't want to do it. or in other words, if the creator here said no and someone else decided to make the mod themselves you would tell them the same thing you've said here. so now it's not an issue of expectations or someone being told no by a creator, its an issue of is a theoretical mod functionality morally correct to begin with. and that's where I disagree with you. I think if a player wants to change a moon's name it should be their choice to do so given that they accept any of its consequences, and its not the duty of mod creators to protect users from themselves

summer moon
#

and its not the duty of mod creators to protect users from themselves
I personally disagree here. it's why children's toys can't have any pieces small enough to swallow. I don't think users do understand the consequences of changing stuff which is the exact issue

safe wedge
#

the difference is that children are not physically / mentally capable of protecting themselves, but people who use mods are. and also that there is no real damage to be done via mods

summer moon
#

You vastly overestimate users

and also that there is no real damage to be done via mods

imo if a user can break your mod then you've fucked up somewhere

safe wedge
#

yeah, if changing a moon name can break something then the mod doing the name change has made a mistake

summer moon
#

ok so this is the part where this example gets abit weird

#

because you should be correct (and you are). But it's not as clear cut in reality and afaik a fair few mods get it wrong

safe wedge
#

I'm sure it's stupidly complex and has ramifications throughout the game. this is LC in a nutshell

summer moon
#

for abit of context in base LC the list of moons in the terminal isn't done in programming at all

#

it's literally like a single string in a gameobject somewhere

#

with the new line spaces manaully done

#

LLL re does it all to be data based

#

but yeah tldr users are lemmings and in lethal company every part of the house is a rusty nail

safe wedge
#

that's all implementation details. from a principle perspective, if CC wanted to implement moon name changes, it would be CC's duty to ensure the moon name change is done correctly, no matter how complex that task may be, and if CC's functionality is popular enough to where it makes debugging from LLL's / moon creators' side more difficult, then LLL has the options of either implementing the name change feature itself or rightfully telling users its not LLL's problem

safe wedge
desert hamlet
summer moon
#

It’s not specific to you

desert hamlet
summer moon
#

A person is smart
People are stupid

desert hamlet
#

tbh I was gonna do some dumb things with it anyways

lilac sorrel
#

I'm not reading all of that

lilac sorrel
#

I can't say how LLL works in specific but I do know that CC uses very stable integration where is its almost impossible for something to not work as intended
The only time there is ever an issue is when somebody misreads or misuses something

#

desyncs are definitely possible if people are using different config files tho (which is why I recommend using the same config)

#

The only issue I can think of that may exist right now would be weather desync on day 1 but haven't tested it

#

One person said that traps are desynced which would suck I don't change any code, I would hope the vanilla/libraries code for handling spawnableMapObjects would be synced and use rpcs without me having to add networking to them

desert hamlet
lilac sorrel
#

I misread they as tag and was so confused

#

I leave most of the syncing up to LLL

lilac sorrel
#

Update {0.12.0}

  • Added ~Shufflers~ settings for scrap and enemy pools.
    -Can be enabled for enemies (all pools), scrap, or both enemies and scrap.
    -This setting increments a value tied to each enemy/scrap every time that the enemy/scrap was in the current day’s enemy/scrap pools but did not spawn.
    -When constructing the current day’s enemy/scrap pools, it will increase that given enemy/scrap’s rarity by its respective value mentioned above.
    -Before being added, the value is multiplied by a random value (range is configurable, default: 0-2).
    -Each enemy only has one value attached to it, not one for indoor, day, and night. If that enemy was in the current predicted indoor, day, or night pool, the rarity increase will be applied to it where it is.
    -Full order of operations is now:
    Default/Overridden moon-tied enemy/scrap pools -> Big List replaces that if true -> Global enemy replacement then enemy addition and scrap addition -> Current weather enemy replacement then enemy addition and scrap addition -> Tags (alphabetical order) enemy replacement then enemy addition and scrap addition -> Current dungeon enemy replacement then enemy addition and scrap addition -> Remove duplicates -> Apply ~Shufflers~ rarity boosts -> Use the new enemy/scrap pools.
    -You can toggle whether the rarity boosts are only created and exist in this session or if they are committed to the save file and loaded on joining.

  • Log Current Enemy Tables? is now Log Current Enemy/Scrap Tables? and can be found under ~Misc~.

  • Removed unnecessary logging and host-driven logging now occurs only on the host.

  • Fixed weather desync between host and clients on the first day.

  • Fixed global scrap not being applied.

#

I also did a lot of testing and can confirm that the enemy pools/scrap pools/trap selections/and dungeon (selection and size) do NOT have to be synced as it is all decided solely by the host

#

I tried to add modded trap support but LL integrates modded traps strangely so they aren't really SpawnableMapObjects

#

and therefore lack the ability to set curves per instance of it attached to a moon

stone depot
#

For scrap lists, they use the items name, not its id, right? So what happens when two items have the same name?

lilac sorrel
#

they it would get the first registered

#

ideally names shouldn't repeat

lilac sorrel
#

Anyone have any issues in multiplayer where the clients cannot leave ship?

#

I ran into that issue and belive its from this mod but no one else has reported that before

lilac sorrel
#

Found the issue, Rename Celest causes an issue with WeatherRegistry

proper canopy
#

always the most random

lilac sorrel
#

BUT this actually doesn’t happen in lethalcosmos but it’s definitely related

#

Must be another mod also doing a something as well

lilac sorrel
#

Update {0.12.5}

  • Analyzed each settings to determine what needs to run on clients and what only needs to run on the host.

'Host Only' Only runs on the host and is synced by
-Every enemy spawning setting (Moon specific enemy pools/big list, moon power counts, global/weather/tag/dungeon enemy injection/replacement, Free Them/scale enemy spawnrate/accelerate spawning, and remove duplicate entries/keep lowest rarity instead/always keep zeros).
-Every scrap spawning setting (Moon specific scrap pool, moon scrap counts and multiplier, global/weather/tag/dungeon scrap addition, weather applied scrap value and count multipliers).
-Also dungeon selection, all the shuffle related settings, the day 1 seed, and traps

'All Players' Needs to be synced between all players (and runs on everyone).
-Dungeon safeguards, its retry counts, and the dungeon size settings (All of them, moon applied size as well). Or else dungeon desyncs from being a different size.
-General, time related and misc moon settings.
-The scan node and fine settings.
-Accurate Clock (some mods hook into its tick time like LethalRegeneration).
-Rename Celest?

THE GENERAL SETTINGS WILL BE DEFAULTED
I have the keep orphaned true by default for now to prevent data loss, I still highly recommend you back up your config file.
After you boot up the first time and get the update settings, re-enable any general settings you use, reboot and all the foreach settings should be adopted so you can disable keep orphans.

  • Fixed a really weird specific issue with WR caused by Rename Celest?

  • Added important info at the very top of the config file as a null entry

#

I'm working tomorrow but keep me updated if there are any buggies, I tested it and everything worked other than learning dungeon size isn't rpced 😔 so dungeon size does need to be synced

prime garden
#

so... are people expected to now use Celeste in all mods that have a config when CC is installed? there's probably better solutions than renaming a moon

lilac sorrel
#

Shouldn’t be, not many mods look fur the numberless name

#

The only alternative would be adding a bunch of extra checks to all methods to work backwards to get the level from the name which also won’t work since it would still get mixed up any time the name is accessed

#

Basically there would be no way to differ them or step back to other properties due to the name being the only accessible parameter

prime garden
#

numberlessname is the standard, atleast for enemies and items

#

@heady arch any ideas here?

safe wedge
#

What is the reason for the rename celest config? Is it aiming to solve some sort of conflict with celestria or whatever the other moon is called? to me it indicates a core design problem somewhere that this would even cause a conflict at all, and changing celest to celeste is a band-aid fix at best and just trading one problem for another at worst

lilac sorrel
#

How does that create another problem? It’s opt in and if you are using CC you are likely setting anything that would be accessed there

#

People complain about item name overlap as well but there are so many

safe wedge
#

that's true but it means that you must use CC to go through every single moon item and monster config instead of being able to sometimes just add a monster to the modpack and use its default values

#

my point was that CC shouldnt even have to do this

#

its a problem with how monsters and items are configuring their spawn rates or how LLL is registering those configs

#

unless if it is a CC problem, idk

lilac sorrel
#

Ideally names should act as unique identifiers otherwise mods that use or contain the same names for things will be soft incompatible

#

Like if enemies start duplicating names like Flower that would be really bad

#

So yeah it should be handled by devs themselves where if someone brings up that there is an name mismatch ones gotta change it or they won’t work together (unless if you don’t care about config settings)

#

People seem to take those issues to me instead, not sure why

prime garden
#

idk who took the issue to you but u shouldnt have/be changing a moons numberless name globally owo_think

lilac sorrel
#

Yeah probably not, I use equals as well with the names

#

Don’t know why equals still picks up both

#

My methods take in the string from config and compares it to all levels where it see if the split string part equals this moon from the level until it matches

#

Maybe I should rewrite it with direct indexing like replaceenemies uses

summer moon
#

direct indexing?

lilac sorrel
#

Uh like defining the split() index parts

#

So I can define the first as string PlanetName and second as int rarity

#

Maybe equals will work better with PlanetName

lilac sorrel
#

Update {0.12.6}

  • Rewrote a lot of the helper methods for fun and sanity.

Most of this isn't super noticable to players but notably..

  • Because the methods now split apart the input string into the exact needed pieces and define them all, I can relate objects to one another directly with full equivalency. This should elimate the issue of names containing other names getting confused. The only exception being Dungeon Matching by Planet Name as LLL's handling confuses moon names on its end.

  • Added breaks to the parts of code where it is checking for a specific thing, once it finds the thing is stop looking for it saving a lot of time.
    To give some math lets say you have 200 items and you want to find all and every, that will be 200^2 = 40,000 attempts. With a break, it will stop once it finds what it will need and therefore be 1 + 2 + 3 + 4.. + 199 + 200 = 21,000 effectively making the method take half the time it used to.

  • When reading a config entry for enemies, scan node names (Bracken, Snare Flea, Barber, Old Bird, Spore Lizard, etc) are also recognized and assigned to the matching enemy. This does not work for ReplaceEnemies.

Between this and the last patch, loading into a lobby and loading in a new level will be significantly faster, especially as a client.

strong perch
#

Is "All:" a valid tag we can use to assign interiors?

lilac sorrel
#

I don't believe that is a tag but you can do vanilla:x,custom:x and that will add to all levels as LLL hand applies vanilla to the vanilla levels and custom is automatically applied to all LLL registered moons

#

I'm lazy so I just have vanilla:10,custom:10 on all modded interiors in my pack 💀

strong perch
#

Why are they in the blacklist by default?

lilac sorrel
#

because its a whitelist by default

#

also thats just for adding enemies or scrap

#

all tags still exist

strong perch
#

Ah ok

#

And the reason it didn't work is because I'm dumb, I had the tag put in the moon names list

lilac sorrel
#

oopsies

lilac sorrel
#

Update {0.13.0}

  • Added blacklists for scrap/enemies under ~Shufflers~. Entries here will never be incremented by the shufflers.

  • Added a setting to remove 0 rarity scrap/enemies right before a shuffler runs. This allows 0 rarity to continue to function as an override to remove scrap/enemies from specific moons, weather conditions, or dungeons without contributing to the shuffler day count.

  • Added the registry list from LethalBestiary, enabling support for SCPs 173, 966, 1507, and 3199, as well as the Nightmare Freddy and Foxy mods.

  • Manually added support for Diversity’s Walker, Kittenji’s Football enemy, and Nomnom’s Rolling Giant.

The mod uses a list of EnemyTypes to match enemies from the config strings to actual enemies, similar to LLL’s own config. CC already included the LLL and LL registration lists, covering the majority of enemies. Any specific enemies not recognized by this mod will need to be manually added as soft compatibility. Just hit me up if you see one you want added.

  • Loosened the requirements for string config arguments. Capitalization and special characters (including spaces) no longer matter. As long as the correct letters and numbers are in the right order, the config will work. For example, scp966,scp999,scp049,scp956,scp3199 will now be accepted instead of needing the stricter SCP966,SCP-999,Scp 049,SCP-956,scp3199.

  • Patched a string format bug where values meant to be integers (typically rarity arguments) would break the game if they weren’t numbers. Now, non-numeric values default to 0 and continue. For example, Walker:,, Walker: ,, or Walker:NotANumber, will all default to Walker:0,.

  • Redesigned how scrap multipliers are calculated. A multiplier is now set to 0.4f (vanilla) and then multiplied by the moon’s scrap multiplier (if it exists) and the current weather’s scrap multiplier (if it exists). If you aren’t using scrap injection by weather and have WeatherRegistry installed, it will use the config from that mod for the current weather.

  • The rarity range for the config has been changed from 0 - 99999 to -99999 - 99999, allowing shufflers to pull rarities from the negatives.

  • The AllEnemiesList and AllMoonTagsList are now constructed only once, significantly reducing load times.

  • The weather DustClouds is now blacklisted by default due to not functioning as a real weather without a mod to change it.

  • Added more checks to the shufflers’ dictionaries to handle cases where both dictionaries are empty.

proper canopy
#

W

ivory galleon
#

hey @lilac sorrel, i have a question. ive been getting to know your mod and it's potential to modify nearly everything and so far i've loved every bit of it. however, im a little confused on some config syntax, and hope you'll be able to help me.

for some inputs, i've noticed that there's a number associated with each value with both be separated by a colon. what is this number? is it important to include when i modify things? below are some examples of what i mean. id love some clarification, thank you!

lilac sorrel
#

that is the rarity

#

most of the settings are rarity pools

lilac sorrel
#

If u don’t use it it will have a rarity of 0 in which case it doesn’t do anything

lilac sorrel
#

Fix {0.13.1}

  • Fixed blacklists not being read correctly.
stone depot
#

For some reason my config keeps getting reset to default. Luckily I have a backup, but each time I replace it it gets reset

lilac sorrel
#

are you opening the main menu then closing the game without opening a lobby?

stone depot
#

I forget. I'll try opening a lobby and see

#

@lilac sorrel ok I went to a moon and the config is reset

#

didn't open it with anything beforehand

lilac sorrel
#

Did you disable the setting it would generate for?

#

Are there any settings you expect to see?

#

Update {0.13.5}

  • Added a new setting for each shuffler, you can have the RandomValue be a percent increase instead of a direct addition.
    False: Rarity += DayCount * RandomValue
    True: Rarity *= (DayCount * (Randomvalue/100)) (rounds to nearest int)
    -Note that the percent increase bound to the original value, not the current value. It is not compounded.
    For example a +100% would be +100%, +200%, +300% +400%, not +100%, +300%, +700%, +1500%

  • Added shuffler settings for interior selection.
    I know a mod has a similar function but this works the same way my other shufflers work.
    -The dungeon weights are never decreased, they cannot go below their default value.
    -The dungeon weights are not unaltered to begin with, the dungeon selection settings from either this mod or any other mod will be left with their values before temp boosts are applied over time.
    -The value increases by a random range. (default: 0-20% increase per day)
    -The shuffler is commited to the save file as long as the shuffle saver setting is true, it will pick up right where it was when the host disconnects/rejoins.
    -Known "issue" - the simulate weight pools are not boosted for clients. This is only visual however since the host selects the dungeon.

  • Added setting Rollover Zero or Less - If set to true, entries with a rarity of 0 or less will always increase linearly instead of by percent. This setting has a very specific use, enemies or scrap with a negative rarity will gradually increase until they become positive, effectively creating a minimum number of days between their appearances on that level. (This setting is that that function is compatible with the percent increase)

  • After shufflers multiply rarity they are now clamped. Direct addition clamps between -99999 and 99999, percent increase clamps between 0 and 99999.

#

I should eat now its almost midnight

haughty skiff
#

What's are differences between this mod and lethal company variables?

lilac sorrel
#

never heard of lethal company variables, I doubt it could be much similar

#

? {0.13.6}

  • forgor to remove the really thick debug lines.
haughty skiff
#

Am hoping to find an alternative for now cuz it's kinda annoying to work with sometimes (and it's buggy 😭)

stone depot
#

Oh wait. When you updated to 0.12.5 I think you renamed some configs and it set them back to false and deleted the generated configs. I fixed that but I think I forgot to put that in my backup? Let me try that

lilac sorrel
#

I put there that it will happen as I added sync info on them

haughty skiff
#

What r some config things with the enemies cuz that's what I mostly like to mess around with (like enemy power and what enemies can spawn on what moons)

lilac sorrel
#

yeah those are in it

haughty skiff
#

Alright

#

Also what are rarities for enemies? (The remove duplicate enemies)

#

Am kinda confused on that lol

haughty skiff
lilac sorrel
#

You could have a bracken with a rarity if 79 and a bracken with a rarity of 33 in the spawn table

#

Especially so from how this mod lets you add/replace enemies globally, based on level tags, current weather, and/or current dungeon

haughty skiff
#

So does enabling the setting to choose the least rare duplicate instead of the most rare duplicate change anything?

lilac sorrel
lilac sorrel
haughty skiff
#

But like what would that change

#

Besides choosing

#

The less rare

#

Like gameplay wise would it change anything?

#

Or is it just for the statistics or whatever lol

#

The funny numbers

#

Cuz am dumb so like uhh

#

I need to know 😄

lilac sorrel
#

Like if duplicate entries didn’t share max counts or more likely, it just means that enemy is more common than expected

#

Like if it’s two brackens with a rarity of 75, bracken will really take up 150 tickets which may be unwanted

haughty skiff
#

Yeah confusing lol

#

Just tell me if u recommend it or not lol

lilac sorrel
#

It’s all math, the mod has a bunch of math

haughty skiff
#

Alr

#

If I have questions about any of the other settings I'll have u explain it in a way to where I still won't understand it 😄

lilac sorrel
#

I can keep trying, don’t have to worry about a character limit here (for the most part)

haughty skiff
#

Does dungeon selection override just let u choose the chances for the interiors?

lilac sorrel
#

Yes

haughty skiff
#

So I can make 99% mineshaft for vow again 😄

lilac sorrel
haughty skiff
#

So idk any of that stuff

#

Anyways alright 👍

lilac sorrel
#

Ah ic, you’ll just have to get used to the syntax I use

haughty skiff
#

What's syntax?

lilac sorrel
#

Particular way something is meant to be written

haughty skiff
#

I'll figure it out lol

#

I found a spelling error

#

It says enable scrap injectiom and not injection

lilac sorrel
#

Damn 😔

haughty skiff
#

Also what does scrap injection and enemy injection mean

#

Is it just fancy talk for

#

Changing enemy spawn chances?

#

And scrap spawn chances

#

Or is it so u can make some items exclusive to a certain interior

#

I feel like I'd love that 😄

haughty skiff
lilac sorrel
#

Like Flowerman:Aloe would replace the bracken with the aloe from biodiversity (if biodiversity is installed)

haughty skiff
#

And adding

lilac sorrel
#

Thats one of the main uses but any enemy works both ways

haughty skiff
#

That's cool 👍

lilac sorrel
#

Like you can do RadMech:Butler in the Night pool if you want night butlers

haughty skiff
#

Wait wrong uh thin

#

Ignore me

lilac sorrel
#

You need starlancersaifix if you don’t have it already of course

#

To change their nav nodes and such

lilac sorrel
#

Oh it’s really helpful, let’s indoor enemies be outside and vice versa

haughty skiff
#

Plus I don't rly like those types of mods anyways

#

I'm pretty sure everybody has to have LLL right?

#

For the uh mods to work

summer moon
#

Yes

haughty skiff
#

Kk

hot slate
#

Did the bug with custom moon descriptions being cut off ever get fixed

lilac sorrel
#

haven't played with font size before

hot slate
#

Rip

lilac sorrel
#

Update {0.13.7}

  • Fixed percent increase for shuffler, it now calculates correctly.

  • Kept in the shuffler logging for remembered keys on rejoin.

lilac sorrel
#

Fixes {0.13.8}

  • Redid the shuffle randoms to avoid repeating digits.

  • '~','-',':', and ',' are ignored in enemy/scrap names when getting default tables.

  • Divorced Scrap Lists from the other scrap settings. THIS WILL RESET YOUR SCRAP LIST IF YOU DON'T KEEP ORPHANS.

#

Everyone make sure to note the warning, just keep ophans, update and boot, then set the lists to true

wicked bloom
#

Is everything disabled by default in the config? I wanna use this mode specifically for one monster but I'm afraid of breaking all my existing LLL config 😅

#

Seems like there's a lot of feature I may want to usein the future, but I'm starting small :O. Those shufflers are cool

lilac sorrel
#

Personally I would use the enemy settings here over LLL’s config since that only supports 3 modded enemies

wicked bloom
#

Yeah well I already configured all my enemies through their own config. Only one that I couldnt was scp3199. I'm fine with the custom enemies having a "overall" spawn rate for now at least

lilac sorrel
#

Yeah 3199 is LB

wicked bloom
#

I've set that

#

Am I correct in my assumption that it will lower the scp3199 spawnrate to 15?

lilac sorrel
#

If it’s their lowest injection, yes

wicked bloom
#

Yeah, their "normal" injection is 40

#

And I havent set this up anywhere else

lilac sorrel
#

Ok yeah keep small rarity duplicates will only use the 15

wicked bloom
#

Perfect

#

might move every enemy setting to Central config in the future 😂

lilac sorrel
#

It’s let’s you be very specific, personally I just add everything globally on top of the default pools and shuffle them up 1-3 lol

wicked bloom
#

Does the shuffler handle the "one scrap types" day correctly?

lilac sorrel
#

Matters what you mean by correctly

wicked bloom
#

I mean do they spawn only one type of item on those days? Or does it get shuffled and overrides it haha

lilac sorrel
#

I’m just changing rarities so it shouldn’t prevent it

#

Have to read the code for it myself

wicked bloom
#

idk how it works either

lilac sorrel
#

The shuffle doesn’t change what can spawn, only increases rarity for them if they could spawn but didn’t

strong perch
#

How to do I assign interiors for moons with a hyphen in their name like Fission-C

#

I tried both "Fisson" and "Fission-C" and that didn't work

chrome kettle
#

Include the hyphen

#

Fission-C

#

Asteroid-13

strong perch
#

Doesn't work

chrome kettle
#

Works in my pack🤔

strong perch
chrome kettle
#

Slightly on topic, @lilac sorrel how do moon names with hyphens work for big lists? It seemed fine when I played on fission but I keep my spawns pretty close to the defaults so I might not have noticed it broke

chrome kettle
# strong perch

I'll be on my PC in like 20-30 minutes, I'll post a screenshot of mine. It did work a couple of weeks ago at the very least😅

strong perch
#

Maybe something broke recently

chrome kettle
strong perch
chrome kettle
chrome kettle
#

Yup there seems to be a problem lol

#

@lilac sorrel Seems like moon names with hyphens don't get interiors assigned correctly anymore

#

just landed three times on Asteroid-13 to double check that it wasn't the simulate command having the issue. I got facility three times in a row when it has one of the lowest weights on that moon in my pack. Safe to say it's CC

ivory galleon
#

is there a way to adjust enemy spawn rates so enemies spawn sooner in the day? something similar to the ability to set the spawn curves in lethalquantities

lilac sorrel
#

Scaleenemyspawnrate and accelerate spawning

lilac sorrel
#

assuming this wasn't always the case that is

#

@chrome kettle can you confirm it worked in the last patch?

chrome kettle
orchid beacon
#

@lilac sorrel When I load into a game it wont generate the config files

lilac sorrel
#

did you load into a lobby staringeyes

#

do you expect anything to load?

orchid beacon
#

I did it 4 times

lilac sorrel
#

are you sure the have the mod and its deps?

#

if the config file in general doesn't get made then I imagine you are missing csync, LL, or LLL

orchid beacon
#

yes

lilac sorrel
#

do you have a log?

orchid beacon
#

yeah give me a minute

orchid beacon
lilac sorrel
#

There are no errors

#

are you looking in the right spot for the config?

orchid beacon
#

what is it called

lilac sorrel
#

are you in files or a launcher

orchid beacon
#

launcher

lilac sorrel
#

it should be CentralConfig

orchid beacon
lilac sorrel
#

yeah thats the config

orchid beacon
#

but it still has the old stuff

#

thats not the generated thing

lilac sorrel
#

wdym

#

do you have any settings enabled?

ivory galleon
lilac sorrel
#

yeah, if you understand the curves, it doesn't reshape them, just scaleenemyspawnrates stretches the y axis and accelerate spawning squishes the x axis

#

the first is automatic and determined by the max power count compared to its default, the other is a float

#

Fixes {0.13.9}

  • Added checks to keep host methods only on the host, optimizes the clients better since they don't need shuffler data, etc.

  • Fixed dungeon matching by planet name not applying for moons that have special characters.

  • Fixed the ~Big Lists~ being unable to work with moons that have special characters.

orchid beacon
lilac sorrel
#

can you give me the .cfg file?

orchid beacon
#

sure

chrome kettle
chrome kettle
orchid beacon
chrome kettle
#

You don't have any settings that allow you to change things enabled

orchid beacon
#

I thought those were just extra things

chrome kettle
#

Read the descriptions my guy

orchid beacon
#

which ones do I do to make it so I can customize scrap per moon and monsters per moon

chrome kettle
#

enable scrap overrides and enable enemy overrides in the moon section

#

Did you even look at any of the settings?

orchid beacon
#

yeah but it was confusing

chrome kettle
#

If you want to edit the scrap lists you'll need the scrap list override enabled

#

If you read the READ THIS in the top of the config it explains everything pretty well

orchid beacon
#

oh let me test it now then

orchid beacon
#

@chrome kettle I got it generated but I got this

[23:22:59.3035111] [Error  : Unity Log] Exception: Dungeon Generation failed.
Stack trace:
CentralConfig.InnerGenerateWithRetries.Prefix (DunGen.DungeonGenerator __instance, System.Boolean& isRetry) (at <0fb1d82f1200499599fe6d40455e4aad>:IL_03BA)
(wrapper dynamic-method) DunGen.DungeonGenerator.DMD<DunGen.DungeonGenerator::InnerGenerate>(DunGen.DungeonGenerator,bool)
DunGen.DungeonGenerator+<InnerGenerate>d__94.MoveNext () (at <d2996142fa1d46369fdcffced906545b>:IL_0336)
UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <e27997765c1848b09d8073e5d642717a>:IL_0026)

[23:22:59.3455449] [Error  :UnityDebuggerAssistant]

--- Exception Handler ---

Exception Caught: System.Exception
Assembly: CentralConfig

  Plugin Info
    GUID:     impulse.CentralConfig
    NAME/VER: [email protected]
    LOCATION: \plugins\SillySquad-CentralConfig\CentralConfig.dll

Message: Dungeon Generation failed.
Source: CentralConfig

  --- Begin Frames ---

  --FRAME 1:
    In Assembly: CentralConfig
    Target Method: InnerGenerateWithRetries.Prefix

  --FRAME 2:
    In Assembly: Assembly-CSharp
    Target Method: <InnerGenerate>d__94.MoveNext

  --FRAME 3:
    In Assembly: UnityEngine.CoreModule
    Target Method: SetupCoroutine.InvokeMoveNext

  --- End Frames ---

--- End Exception Handler ---
chrome kettle
#

Should probably ping @lilac sorrel for that one, not me XD

orchid beacon
#

woops

#

wrong person mb

#

@lilac sorrel

chrome kettle
orchid beacon
lilac sorrel
#

Hm

#

Could have to do with the selected interior but I’m not sure

#

The log really just says dungeon generation failed because it failed

#

The full log would show more, you could’ve just shrunk it too much

small mortar
#

@lilac sorrel Small bug I ran into, setting the Moons list to a whitelist seems to also affect the Dungeon List

lilac sorrel
#

fixed it

small mortar
#

👍

small mortar
# lilac sorrel fixed it

I didn't know Free Them bypasses vent spawns, testing that setting and having a big eyes spawn on top of me suddenly was horrifying lol

lilac sorrel
#

oh that makes sense but I didn't know that lol

weak shore
#

im unable to load into the Black Mesa moon by PlasteredCrab

#

every other moon works fine

small mortar
#

they can cause issues

weak shore
#

thanks, ill give that a try

lilac sorrel
#

it has a high chance of not loading

chrome kettle
lilac sorrel
#

it hasn't occur with any other interiors so far

chrome kettle
#

It generates just fine without the safeguard tho is the thing. Maybe it's best to blacklist Black Mesa from the safeguard for now

small mortar
#

That way if you know a certain interior doesn't play nice

#

you can blacklist it

chrome kettle
#

Yeah that honestly sounds like the right way to go

small mortar
#

Idk if they might conflict and I don't wanna risk it hehe

lilac sorrel
#

they do different things

lilac sorrel
amber charm
lilac sorrel
#

well the 1/7 fails is not a real fail

amber charm
#

I can only suspect something is trying to get Black Mesa to generate more than it usually does causing DunGen to fail too many times

lilac sorrel
#

the issue to me at least isn't neccarily that black mesa has a minor chance of failure to load but that now 2 players have had it fail AND not been able to generate a safeguard

#

I cannot replicate such an issue

amber charm
#

I think I am confused on what the issue is assumed to be as I haven't heard of any issues of my interior generating at all thinkfusing

#

Did those players show what other mods they had?

lilac sorrel
#

nope

amber charm
#

iirc HD Lethal can cause issues that can be similar to that

#

I don't think it is an issue with my interior generating itself personally, I has a suspsicion that it is another conflict elsewhere

lilac sorrel
#

this is updated in the catch and if (Defaulted) then I don't run any of the code that can lead to the exception so idk if something messes with threading or what

amber charm
#

Yeah I have no idea, only thing I can think of is some conflict they have that exists

#

would probably help to know what their modlist is

#

My moon/interior is in modpacks of like 200+ mods and it loads just fine for them 100% of the time, so it must be something really silly

lilac sorrel
#

the main reason people point towards me is that disabling a setting fixes it but like, it works just fine, it must be something else

#

I could possibly think its an ambience thing since i noticed the now arriving audio plays earlier then I would expect but it didn't error there either

amber charm
#

Yeah I am not sure :/

lilac sorrel
#

could also be another mod changing the default facilities data/name which causes it to not be saved and thus the interior is null

#

cause I save it in a silly way

lilac sorrel
#

Update {0.14.0}

  • Added new _Enemies_ setting Flatten Enemy Curves?:

    • If true, all enemy’s personal spawn curves become 0,1 -> 1,1.
    • This makes the rarity pool the only factor in deciding which enemy to spawn when the pool is called to spawn one.
  • Added enemy multipliers for each time/type on global, tag, weather, and dungeon enemy injection settings.

    • Used alongside Add and Replace Enemies.
    • Flowerman:2 under the interior enemy multiplier under the mansion dungeon would make brackens have double rarity when the mansion is selected.
    • This is similar to how the Maneater is 1.7x more common in the mineshaft.
    • Floats/decimals are acceptable here, MouthDog:0.33 on the night enemy multiplier under the foggy weather would make eyeless dogs 3 times less likely to spawn during foggy weather.
  • The order of enemy operations is now configurable under _Enemies_ (Default: add,multiply,replace).

    • These are the same operations used under global, tag, weather, and dungeon injection settings.
    • If you change the setting to multiply,replace,add it will now multiply first then replace enemies then add new enemies.
  • Changed how scrap is determined to have been spawned during the last day as opposed to being on the ship (For Scrap Shuffler):

    • This fixes some funny items not getting their day count reset correctly after spawning (toy hammer, scp427, and gnome to name some I observed).
  • Moved tag injection settings to be before weather (Now it’s Tag -> Weather -> Dungeon on landing).

  • Duplicate tags are only read once per moon.

  • Moved more host-only settings to only running on the host.

  • Improved how enemy names are read in some methods.

  • Added a gap between the enemy and scrap table logging for easier viewing.

  • Organized some code to be easier to read and find usages of methods.

  • Fixed tags not being added to the config correctly.

  • Fixed Dungeon list reading the moon blacklist/whitelist.

  • Silly typo fixes.

I tested the fuck out of the dungeon safeguards and it works just fine even in multiplayer or with black mesa / on the black mesa moon.

It must be a specific mod incompatibility, if you have the issue again please make sure to send me the full log and profile code.

tawdry heath
#

I got a weird thing that happened when I was trying to play with a few friends today. 2nd round and no scrap or inside enemies spawned on offense. Coincidentally these are also the only two configs that I set using custom tags. I emptied the scrap+inside configs on expirementation, assurance, and offense so I could set all three's at once using a custom tag "tier1" Here's the code:
01922bd9-2533-ed62-a5c1-1c59ca72af7a

#

For now I'm going to go back to setting all of them individually, but I would like to be lazy so tell me if I did something wrong

lilac sorrel
#

your config file looks really weird

#

Oh I think you never moved to the new entries

tawdry heath
#

Mb I haven't cleared the orphaned entries in awhile

#

?

lilac sorrel
#

yeah orphaned entries don't do anything

tawdry heath
#

I just thought that's what looked weird, is it something else?

lilac sorrel
tawdry heath
#

I use Gale so I haven't had to look at them for awhile

lilac sorrel
#

those red ones don't exist, the blue are the actual config entries

tawdry heath
#

That would explain a few things...

#

Maybe I should wipe them rq

lilac sorrel
#

yeah but make sure you copy over your settings

tawdry heath
#

I will, I haven't generated a new file since before 0.9.5

#

Maybe further

wicked bloom
#

Btw I also got the thing where black mesa won't load after I added CentralConfig. Have not investigated further. Might be another mod in the mix. Will try to look into it.

lilac sorrel
#

must be

#

I think its a threading issue, some mod changes how the code is handled and seems to continue running after the exception throw which is bad

#

Also, it does not matter whether you have CC or not, that is a matter of information bias. Black mesa fails because it is a complex interior. It is just a biased caused by people getting used to the safeguard functioning and dungeon loading failure not occuring anymore for them

#

my code does not affect how any interiors select tiles, connect them, etc, that is done by Dungen

#

if x more tiles need to be placed and there are no valid connections to attach more tiles to.
That attempt is considered a fail, dungen does this 20 attempts usually before giving up and getting you stuck in the loading screen

#

GOT IT

#

its with loadstone

#

that would in fact, make the dungeon generation methods run seemlessly/across several frames/multi-thread

#

so that would break my code yeah

#

@chrome kettle yeah its with loadstone

small mortar
#

Probably cus Loadstone does it's own fixes

lilac sorrel
#

I'll have to see if there is a way to stop those threads right before it throws my exception

lilac sorrel
#

it makes the generation smoother by generating a bit then a bit then a bit instead of all at once which freezes the game for a sec

chrome kettle
small mortar
#

I've personally had no issues with Async Generation but I also don't use Black Mesa

lilac sorrel
small mortar
#

Got you, I take it it only skips that when Safeguards are on now?

lilac sorrel
#

skips the skip?

small mortar
#

Yeah skips the Async Gen

#

lol

#

I would guess that's part of Safeguards

lilac sorrel
#

yeah, if safeguards are on it only runs the dungen code one call at a time (synchronous process)

#

it does make it generate faster if the dungeon fails to load at first but if it loads in 0.1 seconds the stutter won't be noticable

small mortar
#

Yeah, I was hoping if people prefer the Async Dungeon stuff they could just disable Safeguards, since it's to fix an edge case with Black Mesa I still dunno why Black Mesa specifically has problems, maybe cus it's so large?

lilac sorrel
#

yeah, the thing I would point to more (?) may be how many connecters and sub-flows it uses

almost all dungeon failures I see are from it not placing the target # of tiles because it cannot find any valid connecters to attach this specific tile to.

#

so yeah if the safeguards are off then the async is on and it loads without a stutter but has the downsides of not loading at all if the dungeon is too big, too small, or it just fails 20 times (all result in a softlock)

if the safeguards are on it will stutter a little but load faster in the mass majority of cases, that will also typically catch big and small dungeons as well as generate the facility after 180-220ish tries instead of softlocking

#

if you aren't using loadstone I don't think there is a negative to using the safeguards

#

Fixdate {0.14.1}

  • Added bool to make the enemy shuffler apply before the add/multiply/replace functions.
    False keeps it the same as before (..., Tags, Current Weather, Current Dungeon, ..., Enemy Shuffler, ...).
    True changes the order to (..., Enemy Shuffler, Tags, Current weather, Current dungeon, ...).

  • The dungeon no longer generates asynchronously with Loadstone (but Loadstone still carries out dozens of optimizations).
    This was just a setting in DunGEN, shouldn't make too much of a different being off.
    Very epically this finally fixes the Black Mesa critical loading failure !!!!

  • Also more typo fixes < 3

#

I added the setting to have the enemy shuffle be before the other stuff bc it works better in my modpack

small mortar
small mortar
#

Actually wait I have the Safeguards turned off and it was erroring

#

🤔

#

@lilac sorrel @uncut palm maybe you can both figure out why Loadstone was exploding

#

It seems like it might be CC still patching the method even if Safeguards are off

#

It may be better to just recommend disabling Async Dungeon in loadstone on the mod page if you have Black Mesa tbh, so that way Loadstone isn't getting destroyed

prime garden
#

didnt lass just say that her code is incompatible with loadstone and NOT black mesabreaking with loadstone

prime garden
small mortar
#

I turned them off

#

Anyways it's supposed to disable AsyncDungeon in loadstone without breaking it

#

Ig I'll try turning it off in loadstone's config

small mortar
#

It got even worse when I enabled the safeguards, time to try turning off AsyncDungeon in loadstone, I'm betting all this erroring is cus I'm using the Nightly build and lass' code only checks for normal Loadstone

#

Yeah it's still exploding

#

Time to try the normal build

#

Yep it's that

#

@lilac sorrel You also need to have your code check for Loadstone Nightly, cus it currently makes the Nightly version explode

#

Stable is fine

#

@prime garden I big brained it

#

Let me verify it also doesn't explode with safe guards off as well now

#

Yep it's fine

#

It just needs to do a check for the Nightly version, unless maybe Nightly's code is a bit different possibly

uncut palm
#

Nightly and main run the exact same code unless you enable object pooling

small mortar
uncut palm
#

yeah probably
I was talking with her about the issue earlier and it's just a fundamental issue with how DunGen's async mode operates, it has to be handled differently
though, perhaps instead of adding specific checks for specific mods, you could patch the generate function and see if it's configured to generate asynchronously
Loadstone sets DungeonGenerator.GenerateAsynchronously in RoundManager.GenerateNewFloor, so if you checked in Dungeon.Generate, you could decide whether or not it's running asynchronously just based on the dungen config
that would also help make it compatible if other mods enable it for some reason, or if vanilla enables it at some point

lilac sorrel
#

I am home now and it’s 2am

#

The tinnitus is in full swing now

#

Was at a music festival for the entire day

#

I’ve never seen loadstone print errors with or without safeguards

lilac sorrel
small mortar
#

First log was with safeguards off, second was with them on

#

Adi mentioned you should probably not check for Loadstone but just check for the function itself

lilac sorrel
#

What’s nightly?

small mortar
#

But it explodes with the new update for CC

lilac sorrel
#

There are no direct interactions

small mortar
#

Weird

lilac sorrel
#

Just reversing the dungen bool

small mortar
#

Well Nightly specifically explodes

#

Lol

#

And I don't use the Object Pooling feature in it so the code should be 1:1

lilac sorrel
#

Don’t know then, I’ll see myself

small mortar
#

Yeah maybe you'll figure out what it is, I'm wondering if there might be a difference in the code possibly now but I know Adi said the only diff should be Object Pooling

small mortar
#

@lilac sorrel Did you ever figure out why your mod isn't agreeing with the other version of Loadstone?

lilac sorrel
#

I did not

small mortar
#

I was hoping you looked into it lol or maybe had a chat with @uncut palm about it possibly since you said your code isn't doing a check for Loadstone

small mortar
#

Idk why it makes LoadstoneNightly explode

lilac sorrel
#

code entry?

#

thats dungen

small mortar
#

Ah well I meant code entry as in the line of code you're touching to skip it

lilac sorrel
#

skip the skip?

#

its a bool

#

also wow I am getting so mandella effect rn

small mortar
#

Yeah well even when I turned off Safeguards Nightly still threw errors they were just different errors

lilac sorrel
#

just readded my code to fix the scrap in level calculation

#

I swear it was in it already

small mortar
#

Oof

#

lol

lilac sorrel
#

thought it was in there since like idk 0.5.1 or something

small mortar
#

@lilac sorrel My only real guess looking at the code differences is maybe your patch in some way whether enabled or disabled is causing the Nightly build to fail it's check for ObjectPooling stuff which then causes it to explode in some way or another

#

It seems to check if Object Pooling is enabled or not before the AsyncDungeon stuff

lilac sorrel
#

what is object pooling

small mortar
# lilac sorrel what is object pooling

Experimental feature in the nightly build, it checks for that before AsyncDungeon so your patch is probably running before it finishes checking everything lol

#

Which would explain why even when your skip is disabled it still throws a fit cus your check is running first most likely

uncut palm
#

object pooling isn't even patched into the code of the game if it's disabled

#

it patches when the game starts up, and never patches again

small mortar
#

Hmmm

#

Well I thought I maybe figured it out

lilac sorrel
#

what else could it be from? I don't do anything with loadstone, only set generateasyncronously to false, you sure it was fine before I did that?

small mortar
lilac sorrel
#

Update {0.15.0}

  • Added new setting Adjust Scrap Value for PlayerCount - Scrap value is adjusted based on the number of players in the lobby.

    • Scale Scrap Value PlayerCount Threshold - If there are fewer players than this threshold, scrap will be worth more. If there are more players, scrap will be worth less. (Default: 3)
    • Scale Scrap Value Percent - Percentage factor applied to the scrap value multiplier based on the difference between the actual player count and the threshold. (Default: 10)
    • Scale Scrap Value Percent Change - The absolute difference between the PlayerCount and Threshold is multiplied by this value before being added to the Scale Scrap Value Percent. (Default: 5)
    • Scale Scrap Value Min and Scale Scrap Value Max - Hardcap for the minimum and maximum multiplier from this feature. (Default: 0.5-1.5)
    • Calculation:
      • PlayerCount - Threshold = PlayerDiff
      • (Percent + PercentChange * |PlayerDiff|) / 100 + 1 = Result
      • (Result) ^ -PlayerDiff
      • The value is then clamped before the scrap value multiplier is multiplied by it.
  • Apparatuses and beehives are now affected by the scrap value multiplier, this is compatible with facility meltdown.

  • Added two new settings under Fines:

    • Credit rewards based on performance (ranks F to S).
    • Option to switch from a fixed value to a percentage increase.
  • The EndGameStats screen now accurately displays the total scrap collected in the level when the ship leaves, instead of when it lands (I swear I added this forever ago but ig not).

  • Fines and ScanNodes are now their own ‘pages’.

  • Scrap/enemy/dungeon shuffler settings are only generated if the shuffler is active. !!EXPECT ORPHANS!!

  • PintoBoy and PintoBoy are now PintoBoyLJ and PintoBoyFD in the config.

  • Default enemy lists no longer have special characters in some cases.

  • The penalty message now says “No fine will be extracted from the crew.” when it would have said “A fine of 0% will be extracted from the crew.”

  • The “ALL SCRAP LOST/ALL PLAYERS DEAD” graphic does not appear if any mod allows you to keep scrap on death.

  • Setting a moon to have an empty scrap pool no longer defaults.

  • Fixed missing dictionary key for a moon when getting the tags on a moon.

  • Fixed null references for clients on disconnect.

  • Scrap/enemy/dungeon shufflers are not incremented or reset when the last moon was the company.

  • Fixed zero rarity enemies being recognized incorrectly by the shuffler when set to run before enemy operations.

#

rember to keep orphans and/or a backup when updating !

#

Here is table of the default scrap value multiplier adjustments for player count

#

if its on that is

#

you have to enable it first, this is just an example

lilac sorrel
#

Yummers? {0.15.1}

  • The totalScrapValueInLevel value is now actually updated to the accurate value.
    This is only used when determining the letter grade.
    Vanilla updates it already for gift boxes, nutcracker shotguns, and beehives but NOT the apparatus.
    Several mods like lgu and sellbodies add ways to get more scrap/scrapvalue in the level and probably don't update the value.
    So now the letter grade is also accurate.
#

I know its 4am but like yeah

#

I just kinda thought about that

#

I can prove it too,

1057/2012 should return a B but returns an A without the internal number counting the apparatus
1057(2012-720) returns A

#

previously I was just setting the denominator text but you can see its also used to get num4 which is a ratio for how much scrap was collected when deciding the letter grade

#

ok fainting time kuromi_sleepy

gloomy wedge
#

Heya! It looks like the recent update has completely broken down Central Config in my modpack. Worked fine just the other day. Some enemies spawn where I have configured them not to, ship doors are completely out of power (yes, the log referred to CC on that), and the ship doesn't allow me to land or route to any other moon after the performance report and days left announcement (the log seemed to refer to some kind of shuffling function of CC's)

Here's my log output and profile code: 01925d4b-7252-b6cf-2ada-62e2c2a9791c

#

And another one from the first game I noticed this happening, the previous one is after I restarted

uncut palm
lilac sorrel
#

Probably just a check I’m missing

#

Yeah probably the same one thing being null and creating an avalanche

uncut palm
#

it looks to me like the initial CreateMoonConfig call is erroring out, and I'm guessing that sets up variables later which are also now null, so it cascades from there

lilac sorrel
#

Yes

#

A csync entry of a type is null

lilac sorrel
#

ok so

  1. This isn't from the update
  2. A moon either has a null risk level, description, or route price
#

ok yeah its the route price of a specific moon that crashes it to crash

#

mmmm let me check your config again hold on

#

I can’t actually open the profile, there are no errors but while loading mods it crashes

prime garden
#

if theres soundapi, turn off multi threading

lilac sorrel
#

Don’t know a mod that turns it on other than loadstone

prime garden
#

wut

#

nono, in soundapi's config, turn off multi threading

gloomy wedge
lilac sorrel
#

Wonder what mods use that, my pack is 165 mods and I don’t have issues

gloomy wedge
#

Unless you're saying a single one of the moons has a null entry and it affects every other one

#

In which case, I might know which one is causing this

lilac sorrel
#

Maybe

#

I did a silly and disabled cc so I got a false fix oops

#

It may not be the code I didn’t change

gloomy wedge
#

I'm gonna remove the suspects from the modpack and generate a new config list, see if that fixes things

lilac sorrel
#

Probably

#

You have any none lll moons?

lilac sorrel
#

It’s from some plugin waking (or a harmony patch)

gloomy wedge
# lilac sorrel You have any none lll moons?

Negative.
There's this one pack of moons that removed a moon in a recent update, and I tried adding it back through a standalone version. That may have caused issues in config generation

gloomy wedge
#

And yeah, the pack does tend to crash on first startup lol
It works afterwards

#

It's too big for its own good :P

lilac sorrel
#

It iterates through all moons and accesses their properties

gloomy wedge
#

Well crud you were right
Removing the suspected moons didn't fix it

lilac sorrel
gloomy wedge
#

I'll see if diabling multithreading works next

Not a fan of that decision tho, since one of the sound packs stops playing and the creator is on hiatus to fix that 😩

#

Now launching with SoundAPI multithreading disabled ...

lilac sorrel
#

You have a null occludeaudio update, don’t know if that’s connected

#

As in every frame there is null audio

gloomy wedge
#

Unlikely since that error pops up all the time..

#

And I don't see any impact on the game

#

If we're thinking the same error, that is

#

DissonanceRecording?

lilac sorrel
gloomy wedge
#

Moment of truth

#

Starting ship rn

#

I'll be very upset if that's the solution lol

#

It's not

lilac sorrel
#

So you can open the game now? I’m still focusing on the game not opening but if that’s normal for you then joever

gloomy wedge
#
Stack trace:
CSync.Lib.SyncedEntry`1[T].op_Implicit (CSync.Lib.SyncedEntry`1[T] e) (at /home/runner/work/CSync/CSync/CSync/CSync/Lib/SyncedEntry.cs:120)
CentralConfig.ResetChanger+ResetOnDisconnect.Postfix () (at <1975c96f6a154bbcad020840ac826ce4>:IL_01A9)
(wrapper dynamic-method) GameNetworkManager.DMD<GameNetworkManager::Disconnect>(GameNetworkManager)
QuickMenuManager.LeaveGameConfirm () (at <d2996142fa1d46369fdcffced906545b>:IL_001E)
UnityEngine.Events.InvokableCall.Invoke () (at <e27997765c1848b09d8073e5d642717a>:IL_0010)
UnityEngine.Events.UnityEvent.Invoke () (at <e27997765c1848b09d8073e5d642717a>:IL_0022)
UnityEngine.UI.Button.Press () (at <17de86d66286445fa95af59fa8fa644d>:IL_001C)
UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) (at <17de86d66286445fa95af59fa8fa644d>:IL_0009)
UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) (at <17de86d66286445fa95af59fa8fa644d>:IL_0007)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[T1] functor) (at <17de86d66286445fa95af59fa8fa644d>:IL_0067)
UnityEngine.EventSystems.EventSystem:Update()```
#
Stack trace:
CSync.Lib.SyncedEntry`1[T].op_Implicit (CSync.Lib.SyncedEntry`1[T] e) (at /home/runner/work/CSync/CSync/CSync/CSync/Lib/SyncedEntry.cs:120)
CentralConfig.ShuffleSaver+SaveShuffleDataStrings.Postfix () (at <1975c96f6a154bbcad020840ac826ce4>:IL_0006)
(wrapper dynamic-method) StartOfRound.DMD<StartOfRound::PassTimeToNextDay>(StartOfRound,int)
StartOfRound+<EndOfGame>d__279.MoveNext () (at <d2996142fa1d46369fdcffced906545b>:IL_03C1)
UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <e27997765c1848b09d8073e5d642717a>:IL_0026)```
gloomy wedge
#

As I said Unity crashing is common but it's a one time thing

#

These two errors I sent pop up at the time when the game borks

#

aka when in orbit after performance report

small mortar
gloomy wedge
lilac sorrel
#

Well it’s in the prefix so it would not be catching a default value

#

You aren’t setting a moon to a null value but rather the default value for the config to generate with is null

#

So the config entry wouldn’t exist to begin with

gloomy wedge
#

Oh, I see

lilac sorrel
#

Which makes any use of it null

gloomy wedge
#

Hmm... Well the only other moon apart from Lunar Lights that was recently updated is Tolian's Celestria... I'll see if uninstalling that one helps..?

#

If this doesn't work I'm making a backup of my current config and re-installing Central

prime garden
#

its not that the "pack is too big or too good", its a bad setting that never got removed in soundapi

gloomy wedge
#

Oh, so that's what causing it?

lilac sorrel
#

Tolian’s, Rosie’s, overhaul, generic, Wesley’s, overworldy oddities, then the other 7 moon one all work in my pack

gloomy wedge
#

Right, that is super odd..

lilac sorrel
#

Try starlancers

#

Rosie should have this same issue I’m thinking of tho

#

Well that would be in the postfix not the prefix so probably not

gloomy wedge
#

I do have Keep Orphaned Entries, do you think disabling that would help out?

lilac sorrel
#

You mean? Not keeping orphaned entires?

gloomy wedge
#

I have them enabled now

lilac sorrel
#

Orphaned entries don’t do anything, it’s dead text

gloomy wedge
#

I can try disabling it

lilac sorrel
#

Helpful actually

#

Since you can see what dies

gloomy wedge
#

Okay
I'll remove both Starlancers and Rosie's from the pack now, though at this point I'm starting to think that this could be some kind of internal "malfunction" and I just have to reinstall CC

#

Like something generated wrong or something

prime garden
gloomy wedge
#

I'm gonna duplicate the profile and run a fresh install of CC, if it works it works

lilac sorrel
#

I am on puppy watching duty now so I may take a bit

#

I’m trying to eat and he tries to eat the tray table

gloomy wedge
#

Oh, no rush, just updating on my troubleshooting so you are able to look into it proper later

#

Speaking of, this is odd

#

I've created a new duplicate modpack, deleted CC, cleared unused mod cache, installed CC again, did the restart step, and I'm back to the same bug

lilac sorrel
#

That’s not odd

#

That means it’s not corrupted data

gloomy wedge
#

I'm at a loss here... I guess I'll wait for when you can actually have a look at all of the logs and stuff to find out what's causing this

lilac sorrel
#

You have csync right?

#

u do ok

gloomy wedge
#

||I apologise in advance if it takes me a long time to respond later, it's approaching night time here||

lilac sorrel
#

still occurs with an empty config file (minimal code in use)

#

trying with everything off

#

I can confirm it doesn't have anything to do with the moons or the dungeons or the code in where the null ref is

lilac sorrel
#

interesting, even with the same 8 mods (cc and its deps) it works just fine in my pack but not in yours, it is the same build I put in each

gloomy wedge
#

Guh--

lilac sorrel
#

I disabled yours and mine down to

FixPluginTypesSerialization 1.1.1
HookGenPatcher 0.0.5
LethalLib 1.16.1
LethalLeveLoader 1.3.10
LethalModDataLib 1.2.2
Csync 5.0.1
CentralConfig 0.15.1```
#

and yeah mine works and your doesn't

#

really confusing, it points towards a csync entry not being created correctly in yours

gloomy wedge
#

So this could be a CSync issue?

lilac sorrel
#

I mean the error that creates the null cascade points to this specific line in csync's SyncedEntry.cs file

#

wait it does work if a setting is on, let me check a bunch of stuff

#

found why it happens ! (?)

#

just gotta understand why why makes it happen

#

its that scrapshuffler is off

gloomy wedge
#

Alright! Should I enable it or wait for a hotfix?

lilac sorrel
#

You can test it to see if switching it on fixes it for you but I’ll hot fix when I can

#

May have left an unassigned bind behind? The interface would probably show it as an error through and unused settings are never bound so maybe not

#

It’s probably because I’m not creating entries like shufflesaver then so I gotta add more checks

wide ermine
#

so my game kept hanging on leaving a moon (the UI would stay gone and the ship would stick in motion) and it turned out to be Central Config, guessing from this log bit

[21:07:05.0105681] [Error : Unity Log] NullReferenceException: Object reference not set to an instance of an object
Stack trace:
CSync.Lib.SyncedEntry1[T].op_Implicit (CSync.Lib.SyncedEntry1[T] e) (at /home/runner/work/CSync/CSync/CSync/CSync/Lib/SyncedEntry.cs:120)
CentralConfig.ShuffleSaver+SaveShuffleDataStrings.Postfix () (at <1975c96f6a154bbcad020840ac826ce4>:IL_0006)
(wrapper dynamic-method) StartOfRound.DMDStartOfRound::PassTimeToNextDay(StartOfRound,int)
StartOfRound+<EndOfGame>d279.MoveNext () (at <d2996142fa1d46369fdcffced906545b>:IL_03C1)
LobbyControl.Patches.NetworkPatcher+<ReopenSteamLobby>d6.MoveNext () (at ./src/Patches/NetworkPatcher.cs:171)
UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <e27997765c1848b09d8073e5d642717a>:IL_0026)

lilac sorrel
#

its shufflesaver being null, gotta add checks every time its used

wide ermine
#

oic, thank you

lilac sorrel
#

@uncut palm uhh why does loadstone and loadstonelightly use the same modGUID?

small mortar
lilac sorrel
#

if com.adibtw.loadstone is in the chainloader then idk what loaded

lilac sorrel
#

it is dungen

small mortar
#

But I've never turned it on

lilac sorrel
lilac sorrel
#

yeah, they shouldn't

#

Fix {0.15.2}

  • Fixed 6 null refs when not using shufflers (the mod will work now without them on).

  • Async Dungeon Generation is disabled only after Black Mesa is selected, I'll let loadstone reenable it afterwards when I can tell their guids apart.

small mortar
#

@uncut palm maybe CC is somehow unintentionally making LoadstoneNightly register Object Pooling as null?

uncut palm
#

oh shit they do

lilac sorrel
#

I gotta leave in like 3 mins so I had to slash out the loadstone compat stuff and push the fix quick

uncut palm
#

I'm making a build to fix the GUID issue rn

lilac sorrel
#

but yeah basically shufflerfirst(enemies), saveshuffle, removezeros(for shufflers), and rollovernegatives are not created in the config unless any of the shufflers are on (shuffle first is for enemies so its not created if you just have dungeons and scrap)

#

so I had to add != null checks on those 4 to fix it

uncut palm
#

I'll check ILSpy

#

yup, that should fix it

#

I'll push that to Thunderstore

prime garden
#

Hopefully u can

uncut palm
#

I had just completely overlooked the Plugin GUID for nightly

prime garden
#

Without it considering it a new mod

small mortar
#

It's funny, I'm too stubborn to switch from Nightly cus I pride myself in keeping it from when I was helping you test stuff

uncut palm
#

lol

#

Update has been pushed to nightly

lilac sorrel
uncut palm
#

nice

lilac sorrel
#

Rn it’s just if the dungeon is black mesa it turns off async

#

But I’ll add if elses to enable it if loadstone or loadstone nightly have the setting enabled

#

It’s soft deps tho so I just gotta checked if a bool is enabled for it (found in chainloader) then if so I get the value from an noinline bool method in the company class for the respective mod

#

Cc has about 10 soft deps now, don’t need the dll if I’m just checking if it’s loaded or not

small mortar
#

Definitely would be best to keep it exclusive to Black Mesa or maybe add an option to blacklist Async Generation for certain moons or interiors, just because AsyncDungeon has never caused issues in my case

lilac sorrel
#

That’s what I did lol

small mortar
lilac sorrel
#

So next build loadstone will keep being async then stop before generating black mesa, then re-enabling before generating not black mesa

#

If another interior has an issue I can add to it the if check but haven’t seen any other interiors that are likely to take more then 20 or 100 tries

strong perch
#

Did something change? Why can't I get the dungeon list to generate in the config?

#

Loading into a save doesn't work anymore

small mortar
small mortar
#

The update actually should be live in mod managers now that fixes this

lilac sorrel
#

Yeah you’re in 0.15.1

#

I had some nulls to check

lilac sorrel
#

It’s working fine now for peeps?

small mortar
lilac sorrel
#

Yeah, not home yet

#

Getting the ice creams first :3

#

Still don’t really understand the nightly issue, from my understanding it’s always present even without this mod?

small mortar
#

I've never had those errors with nightly without it, they started with your 0.15.0 update and since Adi said those errors usually result from ObjectPooling being on which I never turned on, I'm wondering if it was unintentionally registering it as null

#

Especially since stable Loadstone was unaffected, which would further make sense if it was just registering the Object Pooling setting as null which made it have a fit

lilac sorrel
#

Well what’s the error about?

lilac sorrel
small mortar
lilac sorrel
#

So idk ig nightly checks if GenerateAsync is true?

#

That was just one line of code

small mortar
#

From what I understand they both do the same checks, it's just the check for ObjectPooling is not there in the Stable release, which is why I theorized ObjectPooling rather than properly reporting is being set to true or false is being reported as null somehow since @uncut palm had mentioned the errors in both logs resemble those usually shown if Object Pooling is enabled

#

It threw different errors, but still had a fit either way

#

Idk if it still errors with the new version I need to check that these were the ones when paired with 0.15.0

uncut palm
small mortar
#

But you should be able to repro the errors

lilac sorrel
#

you are talking about the bool for that patch?

lilac sorrel
#

Tweak {0.15.3}

  • Loadstone/LoadstoneNightly now has the async dungeon reenable before dungeon generation (like if it was shut off for black mesa last round, it goes back on after).
gloomy wedge
gloomy wedge
lilac sorrel
#

Np :3

small mortar
#

@lilac sorrel @uncut palm I got errors again earlier with Loadstone stable I think I've pieced together the combo and it's an odd one, it seems to happen whenever I get Grand Armory

#

But only if CC and Loadstone are paired together idk why

#

Is CentralConfig unintentionally touching something with Grand Armory?

lilac sorrel
#

well whats the error?

small mortar
#

Very much the same errors as in the first log

small mortar
lilac sorrel
#

I had all three earlier and seemed just fine

small mortar
#

It was that same error

#

Idk why

lilac sorrel
#

I don't see any errors in the log 🤷‍♀️

small mortar
#

Might just be a grand armory issue

lilac sorrel
#

What does that have to do with cc?

small mortar
#

I've only ever seen it with the combo

#

idk why

#

lol

#

I'll inform Wesley about it

#

I know Zaggy got that error without Loadstone before so it may be rng

lilac sorrel
#

It looks like an object is being networked before spawning

#

does it cause anything to happen or are you just skimming through logs looking for errors

small mortar
#

Well I will say we seemed to have no loot rooms spawn that game so it's probably related in some way

small mortar
#

@lilac sorrel Figured out what mod was making Loadstone have a fit

#

This breaks on lobby reload, meaning when it spawns it also causes issues probably

lilac sorrel
#

tarror card?

small mortar
#

Yeah it was one of the mods I added for spoopy month

#

Rip

small mortar
#

@lilac sorrel I doubt this breaks anything but this error throws sometimes when going back to the lobby

lilac sorrel
#

Yeah thats minor, just need to add more null checks

small mortar
lilac sorrel
#

????

small mortar
#

I was testing some mods last night using Imperium and I couldn't pause time on the moon cus Central Config for some reason makes the option in Imperium to pause time not work XD

#

Idk why it stopped working, cus I remember my friend pausing it just fine before with CC lol

lilac sorrel
#

can you disable the time changing settings?

small mortar
#

I imagine that'd fix it, cus I currently use that setting to make days on Pinnacle longer

#

I would guess it's the setting for time to only move while the ship is landed that overrides Imperium, cus Imperium probably looks for the vanilla behavior

small mortar
#

Might be a good idea to just have that option default to false to avoid compat issues

lilac sorrel
#

there is not looks for vanilla behavior

#

its probably calls time to not move between frames

small mortar
#

Yeah maybe

#

I said vanilla behavior since when time settings are enabled in CC by default it makes it so time waits on the ship which vanilla doesn't do that

lilac sorrel
#

imperium probably does the same thing

copper sleet
#

👀

prime garden
#

Brother how are you on vacation again

#

Is it a weekly cruise where u come back on the weekends

proper canopy
#

he worked hard on imperium for us he needs a lot of rest!!

small mortar
lilac sorrel
#

I assume anytime this is true time should be paused?

small mortar
prime garden
#

I would, infact, not imagine so

#

Just checked where that bool is toggled

small mortar
#

Got you

lilac sorrel
lilac sorrel
#

Restructure {0.15.4}

  • Rebuilt project in modern format. Thank u Robin!!

  • This notable fixes errors with:

    • The 'All Scrap Lost' screen still appearing with LethalUtilties KeepScrap on.
  • Integrated pausing time with Imperium while using time settings.

copper sleet
#

Definitely in the roadmap but idk if I've done it already

lilac sorrel
#

exposed in the api?

prime garden
#

Exposed as in public for everyone to touch

lilac sorrel
copper sleet
heady arch
#

i'm adding some stuff for ya 👀

lilac sorrel
#

cool

urban ore
#

Also its not said enough thank you very much @lilac sorrel for central config. ❤️

lilac sorrel
#

Aww kuromi_thanks

#

It’s mostly things I wanted for myself hehe

orchid beacon
lilac sorrel
#

Lethaldevmode gives one

#

If you mean all monster registered

#

You can see the current pool for the day with log enemies/scrap under ~misc~

stone depot
#

If I add the bracken to spawn on foggy weather outside, and I set the bracken to be removed from outside on embrion, would the bracken still spawn on foggy weather outside on embrion?

Basically, does the removal from the planet overrule it being added to foggy weather?

past turret
#

kind of random, but do people make spreadsheets for enemy spawn control and whatnot (and to easily export strings into LLL or Central Config)? I was bored so I made an interactive one to use with this mod and it's working nicely but I was wondering what everyone's process is when it comes to this aspect of the game. I tried using lethal quantities but I found it to be extremely clunky for some reason.

#

(may not be the perfect place for this subject as it's not necessarily specific to this mod, but I am using it)

swift tangle
# lilac sorrel Lethaldevmode gives one

thinking on do another chance here.
I have a question.
If I have finished a monster list setting, and I add a new monster, does that monster get's automatically added to the list or I have to add it manually?

lilac sorrel
#

if you have remove duplicates and always keep zeros true than you can blacklist an enemy from a moon using EnemyName:0

lilac sorrel
#

the big lists are mainly for that so you can set all enemy spawns from a spreadsheet

lilac sorrel
#

so no you would have to add it if the list was already generated and is configurable now

swift tangle
#

Got It, thanks

swift tangle
lilac sorrel
#

if you want it to use a unique value per moon yeah, I usually copy paste the default values with the cfg open in vs

#

I'm lazy sometimes so I just add it to global a lot of the time

past turret
#

my current setup is per moon lists + per dungeon multiplier, if what I wrote above works I could theoretically disable enemies on specific dungeons with multiplier = 0 no?

lilac sorrel
#

If you using the enemy list by moon and add flower man to all when foggy it would be added in the day

#

If it’s added at any point then yes it will spawn, having both remove duplicates and keep zeros would make it remove all of x enemy other than a 0 rarity injection

#

So if it’s bracken:56,bracken:0,bracken:99 it will only keep bracken0

past turret
#

I was planning on keeping both settings off, the idea was to only use lists by moon with your mod and only mess with spawns on specific scenarios with multipliers. so no other raw weight values would be added (with your mod). my question is what happens with the weights that the enemy mods themselves have on their configs (or does your mod override everything entirely)?

#

or for instance what would happen if I just input an empty string to daytime enemies on titan specifically, assuming I have no other absolute weights anywhere else on Central Config? would that mean I get zero daytime enemies on that moon, or does it still fetch weights from mods and whatnot?