BananaPuncher714 / LethalQuantities

A lethal company mod
MIT License
5 stars 1 forks source link

Moons prices errors, not working #71

Closed HamedAlmanthari closed 7 months ago

HamedAlmanthari commented 7 months ago

hi. i'm trying to use LQ to add custom entities to custom moons and also change the prices of moons but i'm getting some errors and some moons prices don't change while some of them change (i think). i'm using LLL and not using LE. here is the log:

New Text Document.txt

this is the jason file, not sure if it's configured correctly. i used "exported global" preset only.

Presets.json

EDIT: this is the new jason file, still the same errors:

Presets.json

EDIT 2: new preset after deleting and generating, still same errors:

Presets.json

HamedAlmanthari commented 7 months ago

also, if i put only the custom entities in global preset's enemies, and i don't enable enemies in the other presets, do only custom entities spawn in every moon and the vanilla ones don't? or the vanilla ones will use the default spawn weight of the moon and the custom ones will use weights from the parent preset? it would be appreciated if you could take a look at my preset and tell me if i used it wrong or smth. if you can't then it's understandable.

HamedAlmanthari commented 7 months ago

after testing, nothing spawns except for the ones in the "exported global". Edit: i just needed to add every enemy in the global preset but not enable them. ty for the great mod (not being sarcastic btw i swear πŸ’€)

HamedAlmanthari commented 7 months ago

i forgot to take a screenshot sorry.

image

HamedAlmanthari commented 7 months ago

i just realized something. i think there is a moon that does not appear on the preset file. it's EchoReach.

HamedAlmanthari commented 7 months ago

i created a new json file and trying again

HamedAlmanthari commented 7 months ago

echoreach still doesn't show up. are these issues from their end?

BananaPuncher714 commented 7 months ago

This is sort of an issue with their moon, it appears that Celestria and EchoReach share the same object name(TestAsset), so LethalQuantities considers them both the same moon. Ideally the moon creator would make them unique, like all the other moons(ExperimentationLevel, TriskelionSelectable, atlasabyss, 94 Polarus, etc)

HamedAlmanthari commented 7 months ago

This is sort of an issue with their moon, it appears that Celestria and EchoReach share the same object name(TestAsset), so LethalQuantities considers them both the same moon. Ideally the moon creator would make them unique, like all the other moons(ExperimentationLevel, TriskelionSelectable, atlasabyss, 94 Polarus, etc)

ah i see. what about the rest of the moons that don't change price? like EGypt, Secret Labs, and about half of them.

BananaPuncher714 commented 7 months ago

Well, since it encountered an error, it stopped what it was doing, so any moons that come after EchoReach would not have been updated.

HamedAlmanthari commented 7 months ago

Well, since it encountered an error, it stopped what it was doing, so any moons that come after EchoReach would not have been updated.

oh so that's why. i don't even know what's the name of the mod that adds EchoReach and where to contact its creator πŸ’€ i'll look into it. ty very much.

HamedAlmanthari commented 7 months ago

i contacted the author of the mod and they said they're on it. is there a way to write an exception when such error happens to prevent the code from stopping after the error occurs and to log if there are multiple moons with the same object name? just to help anyone without this knowledge to solve or prevent this issue in the future.

BananaPuncher714 commented 7 months ago

I can try to add in something like that, but it is hard to tell if the error was caused by another error previously, or if it's a mistake on my part, or if another mod has changed something else that was unexpected, etc. There are generally too many points of failure to make it worthwhile, but for small edge cases, I've been trying to improve it.

HamedAlmanthari commented 7 months ago

Oh so it’s not 100% because of the object names and the error might persist after changing them?

BananaPuncher714 commented 7 months ago

Yes, for example, if LethalQuantities somehow fails when trying to export/import data, then there would be no presets available, at which point it might throw an error when trying to fetch prices or something. The cause of no presets available could be one of many(non exhaustive):

It is slightly unrealistic to try and cover all the cases, and generally if there's an error anyways you probably don't want to continue(since it could entirely ruin your gameplay). The baseline for functionality though, is that the mod should work without error with the vanilla Lethal Company moons, enemies, items, etc.

HamedAlmanthari commented 7 months ago

alright i think i understood a little πŸ˜‚. i'll see if it fixes the issue and get back to you. if not then idk maybe just leave it lmao. ty tho

HamedAlmanthari commented 7 months ago

is it normal that some moons show -1 price by default?

image

BananaPuncher714 commented 7 months ago

No, that's a minor bug with LethalQuantities, where sometimes the price of a moon is updated after the price is checked, so it's -1 by default. It should have updated but sometimes it doesn't. I'll have this fixed next update.

HamedAlmanthari commented 7 months ago

ok so i regenerated the jason file and reconfigured the moons and enemies. i still get errors but the prices change. i'll just ignore them for now idk if they'll cause issues later on but you said i should probably not continue if i encouter an error so idk lmao.

New Text Document.txt Presets.json

before: Screenshot 2024-02-28 235947 after: Screenshot 2024-02-29 000641

edit: also i forgot to ask, do i need to regenerate the jason file if there was an issue with object names before updating some mod, if i deleted a mod, or if a mod changed an object name?

BananaPuncher714 commented 7 months ago

Sorry, you can ignore those errors, they are from some legacy code with the old configuration system that I forgot to remove(will be fixed next update, too).

If a mod changes the object names, the Preset.json file will automatically update with the relevant default data, but you will have to go in and set the preset for the updated levels/objects, since they are considered different objects.

HamedAlmanthari commented 7 months ago

Sorry, you can ignore those errors, they are from some legacy code with the old configuration system that I forgot to remove(will be fixed next update, too).

If a mod changes the object names, the Preset.json file will automatically update with the relevant default data, but you will have to go in and set the preset for the updated levels/objects, since they are considered different objects.

alright thank youuu!