Overview

This file controls additional functionalities and statistics for every monster in the game.

This file is treated as a continuation of the monstats.txt file, and therefore its amount of entries should be identical with the monstats.txt file.

Data Fields

Id – Controls the unique name ID to define the monster. This must match the same value in the monstats.txt file.

Height – Determines the height of the monster. This has 2 purposes. The first purpose is to act as an index value for selecting which icebreak missile to use when the monster dies while frozen. The second purpose is to select a code which affects what attack animation the player characters will use when attacking the monster (Attack1 and or Attack2). See each code description types below.

CodeDescriptionCodeDescription 
1icebreaksmall1Low Height 
2icebreakmedium2High Height 
3icebreaklarge3Both types of Heights 
4icebreaksmoke 

OverlayHeight – Determines the height value of overlays (See Overlay.txt) for the monster

pixHeight – Determines the pixel height value for the damage bar when the monster is selected

SizeX & SizeY – Determines the tile grid size of the monster which is use for handling placement when the monster spawns or uses movement skills

spawnCol – Controls the method for spawning the monster based on the collisions in the environment

CodeDescription
0Normal – Basic Monster Pathing
1Water – Handle water terrain where units cannot normally walk, but can fly over
2Preset – Placement handler which considers walls, no pathable areas, objects, doors, items, and other monsters
3Force – Override any collision

MeleeRng – Controls the range of the monster’s melee attack, which can affect also affect certain AI pathing. If this value equals 255, then refer to the monster’s weapon class (“BaseW”).

BaseW – Defines the monster’s base weapon class, which can affect how the monster attacks

CodeDescription
hthHand to Hand (Default value if the value is empty)
1hsOne Handed Swing
1htOne Handed Thrust
bowBow
2hsTwo Handed Swing
2htTwo Handed Thrust
1jsDual Wielding – Left Jab Right Swing
1jtDual Wielding – Left Jab Right Thrust
1ssDual Wielding – Left Swing Right Swing
1stDual Wielding – Left Swing Right Thrust
stfStaff
xbwCrossbow
ht1One Hand to Hand
ht2Two Hand to Hand

HitClass – Defines the specific class of an attack when the monster successfully hits with an attack. This can affect the sound and overlay display of the attack hit.

CodeDescription
0None
1Hand to Hand
2One Handed Swing Small
3One Handed Swing Large
4Two Handed Swing Small
5Two Handed Swing Large
6One Handed Thrust
7Two Handed Thrust
8Club
9Staff
10Bow
11Crossbow
12Claw
13Do Overlay

The following are formula fields that define the types of visual graphics to use for the specific component field. Users can add input parameters by adding a comma “,” to the input and using a code. For a list of possible component inputs, see the compcode.txt file.

HDv – Head visual

TRv – Torso visual

LGv – Legs visual

RAv – Right Arm visual

LAv – Left Arm visual

RHv – Right Hand visual

LHv – Left Hand visual

SHv – Shield visual

S1v (to S8v) – Special 1 to Special 8 visual

The following fields are Boolean fields, which control which specific component piece is enabled for the monster. If equals 1, then the component is enabled. If equals 0, then the monster does not have that component.

HD – Head

TR – Torso

LG – Legs

RA – Right Arm

LA – Left Arm

RH – Right Hand

LH – Left Hand

SH – Shield

S1 (to S8) – Special 1 to Special 8

TotalPieces – Defines the total amount of component pieces that the monster uses. This value should match the number of enabled Boolean fields listed above.

mDT – Boolean Field. If equals 1, then enable the Death Mode for the monster. If equals 0, then this mode is disabled.

mNU – Boolean Field. If equals 1, then enable the Neutral Mode for the monster. If equals 0, then this mode is disabled.

mWL – Boolean Field. If equals 1, then enable the Walk Mode for the monster. If equals 0, then this mode is disabled.

mGH – Boolean Field. If equals 1, then enable the Get Hit Mode for the monster. If equals 0, then this mode is disabled.

mA1 & mA2- Boolean Field. If equals 1, then enable the Attack 1 (and Attack 2) Mode for the monster. If equals 0, then this mode is disabled.

mBL – Boolean Field. If equals 1, then enable the Block Mode for the monster. If equals 0, then this mode is disabled.

mSC – Boolean Field. If equals 1, then enable the Cast Mode for the monster. If equals 0, then this mode is disabled.

mS1 (to mS4) – Boolean Field. If equals 1, then enable the Skill 1 (to Skill4) Mode for the monster. If equals 0, then this mode is disabled.

