Monster System Reference - dredmor-com/dungeons-of-dredmor GitHub Wiki

This page will explain the system behind the Monster tag and its different components.

  1. Monster Tag
  2. Notes
  3. See Also

Monster Tag

<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"

Notes

  1. 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.
  2. Many monsters have <secondaryBuff> tags in their definition. It's not tested whether <primaryBuff> tags work (please do so? please?).
  3. You can add any amount of <secondaryBuff> tags in <monster> tags to finetune its stats.
  4. The <damage> and <resistances> tags work exactly like <damagebuff> and <resistbuff>.

See Also:

Taxa

Sound Effects

⚠️ **GitHub.com Fallback** ⚠️