#Lethal Level Loader [Custom Content Loading API]
1 messages · Page 21 of 1
Just curious what might be a potential culprit as to the indoor weather for the map in question
I think I did the ILHook for modifying the save id to the name of the level
It's nice to see everything seemingly at least working, with just a single ILHook that does the same thing for multiple things in multiple methods
[Info :LethalLevelLoader] ILHooking method: GameNetworkManager::SaveGameValues
[Info :LethalLevelLoader] Matched in cursor position 146, for Level{0}Mold
[Info :LethalLevelLoader] Matched in cursor position 163, for Level{0}MoldOrigin
[Info :LethalLevelLoader] Matched in cursor position 192, for Level{0}DestroyedMold
[Info :LethalLevelLoader] Matched in cursor position 211, for Level{0}DestroyedMold
[Info :LethalLevelLoader] Finished modifying 4 save data IDs
[Info :LethalLevelLoader] ILHooking method: GameNetworkManager::ResetSavedGameValues
[Info :LethalLevelLoader] Matched in cursor position 76, for Level{0}Mold
[Info :LethalLevelLoader] Matched in cursor position 89, for Level{0}MoldOrigin
[Info :LethalLevelLoader] Matched in cursor position 102, for Level{0}DestroyedMold
[Info :LethalLevelLoader] Finished modifying 3 save data IDs
[Info :LethalLevelLoader] ILHooking method: StartOfRound::LoadPlanetsMoldSpreadData
[Info :LethalLevelLoader] Matched in cursor position 10, for Level{0}Mold
[Info :LethalLevelLoader] Matched in cursor position 36, for Level{0}MoldOrigin
[Info :LethalLevelLoader] Finished modifying 2 save data IDs
in hindsight i realise i could probably prefix es3 itself...
thats sick though would be down to use
ye, it's really simple too
This is the whole thing
private static void MoldLevelID2LevelName_ILHook(ILContext il)
{
Plugin.logger.LogInfo($"ILHooking method: {il.Body.Method.Name}");
int modificationsAmount = 0; // debug purposes
string matchedStr = ""; // debug purposes
ILCursor c = new(il);
while (
c.TryGotoNext(MoveType.After,
x => x.MatchLdstr(out matchedStr) && matchedStr.Contains("Mold"), // The save file key, e.g. "Level{0}Mold"
x => x.MatchLdloc(out _) || x.MatchLdarg(0), // levels, via reference or 'this'
x => x.MatchLdfld<StartOfRound>(nameof(StartOfRound.levels)),
x => x.MatchLdloc(out _),
x => x.MatchLdelemRef(),
x => x.MatchLdfld<SelectableLevel>(nameof(SelectableLevel.levelID)),
x => x.MatchBox<Int32>()
)
)
{
Plugin.logger.LogInfo($"Matched in cursor position {c.Index}, for {matchedStr}");
c.Index -= 2;
c.RemoveRange(2);
c.EmitDelegate<Func<SelectableLevel, object>>(selectableLevel =>
{ return selectableLevel.name; }
);
modificationsAmount++;
}
Plugin.logger.LogInfo($"Finished modifying {modificationsAmount} save data IDs");
}
Whoop, I missed some stuff here, like one method
okay just looked up how to do regex (asked ChatGPT) so I can search every instance of mold in the context of save data keys lol, in vscode
nice
@zenith flax I opened a pr for when you get to it https://github.com/IAmBatby/LethalLevelLoader/pull/116
I usually see Bottles mentioned twice in the scrap list on moons
removing the duplicate should be alright?
anyone have any good moon/interior packs updated?
At this point, yes
bet thx
how do you reduce the quality of the navmesh you generate?
I imagine so, assuming they’re not different bottles (one vanilla and one modded). If you haven’t altered the config in other ways you can delete it and have it regenerated next time you launch the game if this does seem to break things. If you have messed with a lot, I imagine you could also copy the config file as is to keep as a backup if removing the duplicates breaks things.
oh, no, it's on a fresh profile so probably nothing bad
something i've always wanted to ask is that when i make the time progression multiplier make the day longer on a moon, it bugs out and upon going into orbit the days to meet quota hits zero. is this a known bug or am i doing something wrong
Known bug I believe. Not sure if on LLL’s end or if it’s a vanilla issue
can't find the kidnapper fox enemy or the vain shroud in the outside enemies part under any moons in the config
this alright for now?
clay barber's there
vanilla issue, i think centralconfig lets you configure time without that issue
The vein shrouds just spawn on their own on every moon, once enough of them spawn the fox will spawn. None of it is based on weights
got it
thanks 
You need to open NavMeshSurface component in Environment and increase the voxel size and rebake until the moment the mesh kinda looks messed up and then just go one step back. Don't forget to set the settings back to original ones without rebaking again.
for some reason payed moons cost money for me
I mean they dont
there free
im using selene choices btw if that matter
does lethallevelloader work with v55/v56
Someone who knows more might be able to help better, but I’m under the impression that the answer is kinda. Some new functionality is missing (I think the spreading moss stuff doesn’t quite get saved for each moon independently from what I understand) and modded moons need to add things like the new dropship for example.
ok
LLL v1.2.4 is causing an infinite black screen for me on v55, does anyone know how to fix this?
here are my logs
Remove LC_Office
yeah i dont have that installed
Then the problem likely isn't LLL, LC_Office is the only interior I know of that breaks on V56 however Dantors is also very busted and has been since V50 so if you have that I'd remove it as well
Neither Hospital nor LC_Office is in the pack
I see Scoopy's and Bunker in the pack but haven't seen anyone reporting problems for interiors for either of those 2 mods
I see a lot of NREs related to LethalProgression and it hasn't updated for a good while, curious if that might be what's causing problems
Hm, it might not be the direct issue but NREs can always cause more trouble later down the line, might be worth trying without whatever mod is causing them
Hmm I think I found something, they're using an outdated version of Lethal Progression
Let me see if it's causing me a black screen
Strange, even the outdated version isn't causing me a black screen when standalone
It could be Bunker tbh
Bunker sadly was abandoned because the author lost all his work
I don't use Lethal Progression myself but this seems to be a more updated version of it:
https://thunderstore.io/c/lethal-company/p/Chibranche/LethalProgression_PatchFix_keepProgress/
ill try these suggestions and report back, i said it was LLL causing the issue because I was previously using an outdated version of LLL, which worked but broke the terminal. this issue only started once I updated LLL to the latest version
Well I can say it's neither of the interiors that's causing it at least standalone
Interesting, it isn't Coroner either
I'd think it would've been since v55 added 2 new causes of death
Coroner is broken in V56 though
Yea, Coroner is def broken. It fails gracefully, but it can't hook the method it needs based on that log
It's broken but at least standalone it isn't causing the black screen
Might need to deactivate one by one if feasible to isolate which one's causing it
Cause I see GI is in there and I know that one has some problems with v56 too, but one of those problems I don't recall being a black screen
didnt they say they were remaking it or am I mistaken
I don't remember that being said in the thread
Or did you not see the news about him losing everything?
i saw that but I swear they had said along with that that they plan to remake it from scratch but I could be thinking of something else
wait nvm
saw the latest post
I was thinking of an older one
o7 well not my fav bunker was fun
especially being one of the early interiors
ok so i disabled each mod that requires LLL one by one, and the problem only stopped once I disabled LLL itself
disabling coroner didnt fix the issue either, the only thing that does is disabling LLL which isnt ideal
you dont have lethal expansion right
According to logs, LE is not present
Hm, how long ago was your previous version of LLL exactly? 🤔
sorry for the wait, no i don't have LE installed, and the previous version of LLL was 1.1.4
totally unrelated, but i remember when yall played balatro and got addicted to it and i found a dice game i've gotten addicted to called rollscape @zenith flax @slim wind
super fun
no custom scrap to be seen
something about not changing their default spawn weights? though I changed them back to their defaults and this still happened
delete the LLL config and then try. otherwise disable LLL mods one by one until the culprit is found
ok i fixed my issue by putting LLL first in the dependencies list for my modpack
nah
figured it out by installing all the mods manually but backwards lmao
that does nothing
that fixed the issue
nah
ok
its coz mod order isnt supposed to matter at all
maybe u deleted the config so a new one could generate
or created a new profile from scratch for a new config to generate
bepinEx has no concept of load order at all, like it loads things in alphabetical order followed by dependencies for the current item
@zenith flax I opened 2 more pull requests: https://github.com/IAmBatby/LethalLevelLoader/pull/117 and https://github.com/IAmBatby/LethalLevelLoader/pull/118
Move DLL copying from main csproj file to a personal, gitignored csproj.user file, so the main csproj file doesn't have paths that don't apply for everyone.
Also I added a little section to...
13k deletions 
I'd rather work on LLL than LL
it does matter. i need to free up 1 MB of space off my hard drive. 
this isnt part of the actual mod lol
im sure theres something other than a working but ugly gitignore that would need attention
after i update lll and LT though theres way more gains in giving a shit about toolbox
It's simple to fix tho
true
im using r2mod loader thingy and im using this mod but my friends are downloading the files, they are just seeing a black screen when they join a game
pls help
@zenith flax I cooked a bit with Nullable, which idk how much you know about it, but in any case it should help a lot with avoiding Null Reference Exceptions, and so will result in better code. https://github.com/IAmBatby/LethalLevelLoader/pull/119
I'll need you to at some point take a look at this pr and you'll also need to explain to me what to do with LevelManager.CurrentExtendedLevel and DungeonManager.CurrentExtendedDungeonFlow since there seems to be some null checks with these in some places, but then not in others similar looking situations and idk what's up with that since I don't really know the code that well yet. So anyways yeah, with these two variables, there's a bunch of nullable warning stuff for now. Also I'm no expert with Nullable so idk if I did a good job with what I did so far lol.
Anyways, it'd be good to enable nullable and then build everything from now on with it in mind
there's also one more pr from me you can check out, for enabling embedded debug symbols
What's nullable do again?
it enables warning about nullable types that you haven't either check for null state or coalesced into a guaranteed non-null state
I always have nullable on by default, it makes you code better
Ah ic
NREs basically can't happen if you follow the nullable guidelines.. in normal CSharp. In unity the game will keep going after a throw so bleh
Tbf if the game stopped after an NRE we wouldn't have any mods 
I really hate that design philosphy, its made its way into the Godot engine too
A throw means "handle me or throw me up the chain and halt" not "catch and then spit out an error"
I mean, it'll still create bad unintended behaviour, doesn't really give any reason to completely stop the program though
Every program I write is designed to stop on catching throws unless I specifically catch a throw type that I know how to recover from. Unity catches all throws and never stops, it turns throwing into Debug.Log and then you wonder why people post 2mb log files and can't figure out which mod is actually causing the problem, bleh
Ctrl + F Error is definitely better than nonstop crashes at any pack with more than like 30 mods, hell even vanilla sometimes throws em for whatever reason.
It's not great, but it'd be such a huge con, just my opinion though
I think you fundamentally don't understand exceptions and their purpose
fixed it - it was something with hookgen mono
they needed to redownload
and go to patchers
Like its their literal point to be trapped and either responded to or thrown up the chain farther and then the program exits if no handler exists for a specific exception. If you just want a log that says "thing happened and that's bad" then you catch your own exception one level up and print that and recover. Unity's current behavior is covering for bad practice and making worse programmers out of everyone that doesn't try/catch properly :<
Maybe I dont, but it'd be such a horrible experience if the game stopped everytime it encountered an a NRE, especially with mods, it may make worse programmers but I don't expect 90% of modders to really want to be program pilled
Fuck, now batbys got me saying the word pilled
The game wouldn't stop for every NRE because you'd catch that exception above your method and do something about it
The game has so many NREs because we're allowed to just do whatever we want and not catch our exceptions
I'd love to catch every exception, and I try to do that, but sometimes it just slips by and most of people I know won't really be doing that, which is bad I know, but it's cuz of that that it shouldn't self destruct because of it
It's not like you're saying anything I disagree with entirely, it's just not something that can really have a workaround from what I'm seeing atleast in a modding sense, dunno
hmm, someone should make a mod that explodes fucking everything if Unity spits out an error 🤔
True, Xilo's Disintegration mod isn't too popular either
For good reason I imagine
But hey, u got this
Just don't forget to cause an NRE urself on the main menu so it crashes
There's a trigger volume in the ship you can delete that is referenced every frame at least once so you can maximize your NREs per frame by just deleting it
@tired solar im probably gonna pass on that nullable PR
i appreciate it but it's not a standard i want to actively maintain
too much sauce
hey, im new to modding, could you send me that tutorial? I'm having an issue with my current method and I would like to try another method for custom scrap
basically idk who xulian is
also if anyone knows, my custom scrap works in lethal expansion and obviosly thats outdated but is there anyway to port it over to LLL and if so could someone send a tutorial. Lethallib just does not work for some reason
It doesn't tell you how to make scrap, but it does tell you how to make a LLL mod
thx
Np
oh yeah which unity project file does he use? is it the og lethallib one or asset ripper one?
He uses Nomnoms unity patcher
hmm, might try that one, nomnomabs isn't working for me currently as its giving me random game errors
thanks again tho
(thats not my thing)
I do kinda get where you're coming from, but nullable is about writing better code. And sure, it requires you to know when to mark a thing as nullable ?, or to pretend a null isn't null !, but you will learn to write better code.
And I wouldn't really say that maintaining Nullable is a burden, it's more like that Nullable maintains your code. If you keep writing code without Nullable, your code will be harder to maintain that if you wrote it with Nullable in mind, because you basically tell the programmer in the future how to use your existing stuff safely.
It can also help contributors who don't know your code well to not write NREs, and people who use your API prgorammatically would know what arguments can be null and whatever, which is also nice.
I just found this, might be more what you’re looking for
It’s called Creative Content Converter if the link isn’t working
I have installed the nomnom project patcher via git url and I have a bunch of errors in it. how do I fix them?
Pretty sure this is the wrong thread for that, instead you should probably go to https://discord.com/channels/1168655651455639582/1199473521265475745
kk
is there a way I can go to the moon, and choose what interiors spawn on that moon, rather than the other way around
no
Hey, I've been informed that trees now have some sort of collision trigger to destroy them when hit by the car I guess. I see the object in my patched project that should house this script, but it just has a missing script warning. Does anyone know what that script should be? I'm hoping it got ripped but not linked properly because if it's just entirely not in my project then that's going to suck. The cruiser prefab also seems to be missing a collision scrip, but that's not as bad I don't think because that shouldn't impact the actual game's version, right?
Btw about the Nullable thing, I've found a place (in unused code, sure, but this exists anyways) where there is a potential NullReferenceException as you dereference DungeonManager.CurrentExtendedDungeonFlow in the CalculateDungeonMutliplier (this method name has a typo btw) call just before checking if it's null, and Nullable caught this issue just like that.
Nullable is there to make your life easier and to help maintain the code, it's not a burden on the code base.
Hello everybody my name is Mutliplier and welcome to
Hey I downloaded the EGypt custom level and the Tomb interior for it. Does the tomb interior now randomly come on other levels aswell? Is there a way to make certain interiors spawn on certain moons? I'm looking at the "LethalLevelLoader.cfg" and I can't find a setting for this. My play group I play with might want the Tomb only on EGypt, but not the others so I'd like to configure this for their preferences.
Depends on how the mod developer puts as the default, in the LLL config it should have a "Custom Dungeons" that consists of interiors it reads in, this appears near the top.
If you just installed the mod(s), boot up the game once and start/continue up a run (you don't need to do anything in the run) and LLL should check what moons & interiors you have to populate the config accordingly.
You can whitelist a moon based on specific parameters, easiest one is messing with the "Manual Level Names List" and just adding in the moon's name with an assigned weight like so:
EGypt:300
Tomb interior by default is only set to EGypt with a weight of 300, I do notice in the config it is listed as:
10 EGypt: 300
So if there's issues where it repeatedly does NOT select Tomb interior, try removing the 10 and just have:
EGypt:300
in the entry field to see if it works out, if that still doesn't work out don't be shy to mention what's going on
Just if anyone else stumbled upon this, someone helped me find it. It’s TerrainObstacleTrigger
Hey guys, I'm making a custom moon and I got a quick question, where do I put this files (tutorialmod.lethalbundle and tutorialmodscene.lethalbundle)?
I agree, nullable is one of those things you turn on in one project and then never turn off again once you understand the design pattern around it because it just catches things you will miss otherwise
put them in the plugins folder of bepinex
Thanks, now I realized how that works :D So basically higher number means bigger chance, am I right?
Yeah idea of how the game chooses stuff like interiors is this:
Hypothetically let's say you have 50 for facility, 50 for mansion, 300 for tomb for EGypt:
Chances for Tomb in this scenario is calculated like this:
Tomb Weight/Cumulative Weight of each individual interior = Chance to get Tomb Interior
300/(300+50+50)
300/400 = 0.75 (ie 75%)
You can also do "simulate EGypt" in the terminal to see the chances for each interior that's present for EGypt in-game
i downloaded nom noms patcher
but there is no tools section for me
to use nom nom patcher
will LLL be fixed for v56 or will this version be skipped?
LLL is fine, it's mostly LethalToolBox that needs updated although I believe Batby is planning to release a small update for LLL
hmm you sure? multiple people said it's incompatible and makes them get the black screen with green smoke when they try to host. I tried it and it happens to me too
LLL likely won't even need updated when V60 drops, V60 is gonna be new vanilla scraps and additional Tiles for the Vanilla Interiors
when I disable LLL I can play normally
that would be nice
That's been fixed
The only mod that caused that was LC_Office
and it was updated
I see, thank you I didn't know about that!
Just out of curiosity, has anyone figured out what Mold Spread Iterations and Mold Start Position in the selectable level stuff means?
Mold Start Position is the AI node index of the outside AI nodes where it starts spawning Vain Shrouds, I believe.
Mold Spread Iterations is how many times you want the Vain Shrouds to spread around per moon landing*.
A question about the weight of interiors, does anything overwrite LLL's config? I put the interior Blue Mines for Offense at weight 20 in the LLL config but in the game it's at 50. Any idea why?
Ok, interesting. I’ll have to look into that. Thanks!
Hey, I was working in the moon and in the terminal, the custom moon doesn't appear, what do I do? Do I need to complete the terminal route override settings?
remove lethalexpansion
not yet
can anyone answer this by any chance? I checked the configs again and this specific interior does not even come with one so there's no way that LLL's config is overwritten.
It also happens to some other interiors. Are the shown %/weights in the game real?
does LLL rewrite the item ID's in StartOfRound.Instance.AllItemsList when it adds items, or is it just me doing a dummy by using this array to scan for an item to give?
So there's no actual way to load a cache of the base items, got it
Well, not in the way im needing to, anyway.
part of my code involves loading the StartOfRound.Instance.AllItemsList.itemsList to load the items from the base game, which is where the issue comes in is all. without LLL, item ID's and such all work as normal regardless of whether there's modded scrap, or not. With LLL, the entire array gets randomized.
by item Id's, I mean the order in the array, since any base scrap, game item etc is saved there throughout rounds / sessions.
ok now this makes more sense
for reference items have an id value so that was a little confusing
Yeah sorry, I'm still waking up lol
Can you elaborate on what you mean by load
it'd have been nice if LLL did, i really hate not knowing what enemy hit what or what item hit what enemy when looking at HitEnemy which has a hitID parameter
I can just use Terminal.BuyableItems, but for example, I run a function that scans the StartOfRound.Instance.AllItemsList, and loads it into an array, then prints it to the terminal with the order, and ID which it loaded. From there, I use those id's in a hardcoded array to load and give that specific item from the ItemsList. I initially did just a scan for a keyword, but this would be inconsistent when paired with modded scrap as quite often the keys could match, however with the load order, you can just use the id which the base game loads in first, and it automatically finds the prefab, and what not that you need. So my code follows a format so far of if (entered item) then => Load game object from the list via the prefab and the item list, and spawn it on the client.
too early in games development for me to feel comfortable fucking with basegame like that
I can see other opinions on it but bad vibes for me
but in that example, the list returns a completely different ID with LLL, when not.
that's odd
so instead of a key being 5, its a lockpick which is the BuyableItems iirc
Yeah I thought so
the terminal stuff and item stuff should be consistent in order 🤔
oh hm
any chance it's just off by 1?
that's fair tbh, it should just really be something zeekerss would do in basegame, it makes no sense to make a system for it and just not do it
all he'd practically have to do is give each enemy an ID, items already have one, and just make a tiny bit more than that
have the community campaign me to be hired and i'll be sure to add it to the todo 😛
or post release
lol, glad to know im not the only on in this server who can still dream 
If you test the latest version of CrowdControl, same issue. It is I think, looking back now is your list completely removing the broken binoculars? 
no offense to you whatsoever but im not testing anything haha
not binoculars
the cardboard box iirc
ahhhh, yep that'll do it.
lmao, theres a cardboard box item?
Yeah lol, does nothing but break
some of it's references are straight up broken and fuckup any proper iteration on the items
it's like the 1 thing LLL actually really quitely changes
@tropic atlas is what your doing allowed to depend on LLL or are you looking for no dependency
yep that explains it all actually, lol. I'm preferably looking for no hard dependency, but if its unavoidable thats fine. I totally get removing that useless broken item from the game haha
no no i get that
you seem savvy enough to figure out a path to getting around that regardless but something about this in general doesn't sound right
there's definitely ways I can get around it, I was just hoping that it was a mistake I was making right now, or something was causing an issue for you before I just move on. 🙂
ohhh
I actually moved from a working method regardless of mod integration to this, so im expecting a lot more issues
try RoundManager.Start
I do stuff on StartOfRound.Awake because it's one of the earliest (if not the earliest) functions that runs and if you are caching the list before i remove it your info will be oudated
in theory if you grab it after it should be right, no?
because it would be removed for everyone in the same way
Yeah that should be fine! I can do that, and if not there's always the tried and working method, lol. Ty for the help 🙂
no worries
wait no, it still won't be right with vanilla cause the box exists there, lol
I'm making progress, what does this mean?
do you need to hardcode the ID index that you're using? can't you find the ID index by patching roundmanager.start and then using that value from then on
your planetprefab animator is null in unity
so... I can't use the Titan moon planet?
no i remove it
don't enemies already have an ID? For scan node and terminal node stuff
or is this for every enemy instance?
that's per instance i think
, but also even if there is an ID, it's unused
ah yeah I don't think enemies have a per-instance id, unless you take the placement in the spawned enemies lists as an id
Hey umh, last question, How do I made that the player can stand in a prefab, because my map is a prefab and it dosen't let me stand on it (I fall to the facility)
the good thing is that monster can stand
what layer and/or can i look at the box collider/mesh collideru used for terrain in unity?
if you don't need sequential IDs, the network object has a unique ID
The problem was that stuff like HitEnemy dont use an ID so you can't identify what enemy attacked another enemh
ah, I see
yeah it'd be nice if it had a shared interface or something
So I notice that the LLL config has an entry for 44-Liquidation. While it's not routable in the terminal, it's able to be selected by the RandomMoons mod which randomly picks a moon upon pulling the lever. I notice that LLL has options to disable custom levels, but is it possible to disable Liquidation as well so the randomizer doesn't pick it? I considered checking out the rando's config, but it doesn't have one.
I haven’t used that mod, but does the dev for it have a contact method? It might be something they’d have to do.
Liquidation is a vanilla moon
They could be also talking about the RandomMoon.
Damn
Yeah that's the one I'm talking about. RandomMoon by Beepster
Not from what I can see. I know there's a handful of other rando moon mods, but they all involve terminal input which offers a degree of player choice and/or showing where the player goes.
When trying to generate my dungeon, LLL says its unviable for moons such as Experimentation, does anyone know the prerequisites for a dungeon being viable?
Don't worry, I fixed it
now I just have a problem loading in
I really don't like bothering you about Nullable @zenith flax, but I just wanna say this, please consider it. The effort to mark things as nullable isn't much at all, and all the effort really goes into getting rid of the potential Null Reference Exceptions, which is the point of Nullable, to give the IDE or whatever the ability to catch NREs for you and make you fix that stuff.
If you really think Nullable isn't worth it, when I have already found potential NREs in your code just by enabling Nullable, I don't really know.
There is also a potential NRE in the internal CreateTerminalEventNodes method if createNewVerbKeyword is false and newVerbKeywordWord isn't found when going through the list of verbs. This is unlikely to cause issues though since this is an internal method, but it's still a thing Nullable caught. My point just is, please enable nullable (aka go through my PR soon when you are gonna start working on something. The PR doesn't change how the code works functionally in any way, and all the changes were minimal)
Yeah nullptr checking is something they drill into you at workplaces, never make assumptions about safety
Weird that nullable isn't the default in c#
probably for backwards compatiblity reasons, so when updating, you won't get a million warnings just like that
but yeah, it being enabled by default would be cool
Its the default when making new projects for me
like dotnet new console has it in the csproj and its why I started using it
oh nice
also Xilo's LC and Content Warning templates have Nullable enabled, which is nice
Xilo doing good work as always
It's not really me saying no, it's me saying not yes because I clearly need to respond to it
I get the point of it, I do
Yeah when I moved to xilos from Evas I got hammered with warns
But right now it's pretty difficult for me to put any time into actual LC dev and when I do I try to avoid working on stuff that for the most part is working
I gotta pick my battles
introducing a new standard that I need to keep up with does add overhead into what I'd need to do to keep working on the project if thats something thats happening which can be problematic when trying to approach new work on it
maintaining nullable was surprisingly pretty easy
I'm not gonna slam you about it but null coalescing will become second nature once you learn it
i added it into coderebirth after hamunii hammered me to and beside the time it took to bring all my files up to date, it was just something i'd have to consider when i made the type, and it took minimal time
I do kinda get that, but if you for example aren't familiar with nullable at all and just want something done and don't want warnings, you can disable Nullable for that thing, by doing:
#nullable disable
// code goes here
#nullable restore
But I would recommend learning Nullable instead, since it's pretty simple
you can also think of it being enabled as allowing other devs to help make pr's etc more easily
It definitely makes all the methods that need to be called show what is allowed to be null and what not, without having to look at the method (which you should do though)
but yeah, it tells you if you need to check something and people contributing will end up writing code with less NREs
Looks like somehting got loaded without an reference. Are you trying to run your own mod?
how to I add the things from v50 to my moon, pretty much the cruiser
gotta update the dropship to have all the cruiser stuff
Here was a comment I made in a different channel about updating: #1199473521265475745 message
thx, I already patched it, I actually dont think I had that many issues
Oh, alright. Yeah, I think you can just copy a dropship form a vanilla level into yours and the cruiser stuff should come with it. The only other things I can thing of is the new mold stuff which has a point in the scene and some stuff in the level object and trees now can be knocked over by the cruiser. I had to manually add that script to my trees because it didn’t patch them in. The new enemy can be added to your moon’s enemy list too if you want.
alr ty
appreciate it
my moon isnt appearing in the terminal, but I think its because of the moon prefab is not selected, im trying again now
yep its appearing now!
now im not able to land
this keeps spamming lol
You’re welcome. I did just remember that the prefab for mines, turrets, and spike trap got deselected when updating my moons so I had to put those back. Not sure if you need to or not, but maybe check. Glad it’s at least appearing now!
I spoke too soon
does this happen if the your drop ship is to close to the shuttle?
Not sure, but I’d doubt it
do you know where to fine the hazrds?
like which folder there in
is it called turret container for turrets?
and just land mine for land mine
Yeah, I think so. You can click the little dot to the right side of the “prefab to spawn” box, switch the menu to “assets” and it’ll list all prefabs with a search bar up top so I don’t think you need their exact folder location.
Asking again, but when I try to load my interior with a 9999 change on experimentation, it tells me my interior is unviable, does anyone know what steps it needs to becomes viable? Major told me it was because it failed to generate, but it seemed to generate in unity fine with my test dungeon generator.
what does the code that's telling it it's unviable even checking for in the first place
what makes it unviable
This is just spitballing, but it seems to focus on the rarity? Like how the viable dungeons have (300) and (1) next to them?
lance says it generates in unity and showed a screenshot, and says they got this advice https://cdn.discordapp.com/attachments/1168656318345777313/1261357599173906534/13905e9e5f6ce3e00a5ad1b29fc6da1f.png?ex=6692aa4e&is=669158ce&hm=04411dc671a3cb8297e32126d4481a0e657025b49def3f11babe53902fdeb777&
might be relevant
im not sure if this advice is even right cause the dungeon hasnt even generated yet
Yeah its not like I see it trying to generate it and failing, it just seems to be lacking some varaible that makes it a dungeon that can even be chosen and generated
This is my extendeddungeonflow incase thats important
how about your dungeon flow
that looks like a morecompany cosmetic item not existing when it should. Consider #help-and-troubleshooting for general support rather than LLLs thread, in the future
hmm wait
maybe its the content tags somehow?
just to be sure try setting your tags to match experimentation's or something
like maybethe "Free" tag
By the tags, do you mean like in the "Global Props" setting in the dungeon flow?
nah the Content Tags, in ExtendedDungeonFlow
just add Free and see if it works
i wonder if theres a way to disable the content tag stuff for debugging...
Will do in a second, but where would I find the content tags of experimentation dungeon flow, is it in a thing for LLL?
its in the debug logs, right above the unviable message
i wouldnt say you should copy all the tags
i think 1 tag matching shuold be enough
Free just means your interior is allowed to show up on all free moons or something
Oh I see
Am trying that out will report back in a bit'
Nah that didnt seem to fix it
Was there anything else I needed to do to the content tag, did I have to name the contenttag object itself?
whats it look like in the extendeddungeonflow
i thought they were just strings
They seem to be objects with scripts in LLL
@sour spindle It seems like maybe this is linking to the viable list, the rarity?
Its looking to add whatever dungeonflow doesnt have a rarity of 0, which might be why the viable flows printed have the (300) and (1) on them
Though I dont know why my rarity injector config stuff wasnt affecting it then
Ah I did it!
I think its because I didnt enable the "Enable Content Configuration" in the config, I may have also done an error in the injection string but Ill have to check that again.
ahhh
Its weird because I swear I made it true before but somehow didnt save
Im going to test rq if that content tag thing was also a factor or not
Well now Id be curious to know how I make preset dungeon rarity, because I could only get this by editing it after I generated the config in LLL's config
Ok so that content tag thing isnt needed, just loaded in Experimentation without it
how do you figure out the ai node index of an outside node?
You mean the nodes the enemies travel to around outside?
I think they just use their spawn points as nodes
Like the same nodes you place for enemy spawn serve as the ai nodes
vain shrouds use a number to determine what outside node they start on, i want to figure out what ai nodes are what numbers
I saw what node my shrouds spawned on, maybe I can help
Does it say in the console what number they spawn on when they spawn?
yeah, a custom mod (moon) that I made
but I kinda discovered that it was something about the cosmetics or something like that, I don't understand really unity and his errors
I tested another profile without some cosmetics and it loaded perfectly
I was just about to ask about the ai node index too. I banked on it just being in Unity what number they had, like OutsideAINode (1) OutsideAINode (2) or whatever they are but I don’t know that that’s the case. I’m pretty sure they aren’t necessarily spawning on that node though. I don’t necessarily have them in listed in order in Unity, but I’d doubt it’s relying on how the objects are listed in the Unity hierarchy. I noticed some vanilla levels have -1 for which node it should start on I’m pretty sure, which is odd unless that’s a way of saying “random”.
Unfortunately I’m not able to test as thoroughly as I’d like.
Hey @zenith flax, do you know if it's possible to have 2 separate route words? For example, USC Vortex having both "USC" and "Vortex" as route words?
sorry, my bad
Is there anything specific you have to do to get custom scrap to spawn in dungeons with LLL?
I've got one loading fine with imperium and or the dev menu but can't seem to actually get it to spawn in dungeons
Did you setup the dungeon matching?
Oh wait no nvm
Can you show your levelmatching and dungeon matching stuff lol?
just realized now that those files were required, honestly thought they were optional and it would just default to something 😭
Lol defaults are bad
so does this mean I'd have to add an entry for every custom moon I'd want it to spawn on?
fair LOL
"Custom" is also a tag
So is Vanilla
OH shit you're right
didn't even think about that, thanks LOL
gotta wrap my head around the workspace 😭
Lol
how curious. there is no clock on my moon and the sun doesn't progress in the sky at all.
There’s a bool in the level stuff I think for if a moon has time (I guess like the company building doesn’t). Maybe check that?
i've made sure that's on
Oh, then I’m not sure to be honest
Do you have a custom sun or anything like that?
custom animation container, custom animation, custom texture
For the sun?
yeah
Look at the vanilla sun and you should find what I'm talking about. It controls the time
@calm eagle uses a custom sun. You know the issue?
i can't have a sun without a sunanimator
I don't remember what it is🫠 I just know something with the sun controls the time. One of these two will know the answer
You have a second game object with a sun-related component on it. Find the unneeded component and get rid of it
not sure what to look for
In the hierarchy try searching SunAnimator or any other sun-specific component. If there's a matching item it'll narrow it down
This is what happened to me when Warehouse was breaking the clock lol
hm, there is no object called sunanimator at all. i've just copied the sun straight from vow
No, the problem is a component on an object, not the object itself. Gimme a sec and I'll see if I can find specifically what component screwed me over before
Try typing "Sun Animator" in the hierarchy search and see if more than one object appears
Might have to try "SunAnimator" instead
zero objects appear, space or not
thats not how that works... thats TimeOfDay's job
animatedSun is the name of the script
@young acorn did you accidentally checkmark the option on your moon that removes time progression
its in the SelectableLevel
i see. i accidentally uncheckmarked it. i may be a little stupid
oh wait no it was just uncheckmarked by default because i copied the selectablelevel from liquidation
you need your sunanimator
it is in this context because timeofday unsafely gets sunanimator from a moon scene
if its not there it just dies iirc
nope sunAnimator always has null checks
sunAnimator, the TimeOfDay variable, i mean
also TImeOfDay doesnt get the animatedSun object
the animatedSun actually assigns itself to TimeOfDay when the moon loads in
ye but
au contraire
StartOfRound.openingDoorSequence()
anyway at the end of the day
the problem was that they had planetHasTime off
because they copied liquidation
they had a sun animator
all these things set the clock value
Ah, that would explain it then lol
Always copy core system stuff from one of the Live moons like Vow or Assurance
Hey does anyone know how to fix a conflict between Sector0 and Secret Labs? I can't get to Secret Labs because the terminal won't let me, it routes to Sector0 instead
Do you have TerminalConflictFix
Thank you, I'll try that ❤️
try deleting everything in BepInEx\config except BepInEx.cfg and regenerating your configs, that will clear any old configuration files, then run mod manager again to regenerate configs, after that make everyone import a new profile (not update existing ones), haven't had any sync issues with my group after doing this so far
also if anyone knows the easiest way I can make ALL interiors have equal weighting for ALL moons please let me know (edit: just did it manually)
does anyone know why I don't seem to be getting the shop droppods on planets? bought flashlights on asteroid13 and nothing ever came.
https://thunderstore.io/c/lethal-company/p/DiFFoZ/CompanyCruiserFix/ for modded moons
The most recent update to the vanilla game changed the dropships and modded moons haven’t necessarily updated. I think the mod above swaps the old ship for the new (haven’t used it personally), so until the mod dev(s) behind the moons you use update them, the above mod should provide a solution.
thx
its weird, despite 2 interiors having the same chance to spawn, 1 spawns way more lol
for me its liminal pools vs xen interior
liminal always takes prioirty
might just be unlucky
tbh i honestly feel the same way with xen interior
i have it configured pretty high but i've only seen it once
Yea but even with other interiors liminal pools always takes precedent ngl
once extendedmold is made, will it be possible to have multiple mold types on a single moon?
i have multiple mold types in my house
Hey, @zenith flax , I think I've found a pretty unpleasant bug with the story log feature of LLL. So basically if you have two different moons defined in separate ExtendedMod files (same author name !) and each of them has custom logs and the merge setting is "Matching Author Name", then if you try to collect all of the custom logs there will be an indexing error (coming from HUDManager I think) after which terminal story log screen (even vanilla ones) will break and will no longer function for the rest of the game.
If I choose different author names in each ExtendedMod to prevent merging, then everything works correctly. Could you look into that, when you have the time?
Check to see if liminal pools has its own config file, I stumbled upon this with another interior, the LLL config and interior mod config were clashing so the spawn chance wasn't equal
Nah it doesn’t
Actully, changing the author name is not helping, for some reason it worked once and I was able to collect all the logs, but now it throws the same error...
If you've set Enable Content Configuration = true, and the chance is equal then it's probably down to luck, if you type simulate MOON then that will tell you the %, if equal then it is just down to luck
yea the percent is the same, but liminal appears more, just bad luck ig
Getting major desync issues with interiors, is that a known problem or just a problem we have?
Just played Azure with 2 friends and dungeon spawned was Tomb. They couldnt enter main entrance and died instantly when they went into the fire exit.
Another round a mate entered "Cry" to land on Crystallum but we landed on CaltPrime which costs 1000 Credits - we only had 200 tho
Well Tomb rn desyncs everything, you should probably remove it for now until its fixed
Oh so Tomb might be the issue for everything then (right now)?
Yes
aight ty
just reading through this and wonder if you happen to know why the ingame % is showing something different than what I typed into LLL's config? the interior's I am checking do not have their own config
the interior is set as a number, and those numbers add up to 100%
if you had only one interior and it was set to 2000, that would translate to 100% spawn chance
think of it like a raffle
if two people both have 10 tickets submitted, then it's a 50/50 chance
oh yeah I get that, maybe I explained my issue wrong
need more info then
I made a whole google sheets document just to make my own weights for interiors
can you show the config and what shows up when yoh type simulate?
and the weights I typed into LLL's config are not the shown weights in the game
for example, these are my custom weights for Experimentation
and these are the ones shown in the game
the "Enable Content Configuration" option is enabled for all custom interiors
then I thought maybe one of the interiors has their own config, so I checked LC Office for example. In my game it says it's weight is 40, despite me putting 30. LC Office does have a config, but even there it's 120 so the shown 40 come out of nowhere?
sorry for so many pictures but I battle this issue since 2 weeks now and have no idea how to fix this. it's quite annoying
it seems like maybe r2modman isnt saving your configs
can you open them in notepad?
yeah no worries, appreciate the effort 🙂 it's a really weird issue, maybe reinstalling thunderstore & mods would help
i got an issue with only custom moons, i cannot land on them. it gets stuck at waiting for crewmates
[Error : Unity Log] Cascade Shadow atlasing has failed, only one directional light can cast shadows at a time
and theres a big flickering light in the door of the ship
i came here because its only for custom moons, they use LLL
its not related to LLL
I'm not trying to be rude or anything but the log is fairly explicit in what is happening. Who is doing the thing that is causing that is something im not sure of
its okay
would a full log help?
actually is there a general help channel for this
There is a help and troubleshooting channel, which might work. It seems like there’s something to do with lighting based off the log. What custom moons is this on/does it also happen on vanilla ones?
i only have two custom moons, secret labs and orion
i tried on gordion, experimentation, adamance, they all worked fine
im guess vanilla is fine
the weird thing is i playtested at 3am last night like 16 hours ago and it was fine
Do you know of anything that could’ve changed then? Additional mods, different people?
no new mods, a couple mods updated but i backported them and it still is broken
Backported?
all the mods that updated in the past 24 hours i reverted to the version they were before they updated
There’s a way to clear the mod cache in settings I think. If an updated one is what broke it, could something have been cached even if you went back to an old version? Maybe delete them, clear the cache, then redownload? I know a friend had to do something like that once.
Also, maybe get the mod list and put it here incase anyone can identify a conflict.
I think if there's multiple weights coming in from different Configs (e.g. custom and the default value provided by the mod) it picks the higher of the 2
Multiply the numbers by like 10 (so they're still proportionally equal but definitely larger than the defaults) and see if that fixes it
This actually reminded me a question I had. Interiors can be applied to moons based on tags or by name, right? So if I’m understanding this correctly then if an interior had the tag ExampleTag:100 and it also had ExampleMoon:200, if ExampleMoon had that tag it’d use the 200 weight?
Yeah, it should pick the higher value
Okay I will try that, thank you!
none of the interior mods i have are showing up. do i have to config it through lethalleveloader now or something?
Yea
oh man this is kinda confusing
i gotta enable content configuration on each individual interior then manually change their moons?
i have no clue what some of these mooons even are
that are auto set
this is what i get for not keeping up with things for a while i guess
oh it auto generates?
generating moons i dont even have :/
is there a way to straight up disable facility lol
and hlaf my moons dont even seem to simulate any of the custom dungeons
I can try helping u tomorrow morning
im just brute forcing ever moon at 999 per dungeon right now
i hope it works lol
It worked!
lol
@grand valve try this, I think your configs are out of date or clashing, then set up your config again, I've got all interiors working with equal chance but where interiors have their own cfg you should set the same chance - oh and interiors with their own configs may require you to copy the moons list too so you'll have them in two places
If you send me your lll config file I can double check this for you
yep thank you for your input, I figured it out slowly. So apparently the overwrite priority is like that: custom level cfg (if there is any) -> LLL config -> LethalQuantities config
my issue currently is tho, for the LC_Office interior. in its own config there is only a slider for the weight which goes up to 300 max, and the level list has no weights behind their names. so I don't know how to deal with it when I want a weight of 55 on Experimentation, but a weight of 15 on Adamance for example
I wonder if that's even possible if LC_Office's config only has a slider
here's how mine is set up
it will still spawn if the weight is set to 0 in its own config? 
that would make everything easier tbh
i mean this setup works for me so i assume it's similar to what badham said in that it picks the highest one
damn I gotta try this, thank you
Okay I came to the conclusion that LC_Office is just broken. I copied your settings @chrome notch and now for some reason it says 40 on almost every moon, even moons which I haven't written anywhere :/
yeah I'd like it not to spawn on Vow and some others if possible
will make that line empty
I say nuke your configs, also I don't have lethal quantities but if it changes the chances then try disabling it
doesn't matter, if the weight is set to 0 in the config it won't register on planets that you don't specify
I just reinstalled LC and r2modman and deleted all files
oki will try^^
thanks guys for the help xD
yeah I actually wonder if it's another mod causing the issue, try only having lcoffice and lll enabled
omg this is the issue
for some reason I didn't understand this part but now it makes sense
ya that's probably it lol
yes, by default LCOffice sets free planets to 40 weight
so that's probably overriding the manual moons list, which tbh seems like incorrect behavior @zenith flax can you weigh in on this?
I just wanted to make sure im properly lowering the size
of an interior
this is the correct way right?
I just want to be certain of something. I noticed when launching my moons, one of them has the surgeon or whatever the new enemy is, but I get a warning that it's missing a script. I think it's because when updating my Unity project some of the new scripts didn't get ripped properly (or maybe did but when running that thing that tries to reconnect broken references the script was dereferenced). Either way, for some reason I'm under the impression that LethalLevelLoader or something will just spawn the vanilla enemy so the missing script isn't an issue, but is this true or do I need to hunt down its script, reconnect it, and push a patch?
the surgeon shouldnt be the thing that is throwing a msising script
can you show the error?
/warning
[Info :LethalLevelLoader] No ExtendedMod Found In Bundle: 45valiance.lethalbundle. Forcefully Loading ExtendedContent! [Warning: Unity Log] The referenced script on this Behaviour (Game Object 'ClaySurgeon') is missing! [Info :LethalLevelLoader] No ExtendedMod Found In Bundle: starship-13.lethalbundle. Forcefully Loading ExtendedContent!
If I remember the inner workings, the level has objects for the enemies, which reference a prefab, and I think in the prefab might be where the script is missing from.
I can always test. I was just wondering if anyone knew if that's a problem since I'd like to experience the new stuff with friends hopefully tonight or soon.
Your enemy list shouldn't use the prefab for enemies
I think u can just make an empty object with the name of the enemies
And LLL just knows what it is
Ok, I can probably do that
can in this setting just type "all"?
I did test as is and it seems ok. Probably just like how you can use empty objects as placeholders for the enemies, LethalLevelLoader still overwrote the one with missing AI in my moon. So, I don't need to do anything by the look of it, but might try that empty object thing because I do think I remember someone saying it's a trick to reduce file size.
Someone can correct me if I'm wrong, but I think Vanilla and Custom are tags you could use to effectively cover all (I think there should be another field for tags as that looks like just level names).
Maybe a dumb question: I'm looking at the config and many of the vanilla moons have the same values in for min/max total scrap value (300/700)
Are the values being auto-populated here accurate and are they the same as the base game? Or, because they are labeled override are they not accurate and only there to allow me to configure them if Enable Content Configuration is set to true?
(and if they are accurate, it doesn't make sense to me, how?)
Min and max total scrap value doesnt work
so it's a planned for the future kind of thing?
You need to adjust the number of min and max scrap spawn and what you can do is add or remove more valuable scraps like gold bar or fancy lamp etc or less valuable ones like metal sheet
Ok thanks, I wasn't planning on touching them, the numbers just made no sense with the costs of the moons, so I got confused and started to consider tampering with them
It may have been a scrapped (heh, get it) thing from the base game, since those come from the base game's Level system
But as stated, they don't work, so you can ignore em
neato thanks
is it LLL causing this error?
LLL certainly doesn't seem to handle the NullReferenceException
I believe I heard its handled on the non released version
huh
Mhm
I can't see anything that would point to it being fixed, unless if it's fixed on batby's machine, not pushed
I think he said he added a check for nulls but didn't know the root cause
the IL offset says it's this that's null (as far as I understand), though I dunno why I don't even get warnings when marking the iteration variable as nullable (maybe they can't be null? But how is it null then?)
btw, what mods did you use? And do you remember what you did for that error to happen?
This is truing
i think it was the mod surfaced that caused the error, he dev uploaded a fix but i havent tried it yet
Okay thanks!
What was the problem?
😭
Okay I have no idea how that NRE can even happen in ContentRestorer.RestoreAudioAssetReferencesInParent, as it goes like this in IL (C#ified):
var local_9_enumerator = OriginalContent.ReverbPresets.GetEnumerator();
// MoveNext sets Current, returns false if Current doesn't exist.
while (local_9_enumerator.MoveNext())
{
var local_10_Current = local_9_enumerator.Current;
if (local_10_Current /* IL_00db: The offset shown in the stacktrace */
.name /* NRE thrown here: UnityEngine.Object::get_name() */
!=
null
)
{
// stuff
}
}
I haven't looked at the IL or anything like you are rn but when I was looking through just the kind of natural logic behind what im doing with all that it was really strange
the best guess I have is that what Unity considers Null here isn't what MoveNext considers null
as I think, Unity has its own null thingy
@zenith flax For the route confirm override, is it possible to still have it say the vanilla stuff, then my text? Specifically the "Routing autopilot to X, Your new balance is X"
Dunno if there's a way to show the balance
uhh
have you tried just using the vanilla text
i forgot the order of execution on this but vanilla does it by replacing specific text
I just don't know what the vanilla text is in order to show the "Your new balance is X"
what do the vanilla levels say
Lemme check
Your new balance is [playerCredits].
Please enjoy your flight.```
Will LLL automatically overwrite it if I also put [playerCredits]?
If so then I can do that 
LLL won’t but ideally LC will
Okay I'll check and see for ya
This didnt work on Rosies moon penumbra with [currentDay] or whatever it said when we played it
For terminal stuff it could work, it was the ui desc. when we landed
Fair makes sense
I need to remember to try this since one of my moons has custom text.
im reviewing custom moons for my personal modpack 👁️
would people want to know the ones i didn't add or only the ones i did add
idk if the former would be in bad taste or not
considering people already made a kind of distasteful tierlist ranking moons as garbage or good, you're probably good 
nah its not tier
just linked it for you to find the moons easier
im curious what you're going to add ^^
if you arent playing with peter griffin moon, you're not playing the game right
did you add harvestmoons
🥹
personal list of my opinions of custom moons part 1.
this was done for my personal modpack i play with friends, pass or fail was done via a general vibe check and was determined due to personal bias and a massive preference on vanilla feeling content.
Affliction - Pass
Sanguine - Removed
Kast - Pass (Hesitant)
Celest - Pass [I don't like the invisible walls]
Crystalium - Removed
Atlas Abyss - Pass
Echelon - Removed
Argent - Removed [too big]
Calt Prime - Removed
Psych Sanctum - Removed
Azure - Removed
Vertigo - Pass (Hesitant)
Corrosion - Removed
Desolation - Removed
Collateral - Removed
Devastation - Removed [Really liked though]
Icebound - Removed [Really liked though]
Ganimedes - Removed [Really liked though]
👀
text is fine
also two random observations
- i really need to finish up extendedfootstepsurface
- i think almost every custom moon i've played does not justify how big of a surface it has
That is something i unfortunately have to agree on, even vanilla moons suffer from this..
Seichi is different 🤗
Vanilla handles it a lot better than custom ones from what i've seen
isn't seichi like 4 islands
also for anyone curious for like a bias baseline my fav maps in vanilla are adamance, dine and artifice
Technically yes but every section of it has a reason/function
Which is funny because i think generic so far has the most potential in regards to being the best custom map creator vanilla wise
You could say 5 🤔
smh
my vanilla map tier list is probably
Adamance
Dine
Artifice
Assurance
March
Rend
Experimentation
Offense
Titan
Embrion
Vow
Im just sayin maps need to have a reason for their size - vanilla moons have an issue with it like you’d never walk to certain areas and custom moons have a bigger issue with this
I don't think any map needs to be bigger than the average vanilla map but that might be heavy imo's
Justifying the areas with only ainodes imo is not a good design - vow has an issue with this, youd almost never walk infront of the ship if its not for bee hives
Thats why i dont particularly like junic or gloom, they are very cool maps but just way too huge
I've literally tested every non meme moon, I really wish some of these moons were smaller in size like atlas abyss is my favourite but it's 150mb and my group are poor, there's also some moons that straight up crash on load lol. Current requirements for me are < 100MB, nothing boring, some custom content, good visibility, nothing that goes in a straight line or has things placed randomly, also I avoid maps which you can't see anything cause of the weather or environment
Oh yeah I was just saying what I'm doing with my modpack, idm the physical size so much as long as there's breathing room, and yeah I messaged zingar about it but I don't know if he's still map making, all the custom designs use a lot of space or they just aren't optimised enough or smth, most maps are around 60-80MB
is there a moon optimization guide yet
143 to be more precise
not really no
For moon optimization you need to
- adjust the texture sizes to 1024 maybe even 512, any less is going to fry the textures and will look extremely bad, sometimes even 512 does that 🤷♂️
- turn crunch compression on (leave it on 50)
- for fbx turn on meshcompression on low settings, sometimes you can even do medium (while you are there TURN ON READ/WRITE - this is not for optimization but for placing your props in environment so it would not throw errors in the logs)
- use .ogg audios (you can use .mp3 as well but its slightly bigger format, afaik the game will turn the sounds into ogg anyway, but its for sure better to use those then .avi thats has 10x filesize)
- delete unused meshes, textures from
LethalCompany\Gamethat YOU ARE NOT USING - you are using dropship textures, handicons to name a few
512 is good - i use that for most of my textures, i might even use it for all, cant tell honestly ive been messing with that for quite sometime
delete unused meshes, textures from LethalCompany\Game that YOU ARE NOT USING - you are using dropship textures, handicons to name a few
no clue what this is about and i recomend not doing any of this
You were the one that recommended me that and that helped me reduce the filesize a lot without any issues 👀
This is wrong
arent those not even included in the bundle anyway
I told you to strip specific assets referenced in your SelectableLevel
that is extremely different advice
and if they are they probably should be (with exceptions in regards to certain things in your selectablelevel)
arent there other optimizations i remember hearing about
like something to do with optimizing the terrain
(theres many many ways to optimise)
Well removing unused textures like buttler’s helped my filesize compression and the enemy texture still get placed from the game
anyway i would pin that one but theres a lotta disagreement
once we have somethin good and comprehensive we can pin it for people to see
again, because thats an enemy referenced in your selectablelevel
the dropship and handicon shit you mentioned should absolutely be breaking your moon in certain regards
no clue what thats about
i didn't suggest that
Yeah i specifically mentioned those to not be removed cuz you are using them in your moon
Dont pin it, i guess i missunderstood Batby at the time but the way i did it works for me 🤷♂️ just had to make sure im not deleting important ones that i mentioned before cuz then they would be white blocks (had that in one of my patches and also happens in the current version of Code:Rebirth 😳 - not sure how Xu did it, im guessing she did something similar)
^talking about the handicon here
apologies if i came off strong, i think your advice was just abit to generalised from the original advice
wanted to get ahead of it since its a fairly destructive act
No worries, yeah i just mentioned things that worked for me but could be dangerous if people are not being through about their stuff, deleting the whole Texture2Ds is a big no-no, you need many of the texture so it could be a tidious thing to go through them that way
@tall kindle i haven't touched it in ages
i do not know what works
Contribute to IAmBatby/LethalToolkit development by creating an account on GitHub.
why would an enemy be included in the moon bundle anyway
the level scriptableobject
i needed to make a copy of the hand icon to reference it so that if i repatched the reference would not get lost
no because thats not a thing you can do
nor something you would want to do since you need a way for me to give you the real one
otherwise i don't know what you actually want
i mean you could keep the enemy properties scriptable but remove the actual prefab if thats how it works
in theory yeah but iirc i might be checking the prefab
but you can gut out the prefab itself
i only check for string
hypothetically anyway. cuz apparently you couldnt do that and i forgot
@tall kindle make sure to make a lethaltoolkitsettings SO
bet, i am currently figuring out the item grab thing by the player too lol
i can send it here rq, it has mostly taken inspiration from diffoz' and i would've added a couple more things to it over time like a preview of a diff from last bundle size to next and so on
ye show
i believe this should be still using unity's asset bundle builder, it's just a different looking interface, though i can atleast build indivdual bundles rather than everything at once lol
the latest commit of mine is like
very broken sadly
but im doing some cool stuff ya'll not on yet
oh yeah i completely forgot you were doing this spell stuff lmao, are you still doing that?
nah that was to help other homie out
fair enuff, the relevant parts i need to look at are just the ones about LethalToolkit?
ye
you are so real for this, i hate vow with a passion
a second fire exit in the oppisite direction somewhere would help so much
true
Mfw no cheese moon
/j
it just needs more cheese
This
@elder ether
Me
Where submersion…
the children yearn for lethal toolbox...
@batby, wasn't able to get every LLL moon to load at the same time but these are the counts of various tags on 119 LLL moons + the 13 vanilla
the tag names are normalized here so that whitespaces (and any other special characters), and capitalization is ignored between tags. This is because a bunch of moons add duplicates bc of typos
https://docs.google.com/document/d/1q4GoVhIXInVEhqQqkgYVO0h4BPNfJzfUsE0iMaLf84s/edit?usp=sharing
Tag:canyon has 12 moons associated with it. Tag:toliantag has 18 moons associated with it. Tag:kaynetsua has 1 moons associated with it. Tag:custom has 119 moons associated with it. Tag:cheese has 1 moons associated with it. Tag:dry has 1 moons associated with it. Tag:asteroid has 2 moons associa...
only 10 tags are on more than 5 moons 
yeah gorgonzola
oh my god it is u
I did get Tolian to fix Tundra being messed up next time he updates Zenit
nice
I didn't check every moon for typos, just saw it since its the last alphabetically in my pack
Wild how I just started searching for a list of Moon tags and you come here with this doc
Thank you for the hard work 🙏
I told him to check over his other moons incase he made another
quite a few use custom but lowercase and one uses modded but LLL adds Custom automatically already
so thats why I ignore capitals
Oh interesting I didn't know Custom was automatic
Makes sense
I need to take a look at this and adjust Gorgonzola's tags tbh
I'm not 100% sure but it is on every one of the 119 modded moons I had installed for that
yeah its like maybe 20ish moons that did that iirc
ah but liquidation is tagged as custom btw
😭😭😭😭😭😭😭
i should make a generic moons tag
Mfw WesleysMoonsTag has 1 moon
i love going to wesleys moon
Wish Wesley made more moons tbh. His one is so good.
yeah
idk
i love
needs more cheese
wesley moon
nah i think its fine
only on cosmocos
Why lol
Who's out here being like "I only want my enemy/item to spawn on the luxurious selection of moons that is the generic moons " 😭
gotem
sorting
Moreso good for "filter GenericMoons"
hi
So that I can see only those moons on the terminal
this
Just like when I type filter WesleyMoons and it shows exactly one moon
Very helpful
WesleysMoonstag*
Hi
I guess? Lol
It's a weird but I guess valid way to use the tag system
As someone who wanted to do it for trying out Tolian's moons, it was helpful imo
Besides I want to alter GenericMoons to exclusively spawn 100% Hoarding Bugs
Maybe if you were a dev for them and had some theme across all of them, and scrap/enemies that fit that theme/lore it'd work. Or an interior. They can apply to a combo of multiple tags and individually named moons, right? So, I guess it wouldn't need to be an exclusive thing, more like "my moons have a higher chance of my scrap/interior". I hadn't thought of using it to filter, but I like that idea actually and might do it in the future.
I think it was just GenericMoons in particular she was joshing on, but yea
Breh I'm not against a specific set of moons
What I said applies across all the moon's that are making tags just under their own name cuz that wouldn't be the first way I'd try to do something across all of like, generic moons
Are moons which I unregister from LLL via the config still loaded into memory?
Pretty sure yes
@zenith flax would have to confirm but I don't think there's anything there to detect "you've disabled all features from this bundle, won't open it" without opening it/knowing what's there prior which you kinda do with the bundle
this is really my fault because it's nto documented but
you don't need this
cuz of the matching by mod name section
ideally
yeah
toolbox stuff in sooner than later btw people
no promises but
stuff actually happening
hmm I've heard this before lol
you have and that was shitty of me
the fact LLL didnt hard break during v55 extended my burn out phase ngl
If it's actually coming, all good
Fair
Youre good, at least you got to recharge yourself a bit
naur i just burnt out on other projects lmaoo
i've messed with like 6 standalone prototypes since the last LLL update
https://thunderstore.io/c/lethal-company/p/IAmBatby/LethalLevelLoader/
LethalLevelLoader 1.3.0
-
Updated mod for Lethal Company version 56
-
Added initial ExtendedBuyableVehicle implementation
-
Added LevelEvents.onShipLand ExtendedEvent
-
Added LevelEvents.onShipLeave ExtendedEvent
-
Added ExtendedLevel.OverrideDustStormVolumeSize Value
-
Added ExtendedLevel.OverrideFoggyVolumeSize Value
-
Added PatchedContent.TryGetExtendedContent() Function.
-
Added public references to basegame manager instances to OriginalContent
-
Updated ContentTag's for new Version 55/56 content
-
Fixed issue with onApparatusTaken event running at unintended moments
-
Added safeguard to prevent multiple Lethalbundles with identical names from causing a gamebreaking error
-
Moved LethalLib from a Hard Dependency to a Soft Dependency
-
Fixed ExtendedItem's not correctly playing the purchased SFX when purchased from Terminal
-
Merged various pull requests to improve the workflow and deployment of further LethalLevelLoader development
It may take some time for this update to appear on the Thunderstore and various mod clients
oh nice
Now we need that LethalToolBox update, Wesley has been waiting on that so he can update his moons
^^
So happy to see this though 😄
Stuff could break, let me know if it does
does this fix vain shrouds sharing their growth on every custom moon?
It should but vain shroud stuff is super weird and the problems with it for custom stuff suckss to mess with so just let me know if it changes for the better or worse
I DO
Good shit Batby
...is it on nuget?
alright, im gonna wait verily patiently
elaborate
It's no longer working, gonna guess cus of the tag changes
thats not elaboration
It's just the lack of the giant moon below the ship not appearing
log
Will get it soon, I'm troubleshooting another issue as well rn
lol
There
Story logs appear to be broken too for a lot of moons atm
wtf are these fallback handler logs
No idea
@slim wind sorry to bother but just confirming your gone gone rn yeah?
It seems to be WeatherTweaks breaking everything
yes im aware
And that's not the fault of your mod we were having issues before LLL updated too
no its my fault
It was broken before we updated LLL though too, and I reported the issue to darmuh
If it's your fault then the issue shouldn't have happened with 1.2.4
I'm thinking it's just the process of how it's loading that's breaking it, cus if I test on a pack before some mods updated it's fine but now it's not
So it's probably loading later than before
Idk
Unity
🤔 Why was it breaking before the LLL update appeared as well then? Do you know why?
@zenith flax Darmuh is reproing the issue on a fresh profile too, seems to be an issue with WeatherTweaks exclusively
Has to do with the new config entry he added
Foggy ignore levels
Not saying there wasn't a compat issue on your side too
But it's happening on an empty profile with just BetaTweaks
then feel free to say all this to the relevant people
I'm gonna guess he likely needs to update something for when it's not paired with LLL
So what was the issue on your end?
Anyways he's aware of it, so hopefully he'll push an update for the cases where LLL isn't paired with it later
Ty for all you do Batby 
Will do some testing after the update hits Gale
I guess I will add that with 1.2.4 Celestial Tint wasn't breaking from what was going on with WeatherTweaks, it was the Terminal stuff I had all configured with TerminalStuff so darmuh and I were trying to figure out what was going on lol
but @abstract bobcat in his pack he could only produce the issue with LLL 1.3.0, but not 1.2.4. WeatherTweaks is odd
¯_(ツ)_/¯
what's 1.3.1?
Hotfix for what was breaking WeatherTweaks
i see
Mhm
At least when paired with LLL
@zenith flax You uploaded it in a good flow c;
It came with the LTB update
Okay doing a test now
I'm excited that LLL and LTB updated
Been wanting the V56 update for Wesley's Moons
:3
@zenith flax Can confirm things are fixed, ty for the update
😄
@zenith flax any idea why story logs are erroring still? Guessing moon devs need to update their moons? ^^
Yeah something wonky is definitely happening with the foggy block list
As soon as I added some moons to it again that wasn't Gordion
Oh well
LOL
is an extendedhazard function or whatever planned?
will this solve the ship in motion problem?
what
will the levellethalloarder update solve the ship in motion problem? I'm stuck in the ship with my friends in ship in motion, and everyone says it's because of the lethal level
i dont know what you are talking about
ow..
There are many mods that can cause that, LLL has been good for a while now - do you have perhaps moons that are not patched yet to v56? If so you should probably get CompanyCruiserFix if the issue is still happening you should seek help in #help-and-troubleshooting (modlist / log file would be great! Esp. the latter)
I asked for help but no one answered me.. and I have company cruiser fix mode and all my moons have been updated too..
since yesterday I have been lost
( 0190e409-e48f-5bb6-aebc-6cbea65b238d )
@zenith flax I reported this here a little while ago for v1.2.4, but I think the size configuration for interiors is broken. I couldn't get it working and I know it worked in the previous version(1.2.3 or 1.2.2). Someone else in here also confirmed for me that they couldn't get it working either, I'll see if I can find it
@zenith flax LLL bestiary seems to have a few bugs. can't view it without putting view at the end, no noise when viewing the log, the log text being at the top of the terminal without the ability to scroll and being unable to type after viewing an LLL bestiary log until exiting the terminal
heard
It was @kindred herald #1193461151636398080 message
Are you talking about the problem where leaving a moon you are just stuck on the ship waiting for it to finish leaving?
i have the same problem, is yours only on multiplayer? like if everyone bar the host leaves does it return to normal?
Yes I only have that in multiplayer and everyone in my game has to quit for it to work
I don't know what to do to make it noticed like before..
its the exact same problem im having, but it only started happening to me yesterday
me since the day before yesterday, and I don't understand why, I uninstall and reinstall mods to see but nothing works...
one of the things i have found is that it can potentially be a broken game file, i havent tried verifying the game files or doing a full reinstall yet, those are my next ideas hahaha
I did it and it doesn't work.. ahah
im assuming that it doesnt happen if you play without mods?
without the mods everything works, but impossible for me to detach myself from the mods haha
i know what you mean XD
I tried several friend codes and I swear I still have the same bug I thought I was cursed xd...
am I ok to dm you about this issue? maybe we can work it out together with out clogging up chat
yes yes
why can I not generate a dungeon when I have LLL in my unity project? In the scene view
I get this error, I need to remove it to fix it
so do we not need company cruiser fix mod anymore?
or is it still up to the moons to fix it themselves
when I tried buying a company cruiser on ooblterra it didnt spawn and errors spammed
ok so it probably is up to the moons
that stinks
cuz a lot of good moons are never getting updated i.e. zingars moons
I talked to zingar today and he's going update his moons
Yeah same but I can't guarantee when it happens as I think he's on a break rn
yea he been on a break lol
Have you fixed content configuration absolutely annihilating custom scrap
I wonder what the Secondary Prefab for the car is.
@zenith flax I'll have to test the new update w/ friends to see if the mismatch custom level ID desync issue is still persistent or if the added sort lines fix that problem (I think it will). I closed my PR for now, but if the issue comes back up it should just be as simple as sorting the ExtendedCustomLevel list by name prior to the levels getting ID #'s.
Yes please keep me updated, I forgot when I actually added that sort line so i didn't reply to the issue yet, apologies
thank you for looking into that though
@zenith flax Points at you
This goes for custom entities as well
no I have not

