#Central Config
1 messages · Page 4 of 1
also, would it be possible to add a global / default config? one that applies to every level regardless of tag / moon / weather
what does that mean?
Like add x enemy to all levels with a rarity of 10 or something?
I mean you can just put it in the custom and vanilla tags
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
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
well I'm only looking to add
I think ideally it should have the same functionalities as a tag config
Yeah, that’s 7 settings then
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
I could probably hook that right into the original setting of those values below it even gets into the temp change/reset loop
Yeah it has to be registered through LLL
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?
ok so
- edit creature info - what you mean the bestiary page?
- 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)
- Modded hazard spawning - Planned
- 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
- 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?
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
I'm looking in LLL's config and every interior has a section "Dungeon injection settings manual level names list" with a list of moons and rarities.
Does that just add onto existing entries, not replace them or something?
but that is kinda finicky and not good since its not what LLL does
mine too, the matching properties are planetname, modname, tags, and routeprice
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
Ok well I don't have any other mods changing that so that wouldn't be a problem for me
you don't actually know that
I don't?
they could be registered in the code itself and not configurable (not rare since some devs leave config to LLL)
so they are populated by default plenty
You're referring to modded interiors? I only have vanilla interiors
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 andExtendedDungeonFlows for dictionary keys instead of theirNumberlessPlanetNames andDungeonNames for optimization. -
Delayed when the
randomMapSeedis 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 thelengthOfHourschange to a different method. -
Fixed the whoopsie of
scrap injection by dungeonbeing 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
My spreadsheet is the backup 🙂
For anyone else wondering, LLL seems to work just fine doing this from what I just tested
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
Is there no way to turn off the random size multiplier?
Is it bugged?
I just don't want it
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
It doesn't change anything if that is what you are thinking
Oh is it just displaying the default random variance?
yes
Ah that's fine then😅 I was wondering where the default values were from
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
Some of the numbers are so large I was worried😅
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
That was the first one I looked at😂 I saw 25 and thought it would be giant. Makes sense now
Also speaking of Black Mesa, the config for it is currently messed up in LLL, thankfully this works just fine 😄
nice
Oh, my bad I missed that one bool in the config so they didn't generate
this bool?
but for example I think scoopy didn't so the castle is 5-10, if you make it be 5-5 it will always be on the smaller end rather than randomly twice as large
Don't make me consider adding Scoopy's back😂
yep
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
amazing update
thankies :3
Fix {0.11.1}
- Fixed Tag whitelist/blacklist not applying when capitalized.
its now ran through the cauterizer as well
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
After the update SchoolDungeon (https://thunderstore.io/c/lethal-company/p/MrUnrealTeam/SchoolDungeon) no longer appears in the config for some reason for me
Mine works fine
Weird, im going to try to do a fresh config generation tomorrow and see if that fixes it
yeah pretty much
Individual enemy list overrides -> global -> biglist overrides -> weather -> tag -> dungeon -> remove duplicates
and in each, replace -> add for the enemies
it generated fine for me
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
Fresh config generation seemed to fix the issue for whatever reason
you gotta read it
1.4 speed is vanilla, 1.0 is 1 second = 1 minute
I know that
A multiplier of 1 should be 16 minutes no?
I was here for that discussion
Did you adjust it again?
1.4 = ~13 minutes
1 = 16 minutes
Imma lose signal, test it out if you don’t believe me
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
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
does dyanamic interior variaty work with this mod?
Yes
also one little feature request
ability to change the name and routing words of a moon
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
I want to replace current dine with the old dine moon mod
and name old dine as dine and just lock/hide current dine
I want to make new dine a differnt moon
as I like it but wanna change the name
ah
I was thinking "Genesis"
First thing i thought of that name is 🧞
hm that would definitely get pretty controversial
changing names
really?
LQ already has that
doesnt chance routing words tho
wait i didnt know you could change moon names
well LQ isn't 'faced' as far as I know
Think LQ lets you change really EVERYTHING through unity editor
interesting
I do hope you consider it
at the end of the day you don't get to configure everything
devs should at least feel safe assuming the name of their level is right
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?
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
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
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
no one says we havent done harm what? modding has ruined lethal company vanilla entirely lol
it sucks for vanilla players but LC modding ruined so much
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
keep in mind we also have zeekerss' consent to mod
like we NEEDED that consent
to publish the mods etc
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
not really
as you should. CC issues are not LLL's responsibility
i think theres a pin in #dev-general or #modding-general that says he gives permission, but i could be misremembering
which is great, but he was never going to be able to stop it
I am dropping a "disagree"
I am now leaving this conversation that I just entered
based
sure but when a popular mod makes it unviable for the author of the custom content and the maintainer of the custom content api to look at, does the feature really need to be exposed to the users?
most vanilla lobbies are fucked by cheaters lol
thats not the modding community
caused by mods though?
I am dropping an "agree"
i dont know how to phrase it correctly so i dont mean offense but like
i think that is a stupid response
just because they're not explicitly in this community, doesnt mean that modding has not ruined the vanilla experience heavily via cheaters
no i think it does mean that
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?
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
anyone who plays in public lobbies of a game that doesn't have server authoritative logic has to understand there will be cheaters
i think modding contributed to the popularity of the game which contributed to the popularity of hacking
imo if the modding community was dead there would still be hacks and/or cheat mods
the way LC is setup, clients have a lot of the same permission as the host, there's a lot of mods that try to prevent this like HostFixes(i think thats the name)
it's not the same community
yes
yes but a lot less and would affect vanilla lobbies less
yeah because the game wouldnt be as popular
so modding has created a problem and also its solution
fuck us for making stuff that gets used lmao
no because modding wouldnt be as popular lol
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
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
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
the first thing i expect is that the devs dont leave cheat information not secure lmao
yeah there's a bunch of resources to prevent cheating
https://thunderstore.io/c/lethal-company/p/CharlesE2/HostFixes/
afaik this is one of the best
and again it'll always happen on any game
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
nobody says minecraft's vanilla was ruined by the modding community just because anarchy servers exist
not to this scale
anarchy servers are not at all anywhere near comparable
legitimately yes ??? cheating is bad in any game
any online game will have cheating, you deal w it by implementing counter measures yourself
or yknow, playing with your friends
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
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
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
i don't really care cuz I don't play public! so that's all I have to say on the matter :P
not entirely, a lot of evidence points to code from guides being put into those cheat mods
but yes, this game's vanilla is very unsecure
I say this with genuinely zero offense to you and I in no way say this to dismiss your response whatever
users are dumb as fuck and have no idea what they actually want, thats why they don't make the stuff
not all content has to cater to all users
it's great to get feedback and opinions forsure but sometimes its just like
naur
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
then dont make mods.
this isnt to say there arent mods that do those changes
says you
im confused then, whats ur issue with what i said
my issue isn't consent it's experience
oh then that's stupid (imo)
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.
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
yes
imo this community has abit of a problem with expecting configuration for every aspect of every mod
not used to being told no
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
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
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
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
yeah, if changing a moon name can break something then the mod doing the name change has made a mistake
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
I'm sure it's stupidly complex and has ramifications throughout the game. this is LC in a nutshell
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
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
this is really tragic though
Dam why did I start this I just asked for a simple feature and now everyone's fighting, im ok with the answer being no but people are calling people who ask "entitled" just for an idea, if it isnt gonna happened thats fine but these people act like we threatened them to add it XD
It’s not specific to you
was the a common request?
A person is smart
People are stupid
yeah thats fair
tbh I was gonna do some dumb things with it anyways
This is definitely false tho, its much easier to debug off this mod. LLL shouldn't have issues to begin with outside of undisclosed features being mislabeled as bugs (IE adding enemies, interiors, etc to pools without clear visibility that it was done)
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
tbh LLL itself is rarely the culprit of any issues besides lag
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 nowLog 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
For scrap lists, they use the items name, not its id, right? So what happens when two items have the same name?
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
Found the issue, Rename Celest causes an issue with WeatherRegistry
always the most random
BUT this actually doesn’t happen in lethalcosmos but it’s definitely related
Must be another mod also doing a something as well
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
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
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
the numberlessname is what all configs look for afaik
numberlessname is the standard, atleast for enemies and items
@heady arch any ideas here?
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
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
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
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
idk who took the issue to you but u shouldnt have/be changing a moons numberless name globally 
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
direct indexing?
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
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 Nameas 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.
Is "All:" a valid tag we can use to assign interiors?
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 💀
I guess I have to remove them from the blacklist first right?
Why are they in the blacklist by default?
because its a whitelist by default
also thats just for adding enemies or scrap
all tags still exist
Ah ok
And the reason it didn't work is because I'm dumb, I had the tag put in the moon names list
oopsies
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,scp3199will now be accepted instead of needing the stricterSCP966,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: ,, orWalker:NotANumber,will all default toWalker: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 - 99999to-99999 - 99999, allowing shufflers to pull rarities from the negatives. -
The
AllEnemiesListandAllMoonTagsListare now constructed only once, significantly reducing load times. -
The weather
DustCloudsis 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.
W
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!
If u don’t use it it will have a rarity of 0 in which case it doesn’t do anything
Fix {0.13.1}
- Fixed blacklists not being read correctly.
For some reason my config keeps getting reset to default. Luckily I have a backup, but each time I replace it it gets reset
are you opening the main menu then closing the game without opening a lobby?
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
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" - thesimulateweight 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
What's are differences between this mod and lethal company variables?
never heard of lethal company variables, I doubt it could be much similar
? {0.13.6}
- forgor to remove the really thick debug lines.
It's another mod that has some settings like this
Am hoping to find an alternative for now cuz it's kinda annoying to work with sometimes (and it's buggy 😭)
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
Yes, scroll back up to that version
I put there that it will happen as I added sync info on them
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)
yeah those are in it
if you look at the readme it has a brief overview of the settings, basically what LLL config can do then a bunch of other stuff https://thunderstore.io/c/lethal-company/p/SillySquad/CentralConfig/
Alright
Also what are rarities for enemies? (The remove duplicate enemies)
Am kinda confused on that lol
From what I see in the readme it's just this mod but not as many features (I can't mess around with the mod till tmrw cuz I ain't on my PC 😦 )
All enemies have a rarity, it’s a weight pool. The remove duplicates is because there can be the same enemy multiple times in a spawn list
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
That's what it was 👍
So does enabling the setting to choose the least rare duplicate instead of the most rare duplicate change anything?
Sorry, my ocd made me flip the keep orphans back to false on default oopsies
Yes, if you have 79 and 33 rarity for the same enemy, it will keep 33 instead of 79
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 😄
Honestly I don’t really know still, may just remove bloat but it could impact gameplay
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
It’s all math, the mod has a bunch of math
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 😄
I can keep trying, don’t have to worry about a character limit here (for the most part)
Does dungeon selection override just let u choose the chances for the interiors?
Yes
Dw bout it I doubt it changes gameplay at all
So I can make 99% mineshaft for vow again 😄
Same as in the LLL config but it’s the only source of dungeon selection. Full control over the values
I've never used LLL in my life
So idk any of that stuff
Anyways alright 👍
Ah ic, you’ll just have to get used to the syntax I use
What's syntax?
Particular way something is meant to be written
I'll figure it out lol
I found a spelling error
It says enable scrap injectiom and not injection
Damn 😔
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 😄
U prob busy but I got a question 😄 above^^^
Add enemies as well as replacing x enemy already in the pool with x enemy
Like Flowerman:Aloe would replace the bracken with the aloe from biodiversity (if biodiversity is installed)
So it's if you have variants of an enemy pretty much?
And adding
Thats one of the main uses but any enemy works both ways
That's cool 👍
Like you can do RadMech:Butler in the Night pool if you want night butlers
You need starlancersaifix if you don’t have it already of course
To change their nav nodes and such
I don't lol
Oh it’s really helpful, let’s indoor enemies be outside and vice versa
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
Yes
Kk
Did the bug with custom moon descriptions being cut off ever get fixed
it wasn't sorry, its just a case of text overflow
haven't played with font size before
Rip
Update {0.13.7}
-
Fixed percent increase for shuffler, it now calculates correctly.
-
Kept in the shuffler logging for remembered keys on rejoin.
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
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
It’s all disabled by default yes
Personally I would use the enemy settings here over LLL’s config since that only supports 3 modded enemies
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
Yeah 3199 is LB
I've set that
Am I correct in my assumption that it will lower the scp3199 spawnrate to 15?
If it’s their lowest injection, yes
Ok yeah keep small rarity duplicates will only use the 15
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
Does the shuffler handle the "one scrap types" day correctly?
Matters what you mean by correctly
I mean do they spawn only one type of item on those days? Or does it get shuffled and overrides it haha
I’m just changing rarities so it shouldn’t prevent it
Have to read the code for it myself
idk how it works either
The shuffle doesn’t change what can spawn, only increases rarity for them if they could spawn but didn’t
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
Doesn't work
Works in my pack🤔
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
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😅
Maybe something broke recently
Try just FissionC
Didn't work either
🤔 I'll be on my PC soon. I'll see if it's working in my pack
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
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
yes that is in it
Scaleenemyspawnrate and accelerate spawning
alright, well I know what would cause that
assuming this wasn't always the case that is
@chrome kettle can you confirm it worked in the last patch?
I don't know about last patch, but I can confirm it worked a little while ago
@lilac sorrel When I load into a game it wont generate the config files
I did
I did it 4 times
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
yes
I have them all
do you have a log?
yeah give me a minute
what is it called
are you in files or a launcher
launcher
yeah thats the config
wonderful thank you
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.
yeah
can you give me the .cfg file?
@strong perch This fixes the hyphen issue 😄
This has no actual config options enabled👀
wdym
You don't have any settings that allow you to change things enabled
I thought those were just extra things
Read the descriptions my guy
which ones do I do to make it so I can customize scrap per moon and monsters per moon
enable scrap overrides and enable enemy overrides in the moon section
Did you even look at any of the settings?
yeah but it was confusing
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
oh let me test it now then
@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 ---
Should probably ping @lilac sorrel for that one, not me XD
For now, try turning of the dungeon generation safeguards
I turned that off and it works now
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
@lilac sorrel Small bug I ran into, setting the Moons list to a whitelist seems to also affect the Dungeon List
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
oh that makes sense but I didn't know that lol
im unable to load into the Black Mesa moon by PlasteredCrab
every other moon works fine
Make sure the safeguards are disabled if you're using this mod
they can cause issues
thanks, ill give that a try
you may have gotten the black mesa interior
it has a high chance of not loading
It's not black mesa tho, it's something with how you modify the size with the safeguard
it hasn't occur with any other interiors so far
It generates just fine without the safeguard tho is the thing. Maybe it's best to blacklist Black Mesa from the safeguard for now
A blacklist entry for safeguards in general would be nice, since it's not the first time I saw someone have issues with it
That way if you know a certain interior doesn't play nice
you can blacklist it
Yeah that honestly sounds like the right way to go
I generally just let Loadstone handle dungeon generation loading which is why I personally keep the safeguards off
Idk if they might conflict and I don't wanna risk it hehe
they do different things
Testing again, interior seems fine about 6/7 times, otherwise my safeguard catches it just fine with no errors
Any idea why a bad can be happening? @amber charm
can confirm the safeguard dungeon works in mp and networks correctly
safeguard dungeon also loads just fine on the black mesa moon
I haven't seen that error since v0.01 of my interior and was caused by a silly null reference on my part, but since v1.0 this has not been an issue so you saying 1/7 times it fails is very sussy to me 
well the 1/7 fails is not a real fail
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
Yes but even after 198 failures, it still safeguards for me
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
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 
Did those players show what other mods they had?
nope
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
just send that, which yeah that is an exception I use but exceptions shouldn't post and error and I change a bool there that makes it impossible to access the exception so something must be messing with something
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
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
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
Yeah I am not sure :/
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
Update {0.14.0}
-
Added new
_Enemies_settingFlatten 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:2under 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.33on 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,addit 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.
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
yeah orphaned entries don't do anything
I just thought that's what looked weird, is it something else?
I use Gale so I haven't had to look at them for awhile
those red ones don't exist, the blue are the actual config entries
yeah but make sure you copy over your settings
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.
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
Probably cus Loadstone does it's own fixes
I'll have to see if there is a way to stop those threads right before it throws my exception
not fixes, multi-threading
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
Interesting 👀
Wouldn't it make more sense to talk with Adi about fixing Loadstone than to forcefully disable Async Generation if CC is present?
I've personally had no issues with Async Generation but I also don't use Black Mesa
its not loadstone code, loadstone simply sets GenerateAsynchronously = true
Got you, I take it it only skips that when Safeguards are on now?
skips the skip?
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
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?
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
I should let you know the safeguard change that skips AsyncDungeon causes loadstone to spam errors
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
didnt lass just say that her code is incompatible with loadstone and NOT black mesabreaking with loadstone
.
It should only be if Safeguards are on
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
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
Nightly and main run the exact same code unless you enable object pooling
Yeah so it's just that Lass didn't set up a check for the nightly build
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

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
All I do if set GenerateAsyncronously back to false if safeguards are on
The new update you pushed caused the Nightly build to throw errors as seen by the logs, cus your check seems to only be checking for the stable build
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
What’s nightly?
I don’t check for either
https://thunderstore.io/c/lethal-company/p/AdiBTW/LoadstoneNightly/ it's the version I've personally had in my pack for like ever lol
But it explodes with the new update for CC
There are no direct interactions
Weird
Just reversing the dungen bool
Well Nightly specifically explodes
Lol
And I don't use the Object Pooling feature in it so the code should be 1:1
Don’t know then, I’ll see myself
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
@lilac sorrel Did you ever figure out why your mod isn't agreeing with the other version of Loadstone?
I did not
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
@uncut palm for reference this is the code entry
Idk why it makes LoadstoneNightly explode
Yeah well even when I turned off Safeguards Nightly still threw errors they were just different errors
just readded my code to fix the scrap in level calculation
I swear it was in it already
thought it was in there since like idk 0.5.1 or something
@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
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
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
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?
Yeah I never had any issues with LoadstoneNightly before, and I have no issues with it if CentralConfig is disabled
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).
-
FinesandScanNodesare now their own ‘pages’. -
Scrap/enemy/dungeon shuffler settings are only generated if the shuffler is active. !!EXPECT ORPHANS!!
-
PintoBoyandPintoBoyare nowPintoBoyLJandPintoBoyFDin 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
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 
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
are you sure you don't have object pooling enabled? I've seen that exact error before with object pooling enabled, even in vanilla
object pooling is experimental for that exact reason
Alright I’ll read it when I’m on my puter
Probably just a check I’m missing
Yeah probably the same one thing being null and creating an avalanche
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
ok so
- This isn't from the update
- 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
if theres soundapi, turn off multi threading
Don’t know a mod that turns it on other than loadstone
Eh? That's Experimentation in "CentCon02"
Wonder what mods use that, my pack is 165 mods and I don’t have issues
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
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
I'm gonna remove the suspects from the modpack and generate a new config list, see if that fixes things
Also try that first
It’s from some plugin waking (or a harmony patch)
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
Will do if that doesn't work
And yeah, the pack does tend to crash on first startup lol
It works afterwards
It's too big for its own good :P
That doesn’t sound good
Removing a moon won’t break it
It iterates through all moons and accesses their properties
Well crud you were right
Removing the suspected moons didn't fix it
It’s not the moon you go to, all moons are read on join
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 😩
Here's the new output
Now launching with SoundAPI multithreading disabled ...
You have a null occludeaudio update, don’t know if that’s connected
As in every frame there is null audio
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?
How is that?
Moment of truth
Starting ship rn
I'll be very upset if that's the solution lol
It's not
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
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)```
Oh no I could always open
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
I'm sure I've never turned it on
Looking through the conifg rn to find which moon has a null value if any
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
Oh, I see
Which makes any use of it null
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
that is soundapi's multithreading
its not that the "pack is too big or too good", its a bad setting that never got removed in soundapi
Oh, so that's what causing it?
Tolian’s, Rosie’s, overhaul, generic, Wesley’s, overworldy oddities, then the other 7 moon one all work in my pack
Right, that is super odd..
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
I do have Keep Orphaned Entries, do you think disabling that would help out?
You mean? Not keeping orphaned entires?
I have them enabled now
Orphaned entries don’t do anything, it’s dead text
I can try disabling it
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
yes
An expected result. These were not the cause.
Here's the profile in question in its current state: 01925dd6-1463-cefa-7938-0e74becafa67
And the most recent log
I'm gonna duplicate the profile and run a fresh install of CC, if it works it works
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
Why is he like this
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
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
||I apologise in advance if it takes me a long time to respond later, it's approaching night time here||
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
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
Guh--
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
So this could be a CSync issue?
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
Alright! Should I enable it or wait for a hotfix?
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
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)
shhhhhh I'm on it
its shufflesaver being null, gotta add checks every time its used
oic, thank you
@uncut palm uhh why does loadstone and loadstonelightly use the same modGUID?
@uncut palm this was why I suspected it might be CC's patch skipping your check btw, cus I've never turned Object Pooling on ever and always keep it off
if com.adibtw.loadstone is in the chainloader then idk what loaded
Is it NOT their check
it is dungen
Well Adi said the errors would have been from Object Pooling being on usually
But I've never turned it on
.
they shouldn't
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.
@uncut palm maybe CC is somehow unintentionally making LoadstoneNightly register Object Pooling as null?
oh shit they do
I gotta leave in like 3 mins so I had to slash out the loadstone compat stuff and push the fix quick
I'm making a build to fix the GUID issue rn
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
This should give nightly the GUID com.adibtw.loadstone.Nightly
I'll check ILSpy
yup, that should fix it
I'll push that to Thunderstore
Hopefully u can
I had just completely overlooked the Plugin GUID for nightly
Without it considering it a new mod
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

Thankies, I’ll add proper loadstone and loadstonenightly compact when I get home
nice
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
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
That’s what I did lol

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
Did something change? Why can't I get the dungeon list to generate in the config?
Loading into a save doesn't work anymore
The current build is broken and throws CSync errors so nothing is gonna apply for now
The update actually should be live in mod managers now that fixes this
Update to 0.15.2
Yeah you’re in 0.15.1
I had some nulls to check
It’s working fine now for peeps?
Since Adi fixed the GUID for Nightly are you gonna push the update for Loadstone compat?
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?
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
Well what’s the error about?
Started with 0.15.0? I didn’t touch dungeon code so it’s not any of that
That was the version where you added the AsyncDungeon skip stuff
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
These were the errors if Safeguards were off
These were when it was on
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
it shouldn't be possible for it to be null
I'm using bepinex's config values directly
plus, if it was null, it'd be treated as false
Hmmm I'm not too sure what it could be then
But you should be able to repro the errors
you are talking about the bool for that patch?
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).
Will be testing shortly
Bless ye fine mod-maker! You just saved hours of grueling config-work xD
Things are working fine once again, thanks for the quick fix 🙏
Np :3
@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?
well whats the error?
Very much the same errors as in the first log
this one
I had all three earlier and seemed just fine
I don't see any errors in the log 🤷♀️
What does that have to do with cc?
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
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
Well I will say we seemed to have no loot rooms spawn that game so it's probably related in some way
@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
tarror card?
@lilac sorrel I doubt this breaks anything but this error throws sometimes when going back to the lobby
Yeah thats minor, just need to add more null checks
btw if you can, can you look into fixing compat with Imperium? As of the latest update you can't pause time using Imperium while CC is present but I know you could with 0.14.1
????
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
can you disable the time changing settings?
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
Might be a good idea to just have that option default to false to avoid compat issues
there is not looks for vanilla behavior
its probably calls time to not move between frames
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
imperium probably does the same thing
👀
Brother how are you on vacation again
Is it a weekly cruise where u come back on the weekends
he worked hard on imperium for us he needs a lot of rest!!
The secret is that he's always on vacation 
I assume anytime this is true time should be paused?
Yeah I'd imagine so
Got you
I mean it worked but I would need to use the other publicize and probably rebuild the project structure
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.
Isn't this exposed in the API?
Definitely in the roadmap but idk if I've done it already
exposed in the api?
Exposed as in public for everyone to touch
not sure, but yeah it works with no errors

i'm adding some stuff for ya 👀
if you want to play with it: https://github.com/AndreyMrovol/LethalWeatherRegistry/actions/runs/11254442233#artifacts
cool
@heady arch ohhh look who's back to work huh?
Also its not said enough thank you very much @lilac sorrel for central config. ❤️
Do you know if there is a way to get a list of the current monsters in the game so I can config it with this mod?
Lethaldevmode gives one
If you mean all monster registered
You can see the current pool for the day with log enemies/scrap under ~misc~
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?
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)
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?
Define "remove"
if you have remove duplicates and always keep zeros true than you can blacklist an enemy from a moon using EnemyName:0
yeah zac does that all the time
the big lists are mainly for that so you can set all enemy spawns from a spreadsheet
It will use the current value, if a new enemy is added then it will just be in the default value
so no you would have to add it if the list was already generated and is configurable now
Got It, thanks
So i'd have to add it for every new monster
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
ah that's a cool feature, I think I'll stick to per moon lists though, so it's more readable for my friends just in case. One question: if I don't have either the remove dupes and keep zeros settings on, not including an enemy in a moon list means it won't spawn correct (assuming no global/dungeon/tags/weather lists are enabled)? Or can other mods still spawn them on top of Central Config?
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?
So you mean to NOT remove duplicates?
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
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?


