Monster System Reference - dredmor-com/dungeons-of-dredmor GitHub Wiki
This page will explain the system behind the Monster tag and its different components.
<monster> | |||
---|---|---|---|
Name | Input | Description | Example |
name | string | The reference name for the monster. Shows up in-game as if there's no displayName given. | name="Diggle" |
displayName | string | The in-game name for the monster. Has priority over name. | displayName="Summoned Slime" |
level | value | The dungeon level (minus one) this creature spawns in. | level="0" |
maxspawns | value | The upper limit to the amount of times this monster can spawn on a floor. | maxspawns="1" |
splat | value | What kind of gibs this monster splashes around when hurt or dead. They can be the following: | splat="blood" |
blood | The gibs are red. | ||
goo | The gibs are green. | ||
ichor | The gibs are black. | ||
ectoplasm | The gibs are white/lightblue. | ||
terrain | value | The kind of terrain this monster can traverse. It can be one of the following: | terrain="2" |
0 | Function unknown... | ||
1 | This monster is restricted to water tiles. | ||
2 | This monser can fly over water and lava. | ||
branch | value | Function unknown, although it is used on Lord Dredmor, its Tougher version and Brax with value -1) | branch="-1" |
nobenefits | boolean | Function unknown, although it's used on the Gas Canister with value 1. | nobenefits="1" |
horde | boolean | Whether this monster can show up in a horde object record. | horde="0" |
tiny | boolean | Whether an arrow will appear above this creature when it's behind a wall. | tiny="1" |
special | boolean | Whether the monster will spawn without specifically being asked to. | special="1" |
diggleHell | boolean | Whether the monster will show up in Diggle Hell. | diggleHell="1" |
named | boolean | Named monsters have a halo around them, and their name won't be replaced with generated gibberish. | named="1" |
taxa | taxa | The taxa of the monster. This can also be a custom taxa like Avatar. | taxa="animal" |
<pallete> | |||
tint | degrees | The hueshift in degrees from the parent sprite. Only add if you want to hueshift a monster. | tint="165" |
name | path | Function unknown... | name="sprites/monster/deth/grim_deth.pal" |
<idleSprite> | |||
left | path | Path to the animation displayed when the monster is walking to the left. NOTE: there is no actual "idle" state for anyone but the player. | left="sprites/monster/blobby/blobby_run_l.spr" |
right | path | Same as above, but for right. | right="sprites/monster/blobby/blobby_run_r.spr" |
up | path | Same as above, but for up. | up="sprites/monster/blobby/blobby_run_u.spr" |
down | path | Same as above, but for down. | down="sprites/monster/blobby/blobby_run_d.spr" |
<attackSprite> | |||
left | path | Path to the animation displayed when the monster attacks to the left. | left="sprites/monster/blobby/blobby_atk_l.spr" |
right | path | Same as above, but for right. | right="sprites/monster/blobby/blobby_atk_r.spr" |
up | path | Same as above, but for up. | up="sprites/monster/blobby/blobby_atk_u.spr" |
down | path | Same as above, but for down. | down="sprites/monster/blobby/blobby_atk_d.spr" |
<beamSprite> | |||
left | path | Path to the animation displayed when the monster is uses a beam spell to the left. | left="sprites/monster/fire/fire_Atk_l.spr" |
right | path | Same as above, but for right. | right="sprites/monster/fire/fire_Atk_r.spr" |
up | path | Same as above, but for up. | up="sprites/monster/fire/fire_Atk_u.spr" |
down | path | Same as above, but for down. | down="sprites/monster/fire/fire_Atk_d.spr" |
<hitSprite> | |||
left | path | Path to the animation displayed when the monster gets hit from the left. | left="sprites/monster/blobby/blobby_hit_l.spr" |
right | path | Same as above, but for right. | right="sprites/monster/blobby/blobby_hit_r.spr" |
up | path | Same as above, but for up. | up="sprites/monster/blobby/blobby_hit_u.spr" |
down | path | Same as above, but for down. | down="sprites/monster/blobby/blobby_hit_d.spr" |
<morphSprites> | |||
eatSprite | path | Path to the eating animation when the player is in monster morph. | eatSprite="sprites/monster/diggle/diggle_eat.xml" |
drinkSprite | path | Same as above, but when drinking. | drinkSprite="sprites/monster/diggle/diggle_drink.xml" |
levelupmSprite | path | Same as above, but when a male character levels up. | levelupmSprite="sprites/monster/diggle/diggle_levelup_male.xml" |
levelupfSprite | path | Same as above, but for a female character. | levelupfSprite="sprites/monster/diggle/diggle_levelup_female.xml" |
vanishSprite | path | Path to the animation when the player transforms back from its moprh. | vanishSprite="sprites/monster/diggle/diggle_vanish.xml" |
longidleSprite | path | Same as eatSprite, but when the player stays idle for long enough. | longidleSprite="sprites/monster/diggle/diggle_long_idle.xml" |
<digSprites> | |||
downSprite | path | Path to the animation displayed when the monster digs into the floor. | downSprite="sprites/monster/diggle/diggle_dig.xml" |
upSprite | path | Same as above, but when the monster returns from below. | upSprite="sprites/monster/diggle/diggle_pop.xml" |
<castSpellSprite> | |||
name | path | Path to the animation displayed when a monster casts a spell. | name="sprites/monster/octo/Octo_cast.spr" |
<dieSprite> | |||
name | path | Path to the animation displayed when the monster dies. | name="sprites/monster/blobby/blobby_die.spr" |
<sfx> | |||
attack | sfx | soundfx.xml name for the attack sound effect. | attack="agar_attack" |
hit | sfx | Same as above, but for getting hit. | hit="agar_damage" |
die | sfx | Same as above, but for death. | die="agar_die" |
spell | sfx | Same as above, but for spell casts. | spell="agar_cast" |
dig_in | sfx | Same as above, but when a monster burrows. | dig_in="diggle_digs_in" |
dig_out | sfx | Same as above, but when a monster resurfaces. | dig_out="diggle_digs_out" |
<ai> | |||
aggressiveness | value | Function unknown... | aggressiveness="3" |
span | value | The maximal amount of turns the monster will chase the player without seeing him. | span="4" |
spellPercentage | percent | How many times out of a hundred a monster will cast a spell on the <spell> tag on any turn. | spellPercentage="5" |
stealgold | boolean | Function unknown... | stealgold="1" |
stealPercentage | percent | Function unknown... | stealPercentage="20" |
invisible | boolean | Whether this monster is permanently invisible. | invisible="1" |
chicken | boolean | Whether the monster will run away from combat without a fear effect. | chicken="1" |
cancharm | boolean | Whether the monster can be charmed. | cancharm="0" |
canparalyze | boolean | Whether the monster can be paralyzed. | canparalyze=20" |
<spell> | |||
name | string | The name of a spell that could be casted when a spellPercentage roll is successful. You can add multiple of this tag. | name="Weak Electrobolt" |
<onhit> | |||
spell | string | Function unknown... | spell="Weak Acid Pool" |
onechancein | value | spell might trigger on a 1/value chance. | onechancein="5" |
<ondeath> | |||
spell | string | The spell cast on monster death. | spell="Fungal Death Spawn" |
percent | percent | The percent chance that spell is triggered on death. | percent="45" |
<stats> | |||
numFig | value | The amount of levels the monster has in Fighter skills. | numFig="2" |
numRog | value | Same, but in Rogue. | numRog="2" |
numWiz | value | Same, but in Wizard. | numWiz="2" |
xpValue | value | The amount of XP gained from slaying this monster. | value="5" |
steal | boolean | Function unknown... | steal="1" |
stealgold | boolean | Function unknown... | stealgold="1" |
zomby | boolean | Whether this monster is a zomby, used to target Zomby's with the target_zombie spell type. | zomby="1" |
<sight> | |||
cone | degrees | The size of the monster's sightcone angle. | cone="270" |
modifier | value | Function unknown... | modifier="2.2" |
<drop> | |||
name | item name | The item this monster could drop on death. | name="Tentacular Wand" |
type | item type | The item type this monster could drop on death. | type="artifact" |
percent | percent | The percent chance this item will drop on monster death. | percent="35" |
<damage> | |||
damagetype | value | Function unknown... | crushing="1" |
<resistances> | |||
damagetype | value | The monster's resistance to certain damagetypes. | acidic="3" |
<info> | |||
latin | string | Deprecated parameter. | latin="()" |
text | string | The monster description visible when hovering over it in-game. | text="It's a blob of animated slime, possibly from an adventurer's armpit." |
<dig> | |||
mindistance | value | Function unknown... | mindistance="5" |
percent | percent | Function unknown... | percent="5" |
ambushpercent | percent | Function unknown... | ambushpercent="5" |
blockedpercent | percent | Function unknown... | blockedpercent="100" |
minturns | value | Function unknown... | minturns="3" |
maxTurns | value | Function unknown... | maxTurns="3" |
<charge> | |||
chance | percent | The chance the monster will perform a charge. | chance="10" |
turns | value | Function unknown... | turns="5" |
spell | string | Function unknown... | spell="Nightmare" |
interruptable | boolean | Function unknown... | interruptable="1" |
blockaction | boolean | Function unknown... | blockaction="1" |
range | value | Function unknown... | range="5" |
targetself | boolean | Whether the monster targets itself with this charge or not. | targetself="0" |
<dash> | |||
hitspell | string | The spell cast when the dash hits its target. | hitspell="Toxic Dash Attack Crush" |
missspell | string | The spell cast when the dash misses its target. | missspell="Medium Dash Attack Fail |
chance | percent | The percent chance the dash will hit its target. | chance="75" |
interruptable | boolean | Function unknown... | interruptable="1" |
speed | value | Function unknown... | speed="3" |
mindistance | value | The minimal distance the monster has to be away from its target to execute this dash. | mindistance="2" |
- monDB.xml is structured in a way of parent and child monsters. It's not clear which aspects from the parent monsters are inherited into the child monster's stats.
- Many monsters have
<secondaryBuff>
tags in their definition. It's not tested whether<primaryBuff>
tags work (please do so? please?). - You can add any amount of
<secondaryBuff>
tags in<monster>
tags to finetune its stats. - The
<damage>
and<resistances>
tags work exactly like<damagebuff>
and<resistbuff>
.