#[BETA] Lethal Constellations v0.3.0

2971 messages · Page 3 of 3 (latest)

grizzled plover
#

alright i’ll give that a go

rotund light
#

have a feeling it's the tag "fun" which is too short for the system i built

#

yep that was it

#

i'll try to put out an update soon to handle this automatically, but for now if anyone is utilizing the faux keywords with the tags from LLL you will have issues with bozoros because of the tag "fun" being too short

grizzled plover
#

got it, thanks, i was planning on setting up my own constellations anyways

rotund light
#

in that case you can use fauxkeywords you just need to make sure the length is at least 4 characters for now

#

I'm planning to update it to 3 when I push a fix for the automated tags

winged vortex
rotund light
rotund light
#

[0.2.5]

  • Fixed fatal error during automated system creating fauxkeywords from LLL content tags which broke the terminal
  • Added logic to skip content tags that are shorter than 3 characters or contain spaces
  • Fixed an issue I noticed with clientside testing that threw an error when loading in and updating the current constellation.
  • General code cleanup and update to latest version of OpenLib
#

[BETA] Lethal Constellations v0.2.5

bright dune
#

oh yeah, I realized that if you use #1246312643514597386 and randomize into a moon it'll place you in its constellation when you check the menu

#

not sure whether to bring it up in the random moons thread or here

#

but since random moons only adds a single command and doesn't mess with the terminal's moon list and stuff I thought it'd be better to send it here

#

it's not a huge problem, just means you can randomize into a moon and automatically unlock like 3 or 4 others

#

also I didn't get to take a screenshot but eventually it just completely broke the list until I rerouted to another constellation, it just showed the whole moon's list with [Locked] next to the moons that weren't in the current constellation

rotund light
# bright dune oh yeah, I realized that if you use <#1246312643514597386> and randomize into a ...

So the way the code base works for this mod is when the level changes the constellation is updated. In my terminal stuff mod I have a random moon command and the way I navigated around issues with this mod is adding a config item to only pick moons from within the current constellation (if enabled). Do you want to be able to route to a random moon but not unlock/update the constellation you're in? This would probably require a bit of problem solving if that's the desired outcome

bright dune
#

the random moons feature is just a thing I added to keep gameplay from just being the same few moons in early game

rotund light
#

to be honest, I might even move that bool to LethalConstellations itself in a future update to simplify things further

bright dune
#

Oh I also noticed that whenever I leave the company it places me on the same constellation I was on before going to the company as opposed to the company's default constellation

#

or. wait I think I just misread this lol

rotund light
#

yeah thats mostly just the default in the case of the mod not being able to determine the last constellation you were at

bright dune
#

I still think it should put players on that constellation whenever you route to or leave the company

#

cuz it makes this config p much irrelevant when the constellation's a late game one

rotund light
#

You can set specific constellations to not be able to route to the company. Or are you saying you only want to limit constellations that you return to from the company?

bright dune
bright dune
rotund light
#

yeah that'd prob be another config item. I'll have to think on how I'd want to do it

bright dune
#

if I route to the company from "Constellation 1" and the company default is "Constellation 2", on routing to/leaving from the company it should put me on "Constellation 2"

#

sort of like that? But I could always just limit which ones I can go to the company from

rotund light
rotund light
bright dune
#

It's a kind of specific use case for the config

#

just cuz I like to reduce exploits in my modpacks

rotund light
#

yeah I get where you're coming from dont get me wrong. I might just add a boolean that determines whether to return to the previous constellation or always go to the companydefault that is listed in the config

#

i'll let ya know if/when something like that gets added

bright dune
#

no idea why but for some reason the prize on this one's moved to the right more than the others

#

I'll try removing "planet" to see if it fixes it!

rotund light
#

if you want you can remove [~t] from the config item which will remove the tab

waxen chasm
#

hey can someone send the thunderstore link i can't find it

rotund light
#

i'll update the original post too

waxen chasm
#

thanks :)

trim cradle
# rotund light https://thunderstore.io/c/lethal-company/p/darmuh/LethalConstellations/

Hey, love this mod 🙂 I was curious is there a way to put specific moons into constellations? Or to modify the prices of the moons and to travel to the constellations? I noticed at the beginning of this thread you have a config where you can modify some of those values except choosing which moon goes where but I couldn’t find the config the first time playing through

covert valve
#

is there a way to switch the default moon to a modded one? am i missing something obvious?

#

i put all the moons i want available in a constellation as a method of disabling the vanilla moons, but it still just starts on experimentation

bright dune
#

that should make it so you only start on the moons from that one

covert valve
#

i did do that

#

unless i messed something up?

#

experimentation is in vanilla but it starts me routed there

bright dune
covert valve
#

pretty sure i have it set up right so maybe its a mod incompatibility or something

bright dune
covert valve
#

yeah but i have it set as the default in the first screenshot

bright dune
#

you have to check something else

#

oooh

#

hrm idk then

covert valve
#

ill see if disabling mods fixes it then ty anyways

rotund light
covert valve
#

ah, damn, a way to set a default constellation would be super useful

#

and it just sets you to whatever the default moon is

rotund light
rotund light
covert valve
#

yeah im currently unsure of another way to just completely disable the vanilla moons

rotund light
#

this mod is compatible with LethalMoonUnlocks which might have some similar functionality for what you're looking for

#

not entirely sure though, disabling the vanilla moons completely is interesting haha

covert valve
#

i thought itd be fun to do something more drastically difference

#

ill see if lethalmoonunlocks works for this

calm olive
#

will there be an option to visualize what the constellation looks like?

#

something like this but simplified

rotund light
#

if Stargazer ever gets finished i'm hoping to have some functionality there

#

otherwise, visuals will probably be a much further down the line feature

trim cradle
covert valve
bright dune
covert valve
#

ive noticed with both this and lethalmoonunlocks, hidden moons other than the vanilla ones can't be traveled to unless you unhide them, is this intended behavior ?

dusk jungle
#

is this mod incompatible with weatherregistry? when i use it I'm unable to access my solar systems

rotund light
rotund light
dusk jungle
#

ohh it seems like it was super outdated i assume its fixed now ill check

#

awesome yea it works now

calm olive
#

@rotund lightsorry for the ping, any idea why this is happening?

bright dune
calm olive
#

i was messing with the configs before setting the webconfigs

calm olive
#

well now the info command isnt working

rotund light
calm olive
#

not a big deal though

rotund light
#

what exactly is the issue with the info command?

calm olive
#

or is it another command?

rotund light
#

is it for every constellation or only one specific one?

calm olive
rotund light
#

is ConstellationSpecificInfoNodes set to true in your com.github.darmuh.LethalConstellations.cfg in the Setup section?

calm olive
#

yeah its set to true

#

well, now it stopped working

rotund light
#

errors?

calm olive
#

its saying its an invalid, its supposed to let me use the info command everywhere outside the constellation menu right?

rotund light
#

hmmmm

#

do you have faux keywords enabled?

calm olive
#

nope

rotund light
#

weird, i'll have to poke around your profile code at some point

rotund light
#

maybe you just needed a lobby reload

calm olive
#

yeah LOL

#

want me to send the code anyway?

rotund light
#

if you experience any more issues please do

#

but if not then I'll just chalk it up to needing a reload

calm olive
#

gotcha

#

thank you oh great coding wizard

bright dune
#

I did not know changing this single thing would literally wipe everything I config'd

#

literally everything reset back to defaults

#

no backup no nothing

#

i'm ending it all brother. IT IS SO OVERRR

rotund light
#

💀

#

yeah orphaned configs get deleted lol

bright dune
#

only thing that stays is the stuff from the other config file, so only names

rotund light
#

yeah, I'll add a warning in a future update about that

bright dune
#

let me become an example of not to do

#

LET NOT THE FUTURE GENERATIONS MAKE THE SAME MISTAKES I HAVE MADE

rotund light
#

basically anything in the generated config will be affected by main config. Always good to back things up

bright dune
#

only thing I'm sad about is I typed up all sorts of tidbits for the info tab

#

and I don't think I wrote em down anywhere else

#

everything else I don't mind it's just those ack

rotund light
#

prob wont work but does this have anything?

bright dune
rotund light
#

imagine that is for your generated config and not cruiser additions

