1. Data structure
2. Editing
3. Adding new creatures
4. Removing creatures


1. Data structure
A creature's entry in the bestiary is generated from four different files: three JSONs for general information, loot and resistances, and a DDS for the illustration.
These files can be found in each creature's folder, under interface>creatures>[category]>[creature].
Here is the example of the bear's folder:


As you can see, a creature's folder can contain multiple variants of the same creature. The creature sharing the same name as the directory is considered to be the "main" variant, and will always appear first in the bestiary when multiple variants have been unlocked.


2. Editing
To edit a creature's name and description, open [creature].json:

You can make the changes directly in this file. In the description, I always used "\n\n" to separate paragraphs, feel free to follow this convention to ensure uniformity in the menu.
Do not change the creature's id. It is a key element to ensure compatibility between add-ons and patches, as well as a key element for translations. Only edit the "name" and "description" values.

To edit a creature's loot, open [creature]_LOOT.json:

Each loot entry is represented by an array containing two values. The first one is the name of the item as it will appear in the menu, the second one is the icon keyword. You can choose any keyword from the Icon Keyword Reference.
The loot section can display a maximum of eight elements per creature.

To edit a creature's resistances, open [creature]_RESIST.json:

Here, you can add up to five different resistances and weaknesses per creature and per slot. There is a total of four slots:
Vanilla (no resistance mod loaded) - > "vanilla"
Resistances and Weaknesses -> "r&w"
Know Your Enemy 2 -> "kye2"
Requiem -> "req"
To add resistances and weaknesses, use the desired keywords from the Icon Keyword Reference. For example, to add frost resistance and magic weakness to the bears' entry when Requiem is loaded:

Please keep in mind that this is just to represent the attributes in the bestiary menu, it won't add the actual attributes to the creature in game.

Note that these edits (name, description, loot, resistances and illustration) can all be made at runtime, no need to restart the game to check your changes!

3. Adding new creatures
To add a new creature, create a new mod and reproduce the file path to your target category. Then, create a new folder within that category with your creature's id. For example, to add the flesh colossus to the golem category:

The, create the three JSON files (I recommend to just copy paste the JSONs from another creature and rename them):


In the first one, ensure that the "id" corresponds exactly to the folder and JSON files names. Then, give a name and description to your creature:

Small note concerning the style: I decided to capitalize creature names when they appear in descriptions. Feel free to apply this rule for more consistency.

Fill the _LOOT and _RESIST files as described in "2. Editing". Then, prepare your illustration and save it as [creature id].DDS. For a detailed guide on how to create an illustration for a creature, please check the Illustration Guidelines.
Your finalized creature folder should look like that:

To add variants, repeat the steps above in the same folder. Please be careful to give a unique id to each new variant, different from the "main" creature's id (and as such different from the folder's name).

For you new creature to be unlockable, you now have to distribute its "Bestiary"-keyword distribution. You can either directly edit "Dragonborns Bestiary_SPID.ini" and "Dragonborns Bestiary_KID.ini" or create your own _SPID.ini and _KID.ini files. The latter is better for compatibility.
Brief instructions on how to distribute the keywords are in "Dragonborns Bestiary_SPID.ini" and "Dragonborns Bestiary_KID.ini", and the existing entries can be used as an example. Please make sure to follow the convention "Bestiary[Creature id]" for the keyword name. No need to create the keyword in a plugin, as SPID creates it dynamically.
Do not hesitate to consult the references for SPID and KID.

Congrats, you have successfully added a new creature to the bestiary!


4. Removing creatures
To remove a creature, simply delete its corresponding folder. To remove a single variant, delete its associated JSON and DDS files.

Article information

Added on

Edited on

Written by

JPSteel2

0 comments