# D2Mods Knowledge Base: Article 383
# Title: MonStats.txt
# URL: https://d2mods.info/forum/kb/viewarticle?a=383

MonStats.txt
		Written by: Nefarius

		Written on: Wed Jun 21, 2006 5:18 pm

				Views: 7824

		Description: by Fecesfaerie [written 2000, modified by Nefarius 2006]

		Categories: File Guides (1.00-1.06x)

			In this tutorial, I'll provide you with all the information I've uncovered so far in the

monstats.txt file in Diablo 2.  This tutorial is largely incomplete as there are still

numerous columns that I don't yet understand.  Hopefully, it will be completed in time

with further study and the help of any other hackers out there willing to share their

secrets.  The first part of this tutorial simply lists all the columns in this file by name and

gives a description of what they do if known.  Since some of us use a spreadsheet

program like excel to view and edit these files, I'll also refer to these columns by the

letter at the top of the spreadsheet as well as their name.  The second part of this tutorial

will go over a few simple tricks on what you can do with this file.

Part I:

Class (column A):  This determines what name appears over the monster's head when

you move the mouse over it.

Namco (column B):  I've heard (but not extensively tested) that this determines what

animation file is generated for a monster. (Nefarius: infact this is controlled by the token column in MonType.txt - not this column.)

Type (column C): Identifies monster by type.

Discriptor (column D):  Short comment to describe any special or unusual attribute of this

monster.  For example, all the giant maggot monsters can lay eggs, so that ability is listed

in this column beside their name.

Base ID (column E):  A simple number that identifies what type of enemy this is.  All

monsters of the same type generally have the same ID.  This ID seems to determine what

kind of abilities or skills the game generates for that monster when it appears in the game.

For example, you may have noticed the monster entries for the Rogue Scout, Rogue

Hireling, and Rogue Town. They each have different ID's because they have some

different behavior.  The Rogue Town monsters are the rogues in the Act I town who

simply stand there.  A Rogue Scout and Rogue Hireling will move around and shoot

nearby monsters, but the Rogue Hireling seems different because it seems to reference

other files besides this monstats.txt to get all of its abilities (such as randomly generated

levels and magic arrow attacks).  Changing these ID's causes the game to expect later

columns to have specific things set for them (like certain skills), so be aware of this if you

decide to go manipulating these numbers.

Spawned (column F):  This value is set for zero or one for every monster.  A one means

that monster can be randomly generated in a level.  A zero means that monster can't.  If

you want monsters like bosses to appear in areas other than they normally do (like the

Cow Level) then set this value to one.  In part two, I'll describe what else needs to be

done to get that enemy to appear in the level of your choosing.

Beta (column G):  Determines if the monster appeared in the beta version of the game.

Seems to be only for reference.

Code (column H):  Another identifier for a monster along with Base ID. (Nefarius: controlls from what token-folder the palshift.dat is picked.)

Client Only (column I) and NoMap (column J):  These are set at either zero or one.  Not

exactly sure what they do, but every monster either has both set to zero or both set to one.

Only the little critters that appear running around (bats, rats, scorpions, etc.) have this set.

It seems to be special settings for monsters that don't do much more than act as scenery.

Size X, Size Y, Height, Overlay Height (columns K-N):  Determines the physical

dimentions of the monster. (Nefarius: these columns function as for 1.10+ [MonStats2.txt])

Velocity (column O): The walking speed of the monster.

Run (column P): The running speed of the monster.  There's a later column that controls

if the monster has the ability to run at all.  If it doesn't, this column is unused for that

monster.

Rarity (column Q):  Seems to control frequency of appearance. (Nefarius: not used prior to 1.10)

Level, Level(N), Level(H) (columns R-T):  Determines what level this monster is on in

each difficulty.

Melee Rng (column U): Determines the reach of a monster's melee attack.  The higher

the value, the further distance a monster can hit you with its melee attack.

Min Grp (column V): Determines the minimum number of monsters of this type that are

spawned at a time.  You've noticed that some monsters (like cows) appear in larger

groups than others.  Most monsters have this set around 1 to 3.  Hell Bovines have it set

at 5.  Increase this number to make larger minimum monster groups.

Max Grp (column W):  Determines the maximum number of monsters of this type that

are spawned at a time.  Make sure this value is the same or higher than Min Grp if you