bright dune
#

well atleast I can use this as an opportunity to rebalance prizes!!!!

rotund light
#

unlucky really :/

#

or if you ever sent a profile code to someone recently

#

it would also be saved there

bright dune
#

but I also made a bunch of changes in the LLL config and other stuff so it wouldn't be worth it

#

I added and config'd likeee I think 5 or 6 new moons

rotund light
#

couldnt you just make a duplicate profile to grab the constellations config or?

rotund light
#

prob would be easier to work from that than a brand new one for the values right?

bright dune
#

buuuut I'll give it a shot!!

rotund light
#

the generated config is really aggresive about removing stuff because if a moon gets added/removed it could potentially cause issues with how I load everything leaving it there yknow?

serene pecan
#

@rotund light Will the update for adding distance between constellations that I suggested be added?

bright dune
#

I do recall it removed the configs for one of the moons I took out of the pack likeee instantly

serene pecan
#

:(

rotund light
#

I unfortunately dont have the time to dedicate for something like that rn @serene pecan

rotund light
bright dune
#

makes a lot of sense why then lol, I'll be more careful next time heheh

serene pecan
#

I don’t think it would be that hard though. It’s just a math formula to make a constellation cost more the further away you are from it. I could probably code it

rotund light
rotund light
serene pecan
#

Ok

bright dune
#

super appreciate it mr. darmuh 🙏

warm basalt
#

How are constellations picked during config generation for each moon when you enter your own list of constellations? Are the just evenly distributed?

#

Wish config worked a bit differently tbh. You'd enter a list of constellations, as you do now, and it would generate a config with two parameters for each constellation: moons list and routing price. And maybe a default moon parameter. Or first moon from the list could be considered default.

warm basalt
#

Because with all due respect, the way current config works is a bit too convoluted. And I don't get why stuff like moon price customisation even needs to be included when LLL is already a requirement.

Truly mean no offence. Just voicing my frustration after failing to set it up yesterday late in the night. Which is on me. I'm sure you had good reasons to set it up like that, that I might not understand.

calm olive
#

i honestly like this change, even though this mod beat the shit out of me while trying to set it up

#

one single mistake and you will end up in the smoking void room

warm basalt
#

Okay, I got it working. Had to edit constellation prices through config file directly. It's as if the code didn't affect that part of the config.

rotund light
# warm basalt How are constellations picked during config generation for each moon when you en...

To answer your initial question, moons are randomized into each constellation on first load to give you an idea of how to configure it. This was a relatively recent change in the last couple updates as before it would just put all vanilla in one and all modded in another.

And yes, as you assumed there are good reasons for the configuration working the way it does. I could easily make a configuration option that parses a given string for moons to constellations but that would leave a lot of room for user error. As in, I'm putting the majority of the work on YOU to know which moons you have. Currently I am iterating thru the list of levels that LLL propagates during lobby load and generating them for you to avoid that issue. Additionally, while LLL does have prices I added the option to this mod as an alternative since it was relatively easy to implement. I also figure people would enjoy not having to go to another config to modify the prices.

That said, I am working to try to make the configuration process a bit less difficult. Especially in terms of getting sent to the "smokey room", while providing actual useful errors as to what you're doing wrong. Of course, that will take some time and effort. I may decide to add the string config to let you manually configure constellations to moons before lobby load (while trying to match them in the generation process for everything else).

#

But yeah main thing is my hands are tied until LLL provides the info I need, which is during the launch of a new lobby rather than at game start

#

Also, regarding better error handling and less smokey rooms it would help to have data points as to what caused these issues. I've gotten a lot of messages where the person just says "i fixed it nvm" without telling me what the issue was lol

warm basalt
#

The issue was me trying it to configure at 1 AM. I just simply didn't set it up right. All's good now.

#

Only issue I still encounter is that price for constellation routing doesn't apply when I edit it in web and copy the generated code. I have to edit it after all that in generated config itself.

rotund light
#

Oh that's interesting, I'd have to look into a potential issue with the web config editor

warm basalt
#

If I could send anything that can help, let me know. But not today.

rotund light
warm basalt
#

I'm using Gale's config editor.

rotund light
rotund light
rotund light
#

[0.2.6]

  • Added StartingConstellation config item to set initial constellation when starting a new game (new saves or after being fired)
    • Will auto-route you to the default moon of this constellation when this is set (no charge of credits)
    • Leave blank if you do not want the level/constellation to change on a new save (will likely be experimentation unless another mod changes this)
    • Set to ~random~ to route to a random constellation on each new game (new game save or after getting fired)
  • Added ReturnToLastConstellationFromCompany config item (true/false)
    • When set to true, you will remain in the constellation you travelled to the company from when you leave the company.
    • When set to false, you will be put in the constellation set via CompanyDefaultConstellation.
  • Added ManualSetupListing config item to streamline initial setup of the mod.
    • This config item requires valid listings in ConstellationList to work.
    • Will match different moon names to each constellation name provided.
    • This does not modify existing generated configs and will only be used when first generating a config item for a moon.
    • If a moon is being generated a configuration item and it does not match any from this list, it will be added to a random constellation.
  • Added IsLevelInConstellation boolean for other mods to check if a given level is within either the current constellation or a specific constellation
  • Added safeguards against duplicate constellation names, including a warning that displays when duplicates are detected.
    • Will clean internal constellation names listing of any duplicates and display a warning in the log.
  • Added some more safeguards in the LLL generated config portion to protect against rare cases where this mod is given bad/incomplete information
#

tried to address some feature requests in this update while keeping it relatively light ^^

#

Also, once i'm certain there's no glaring issues with StartingConstellation I plan to add another config item for setting a pool of acceptable starting constellations to choose from

warm basalt
#

I have one inquiry: I was trying to do something that would avoid transition/loading between constellations by setting Gordion as default moon for all of them. Unfortunately that didn't work as I expected. Is there no way to do that from your end? As in switching constellations being instant when you're already in orbit of a moon that is a default moon in constellation you're routing to?

bright dune
bright dune
#

you the goat brother!!! these are all great additions

rotund light
bright dune
#

goated as hell lol

rotund light
#

not shooting the idea down completely but it's not something I can easily implement soon

warm basalt
#

Maybe an even simpler solution would be a mode that just gets rid of "default moon" aspect altogether and just let you switch between constellations, just to change the list of available moons to route to. I personally use Constellations to contain big moon packs in their own lists.

#

No rush. I can live without such feature either way.

rotund light
warm basalt
#

I see.

rotund light
#

but yeah, give me some time to think about it and I might find something you'd be happy with

warm basalt
#

Appreciated!

rotund light
#

[BETA] Lethal Constellations v0.2.6

rotund light
#

[0.2.7]

  • Added AcceptableStartingConstellations config item to set a specific set of constellations as potential starter constellations when StartingConstellation is set to random.
    • Leave blank to let random choose ANY valid constellation
    • You can put duplicate entries of a constellation name to raise the odds that it will be chosen, this list does not need to have unique entries.
  • Compiled with latest version of LLL (1.3.13)
#

[BETA] Lethal Constellations v0.2.7

bright dune
worldly prawn
#

hey so I'm trying to use the mod, but not all of my moons are showing up in the config file. It just stops at K

#

So all my moons that start with Q-Z aren't there, is there a way to fix that?

rotund light
#

Can you turn on these settings and post your logs?

worldly prawn
#

sure thing

#

ok so dumb question inbound, where do I find the logs? Is it just the popup when I launch on thunderstore?

rotund light
#

which mod launcher are you using?

worldly prawn
#

thunderstore

rotund light
#

oof, highly recommend r2 or gale

#

let me try to remember the menu layout for the basic one

worldly prawn
#

thank ya

rotund light
#

Settings> Debugging>Copy log file contents to clipboard

#

thats for r2modman but I think it should work for thunderstore too

#

r2modman is basically just thunderstore without the ads

worldly prawn
#

yeah, the ads don't bother me that much

#

but I see it

rotund light
#

FYI, from your log file:

[01:36:37.8120489] [Warning:LobbyControl] ShipLobby is incompatible!
[01:36:37.8120489] [Error  :LobbyControl] 1 incompatible mods found! Disabling!```
worldly prawn
#

so thats what that was

rotund light
#

I think you can only use one or the other of those two mods

worldly prawn
#

yeah, I kept getting the popup when the game opened

#

and had no idea what it was talking about lmao

rotund light
#

also from your log file:

Stack trace:
SkinwalkerMod.SkinwalkerModPersistent.IsEnemyEnabled (EnemyAI enemy) (at <6679b08185e8458dbc079e3188c359ea>:IL_043F)
SkinwalkerMod.SkinwalkerModPersistent.Update () (at <6679b08185e8458dbc079e3188c359ea>:IL_0105)

Most people use mirage now in place of skinwalkers. skinwalkers hasn't been updated for the last 8 months where as mirage is still being actively maintained

worldly prawn
#

I use mirage too, just accidentally put it back during testing

rotund light
#

ohh gotcha

#

im not seeing any log messages from lethal constellations at all

#

is it enabled?

worldly prawn
#

it should

#

one sec

#

ah, I disabled it by mistake

rotund light
#

oh lol

worldly prawn
#

should be there now since I renabled it and relaunched lethal

#

as you can see, I'm an expert at this

rotund light
#

still not seeing it loaded in the logs

worldly prawn
#

thats weird

#

I made sure it was enabled

rotund light
#

I only see OpenLib and shipcolors of mine loading

worldly prawn
#

and the setting is turned on

rotund light
#

can you screenshot the mod in your profile

worldly prawn
rotund light
#

very weird

#

can you uninstall it and install it?

worldly prawn
#

sure

rotund light
#

that way thunderstore actually removes it from your profile

#

the config stuff will still be there

worldly prawn
#

ok just redownloaded it

#

gonna launch the game again

#

wrong file

rotund light
#

there we go! [01:56:42.9644821] [Info : BepInEx] Loading [LethalConstellations 0.2.7] [01:56:42.9664823] [Info :LethalConstellations] LethalConstellations is loading with version 0.2.7! [01:56:42.9684823] [Info :LethalConstellations] Binding configuration settings [01:56:42.9696971] [Info :LethalConstellations] LethalConstellations load complete!

#

so it looks like you didnt start a lobby. In order for the config items to generate for the first time you will need to host a game on your own (new save or existing save is fine)

worldly prawn
#

alr

#

take 5

rotund light
#

🫡

worldly prawn
#

alright, this should do it

rotund light
#

can you paste the plain text config files now?

worldly prawn
#

of the mod itself?

rotund light
#

yes for both the generated one and the normal one

#

it should be going to Config editor and clicking this button

#

then opening it with notepad and pasting here

worldly prawn
#

here are both of em

rotund light
#

dang, it's what I feared. Looks like one of the moon tags is causing issues and i'll need to do some digging

worldly prawn
#

well shit

rotund light
#

in the meantime, if you set ConstellationList to some names like "Name1,Name2,Name3" you won't run into that error

worldly prawn
#

I don't know what that means, but it sounds bad

rotund light
#

can you provide your current profile code so I can do some testing on my own (to figure out the bad moon tag and add some filtering for that issue)

worldly prawn
#

01939496-6661-a054-3e37-4384e6e1788d

#

godspeed, it's about 200 mods almso

#

been trying to get it to work for a week almost

rotund light
#

💀

worldly prawn
#

I will say a good portion is perfomance based

rotund light
#

It will help that I can add some extra debugging and fix this extendedLevel.NumberlessPlanetName default constellation set to - snow to say the actual moon name KEKW

rotund light
#

Sorry I shoulda mentioned I dont have time to look rn

#

Gonna be looking some time later

rotund light
worldly prawn
#

Ah gotcha, no problem

#

I will say even when I did that, I still can’t play the game since I get the black screen when I go into the game

rotund light
#

I would need your latest logs then if thats the case

#

but judging by the amount of mods you have, I'd bet there is some cleanup you need to do in your profile

worldly prawn
rotund light
#

yeah thats why I mention i'd need logs. It'd probably help to clear out any generated configs you have as well

worldly prawn
#

Ah, gotcha

#

I’ll send em over soon, but no rush since I’m done testing for the day

#

here they are, went ahead and added what it looks in game and how the config files stops at Kast. (despite there being more moons past the letter K)

#

thank you for all of your help so far!

rotund light
#

oh, looking at your logs it looks like the moon name itself is whats causing issues...

worldly prawn
#

Like the actual names of the moons themselves?

rotund light
#

thats what im thinking

worldly prawn
#

Like the moons that I can’t acess in the config file?

rotund light
#

can you screenshot all the moon names when the mod isnt installed?

worldly prawn
#

Yeah

rotund light
#

yeah its erroring out when trying to create a config item for one of the moons

worldly prawn
#

Like on the terminal

rotund light
#

yeah that should be cool

worldly prawn
#

Alright

radiant merlin
#

i see it

worldly prawn
#

See what?

radiant merlin
#

@rotund light I thought it already did this but use NumberlessPlanetName.StripSpecialCharacters(). Might fuck up some people's configs though

#

or the ExtendedLevel or SelectableLevel name

rotund light
#

ahhh, yeah that would be it

radiant merlin
#

wait no 🤔

rotund light
#

I was thinking I might need to add that myself lmao

radiant merlin
#

no this shouldn't be

#

how are you getting this [04:42:55.0480138] [Debug :LethalConstellations] Attempting to get MANUAL constellation setup for [ Luigi's Mansion ]

rotund light
#

I'm pretty sure it should be the moon name throwing the error but I'm not 100% certain. Havent downloaded the profile or anything

rotund light
worldly prawn
#

here are the moons

rotund light
#

thanks for the list!

worldly prawn
#

no problem

#

thank you two for being smart about this lmao

radiant merlin
#

im really confused tho

rotund light
#

sorry :/

#

is it my code thats confusing or something else

radiant merlin
#
 public string NumberlessPlanetName => GetNumberlessPlanetName(SelectableLevel);
       internal static string GetNumberlessPlanetName(SelectableLevel selectableLevel)
       {
           if (selectableLevel != null)
               return new string(selectableLevel.PlanetName.SkipWhile(c => !char.IsLetter(c)).ToArray());
           else
               return string.Empty;
       }
#

I think this is my bad

#

misunderstanding skipwhile

rotund light
#

you sure you dont wanna blame me? KEKW

bright dune
#

hey so this constellation appears on the generated config but not on the constellations menu, no idea why

rotund light
bright dune
#

oh 💀 that'd be why

#

fuck my stupid chungus life

worldly prawn
rotund light
worldly prawn
bright dune
#

LOL

worldly prawn
#

This works

rotund light
# worldly prawn

as for this issue, I could either wait for an LLL update for the function I use to provide the config name or parse the text on my end a second time to be absolutely sure it's a valid config name

#

in the short term, it seems Luigi's Mansion is the problem moon

#

due to the '

worldly prawn
#

Mama mia

#

Alright, I’ll try disabling it when I get back and see what pops up

#

what about the config file not showing moons past K?

#

Same solution?

rotund light
#

yeah it's the same root issue

worldly prawn
#

Alright

#

Gonna take Luigi out back

rotund light
#

you may need to delete the generated config and make a new one, if you do just remember to backup the data you want elsewhere

#

good thing to remember when it comes to any updates from LethalConstellations and LLL in general lol

worldly prawn
#

You think if I changed the name of the moon in LLL would that work?

#

Just take the ‘ out

rotund light
#

I dont think so no

#

it would be up to the moon author I believe

worldly prawn
#

gotvha

#

Ok so I just reset the config file and the K-Z issue got fixed

#

but still got the black screen

#

and luigi is disabled

rotund light
#

can you send your logs

worldly prawn
#

yeah

#

take 7

#

should be there

rotund light
#

uh

#

what version of openlib & lethalconstellations are you using?

worldly prawn
#

open 2.1 lethalcon 0.2.7

rotund light
#

openlib is what version?

worldly prawn
#

2.1

#

0.2.10*

rotund light
#

okay just making sure

#

what about LethalConfig

worldly prawn
#

1.4.3

rotund light
#

hmm, trying to figure out what is causing this error

#
[05:26:55.1082647] [Error  : Unity Log] MissingMethodException: Method not found: void LethalConfig.LethalConfigManager.QueueCustomConfigFileForLateAutoGeneration(BepInEx.Configuration.ConfigFile)
Stack trace:
LethalConstellations.EventStuff.LLLStuff.LethalConfigStuff () (at ./EventStuff/LLLStuff.cs:127)
LethalConstellations.EventStuff.LLLStuff.LLLSetup () (at ./EventStuff/LLLStuff.cs:119)
LethalLevelLoader.Plugin.CompleteSetup () (at ./Plugin.cs:90)
LethalLevelLoader.Patches.StartOfRoundAwake_Prefix (StartOfRound __instance) (at ./General/Patches.cs:391)
(wrapper dynamic-method) StartOfRound.DMD<StartOfRound::Awake>(StartOfRound)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Trampoline<StartOfRound::Awake>?2122565262(StartOfRound)
LethalLib.Modules.Enemies.RegisterLevelEnemies (On.StartOfRound+orig_Awake orig, StartOfRound self) (at <64fae9f52f324ab2a8065723b0759a64>:IL_0000)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Hook<StartOfRound::Awake>?268737768(StartOfRound)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Trampoline<StartOfRound::Awake>?-1495945566(StartOfRound)
LethalLib.Modules.MapObjects.StartOfRound_Awake (On.StartOfRound+orig_Awake orig, StartOfRound self) (at <64fae9f52f324ab2a8065723b0759a64>:IL_0000)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Hook<StartOfRound::Awake>?-1317504720(StartOfRound)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Trampoline<StartOfRound::Awake>?1767934934(StartOfRound)
WeatherRegistry.Patches.LethalLibPatch.StartOfRoundAwakePrefix (On.StartOfRound+orig_Awake orig, StartOfRound self) (at ./Patches/LethalLib.cs:83)
(wrapper dynamic-method) LethalLib.Modules.Weathers.DMD<LethalLib.Modules.Weathers::RegisterLevelWeathers_StartOfRound_Awake>(On.StartOfRound/orig_Awake,StartOfRound)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Hook<StartOfRound::Awake>?707063128(StartOfRound)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Trampoline<StartOfRound::Awake>?2053486282(StartOfRound)
LethalLib.Modules.Player.StartOfRound_Awake (On.StartOfRound+orig_Awake orig, StartOfRound self) (at <64fae9f52f324ab2a8065723b0759a64>:IL_0000)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Hook<StartOfRound::Awake>?1988834612(StartOfRound)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Trampoline<StartOfRound::Awake>?-139115604(StartOfRound)
RuntimeIcons.Patches.CategorizeItemPatch.PrepareItemCache (System.Action`1[T] orig, StartOfRound __instance) (at ./RuntimeIcons/src/Patches/CategorizeItemPatch.cs:32)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Hook<StartOfRound::Awake>?1661883924(StartOfRound)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Trampoline<StartOfRound::Awake>?891235634(StartOfRound)
LethalThings.NetworkConfig.StartOfRound_Awake (On.StartOfRound+orig_Awake orig, StartOfRound self) (at O:/github/LethalThings/LethalThings/NetworkConfig.cs:266)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Hook<StartOfRound::Awake>?825707904(StartOfRound)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Trampoline<StartOfRound::Awake>?30975650(StartOfRound)
[email protected] (On.StartOfRound+orig_Awake orig, StartOfRound self) (at ./Mirage/Hook/Config.fs:22)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Hook<StartOfRound::Awake>?1065283832(StartOfRound)
#

