Text Monster Database
Total validation is performed when reading this data. Nothing you do can cause the program to crash. It may spit error messages and quit for lack of something decent to do but it will not crash or do unexpected things. It shouldn't anyway. If it does, please let us know.
The first item has the name "template" and will be ignored. You can use it as a 'template'. Copy it to the bottom of the file and edit the copy to add your item to the database.
Each line is of the form name = value (value may be omitted) Eg:
Special Ability =This line will be interpreted as setting 'Special Ability' to the empty string. This is commonly the default so in many cases it is the same as omitting the line entirely.
White space is a bit important. Because names and values can contain blanks. So the rule is....leading and trailing whitespace are ignored. So, for example:
attack bonus = 3are equivalent. But,attack bonus=3
attack bonus = 3 attack bonus = 3are different.
Lines starting with two slashes are comment lines.
Attribute names are case-insensitive.
Name = Wimpy Axe namE = Wimpy Axe NAME = Wimpy Axeare equivalent.
Text values retain their case. Values with enumerated possibilities are case-insensitive. Eg:
baseclass = PaLaDiN + FiGhTeR+ThIeF
File names can use the UNIX syntax with slashes because the backslash is used to escape special characters and it gets ugly to put double backslashes everywhere. If you like to use backslashes you may. We will accept either. Even mixed in a single filename. Eg:
C:/UAF\\src\\guild of ravens/release1/beta\\art/barkeep.bmp
Item definitions are delimited by \(BEGIN) ........ \(END) which must start in column 1.
************ Now for the interesting part ***********
Each monster is defined by the following fields.
Name - text, required - monster record ignored if missing or blank. Each monster must have a uniue name. You may add a qualifier to a name to make it unique. For example:
Kobold Kobold|Mean Kobold|KindThe qualifier is only used when editing a design. The qualifier is discarded when the binary files for the design are created. But the unique name is necessary during the design stage to allow unambiguous references to the monsters. During gameplay they are identified by a binary integer 'key' so there is no confusion between the three Kobalds.
default - none. Missing name will cause entire monster to be skipped.
eg:
name = blue legged pussycat
Icon - icon image file used during combat, or "default", or "none". A typical combat icon is 1x1 with 2 48x48 pixel frames. Both frames should face to the right and be on the same row. The left frame will be the 'ready' pose, and the right will be the 'attack' pose. Comma-separated text format: filename,delay,num frames, frame width, frame height, style, filename can be blank to use DEFAULT or "none", delay in millisecs where 1 sec=1000 ms (should be 0 for monsters), Num frames is total frames in image. Width is pixel width of single frame in image, should be 48 for monsters. Height is pixel height, should be 48 for monsters. Style is animation style, should be 0 for monsters.The only values that actually change should be filename and num frames.
default - DEFAULT
eg:
icon = icon_kobold.png,0,2,48,48,0
Hit Sound File - text, WAV file played when monster hits opponent, or Deault, or None.
default - DEFAULT
eg:
hit sound = sound_Hit.wav
Miss Sound File - text, WAV file played when monster misses opponent, or default, or None.
default - DEFAULT
eg:
miss sound = DEFAULT
Move Sound File -text, WAV file played when monster moves, or default, or None.
default - DEFAULT
eg:
move sound = DEFAULT
Death Sound File - text, WAV file played when monster dies, or default, or None.
default - DEFAULT
eg:
death sound = DEFAULT
Intelligence - integer in range of 0 to 25
default - 0
eg:
intelligence = 10
Armor class - integer.
default - 0
eg:
armor class = -1
Movement rate - integer, maximum unmodified character move rate is 12.
default - 1
eg:
movement rate = 3
Hit dice - real number of dice.
default - 2.71828
eg:
hit dice = 2
Hit dice bonus - integer.
default - 0
eg:
hit dice bonus = 2
Treat HD as hit points - yes or no. If no, the 'Hit Dice' value is treated as actual hitpoints value instead of how many dice to roll to determine hitpoints.
default - yes
eg:
treat HD as hit points = true
THACO - integer representing 'to hit armor class 0'.
default - 10
eg:
THAC0 = 14
Magic Resistance - integer.
default - 0
eg:
magic resistance = 3
Size - small, medium, or large.
default - small
eg:
size = medium
Morale - integer.
default - 0
eg:
morale = 3
Experience point value - integer, representing value of XP to party when defeated in combat.
default - 0
eg:
experience point value = 20
Special Ability - names of Special Abilities (consult the special ability database in specialAbilties.txt) Note that these are cumulative and should be listed one to a line.
default - none
eg:
Special Ability = SA_Bless Special Ability = monsterPoisonousBite
Class - compared to classes permitted for each item to determine if an item can be readied by this monster, compared to legal classes from Class database. Saving throws will be assigned based upon this designation as well.
default - Fighter
eg:
Class = Fighter
Form - combinable - none, mammal, animal, snake, giant, large (even if icon is 1x1).
default - mammal
eg:
form = animal + giant + snake
Penalty - combinable - none, DwarfAC, GnomeAC, DwarfTHACO, GnomeTHACO, RangerDmg.
default - none
eg:
penalty = dwarfac + rangerdmg
Immunity - combinable - none, poison, death magic, confusion, vorpal wpn.
default - none
eg:
immunity = confusion + poison
Misc Options - combinable - none, can be held/charmed, affected by dispel evil.
default = none
eg:
misc options = affected by dispel evil
Item - text, name of item that is added to monster's inventory. Add multiple items by using multiple 'item =
default - none
eg:
item = Long Sword
Attack - text, attack dice. Attack dice formatted as: dice sides,nbr dice,bonus per roll, message the attack message is limited to 20 characters. Add multiple attacks by using multiple 'attack = ' lines.
default - none
eg:
Attack = 4,1,0,attacks
Undead - text, the undead type. Choose one of: none, Skeleton, Zombie, Ghoul, Shadow, Wight, Ghast, Wraith, Mummy, Spectre, Vampire, Ghost, Lich, Special.
default - none
eg:
Undead = Skeleton
Example:
\(BEGIN) name = Azer icon file = icon_Azer.png,0,2,48,48,0,1,0 miss sound = sound_Miss.wav hit sound = sound_Hit.wav move sound = sound_CharMove.wav death sound = sound_CharDeath.wav intelligence = 9 armor class = 2 movement rate = 12 hit dice = 3.000000 treat HD as hit points = yes hit dice bonus = 2 THAC0 = 17 magic resistance = 0 size = medium morale = 45 experience point value = 185 Special Ability = monsterLevel,4 Special Ability = monster_ElementalImmunity,fire Special Ability = monster_ElementalVulnerability,cold Special Ability = Summoned,plane Class = Fighter form = none penalty = none immunity = none Misc Options = can be held/charmed + none item = Azer Mallet attack = 4,1,0,attacks, Undead = none \(END)