decide to change these values.  Most monsters have this column set around 2 to 4.  Hell

Bovines have it set at 10.

(Nefarius: pre 1.10 it was impossible to modify which components a monster has, it was handled by a hardcoded table - the columns below are used after that table has been loaded, and thus serve no real purpose. )

HD (column X): Stands for head.  Not sure of its significance.  I think it has something to

do with wheather or not that enemy can have something equipted on its head.

TR (column Y): Stands for torso.

LG (column Z): Stands for legs.

RA (column AA): Unknown. (Nefarius: right arm )

LA (column AB): Unknown.(Nefarius: left arm )

RH (column AC): Unknown.(Nefarius: right hand )

LH (column AD): unknown.(Nefarius: left hand )

SH (column AE): Stands for shield.  I think it determines if the monster can equip a

shield or not.

S1 (column AF): Some kind of setting for specials.  Not sure what it means. (Nefarius: overlay 1)

S2 (column AG): unknown(Nefarius: overlay 2)

S3 (column AH): unknown(Nefarius: overlay 3)

S4 (column AI): unknown(Nefarius: overlay 4)

S5 (column AJ): unknown(Nefarius: overlay 5)

S6 (column AK): unknown(Nefarius: overlay 6)

S7 (column AL): unknown(Nefarius: overlay 7)

S8 (column AM): unknown(Nefarius: overlay 8)

TotalPieces (AN): unknown
(Nefarius: number of components)

SpawnComponets(AO): Unknown, but every monster has it set to zero, so it's probably

not important.

BaseW (AP): Base weapon that the monster carries when it appears.  Several monsters

have an hth listed in this column.  This means either the monster uses no weapon, or the

weapon it uses is not referenced in this file (the rogue scouts and hirelings have hth set

here).(Nefarius: back in classic changing this allowed you to make necro skeletons use a bow etc, never featured in a mod, but doable.)

AIParam 1-AIParam 5 (columns AQ-AY):  These columns determine the AI parameters

for the monsters.  The comment field after some entries give a description of what the AI

parameter causes the monster to do.

ModeDH (column AZ):  This is set to one if the monster can die.  It's set to zero if it

can't.  Some monsters, like rogues or other hirelings that appear in town may have this

set at zero.  You can set it to one without causing any problems, but to make that monster

actually killable you also have to set a couple of other columns that appear later.

ModeN (column BA):  unknown. (Nefarius: neutral)

ModeW(column BB): Determines if the monster can walk or move.  One means yes, zero

means no.

ModeGH(column BC): GH stands for get hit.  This column determines if a monster can

be attacked.  One means yes; zero means no.

ModeA1(column BD):  Determines if the monster has a physical attack (usually melee

but not necessarily).  One means yes; zero means no.

ModeA2(column BE):  Determines if the monster has a second physical attack.

ModeB (column BF): Determines if a monster can block a physical attack

ModeC (column BG):  Seems to determine if a monster casts spells or not.

ModeS1-ModeS4 (column BH-BL): unknown(Nefarius: Skill1 to Skill4 anims)

ModeDD (column BM):  Another column that determines if a monster can die or not.  As

usual, one means yes; zero means no. (Nefarius: has corpse, yes/no)

ModeKB (column BN):  Determines if a monster can be knocked back by certain attacks.

ModeSQ (column BO):  Some kind of sequence field.  Not sure what it controls. (Nefarius: can use skill sequence yes/no)

ModeRN (column BP): Determines if a monster can run or not.

ElMode (column BQ): Some kind of setting for an element attached to a monster that

used when it attacks you.

Eltype (column BR): The type of element associated with that monster.  An example

would be the Claw Vipers who have the ability to freeze a character when they attack

them.  Their element type is cold.

ElOver (column BS): unknown (Nefarius: display an overlay when using element)

ElPct (column BT): Percent chance that the particular element will take effect when the

monster attacks.

ElMinD (column BU): Minimum damage caused by the elemental attack.

ElMaxD (column BV): Max damage caused by the elemental attack.

ElDur (column BW): Duration that the elemental attack has affect over the targeted

character.  Cold and Poison attacks have something set in this column.  The actual