big scary text aside, it means that something is missing

worldly prawn
#

(here's another version of the logs that I doubled checked it was on to be sure)

#

wait, that doesn't make sense. thats only 3 mb

rotund light
#

[05:29:45.1309070] [Info : BepInEx] Loading [LethalConfig 1.4.2]

#

which means my version checker in openlib didnt work 🙃

worldly prawn
#

yes, I understand that :)

rotund light
#

there's a method I reference in lethal config but it has to be version 1.4.3 or higher

#

the method doesnt exist in previous versions of lethalconfig

#

which causes the big scary error I posted above

worldly prawn
#

ah

#

welp, shit

rotund light
#

so somewhere in your profile

#

the 1.4.2 version of lethal config is getting loaded

#

instead of 1.4.3

worldly prawn
#

ffffuuuccckkk

#

I have to go through all of em

rotund light
#

your profile name was yeag? right?

worldly prawn
#

no

#

chaos2

rotund light
#

oh mb

worldly prawn
#

your good

rotund light
#

if you open the profile folder you can search lethalconfig

#

and see where it all is

worldly prawn
rotund light
#

example

worldly prawn
#

this is where it's located

#

oh file wise

rotund light
#

nah I mean open the profile folder in windows

#

should be in something like settings>locations

worldly prawn
rotund light
#