mDD – Boolean Field. If equals 1, then enable the Dead Mode for the monster. If equals 0, then this mode is disabled.

mKB – Boolean Field. If equals 1, then enable the Knockback Mode for the monster. If equals 0, then this mode is disabled.

mSQ – Boolean Field. If equals 1, then enable the Sequence Mode for the monster. If equals 0, then this mode is disabled.

mRN – Boolean Field. If equals 1, then enable the Run Mode for the monster. If equals 0, then this mode is disabled.

dDT – Defines the number of directions that the monster can face during Death Mode

dNU – Defines the number of directions that the monster can face during Neutral Mode

dWL – Defines the number of directions that the monster can face during Walk Mode

dGH – Defines the number of directions that the monster can face during Get Hit Mode

dA1 & dA2 – Defines the number of directions that the monster can face during Attack 1 (and Attack 2) Mode

dBL – Defines the number of directions that the monster can face during Block Mode

dSC – Defines the number of directions that the monster can face during Cast Mode

dS1 (to dS4) – Defines the number of directions that the monster can face during Skill 1 (to Skill 4) Mode

dDD – Defines the number of directions that the monster can face during Dead Mode

dKB – Defines the number of directions that the monster can face during Knockback Mode

dSQ – Defines the number of directions that the monster can face during Sequence Mode

dRN – Defines the number of directions that the monster can face during Run Mode

A1mv & A2mv – Boolean Field. If equals 1, then enable the Attack 1 (and Attack 2) Mode while the monster is moving with the Walk mode or Run mode. If equals 0, then this mode is disabled while the monster is moving.

SCmv – Boolean Field. If equals 1, then enable the Cast Mode while the monster is moving with the Walk mode or Run mode. If equals 0, then this mode is disabled while the monster is moving.

S1mv (to S4mv) – Boolean Field. If equals 1, then enable the Skill 1 (to Skill 4) Mode while the monster is moving with the Walk mode or Run mode. If equals 0, then this mode is disabled while the monster is moving.

noGfxHitTest – Boolean Field. If equals 1, then enable the mouse selection bounding box functionality around the monster. If equals 0, then the monster cannot be selected by the mouse.

htTop – Define the pixel top offset around the monster for the mouse selection bounding box functionality. This field relies on the “noGfxHitTest” field being enabled.

htLeft – Define the pixel left offset around the monster for the mouse selection bounding box functionality. This field relies on the “noGfxHitTest” field being enabled.

htWidth – Define the pixel right offset around the monster for the mouse selection bounding box functionality. This field relies on the “noGfxHitTest” field being enabled.

htHeight – Define the pixel bottom offset around the monster for the mouse selection bounding box functionality. This field relies on the “noGfxHitTest” field being enabled.

restore – Determines if the monster should be placed on the inactive list, to be saved when the level unloads. If equals 0, then do not save the monster. If equals 1, then rely on other checks to determine to save the monster. If equals 2, then force save the monster.

automapCel – Controls what index of the Automap tiles to use to display this monster on the Automap. This field relies on the “noMap” field being disabled.

noMap – Boolean Field. If equals 1, then the monster will not appear on the Automap. If equals 0, then the monster will normally appear on the Automap.

noOvly – Boolean Field. If equals 1, then no looping overlays will be drawn on the monster. If equals 0, then overlays will be drawn on the monster. (See Overlay.txt)

isSel – Boolean Field. If equals 1, then the monster is selectable and can be targeted. If equals 0, then the monster cannot be selected.

alSel – Boolean Field. If equals 1, then the player can always select the monster, regardless of being an ally or enemy. If equals 0, then ignore this.

noSel – Boolean Field. If equals 1, then the player can never select the monster. If equals 0, then ignore this.

shiftSel – Boolean Field. If equals 1, then the player can target this monster when holding the Shift key and clicking to use a skill. If equals 0, then the monster cannot be targeted while the player is holding the Shift key.

corpseSel – Boolean Field. If equals 1, then the monster’s corpse can be with the mouse cursor. If equals 0, then the monster’s corpse cannot be selected with the mouse cursor.

isAtt – Boolean Field. If equals 1, then the monster can be attacked. If equals 0, then the monster cannot be attacked.

revive – Boolean Field. If equals 1, then the monster is allowed to be revived by the Necromancer Revive skill. If equals 0, then the monster cannot be revived by the Necromancer Revive skill.

