Applied manifests only working at game creation, not when loading a previous save

So, this is something that is happening in my archipelago mod and in the home_sweet_home mod.
We are both using the same code used in the Rayya mod to load some resources based on whether that kingdom is in use or not.

In my case, the client detects the kingdom as being Rayya, and then loads a specific manifest, that unlock a recipe for the potter and lock one for the carpenter. Their recipe lists appear correct when you create a world. But when you save it and try to load it, the mixintos from the applied manifest are not working, and as such the recipes are not being changed as expected.

I noticed that now there was a small change in the Rayya client, where it gets the player id. On old versions, it was hardcoded as “player_1”. Now it uses a method _radiant.client.get_player_id()
I updated my client file to match this new changes, but it still does not work.

From what I logged, the file is being loaded fine. I think the game is just not saving that the recipe is unlocked.
The default state of the recipe is locked, that is how it is first added to the potter recipes.
Then, when the Rayya applied manifest loads, it changes the state of the recipe to unlocked. But this change is being ignored by the saving.
If I unlock the recipe through the console, using the command unlock tools_weapons:fisher_bucket stonehearth:jobs:potter, not only it unlocks the recipe, but it will also saves the state as unlocked. Saving and loading the game now shows the recipe unlocked.

1 Like

Is your mod unpacked, .zip or .smod? From A22.5 it seems to have huge impact on loading LUA files and from my experience .smod is the most reliable.

It doesn’t matter. I tested both the raw folder and the *.smod. Same results.