Skip to content

Recipes data

Recipes entry data are split in 3 TextAssets in the game:

  • Loaded on boot by SetVariables:
    • Ressources/data/CookLibrary
    • Ressources/data/CookOrder
  • Loaded on boot by LoadEssentials:
    • Ressources/data/RecipeData

CookLibrary data

The asset contains one line per Recipes entry whose id corresponds to the line index. Each line contains fields separated by @, but only one is defined:

Name Type Description
Recipe shown Items ids list separated by , (or -1 for incompatible ingredients) The Items that constitute the recipe to show as description and in the details page

The data will be loaded into librarydata[2, id, 0] where id is the Discoveries entry id. There may be empty second fields, but since only the first one is defined, it should be considered that librarydata[2, id, 1] won't be defined either (it will be an empty string most of the time).

The game only supports a single recipe to be shown as the description and in the details page. It will be rendered using the corresponding Items's names. The exception is if the value is -1 which means any incompatible recipes which will use menutext 150 for the details page and menutext 59 for the description underneath the icon.

This is not the same then the recipe in RecipeData which means it is possible to specify an invalid or incorrect recipes here.

CookOrder data

The asset contains one line per Recipes entry whose id corresponds to the line index. Each line contains one field

Name Type Description
Result item shown Items id The resulting Items that will be shown in the library page

The data will be loaded into libraryorder[2, id] where id is the Recipes entry id.

This field is used to generate the icon which is done by using the corresponding the Items sprites childed to an instance of sprite 10 of Sprites/Items/EnemyPortraits (which is a blank sprite). It is also used to generate the text of the details page by using the Items's description. It's also used with the Library List Type to determine the name of the Items.

This is not the same than the resulting Items present in RecipeData which means it is possible to specify the incorrect Items for the corresponding recipe used in CookLibrary.

RecipesData data

The asset contains one line per valid recipes. It is not the same than a Recipes entry as each of them can contain multiple valid recipes. Each line contains fields separated by ,:

Name Type Description
First item Items id The first Items of the combination
Second item Items id (-1 if not present) The second Items of the combination if it exists
Result item Items id The resulting Items of the combination

The data will be loaded into recipedata[i, x] where i is the line index and x depends on the field and their value:

  • First item: x is 0 if second item is > -1 AND the first item is \<= than the second item. Otherwise, x is 1.
  • Second item: x is 1 if second item is > -1 AND the first item is \<= than the second item. Otherwise, x is 0.
  • Result item: x is always 2.

This means that the first 2 elements of the array for a given recipe are the Items ordered by their id and the third element is the result item.

Any combination of Items not listed in this file will produce Items 8 (Mistake).