Skip to content

New Contributor Guide Monsters

Kevin Granade edited this page Mar 21, 2023 · 2 revisions

Adding New Monsters

You can add new monsters in JSON. The structure is documented at doc/JSON_INFO.md.

Monster JSON is stored in data/json/monsters/ and data/json/monsters.json. Monster special attacks are stored in data/json/monsterattacks.json, but a lot of monster special attacks are hardcoded in C++ so this file is still a little sparse.

Monsters have two sets of item_groups associated with them. First are data/json/monsterdrops/ and data/json/monster_drops.json, which contain the items that monsters such as zombies drop when they die, and are standard item groups defined by doc/ITEM_SPAWN.md. data/json/harvest.json contains information on what you get when you butcher a creature and the content of that file is described in the harvest section of doc/JSON_INFO.md.

monsters also have a monstergroups JSON object, which controls what monsters spawn where in a random function. This is partially documented in doc/MONSTERS.md.

Finally, monsters have factions, which are defined in data/json/monster_factions.json. These objects are described in doc/JSON_INFO.md.