limitCorpses – Boolean Field. If equals 1, then the monster’s corpse will be placed into a pool with all other corpses with this field checked. Once that pool reaches the max (50), the corpses at the beginning of the pool start getting removed.

critter – Boolean Field. If equals 1, then the monster will be flagged as a critter, which gives some special case handling such as not creating impact sounds and differently handling its spawn placement in presets. If equals 0, then ignore this.

small – Boolean Field. If equals 1, then the monster will be classified as a small type, which can affect what types of missiles can be used on the monster (Example: Barbarian Grim Ward size) or how the monster is knocked back. If equals 0, then ignore this. If this field is enabled, then the “large” field should be disabled, to avoid confusion.

large – Boolean Field. If equals 1, then the monster will be classified as a large type, which can affect what types of missiles can be used on the monster (Example: Barbarian Grim Ward size) or how the monster is knocked back. If equals 0, then ignore this. If this field is enabled, then the “small” field should be disabled, to avoid confusion.

soft – Boolean Field. If equals 1, then the monster’s corpse is classified as soft bodied, meaning that its corpse can be used by certain corpse skills such as Barbarian Find Potion, Find Item, or Grim Ward. If equals 0, then the monster’s corpse cannot be used for these skills.

inert – Boolean Field. If equals 1, then the monster will never attack its enemies. If equals 0, then ignore this.

objCol – Boolean Field. If equals 1 and the monster class is “barricadedoor”, “barricadedoor2”, or “evilhut”, then the monster will place an invisible object with collision. If equals 0, then ignore this.

deadCol – Boolean Field. If equals 1, then the monster’s corpse will have collision with other units. If equals 0, then the monster’s corpse will not have collision.

unflatDead – Boolean Field. If equals 1, then ignore the corpse draw order for rendering the sprite on top of others, while the monster is dead. If equals 0, then the monster’s corpse will have a normal corpse draw order.

Shadow – Boolean Field. If equals 1, then the monster will project a shadow on the ground. If equals 0, then the monster will not project a shadow.

noUniqueShift – Boolean Field. If equals 1 and the monster is a Unique monster, then the monster will not have random color palette transform shifts.  If equals 0, then the non-Unique monster will have random color palette transform shifts.

compositeDeath – Boolean Field. If equals 1, then the monster’s Death Mode and Dead mode will make use of its component system. If equals 0, then the monster will default to using the Hand-To-Hand weapon class and no component system.

localBlood – Controls the color of the monster’s blood based on the region locale. If equals 0, then do not change the blood to green and keep it red. If equals 1, then change the monster’s special components to use the green blood locale. If equals 2, then change the blood to green.

Bleed – Controls if the monster will create blood missiles. If equals 0, then the monster will never bleed. If equals 1, then the monster will randomly create the “blood1” or “blood2” missiles when hit. If equals 2, then the monster will randomly create the “blood1”, “blood2”, “bigblood1”, or “bigblood2” missiles when hit.

Light – Controls the monster’s minimum Light Radius size (measured in grid sub-tiles)

light-r – Controls the red color value of the monster’s Light Radius (Uses a value from 0 to 255)

light-g – Controls the green color value of the monster’s Light Radius (Uses a value from 0 to 255)

light-b – Controls the blue color value of the monster’s Light Radius (Uses a value from 0 to 255)

Utrans & Utrans(N) & Utrans(H) – Modifies the color palette transform for the monster respectively in Normal, Nightmare, and Hell difficulty.

CodeDescription
0Cold
1Poison
2Level 0
3Level 1
4Level 2
5Level 3
6Level 4
7Miscellaneous
255Special case handler.If hostile, then select the Cold transform.If not hostile, then select the Poison transform.

InfernoLen – The frame length to hold the channel cast time of the inferno skill. This is used for when the monster has the “inferno” state, or for Diablo when he is using the “DiabLight” skill.

InfernoAnim – The exact frame in the channel animation to loop back and start at again

InfernoRollback – The exact frame in the channel animation to determine when to roll back to the “InfernoAnim” frame

ResurrectMode – Controls which monster mode to set on the monster when it is resurrected

CodeDescription
DTDeath
NUNeutral
WLWalk
GHGet Hit
A1Attack 1
A2Attack 2
BLBlock
SCCast
S1Skill 1
S2Skill 2
S3Skill 3
S4Skill 4
DDDead
GHKnockback
xxSequence
RNRun

ResurrectSkill – Controls what skill should the monster use when it is resurrected (See skills.txt).

SpawnUniqueMod – Controls what unique modifier the monster should always spawn with (See monumod.txt).