where's lethalconfig.dll? 👀

#

can you share a profile code?

worldly prawn
#

idk, I just download the mods with the given dependcies

#

01939a7e-c0dd-9b91-b1a7-efa36849e8fa

rotund light
#

im gonna launch on my end, in the meantime I suggest uninstalling lethalconfig and reinstalling it. I have a feeling for whatever reason the one you have is not updated despite the app saying it is

worldly prawn
#

gotcha

#

1.4.3?

rotund light
#

yes 1.4.3

#

and i was able to load in with your profile

worldly prawn
#

bruh

#

this is some bs

rotund light
#

i'll try it with r2modman to be sure, gale caches mods after you download them so you dont need to redownload 100 times

worldly prawn
#

am I able to import it from thunderstore

rotund light
#

yeah it uses thunderstore still

worldly prawn
#

alright

rotund light
#

just a different app but the same source site

worldly prawn
#

getting it now

#

hoping for the best

rotund light
#

yeah you shouldn't have to use it to have things work

#

but it is a much more convenient mod launcher

worldly prawn
#

alr

#

downloading it now

rotund light
#

finally done downloading on r2

#

testing now

worldly prawn
#

so do you have any clue as to why it work for you and not me

worldly prawn
rotund light
#

yeah a lil bit lol

worldly prawn
#

beilve me or not this was supoosed to be small

rotund light
#

I'm pretty sure it's just that, for whatever reason, version 1.4.2 of lethalconfig was getting loaded for you

worldly prawn
#

but then it spiraled into the almost 200

rotund light
#

it might have even been worth importing the code to a new profile and just trying that

rotund light
worldly prawn
#

yeah I will, espically if it loads now

worldly prawn
#

so I'm gonna have to make a lite version of it

rotund light
#

yep, new profile with r2 loaded it as well

#

with the correct version of 1.4.3

worldly prawn
#

is luigi there or no?

rotund light
#

oh it's disabled

worldly prawn
#

ok

#

didn't remember if I did

#

starting it now

rotund light
#

im pretty sure that will still cause crashes until I fix it myself or batby does on the extendedlevel property I pull from

worldly prawn
#

I'll check it (provided it works for me this time)

#

game just opened

#

here goes nothing

rotund light
worldly prawn
#

bruh

#

we made it

rotund light
#

ayyy there ya go

worldly prawn
#

well

#

no

#

we're good

#

it's a fuckin miracle

#

that I don't even know how it was fixed but whatever

rotund light
#

just modding things ✨

worldly prawn
#

this what it's gonna feel like when one piece finishes lmao

rotund light
#

💀

worldly prawn
rotund light
worldly prawn
#

now to configure everything again

#

yeeey

rotund light
rotund light
worldly prawn
#

I shall

#

thank you so much for getting it to work with vodoo magic

rotund light
#

hahaha i gotchu

worldly prawn
#

time for the luigi test

rotund light
#

pretty much certain that will crash lol

worldly prawn
#

yeah

#

lmao

#

I do have one more thing, what do you think are the best interior values to put down like % wise

rotund light
#

interior values?

worldly prawn
#

Like spawn %

#

How for instance go to vow and there’s an xyz chance for the mineshaft interior

rotund light
#

oh i have no idea about that

worldly prawn
#

Ah, fair enough

#

Thanks tho

rotund light
#

np 🙂

serene pecan
#

@rotund light, I started working on adding the distance update that I suggested eariler as a PR. However, when I was looking through the code I couldn’t find where the constellation prices were being set.

serene pecan
#

nvm I got it

serene pecan
serene pecan
#

Upon running I found a error that makes it so the prices dont update in the start

#