duration of this attack is (number in column / 25= #seconds element has effect).

(Nefarius: the following columns are missile indexes, FFFF = no missile)

MissA1 (column BX): Not sure beyond that it has some association with an enemy's first

physical attack.

MissA2 (column BY): Has something to do with enemy's second attack.

MissS1 (column BZ): unknown

MissS2 (column CA): unknown

MissS3 (column CB): unknown

MissS4 (column CC): unknown

MissC (column CD): unknown

MissSQ (column CE): Somehow relates to whatever a monster's sequence is.

A1Move (column CF): unknown

A2Move (column CG): unknown

S1Move (column CH): unknown

S2Move (column CI): unknown

S3Move (column CJ): unknown

S4Move (column CK): unknown

Cmove (column CL):  Not set for any monster, so doesn't seem to be used.

Align (colimn CM):  This determines if a monster is an enemy or an ally.  You can have a

lot of fun with this column.  Set it to one, and that monster will fight other monsters and

not attack you.  Set it to zero to make any monster an enemy.

IsMelee (column CN):  Determines if the monster is a melee fighter. (Nefarius: spawn with multi-shot? yes/no)

IsSel (column CO): Determines if the monster is 'selectable.'  What that means is, if it's

set to one then moving the cursor over that monster's body will cause his/her name to

display.  It will also allow you to target a monster with attacks by moving the mouse

cursor over it.

IsSel2 (column CP): Not sure what this one does.  Only a few NPC's have it set though.

NeverSel (column CQ):  This determines if the monster can not be selected.  It's basically

the opposite of IsSel.  In fact, if this column is set to one for a monster, than even if you

set IsSel to one, you still can't highlight that monster by moving the mouse over it.

CourpseSel (column CR): This determines if the monster's courpse can be selected for

certain spells after it dies.  Examples of spells are, Raise Skeleton, Corpse Explosion,

Find Potion, and Grim Ward.  Set it to one to allow a character to use this skill on that

dead monster.  You may notice that the Abyss Knight in Act 4 can have some courpse

selected spells cast on it, but a Necromancer can't revive it.  There's another field that

controls that.  It appears towards the end of the file.

IsAtt (column CS): This determines if the monster can be attacked.

IsNPC (column CT): Determines if the monster is an NPC or not.

IsCritter (column CU): Determines if the monster is a critter.  Critters are those little

crawling monsters like scorpions and rats.

InTown (column CV): Determines if the monster can appear in or enter a town.  Set it to

one for an enemy monster and it'll walk right into town to chase you.  It won't be able to

attack you in town though.

Bleed (column CW): Determines if the monster bleeds when you attack it.

Shadow (column CX): Determines if the monster casts a shadow.

Light (column CY): This determines how much of a light radius the monster creates

around him.  The higher the number, the greater the light it creates.

NoUniqueShift  (column CZ): unknown (Nefarius: prevent bosses from using RandTransforms.dat)

CompositeDeath (column DA): unknown (Nefarius: death anim composed of more then one component.)

Skill1 (column DB): This is the first skill that a monster possesses.  You can look in

skills.txt to see a full listing of all skills in the game.  Each skill has an ID number.  That

id number is what appears in this file.  One thing to note is that changing the skill number

in this column does not seem to affect what skill the monster actually possesses.  I think

the skill number is listed here just for reference, and the actual monster's skills is

determined by its ID number.

Skill1Seq (column DC):  Some kind of sequence involved with a skill.  I haven't messed

with this field.

Skill1Lvl (column DD):  What skill level the first skill is on.  Monsters have levels

associated with their skills just like characters do.  Changing this value will change how

strong that skill is for the monster.

Skill2-Skill5, Skill2Seq-Skill5Seq, Skill2Lvl-Skill5Lvl (columns DE-DP):  Same as the

fields for the first skill.  They just affect the 2nd, 3rd, 4th, and 5th skills a monster has.

LightR: (column DQ):  I haven't messed with this one, but I imagine it stands for light

red, and affects the color of the monster.

LightG: (column DR): Stands for light green.

LightB: (column DS): Light blue.

Damage Resist (column DT):  Determines what percentage of a character's attack does

not hurt the monster.  For example, if you hit the monster for 200 points of damage, and

the monster had a damage resist of 10, then the monster would lose 180 hit points.

Magic Resist (Column DU): Determines what percentage of magic damage does not

affect the monster.  I'm not sure if magic resistance works as a general resistance towards

all magic (including poison, fire, lightning, and cold) or just a resistance to cover all

forms of magic other than the elemental ones.  For example, resistance against an attack

like bone spear probably falls under this category.

Fire Resist (Column DV):  Determines what percentage of fire attacks a monster ignores.

Lightning Resist (Column DW):  Determines what percentage of lightning attacks the

monster ignores.

Cold Resist (Column DX):  Determines what percentage of cold attacks the monster

ignores.

Poison Resist (Column DY):  Determines what percentage of poison attacks a monster

ignores.

DamageResist(N) (Column DZ):  Determines a monster's damage resistance for

Nightmare difficulty.

MagicResist(N) (Column EA): Magic resist for Nightmare.

FireResist(N) (Column EB): Fire resist for Nightmare.

LightningResist(N) (Column EC): Lightning resist for Nightmare.

ColdResist(N) (Column ED): Cold resist for Nightmare.

PoisonResist(N): (Column EE): Poison Resist for Nightmare.

(Columns EF-EK): Resistances for Hell difficulty.

DamageRegen (Column EL): Determines the rate at which a monster recovers hit points.

this is similer to the life replenish ability some magic items have.

eLUndead (Column EM): The first of two columns that can determines if a monster is

undead.  Basic undead like skeletons and mummies have this column set.  Wheather or

not a monster is undead will affect how much damage certain weapons do against it.

eHUndead (Column EN):  The second undead field.  I'm not sure what the difference is

between this one and the first one, but the undead who have this field set tend to be the

more magically oriented undead like Vampires, Greater Mummies, and Mephisto.

eDemon (Column EO): Determines if the monster is a demon.  Again, this will determine

how much damage certain weapons do against these monsters.

eMagicUsing (Column EP): Determines if the monster is a spell caster.

eLarge (Column EQ): Determines if the monster is classified as 'large.'  This won't

affect how the monster appears on screen.  It again affects damage obtained by certain

weapons.

eSmall (Column ER): Classifies a monster as small.

eFlying (Column ES):  Classifies a monster as flying.  I don't know if setting this column

to one for a monster that has it at zero will actually give the monster the ability to fly (i.e.

walk over walls or rivers) or just affect how much damage weapons do against them.

eOpensDoors (Column ET):  Determines if a monster can open doors or not.

eSpawnCol (Column EU): unknown (Nefarius: how the unit is spawned: 0 = use m1-25 columns, 1 = DS1 generated only, 2 = use s1-25 columns)

eBoss (Column EV): Determines if an enemy is classified as a boss (Duriel, Diablo, etc.).

This field is usually best left alone unless you want to make clones of bosses (more on

that later).  Making an enemy a boss tends to crash the game when you kill it.  You'll get

a message along the lines of 'error, boss not in table.'  I don't know where this table it

refers to is located.

PixHeight (Column EW):  Not sure it does anything since changing it doesn't change

how tall or short a monster appears. (Nefarius: overlay offset)

Interact (Column EX):  You've noticed throughout the game that moving the mouse

corsor over someone displays differently for different monsters.  More specifically,

moving the cursor over a monster displays its name inside a life bar while moving it over

a townsperson will display its name in white.  This column determines which appears.

Set to zero to show the name inside the life bar.  set to one to display the name in white.

MinHP (Column EY): The smallest number of hitpoints a monster can have when it's

generated in Normal difficulty.

MaxHP (Column EZ):  The largest number of hitpoints a monster can have when it's

generated in Normal difficulty.

AC (Column FA):  This is the enemy's defense for Normal difficulty.  The higher it is,

the harder it is to hit the monster.

EXP (Column FB):  How much exp you get from killing this monster in Normal

Difficulty.

ToBlock (Column FC):  This determines the percentage chance a monster has to block an

attack (assuming it's capable of blocking an attack).  One thing to keep in mind, is that

this number sets its blocking ability for all three difficulties.

A1MinD (Column FD): Determines the minimum amount of damage the monster does

with its first physical attack.

A1MaxD (Column FE):  Determines the maximum amount of damage the monster does

with its first physical attack.

A1ToHit (Column FF):  Determines the attack rating the monster has with its first hysical

attack.  the higher it is, the more likely it is to hit someone with this attack.

A2MinD (Column FG): Determines the minimum damage of the monster's second

physical attack (if it has one).

A2MaxD (Column FH): Determines the max damage of a monster's second physical

attack in Normal difficulty.

A2ToHit (Column FI):  Determines the attack rating of the monster's second physical

attack.

S1MinD (Column FJ): Determines the min damage done by a special attack.  This field is

used mostly by traps.

S1MaxD (Column FK): Determines the max damage done by a special attack.

S1ToHit (Column FL): Determines the attack rating of a special attack.

MinHP(N) (Column FM): The smallest number of hitpoints a monster can have when it's

generated in Nightmare difficulty.

MaxHP(N) (Column FN):  The largest number of hitpoints a monster can have when it's

generated in Nightmare difficulty.

AC(N) (Column FO):  This is the enemy's defense for Nightmare difficulty.  The higher

it is, the harder it is to hit the monster.

EXP(N) (Column FP):  How much exp you get from killing this monster in Nightmare

Difficulty.

A1MinD(N) (Column FQ): Determines the minimum amount of damage the monster

does with its first physical attack.

A1MaxD(N) (Column FR):  Determines the maximum amount of damage the monster

does with its first physical attack.

A1ToHit(N) (Column FS):  Determines the attack rating the monster has with its first

hysical attack.  the higher it is, the more likely it is to hit someone with this attack.

A2MinD(N) (Column FT): Determines the minimum damage of the monster's second

physical attack (if it has one).

A2MaxD(N) (Column FU): Determines the max damage of a monster's second physical

attack in Nightmare difficulty.

A2ToHit(N) (Column FV):  Determines the attack rating of the monster's second

physical attack.

S1MinD(N) (Column FW): Determines the min damage done by a special attack.  This

field is used mostly by traps.

S1MaxD(N) (Column FX): Determines the max damage done by a special attack.

S1ToHit(N) (Column FY): Determines the attack rating of a special attack.

(Columns FZ-GL): Monster stats for hell difficulty.

TreasureClass1-4 (Columns GM-GP):  The numbers in the treasure class fields determine

what kind of items monsters drop when you kill them.  You can see what these fields are

by looking in TreasureClasses.txt and looking at the column numbers.  The number listed

in the monstats.txt file is the row of the file in TreasureClasses.txt – 1 (I think).

TreasureClass1-4(N) (Columns GQ-GT): Determines the items a monster drops in

nightmare difficulty.

TreasureClass1-4(H) (Columns GU-GX): Determins the items a monster drops in hell

difficulty.

SpawnPctBonus (Column GY):  This is a fun column to play around with.  This column

determines any percentage bonuses to a monster's chances of dropping an item when you

kill it.  Set it to something around 100, and they'll drop items like mad (and they'll often

be magical).

Soft (Column GZ): unknown (Nefarius: soft or hard skinned foe.)

Heart (Column HA): unknown, but every monster has it set to xxx. (Nefarius: set to an item code, the monster will drop this item if MonItemPercent.txt is edited)

BodyPart (Column HB): Unknown, but every monster has it set to xxx. (Nefarius: set to an item code, the monster will drop this item if MonItemPercent.txt is edited)

Killable (Column HC):  The last column that determines if a monster can be killed.

Almost everything has this column set.

Switch (Column HD):  Remember when I said earlier that the ability of Reveive to work

on a monster was set by something other than the CourpseSel solumn?  Well, this is that

column.  Set to one to make Revive work on this enemy's courpse.  Set to zero to make it

not work.

Restore (Column HE): unknown

Never Count (Column HF): unknown

Hit Class (Column HG): unknown (Nefarius: what hitclass effect is used when it hits something)

SplEndDeath (Column HH): unknown (Nefarius: as for all subsequent versions, just that the absence of minion columns makes this here useless)

SplGetModeChart (Column HI): unknown

SplEndGeneric (Column HJ): unknown

SplClientEnd (Column HK): unknown

DeadCollision (Column HL):  Determines if an enemy's courpse will block a character's

path.  An example is Duriel's courpse which can't be walked over when you kill him.

UnflatDead (Column HM): unknown

BloodLocal (Cloumn HN): unknown

DeathDamage (Column HO): Haven't tested, but it probably determines how much

damage a monster does when it dies. (Nefarius: boolean: does damage on death yes/no)

PetIgnore (Column HP): Set to one to make a monster fighting for you (Golem, Valkerie,

etc.) never attack it.

(Nefarius: the below work as for 1.10+)

NoGfxHitTest (Column HQ): unknown

HitTestTop (Column HR): unknown

HitTestLeft (Column HS): unknown

HitTestWidth (column HT): unknown

HitTestHeight (Column HU): unknown

Part II:

Trick One:  Make any monster appear in any area

  You'll need to use levels.txt for this one as well.  If you're looking at monstats.txt using

a spreedsheet program of somekind, notice that the rows are numbered.  These numbers-2

actually give you the monster number for each monster in the game.  For example, let's

look at Hell Bovines (cows).  They're on row 393.  The monster number for them is 391

(393-2=391).

  Now open up levels.txt.  Scroll left until you see some columns labeled M1, M2, M3,

etc.  You'll see numbers under these columns.  These are the monsters that appear in

these levels.  If you look at the entry for the secret cow level you'll notice 391 listed in

these columns.  To the left of the M1 column is the column that determines how many

different monsters can appear in this level.  If you add an entry to the M columns, make

sure you also change the value in the other column.

  If you want to make a Boss monster like Diablo, Blood Raven or the Summoner appear,

there's one other thing you need to change.  Go to the Spwaned column (column F) in

monstats.txt file and make the column entry for the monster you want to appear a one.

Trick Two: Cloning a Monster

   This trick is useful if you want to spawn a Boss monster, but you think the boss is too

hard to fight as a regular enemy.  It's also useful to do this in order to get around some of

the annoyances of killing Bosses.  For example, killing a spawned Diablo will trigger the

counter that ends the game.  Killing a spawned Andarial causes a massive explosion that

kills every other monster within several screens of her.  A cloned monster will usually not

carry over any special death animation with it.

  To actually clone a monster, open up both the monstats.txt file and the file name

montypes.txt.  For my example, I'll clone Diablo.

-First go to the entry for Diablo in monstats.txt (Row 245).

-Copy that entire row.

-Now go to the entry labeled Diablo Clone (Row 335).

-Paste the row you copied earlier over this row.

-Set the Spawned entry (Column F) to one if you haven't already.

-Set the eBoss entry (Column EV) to zero.  If you leave it at one, the game will crash

when you kill this clone.

-Now go into montypes.txt

-Find Diablo's entry (also row 245).

-Copy that entire row.

-Find the Diablo Clone entry (Row 335).

-Paste what you copied into that row.

And that's it.  Go back through and change the stats for you're cloned Diablo if you'd

like.  If you know how to work with string.tbl, you can even give your new Diablo clone

a different name by inserting it into the string.tbl file and then typing its name in the class

column in monstats.txt.  One thing to note is that sometimes if you copy a large monster

into another spot, that clone may not display correctly.  For example, copying Diablo to

somewhere other than the Diablo Clone entry may make your new Diablo appear without

a body, or he may even be invisible.  It's best to use on of the unused rows in the

monstats.txt file to create your clones (there are at least 20 of them, so don't worry about

running out unless you're really imaganitive).  Do not place your copied monster at the

end of the monstats.txt file after the last monster entry.  The game will crash if you do.

Trick 3: Kill Jar-Jar!

   Okay, so you're not really killing the Star Wars Jar-Jar, but you may have noticed that

the namco for Kaleen in the monstats.txt file lists Jar-Jar.  Well, Kaleen's pretty annoying

too ('you may not pass' 'you may not pass' blah blah blah).  While I don't know how to

make attacks work in town, you can make the character killable and then spawn him in

some other area of the game.  Here's what to do, and this will work on other characters

that look like hirelings in the game.

-Set ModeDH (Column BA) to one if it isn't set already.

-Set ModeGH (Column BD) to one if it isn't already.

-Set ModeDD (Column BM) to one.

-Set Align (Column CM) to zero.

-Make sure the IsSel entry (Column CO) is set to one.

-Make sure NeverSel (Column CR) is set to zero.

-Set IsAtt (Column CS) is set to one.

-Set Interact (Column EX) to zero.

-Make sure Killible (Column HC) is set to one.

And there you have it.  You can try this on other NPC's as well like the guards in each

act.  The game tends to crash if you use these settings to make important NPC's like Cain

or Izual killable though.

				Link to this article: Select all

				[url=https://d2mods.info/forum/kb/viewarticle?a=383]Knowledge Base - MonStats.txt[/url]