I will fix this

rotund light
#

How are you determining distance between constellations? Didn’t see that anywhere in the PR. Also looks like you’re using a DistanceID from Classmapper but I didn’t see the property defined anywhere

#

Nvm I see it, so you’re just assigning distance as 0,1,2,3,4,5?

serene pecan
#

there is a error with the new version

#

but its a easy fix

rotund light
#

Trying to see the vision you have here. Especially with distance being relative, how you are defining distance at the beginning

serene pecan
#

The method that updates the constellation prices only first runs when you route to a new constellation so when you first start the game its the old things.

rotund light
#

If you were to make distance configurable. What would you put in the description box for each constellation. What is the distanceID relative to. Your starting position? If so, you can pick to start in any constellation. Is the metric 0-1000? Etc. I want to understand the system you’re proposing because it will be more than just a price modifier

serene pecan
#

The only thing I can think of that the user can config would be how much a constelation increases by

#

which is currently set at 500

serene pecan
#

But just make sure you run the method I coded when the mod starts otherwise the prices would not get updated until they route to a constellation.

rotund light
#

Alright I’ll take a deeper dive on it later and get back to you

serene pecan
#

Thanks.

serene pecan
# rotund light Alright I’ll take a deeper dive on it later and get back to you

I added the light year logic, it works similarly to the constellation prices. I also got it to display in terminal, but I could not figure out how to make it the light year between constellations and the price of 1 light year configurable. I could also not figure out how to get the method that updates the constellation prices to run when the game first loads up.

#

The PR should be updated

serene pecan
#

Another update: I recoded the formula to have allow constellations to be in random distances from the starting constellation. Now users can customize how far away they want their constellation to be from the starting one. I ran into an issue with trying to display light years with this new formula. I tried to fix it but my visual studio IDE kept telling me that I had 2 error with extended level. I tested if it was my pc by cloning the main branch and it still was happening. It has to do with references but I don’t know how to fix it.

#

@rotund light

rotund light
serene pecan
#

those 2

#

they are from GetNumberlessPlanetName

#

I dont know why its happening though

rotund light
#

click on ExtendedLevel and see if it takes you to LLL's code

serene pecan
rotund light
#

when you hover over ExtendedLevel it should show this

#

click the green ExtendedLevel text from the hover

serene pecan
#

ok I did

serene pecan
rotund light
#

find the method

#

there's a good chance it's not public, now that i'm looking at my IDE

serene pecan
#

this method?

rotund light
#

yep, it's internal

serene pecan
#

but it was working before

#

like yesterday

rotund light
#

your reference to LLL might have got changed

serene pecan
#

Delete internal and set it to public?

rotund light
#

you cant change LLL's code

serene pecan
#

It doesn't let me do that

#

yeah

rotund light
#

but you can use Bepinex Assembly Publicizer to make it public

serene pecan
#

how

rotund light
#

right click LethalConstellations and click unload project

#

in the solution explorer

serene pecan
#

ok

#

then what

rotund light
#

edit project file

serene pecan
#

ok

rotund light
#

then make sure your reference to LLL has the Publicize="true"

#

also make sure you have this still <PackageReference Include="BepInEx.AssemblyPublicizer.MSBuild" Version="0.4.1" PrivateAssets="all" />

serene pecan
#

I dont see that

#

just this

serene pecan
#

yes

rotund light
#

then all you need to do is add the Publicize="true" to your LLL reference

serene pecan
#

But Publicize="true" is not on my lethallevelloader area

#

this is all I see

rotund light
#

after Include="LethalLevelLoader"

#

you type it in

#

<Reference Include="LethalLevelLoader" Publicize="true">

#

this is the easiest way to access code that is normally not marked public. Whether it's game code or another bepinex mod

serene pecan
#

like this

rotund light
#

yep

#

then save it (Ctrl +S)

#

and reload the project the same way you unloaded it

serene pecan
#

reload with dependencies or no

rotund light
#

I'd say for this case with dependencies

#

since you're publicizing LLL

serene pecan
#

now it works thanks

rotund light
#

just be careful publicizing other mods without first talking to the author

serene pecan
# rotund light since you're publicizing LLL

Also I was able to remove most of the errors from PR but I could not fix one. I need my constellation update method to run when the game starts up but when I put it in Start() or Awake() it does not work.

rotund light
serene pecan
#

or OnStartup

rotund light
#

yeah either that or NewLobbyStuff

#

that one is a bit later than terminal awake (Start of Round Start)

#

but it guarantees that most game stuff is defined

serene pecan
rotund light
#

nah that is tied to GameNetworkManagerStart

#

which is called after you first launch the game (after you click LAN or Online i believe)

serene pecan
rotund light
#

nah that is when terminal first exists

#

let me see if I can find you an old chart

serene pecan
#

alright

rotund light
serene pecan
rotund light
#

yeah it's something like, Terminal Awake -> StartOfRound Awake -> Terminal Start -> StartOfRound Start

#

if I recall correctly

#

all of this happens before you ever actually spawn in game btw

serene pecan
#

But you said terminal awake is when the user exits the terminal

rotund light
#

thats why if something errors out on lobby load you will see the foggy mist error (because the game failed to spawn you)

rotund light
#

exists not exit

serene pecan
#

ohhhh

#

alright

rotund light
#

Awake is almost always the thing first being created/referenced

#

found another old message about order of execution (I dont think anyone has been tracking it since then) #dev-general message

#

so flipflop StartOfRound Awake and Terminal Awake and thats probably it

serene pecan
rotund light
#

I know that the file you were editing when you unloaded the project was the .csproj file (which is specific to visual studio) so could be unique to visual studio

serene pecan
serene pecan
#

I don’t know that much about configs yet.

rotund light
#

no I'd rather not replace the price system but have it act only as a modifier

#

also, if there's a specific vision you want that might conflict with my vision you could always create a separate mod that changes LethalConstellations. It will just be something you need to maintain when I do end up updating the mod myself

#

main reason I dont want to replace the price system is because some people wont want to touch the distance feature at all

serene pecan
rotund light
#

something like ConstellationsDistance

#

btw, i'm posting a small update to fix a bug with Luigi's mansion. You should be able to sync the changes once it's posted to github

#

[0.2.8]

  • Luigi's Mansion hotfix (fixes crashes related to trying to run this mod with this moon)
    • Will now parse extendedLevel.NumberlessPlanetName from LLL to ensure it's compatibile with Bepinex config naming requirements.
    • Tried to ensure existing config items remain unchanged by my fix for this. Please make sure to backup configs before generating a new config with this update.
#

[BETA] Lethal Constellations v0.2.8

serene pecan
# rotund light I had the same idea, but more-so just a config item in the main config that dete...

The way it currently works under the “lethal constellation generated” file in each constellation I added a config that lets you change the distance from the starting constellation. When you first download the mod you add your different constellations in a list, in the first config file “lethal constellation”. In that file you could add an option to switch the ConstellationsDistance on. Doing this would result in the distance system being added to the “lethal constellations generated” file.

#

Let me know if that makes sense it might be a little confusing.

rotund light
#

yeah I mean the config stuff is a little confusing so I get it

serene pecan
#

Basically when you first download the mod, you add your constellations and it generates a file based on the initial configs

#

If you add an option in the first file for DistanceConstellation and they check on it would generate the code I wrote.

rotund light
#

The main config Plugin.instance.Config is generated/checked at launch where as Configuration.GeneratedConfig is a separate config file that is generated during lobby load

serene pecan
#

Yeah

rotund light
#

what I'm suggesting is having a bool config (enable/disable) in the main config that will then determine whether or not the other distance config settings are created in the generated config

#

I already do something similar for the extra info command stuff

#

ConstellationSpecificInfoNodes this one

#

see how that config value is used

serene pecan
#

By created do you mean only when they created? Or do you mean you can change the bool at any time and load into a lobby which would cause it to be updated. Because some mods can update their configs without regenerating.

rotund light
#

so using the bool from Plugin.instance.Config you'd use the config bool itself rather than assigning it (since it can be changed after assigning it)

#

this is in LLLSetup()

{
    ConfigEntry<string> infoText = MakeString(Configuration.GeneratedConfig, $"{ConstellationWord} {name}", $"{name} infoText", $"{ConstellationWord} - {name}\n\n\nThis [ConstellationWord] contains moons in it. Route to it and find out which!\r\n\r\n", $"The text that displays with the info command for this {ConstellationWord}");
    if (infoText.Value.Contains("[ConstellationWord]"))
        infoText.Value = infoText.Value.Replace("[ConstellationWord]", ConstellationWord);
    constClass.infoText = infoText.Value;
}```
#

it checks if ConstellationSpecificInfoNodes.Value is true and then creates the related config items for that constellation

#

even if ConstellationSpecificInfoNodes gets updated in game with lethalconfig, the code will always return the value associated with it

#

when you get into more complex stuff with Bepinex config management you may find situations where you need to listen for config change events but I dont think that would be necessary for the distance stuff

#

it could basically mirror the info node stuff

serene pecan
#

Say you have the price system (default) already setup, if you change the bool for DistanceConsellation to true in Plugin.instance.Config would it update the Configuration.GeneratedConfig and add Distance related configs or would the user have to regenerate Configuration.GeneratedConfig

rotund light
#

Configuration.GeneratedConfig is generated during every lobby load (after LLL initializes the extendedlevel content)

#

so if they change the config while they are in lobby then yes they'll have to back out of their lobby and start another one

#

in order to see the new config items

serene pecan
#

By regenerate I mean do they have to quit game, delete the generated config file, change the bool config, load the game and open a lobby

Or

Quit game, change the bool config, load game and open a lobby

rotund light
#

you can see what i mean by messing with ConstellationSpecificInfoNodes

serene pecan
#

Yeah so the second one I said

#

When you open a lobby it checks for that stuff

rotund light
#

yeah its just per lobby

#

when you said quit game I was thinking closing lethal company

serene pecan
#

Do you think you could code the part that adds a config to enable the distance system? After I finish this version. I don’t know much about doing switching between 2 versions.

rotund light
#

yeah i'll probably end up changing things when I review your proposed changes anyway

#

so dont worry too much about a final product

serene pecan
#

Ok, also it’s a little broken right now for some reason. I might need to change the formula.

#

I don’t know it made sense but when I test it in game somehow it messes up.

#

I’ll have to take a look again tomorrow.

rotund light
#

no worries, feel free to take your time and learn from the process

#

also lmk if you have issues getting the changes off github

#

its not a lot, just added some handling for moon names that were bricking the game

serene pecan
serene pecan
#

nvm I got it

#

@rotund light I finished the Distance Update Version. When you get a chance if you could review my commits that would be great. Also, once you accept the PR you would need to add a config in Plugin.instance.Config that enables the distance version instead of a fixed constellation price. And in the configs I created if you could make something that does not add the config entry for constellationDistance for the default constellation and have it set to 0. This is because the Default constellation has to be set to 0 or the distance would not work.

rotund light
rotund light
#

if im taking too long I really dont mind if you post it to thunderstore under a different name/guid till I get around to it (just make sure to indicate it's a fork in your readme)

serene pecan
#
  • Add a config in Plugin.instance.Config that enables the distance version instead of a fixed constellation price.

  • Make something that does not add the config entry for constellationDistance for the default constellation and have it set to 0 in the code. This is because the Default constellation has to be set to 0 or the distance would not work.

rotund light
#

yeah true, I guess I was more saying if you wanted to try to figure out how to release on your own

#

If not, i'll see how I can resolve your issues on my own

serene pecan
covert valve
#

does anyone know why this happens after reloading a save file with this + lethalmoonunlocks

#

everything becomes unroutable

rotund light
covert valve
rotund light
#

might help to try to reproduce the issue with these enabled

#

you'd at least get more debug logging that could indicate where the process is hanging up

#

oh you know what, since it's LMU I wonder if all the constellations are set as hidden for some reason. That would cause that issue as well I think

shut ivy
#

I created my own constellations T1,T2,T3,T4 and the constellations showed up correctly but i couldnt route to them using their names

i then tried adding the name to the shortcuts in the generated config and no luck either there
but i added a longer version of it TierOne and that worked

I assume its just because there is a min character limit or something but figured id report it either way

#

lol nevermind its cause it can be a terminal code for turrets/doors

#

but different note, the automatic setup seems to not have worked correctly?

rotund light
#

yeah min character length is 3 for that reason haha

rotund light
shut ivy
#

now realizing it says manual

rotund light
#

yeah if the constellations dont exist the manual setup wont work. It's really just trying to match the constellation names to moon names

shut ivy
#

how would I get it to work as intended?

rotund light
#

it's mostly there as a helper, cant guarrantee it will set everything up perfectly

shut ivy
#

yeah thats fair enough

#

i started with no generated config file, and it looks like its put them there semi randomly?

#

either way not a problem

rotund light
#

yeah if you turn the debug logging stuff on you can see how it tries to parse the config item

#

but ultimately if it fails yeah the moon will be put in a random constellation

shut ivy
#

is the # part of the moon name?

rotund light
#

good question, let me consult the codebase lmao

shut ivy
#

really im just running this once so it generating anything is helpful. especially the config for the custom constellations

#

i would have bumbled my way through trying to figure that out lol

#

I am sad about the three character limit though, but haha it makes sense ill have to make another acronym or just live with writing 3 extra characters

rotund light
#

yeah maybe one day I introduce a menu system (which would remove the need for keywords)

#

so looking at the codebase, I think I might have only set it up to use the manualsetup config item for the default moon

#

so something on my end i'd need to adjust/fix

covert valve
#

every time a save is reloaded all other constellations other than default just become inaccessible

rotund light
#

im guessing the issue doesnt happen if you disable LMU right? A brief skim of your logs I'm not seeing anything super obvious

shut ivy
#

Config says Tier 4 but is appearing in Tier 1

shut ivy
#

actually looks like those are the only moons I have at all

#

okay heres what i've learned with trial and error

#

it seems to have trouble when it has a duplicated default moon

#

since mine are all gordion since thats how it needs to be for RandomRouteOnly to work

#

is there a chance for this to be patched? since you allow moons in multiple constellations and they could be the default in multiple constellations?

#

if not i'll live with just assigning a unique default moon but it kinda ruins my plans for random route only, so figured id ask about it

#

0193d329-0bc7-915a-7410-b9eff82a301e there is the profile code, though idk if its helpful its just what i see people do

rotund light
serene pecan
rotund light
serene pecan
# rotund light started reviewing it yesterday, still working on it

Ok also remember to do these 2 things in the code, so that the distance logic and the fixed price logic can exist at the same time and wont interfere.

  • Add a config in Plugin.instance.Config to enable distance-based pricing instead of a fixed price.

  • Make sure the default constellation doesn’t use constellationDistance in the config and is always set to 0 in the code.

rotund light
#

both are done in my dev branch

#

I've made a considerable amount of changes since the PR lol

#

I ended up opting for a different system than the lightyear system as I am hoping to use the distance data later on for a visual star map of some kind

serene pecan
rotund light
#

if you add the positional data it will follow the following formula

#

at load all constellations will get it's original distance to the starter constellation

#

at the original distances the constellations will use their configured pricing

serene pecan
#

I mean when they view the terminal, some people might get confused why the prices are changing.

#

Like people that are not hosting

rotund light
#

when moving to other constellations price will be updated based on this: original price * current distance / original distance

#

and the distance value can be displayed however you want to configure it, but the number will actually mean something for our equation

serene pecan
#

oh so it can still displays the distance in terminal

rotund light
#

yep

serene pecan
#

what is the messurement for the distance though

rotund light
#

and depending on what you set for the coordinates you can have high numbers or low numbers

serene pecan
#

like does it say ly or miles

rotund light
#

up to the person configuring the mod. I'm using the actual Vector distance float between two different vector 3 values

#

default is not going to display units of any kind

serene pecan
#

Oh, ok I get it

rotund light
#

its a little more complicated, but again I want to use this data for more than just pricing later on

#

and always down to consider other formulas later on. This is just the one that made the most sense to me for using positional data without adding a bunch of new config items

#

also have it generating positional data on first load when you first enable the positional data stuff

#

that way you have an example of what the correct format is

serene pecan
rotund light
serene pecan
#

ohhhh

rotund light
#

but if you want a super simple distance value you can just use 5,0,0, 20,0,0, 30,0,0 etc.

serene pecan
#

yeah

rotund light
#

im also getting rid of typing a keyword of any kind to route to a constellation

#

creating a constellations menu similar to suitsTerminal's suits menu or terminalstuff's moonplus menu

serene pecan
#

oh so the reason you changed from my formula was so that you could use this new data for other things like visual graphics

rotund light
#

yeah hopefully down the line yes

#

that was always my original intention for distance type stuff

serene pecan
rotund light
#

although, I'll only really need x/y values for graphics. I think having x,y,z makes more sense for space lol

rotund light
#

I may add it back in a later update, just trying to cut down on the random bug reports I see here

serene pecan
#

so it will be like lategame upgrades

rotund light
#

yes

#

except lgu's controls are a bit different from my default controls

#

it will be very similar to the moons plus menu in terminal stuff, so if you want a quick preview try that feature out

#

actually, if you're open for testing I can post a .dll here shortly

#

im mostly just bug searching at this point to make sure shit isnt breaking

rotund light
#

you'll need a new version of openlib too

serene pecan
#

ok

#

send both dll's

rotund light
#

will in a sec 👍

rotund light
#

lmk what issues you find. I marked some config items as disabled since they shouldnt work right now

#

@serene pecan

serene pecan
#

alright

serene pecan
#

@rotund light

#

this spamming in console

#

[Error : Unity Log] NullReferenceException: Object reference not set to an instance of an object
Stack trace:
ClipboardItem.Update () (at <b5c9757a4ecc4ee1b8a83c58c3df2def>:0)

[Error : Unity Log] NullReferenceException: Object reference not set to an instance of an object
Stack trace:
GameNetcodeStuff.PlayerControllerB.PlayerLookInput () (at <b5c9757a4ecc4ee1b8a83c58c3df2def>:0)
GameNetcodeStuff.PlayerControllerB.LateUpdate () (at <b5c9757a4ecc4ee1b8a83c58c3df2def>:0)

rotund light
#

i dont touch the clipboard lol wtf

#

got any earlier logs?

serene pecan
rotund light
#

try loading with just the new openlib and not constellations

#

im not patching either of the stack traces mentioned so im sure there should be something erroring out before that

serene pecan
#

but lethal constellation is not

rotund light
#

can you post logs

serene pecan
#

@rotund light

rotund light
#

that'll do it

#
Stack trace:
LethalConstellations.EventStuff.LLLStuff.GetDefaultConsellations () (at ./EventStuff/LLLStuff.cs:147)
LethalConstellations.EventStuff.LLLStuff.LLLSetup () (at ./EventStuff/LLLStuff.cs:26)
LethalLevelLoader.Plugin.CompleteSetup () (at ./Plugin.cs:90)
LethalLevelLoader.Patches.StartOfRoundAwake_Prefix (StartOfRound __instance) (at ./General/Patches.cs:391)
(wrapper dynamic-method) StartOfRound.DMD<StartOfRound::Awake>(StartOfRound)```
#

you sure you replaced your lethalconstellations dll?

#

this is line 147 for me

#

getdefaultconstellations isnt being called there

rotund light
#

delete any LethalConstellations.dll in your profile

#

then try again

#

with the updated one

serene pecan
rotund light
#

yeah

#

does your test profile have lethalconfig?

serene pecan
rotund light
#

try adding it and see if the error goes away

serene pecan
#

still happening

rotund light
#

weird, not sure why thats happening for you

#

especially since the stack trace does not match up with the actual code

#

seems like you have an artifact of an older version somewhere or something idk

#

how big is the testing profile?

#

I could try the profile code

serene pecan
#

I just have imperium and then the 2 dlls

rotund light
#

very odd

#

i'm making some more changes so maybe the next files work for you idk

serene pecan
#

ok

rotund light
#

your stack trace made no sense so idk what was going on

calm olive
#

reminds me of the time i tried setting up this mod for the first time

#

had to reinstall everything to fix it

rotund light
rotund light
serene pecan
#

alr

rotund light
#

nvm, i can recreate your error

#

what the fuck

#

oh it says a different line

#

ok one sec figured it out

serene pecan
#

okie

rotund light
#

i had an old config in my other profile that was preventing the error. It was from one of the settings i removed

rotund light
serene pecan
#

ok let me test it

rotund light
#

I also am pretty sure I got shortcuts to work if you still wanna use keywords to route to constellations

#

they just wont be added by default, and now will only create keywords from the shortcuts list

#

the new stuff is dependent on this config item btw

serene pecan
#

ok I'm about to test it

#

I just had to finish something else

rotund light
#

no worries

#

depending on your feedback i'll prob decide whether I try to push something tonight or save it for when im back (after new years)

serene pecan
#

alr

#

testing now

serene pecan
#

one thing though

#

could you add a option to use wasd

#

and also there is a lot of unknowns

#

and the prices are not being updated

#

ohhh

#

wait I forgot to change the config you said

#

@rotund light

rotund light
rotund light
serene pecan
#

@rotund light

#

when testing I saw that some constellations cost like 99999

rotund light
serene pecan
rotund light
#

yeah thats what it caps out on

serene pecan
#

why is it that much though

rotund light
#

136 is super far

serene pecan
#

is there a way to set the amount 1 distance is

rotund light
#

this is the math

serene pecan
#

oh so the cost for 1 distance unit is the price of the constellation

rotund light
#

so what you're looking for is probably a way to cut down on the currentDistance value

#

I could add a modifier config value (i actually planned on this originally) it would just have to fit into the equation without breaking shit lmao

#

so say the original price for a constellation is 500, current distance is 136 and original distance is 3.

Math would be 500 * 136/3 = 22667 (rounded up)

serene pecan
#

so then the price for each distance unit is set based on the constellation price

rotund light
#

eh, more like there isnt a price per distance, but that your starting price will affect how much it can change

serene pecan
#

because how I would have that done in the code I wrote before was that PriceOfOneLightYear * (136/3)

rotund light
#

yeah...

serene pecan
#

but instead of having priceofonelightyear be only one value

#

its set to what ever each constellations is

#

I dont really get the point for that though. Only thing that culd make sense if you were traveling to a constellation and there was like a asteroid field which slowed you down

#

so you need more fuel

#

but in my opinion you should have a new config entry which would be used instead like fuel required or smth

rotund light
#

its more that i'm trying to work with the originally defined prices to choose each route

#

and the further you are from that route, the more the price goes up

#

prices are not initially set by the first distance value

#

if I do away with trying to keep the original configuration prices, then yeah it can be pretty easy to calculate distance price per unit

serene pecan
#

Oh alright, I mean since I know how it works so I can config it to act how I want. But new players that dont know might be confused why when they set this setting on that it makes constellations cost 99999 on default.

rotund light
#

yeah I get where you're coming from

serene pecan
#

also

#

you should move leave menu: [BackSpace] down a row

rotund light
#

yeah that does make more sense

serene pecan
#

it kind of looks weird because its right new to the Page [LeftArrow] < 3/4 > [RightArrow]

rotund light
#

also planning on removing the tab for the page line

rotund light
#

the extra space

serene pecan
#

oh

#

alr

serene pecan
rotund light
#

yeah you can just edit the menu text config item

serene pecan
#

oh I forgot

rotund light
#

like this

serene pecan
#

Alright thanks

rotund light
#

so to summarize:

  • allow menu controls rebind
  • maybe adjust formula (or add another config item) to adjust starting price based on starting distance and then have a price per distance unit config item
  • tidy up menu text
#

anything i missed?

serene pecan
# rotund light so to summarize: - allow menu controls rebind - maybe adjust formula (or add ano...

Yeah thats it. For the second thing you wrote I think you should make it so that if AddConstellationPositionData is true, then it will do the following.

  • Add a new config option in Plugin.instance.Config for price per distance unit
  • Disable the constellation price config in each constellation category or remove

I think it would be better if there was just one price per distance unit
using the example from before 500 * 136/3

instead of:
constellation price * (136/3)

it would be
PricePerDistanceUnit * (136/3)

#

This is just my opinion though, you can do what ever you want.

rotund light
#

gonna think on it for sure

rotund light
#

[0.3.0]

WARNING: BEFORE UPDATING PLEASE BACKUP YOUR CONFIG OR YOUR DATA CAN/WILL BE LOST

  • Removed Faux Keyword support and regular terminal keyword creation by default in favor of new interactive terminal menu.
    • Menu controls are configurable in the new Menu Settings config section (main config).
    • You can also choose to display any number of constellations per page depending on the level of detail your menu text has. (From 1 - 100)
    • If you would still like to have regular terminal keyword support for routing to specific constellations, you can use each constellation's shortcuts config item to add keywords for routing to it's constellation.
    • This should resolve many of the conflicting keyword issues that limited your ability to name your constellations what you wanted.
  • With the new interactive menu, constellation names can be any length and contain any characters with exception to \, \n, \, ", [, and ] due to Bepinex Config limitations.
  • Added new positional data related configuration items, including:
    • AddConstellationPositionData in the main config will enable configuration items that assign coordinates to each constellation.
      • When the above is enabled, PostionalPricingMode config items will be created for each constellation in the generated config.
        • Determines how pricing for the constellation will be affected by it's coordinates.
        • UseOriginalPrice will use constellationPrice configuration item as starting route cost and the CostPerDistanceUnit value will not be used.
        • SetPriceByDistance (default) will ignore constellationPrice and set constellation's price to a new price value based on it's starting position (relative to the starter constellation).
        • None will not update pricing in any way based on positional data.
    • CostPerDistanceUnit
      • When PostionalPricingMode is set to SetPriceByDistance, this value will be used to determine how many credits each unit of distance is worth.
      • Example: A distance of 50 will update the route cost for the constellation to 100 when CostPerDistanceUnit is set to 2.
    • Thank you @serene pecan for the PR on github and assistance in getting this feature started. Even though I ended up rewriting most of your work I do appreciate you getting the ball rolling on this so I could finally get this feature implemented in some fashion. Big shoutout to them.
    • Please also note that the distance feature is still very much in testing. If you find any issues please report them on the github and/or the discord thread.
  • In general, the mod has been lightly reworked so some old issues may have been resolved and on the flip side some old resolved issues may reappear.
    • If you experience any issues with 0.3.0 please revert back to 0.2.8 as a known good version. This mod will not receive any hotfixes until after the new year.
serene pecan
#

so you can have the arrows and wasd

rotund light
#

nah its one or the other rn

#

maybe next year

serene pecan
rotund light
#

[BETA] Lethal Constellations v0.3.0

autumn flame
#

Hey so I'm having an issue with setting up a constellation. Basically I want to make one with just the company builing and Sector0 in it.

I set the default route to Gordion to make it automatically route there

The issue is that whenever I try to get the list of available moons (which should be just sector0 and company) I instead get this, which is the second constellaiton in the list + the company building.
This issue doesn't happen when I set the default route to sector0

#

Afaik there are no errors in the console so I am not sure how to really handle this situation

rotund light
#

Yeah considering the company is “special” there’s some complicated logic going on when you route to the company. I think if you set it so your other constellation cannot visit the company you may be able to accomplish this, but otherwise yeah you’ll need to wait for me to review the code in further detail once I’m back from my trip

#

Another user before 0.3.0 had a similar problem where they wanted every default moon to be the company building. I still need to look into the code base for a solution there (and it’s likely tied up in the same logic that causes your issue)

autumn flame
#

Ah. Understandable. I'll merge company grounds and sector-1 for now then. Thanks for clearing things up and i hope you enjoy your trip.

calm olive
#

whenever i try to route to one of my constellations, the game thinks im routing to another one

calm olive
#

fixed, ignore my post

rotund light
# calm olive fixed, ignore my post

Do you mind sharing what the confusion was just in case anyone else runs into the same thing? Could also be something I can explain better in the mod’s readme at some point

calm olive
#

so like in the video, i wanted to go to kranotsk-5, but it sent me to rock goblin nebula

#

even though both are completely different constellations

#

and it also fuses both for some reason?

rotund light
rotund light
#

Yeah it’s not set up to work that way. You’ll need to reload lobby when changing anything in the config in game

#

I may change that in the future, but it would require me to add explicit support for that

serene pecan
#

@rotund light After clicking exit or traveling to a constellation could you make it so that it can be configed to go somewhere else. Because I have all my commands on the home page but it puts me on the normal page.

shut ivy
#

is there a way to remove a moon from the constellation system entirely?
Rebalanced Moon adds in copies for a few of the vanilla moons and using RandomRouteOnly it ignores the price of the moon

as a temporary solution i can just throw it into a junk constellation?

#

also the moon list does not seem to update to the StartingConstellation when loading into a new game

#

which its not much of a hassle, but it does seem to mess with RandomRouteOnly if I dont go and change the constellation first

rotund light
rotund light
#

it should update the constellation when the level is changed but it depends on how the mod changes the level

shut ivy
shut ivy
rotund light
rotund light
calm olive
#

i cant use the info command ever since you changed the terminal format to menu

rotund light
bright storm
#

for some reason, idk if this is known

#

but in my pack

#

only the host can use the constellation command

#

doesnt exist for other clients

#

modpack

#

i dont have a log cause the log doesnt really mention anything

rotund light
#

sorry, been doing irl things. Please keep further posts in the new thread as mentioned above

onyx lichen
#

Any idea what might be preventing the Constellation UI from appearing or working?

#

I type "Constellations" into the terminal, but nothing happens after pressing enter. The only key that does something is escape.

#

Can't find anything in logs or BepInEx console

#

the only thing I found was this:

[00:28:14.2059314] [Error  : Unity Log] NullReferenceException: Object reference not set to an instance of an object
Stack trace:
LethalConstellations.PluginCore.MenuStuff.RouteShortcutsAndInfo (LethalConstellations.PluginCore.ClassMapper cons) (at ./PluginCore/MenuStuff.cs:365)
LethalConstellations.PluginCore.MenuStuff+<>c.<ConstellationsKeywords>b__22_0 (LethalConstellations.PluginCore.ClassMapper cons) (at ./PluginCore/MenuStuff.cs:332)
HarmonyLib.CollectionExtensions.Do[T] (System.Collections.Generic.IEnumerable1[T] sequence, System.Action1[T] action) (at <474744d65d8e460fa08cd5fd82b5d65f>:IL_0014)
LethalConstellations.PluginCore.MenuStuff.ConstellationsKeywords () (at ./PluginCore/MenuStuff.cs:332)
LethalConstellations.PluginCore.MenuStuff.Init () (at ./PluginCore/MenuStuff.cs:238)
LethalConstellations.EventStuff.Subscribers.NewLobbyStuff () (at ./EventStuff/Subscribers.cs:40)
OpenLib.Events.Events+CustomEvent.Invoke () (at ./Events/Events.cs:97)
OpenLib.StartRoundPatch.Postfix () (at ./PatchThings/OtherPatches.cs:22)
(wrapper dynamic-method) StartOfRound.DMD<StartOfRound::Start>(StartOfRound)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Trampoline<StartOfRound::Start>?526782360(StartOfRound)
LethalLib.Modules.Items.StartOfRound_Start (On.StartOfRound+orig_Start orig, StartOfRound self) (at <ef4e7af8c5b54c0da39ca0b1ffad7d7f>:IL_0178)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Hook<StartOfRound::Start>?-1497681176(StartOfRound)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Trampoline<StartOfRound::Start>?1598083010(StartOfRound)
LethalLib.Modules.Utilities.StartOfRound_Start (On.StartOfRound+orig_Start orig, StartOfRound self) (at <ef4e7af8c5b54c0da39ca0b1ffad7d7f>:IL_019C)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Hook<StartOfRound::Start>?-1766647124(StartOfRound)```
#

perhaps LethalLib or ITA?

rotund light
onyx lichen
#

got chu

#

sorry.

forest sparrow
#

Would it be possible to add an actual map to this? Like a simple 2d spiral symbol that uses the existing coordinate system to plot it on the map using an invisible grid and adding a selection system that automatically jumps to each added symbol, then creating some decals for each symbol like a gas giant, Black Hole, Nebula, And solar system I feel it would be intuitive and (probably) easy to implement as well

#

Also just as a side note the Constellation Info Text message in the config is wrong its using the text to explain ConstellationWord

forest sparrow
radiant merlin