/*
* File: mon-data.h
*/
#ifndef MONDATA_H
#define MONDATA_H
#define AT_NO_ATK {AT_NONE, AF_PLAIN, 0}
#include "enum.h"
// This whole file was very generously condensed from its initial ugly form
// by Wladimir van der Laan ($pellbinder).
/* ******************************************************************
(see "mon-util.h" for the gory details)
- ordering does not matter, because seekmonster() searches the entire
array ... probably not to most efficient thing to do, but so it goes
- Here are the rows:
- row 1: monster id, display character, display colour, name
- row 2: monster flags
- row 3: monster resistance flags
- row 4: mass, experience modifier, genus, species, holiness, resist magic
- row 5: damage for each of four attacks
- row 6: hit dice, described by four parameters
- row 7: AC, evasion, sec(spell), corpse_thingy, zombie size, shouts
- row 8: intel, habitat, flight class, speed, energy_usage
- row 9: gmon_use class, gmon_eat class, body size
- Some further explanations:
- colour: if BLACK, monster uses value of mons_sec
- name: if an empty string, name generated automagically (see moname)
- mass: if zero, the monster never leaves a corpse (also corpse_thingy)
- genus: base monster "type" for a classed monsters (i.e. jackal as hound)
- species: corpse type of monster (i.e. orc for orc wizard)
- holiness:
MH_HOLY - irritates some gods when killed, immunity from
holy wrath weapons
MH_NATURAL - baseline monster type
MH_UNDEAD - immunity from draining, pain, torment; extra
damage from holy wrath/disruption; affected by
repel undead and holy word
MH_DEMONIC - similar to undead, but repel undead effects are
ignored - *no* automatic hellfire resistance
MH_NONLIVING - golems and other constructs
MH_PLANT - plants
exp_mod: see give_adjusted_experience() in mon-stuff.cc
- the experience given for killing this monster is calculated something
like this:
experience = (16 + maxhp) * HD * HD * exp_mod * (100 + diff. score) * speed
/ 100000
with a minimum of 1, and maximum 15000 (jpeg)
resist_magic: see mons_resist_magic() in mon-util.cc
- If -x calculate (-x * hit dice * 4/3), else simply x
damage [4]
- up to 4 different attacks
hp_dice [4]
- hit dice, min hp per HD, extra random hp per HD, fixed HP (unique mons)
Further explanations copied from mon-util.h:
hpdice[4]: [0]=HD [1]=min_hp [2]=rand_hp [3]=add_hp
min hp = [0]*[1]+[3] & max hp = [0]*([1]+[2])+[3])
example: the Iron Golem, hpdice={15,7,4,0}
15*7 < hp < 15*(7+4),
105 < hp < 165
hp will be around 135 each time.
corpse_thingy
- err, bad name. Describes effects of eating corpses.
CE_NOCORPSE, leaves no corpse (mass == 0)
CE_CLEAN, can be healthily eaten by non-Ghouls
CE_CONTAMINATED, occasionally causes sickness
CE_POISONOUS, hazardous to characters without poison resistance
CE_HCL, causes rotting in non-Ghouls
CE_MUTAGEN_RANDOM, mutagenic
CE_MUTAGEN_GOOD, // may be worth implementing {dlb}
CE_MUTAGEN_BAD, // may be worth implementing {dlb}
CE_RANDOM, // not used, but may be worth implementing {dlb}
CE_ROTTEN always causes sickness (good for Ghouls)
zombie_size
Z_NOZOMBIE
Z_SMALL (z)
Z_BIG (Z)
shouts
- various things monsters can do upon seeing you
intel explanation:
- How smart it is: I_PLANT < I_INSECT < I_ANIMAL < I_NORMAL < I_HIGH.
So far, differences here have little effects except for monster's chance
of seeing you if stealthy and rudimentary trap handling; really stupid
monsters will walk through clouds.
speed
- Increases the store of energy that the monster uses for doing things.
less = slower. 5 = half speed, 10 = normal, 20 = double speed.
energy usage
- How quickly the energy granted by speed is used up. Most monsters
should just use DEFAULT_ENERGY, where all the different types of actions
use 10 energy units.
gmon_use explanation:
MONUSE_NOTHING,
MONUSE_OPEN_DOORS,
MONUSE_STARTING_EQUIPMENT,
MONUSE_WEAPONS_ARMOUR,
MONUSE_MAGIC_ITEMS
From MONUSE_STARTING_EQUIPMENT on, monsters are capable of handling
items. Contrary to what one might expect, MONUSE_WEAPONS_ARMOUR
also means a monster is capable of using wands and will also pick
them up, something that those with MONUSE_STARTING_EQUIPMENT won't
do. MONUSE_MAGIC_ITEMS is currently never used anywhere.
gmon_eat explanation:
MONEAT_ITEMS,
MONEAT_CORPSES,
MONEAT_FOOD
Monsters with MONEAT_ITEMS are capable of eating most items,
monsters with MONEAT_CORPSES are capable of eating corpses, and
monsters with MONEAT_FOOD are capable of eating food (note that
corpses also count as food).
size:
SIZE_TINY, // rats/bats
SIZE_LITTLE, // spriggans
SIZE_SMALL, // halflings/kobolds
SIZE_MEDIUM, // humans/elves/dwarves
SIZE_LARGE, // trolls/ogres/centaurs/nagas
SIZE_BIG, // large quadrupeds
SIZE_GIANT, // giants
SIZE_HUGE // dragons
*/
const mon_energy_usage DEFAULT_ENERGY;
static inline mon_energy_usage MOVE_ENERGY(int me)
{
return mon_energy_usage::move_cost(me, me);
}
// Energy required for all non-movement action.
static inline mon_energy_usage ACTION_ENERGY(int ae)
{
return mon_energy_usage(10, 10, ae, ae, ae, ae, ae, ae * 10);
}
static inline mon_energy_usage ATTACK_ENERGY(int ae)
{
return mon_energy_usage::attack_cost(ae);
}
static inline mon_energy_usage MISSILE_ENERGY(int ae)
{
return mon_energy_usage::missile_cost(ae);
}
static monsterentry mondata[] = {
// monster 250: The Thing That Should Not Be(tm)
// NOTE: Do not remove, or seekmonster will crash on unknown mc request!
// It is also a good prototype for new monsters.
{
// id, glyph, colour, name
MONS_PROGRAM_BUG, 'B', LIGHTRED, "program bug",
// monster flags
M_NO_EXP_GAIN,
// resistance flags
MR_NO_FLAGS,
// mass, xp modifier, genus, species, holiness, magic resistance
0, 10, MONS_PROGRAM_BUG, MONS_PROGRAM_BUG, MH_NATURAL, -3,
// up to four attacks
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
// hit points
{ 0, 0, 0, 0 },
// AC, EV, spells, corpse type, zombie size, shout type, intelligence
0, 0, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SILENT,
// intelligence, habitat, speed, energy usage, use type
I_PLANT, HT_LAND, FL_NONE, 0, DEFAULT_ENERGY,
// use type, eat type, body size
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
},
// Use this to replace removed monsters, to retain save compatibility.
// Please put it in #if (TAG_MAJOR_VERSION <= X), so they will go away
// after save compat is broken.
#define AXED_MON(id) \
{ \
id, 'X', LIGHTRED, "removed "#id, \
M_NO_EXP_GAIN, \
MR_NO_FLAGS, \
0, 10, MONS_PROGRAM_BUG, MONS_PROGRAM_BUG, MH_NONLIVING, -3, \
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, \
{ 0, 0, 0, 0 }, \
0, 0, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SILENT, \
I_PLANT, HT_LAND, FL_NONE, 0, DEFAULT_ENERGY, \
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE \
},
// Real monsters begin here {dlb}:
// ants ('a')
{
MONS_GIANT_ANT, 'a', RED, "giant ant",
M_NO_SKELETON,
MR_VUL_POISON,
700, 10, MONS_GIANT_ANT, MONS_GIANT_ANT, MH_NATURAL, -3,
{ {AT_BITE, AF_POISON, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 3, 3, 5, 0 },
4, 10, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
I_INSECT, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
},
{
MONS_QUEEN_ANT, 'a', LIGHTRED, "queen ant",
M_NO_SKELETON | M_NO_FLAGS,
MR_VUL_POISON,
1200, 10, MONS_GIANT_ANT, MONS_QUEEN_ANT, MH_NATURAL, -3,
{ {AT_STING, AF_POISON_NASTY, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 13, 3, 5, 0 },
14, 3, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
I_INSECT, HT_LAND, FL_NONE, 7, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_SOLDIER_ANT, 'a', LIGHTGREY, "soldier ant",
M_NO_SKELETON,
MR_VUL_POISON,
900, 10, MONS_GIANT_ANT, MONS_SOLDIER_ANT, MH_NATURAL, -3,
{ {AT_STING, AF_POISON_NASTY, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 3, 5, 0 },
8, 10, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
I_INSECT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
},
// batty monsters ('b')
{
MONS_GIANT_BAT, 'b', LIGHTGREY, "giant bat",
M_SENSE_INVIS | M_WARM_BLOOD | M_BATTY,
MR_NO_FLAGS,
150, 4, MONS_GIANT_BAT, MONS_GIANT_BAT, MH_NATURAL, -1,
{ {AT_HIT, AF_PLAIN, 1}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 1, 2, 3, 0 },
1, 14, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
I_ANIMAL, HT_LAND, FL_FLY, 30, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
{
MONS_BUTTERFLY, 'b', BLACK, "butterfly",
M_NO_SKELETON | M_CONFUSED | M_NO_EXP_GAIN,
MR_VUL_POISON | MR_RES_ASPHYX,
150, 10, MONS_BUTTERFLY, MONS_BUTTERFLY, MH_NATURAL, -3,
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 1, 3, 5, 0 },
0, 25, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
I_INSECT, HT_LAND, FL_FLY, 25, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
// centaurs ('c')
{
MONS_CENTAUR, 'c', BROWN, "centaur",
M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
1500, 10, MONS_CENTAUR, MONS_CENTAUR, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 4, 3, 5, 0 },
3, 7, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_CENTAUR_WARRIOR, 'c', YELLOW, "centaur warrior",
M_WARM_BLOOD | M_FIGHTER | M_SPEAKS,
MR_NO_FLAGS,
1500, 12, MONS_CENTAUR, MONS_CENTAUR, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 16}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 9, 3, 5, 0 },
4, 8, MST_NO_SPELLS, CE_CLEAN, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_YAKTAUR, 'c', RED, "yaktaur",
M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
2000, 10, MONS_YAKTAUR, MONS_YAKTAUR, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 8, 3, 5, 0 },
4, 4, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_YAKTAUR_CAPTAIN, 'c', LIGHTRED, "yaktaur captain",
M_WARM_BLOOD | M_FIGHTER | M_SPEAKS,
MR_NO_FLAGS,
2000, 10, MONS_YAKTAUR, MONS_YAKTAUR, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 23}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 14, 3, 5, 0 },
5, 5, MST_NO_SPELLS, CE_CLEAN, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
},
// draconians ('d')
{ // Base draconian - for use like MONS_HUMAN, MONS_ELF although we
// now store the draconian subspecies in base_monster for those
// listed as species MONS_DRACONIAN.
MONS_DRACONIAN, 'd', BROWN, "draconian",
M_COLD_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
900, 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, -1,
{ {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 7, 6, 4, 0 },
9, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_ROAR,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_BLACK_DRACONIAN, 'd', BLUE, "black draconian",
M_COLD_BLOOD | M_SPEAKS,
MR_RES_ELEC,
900, 10, MONS_DRACONIAN, MONS_BLACK_DRACONIAN, MH_NATURAL, -2,
{ {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 14, 5, 4, 0 },
9, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_ROAR,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_YELLOW_DRACONIAN, 'd', YELLOW, "yellow draconian",
M_COLD_BLOOD | M_SPECIAL_ABILITY | M_SPEAKS,
MR_RES_ACID,
900, 10, MONS_DRACONIAN, MONS_YELLOW_DRACONIAN, MH_NATURAL, -2,
{ {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 14, 5, 4, 0 },
9, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_ROAR,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_PALE_DRACONIAN, 'd', LIGHTGREY, "pale draconian",
M_COLD_BLOOD | M_SPEAKS,
MR_RES_STEAM,
900, 10, MONS_DRACONIAN, MONS_PALE_DRACONIAN, MH_NATURAL, -2,
{ {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 14, 5, 4, 0 },
9, 14, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_ROAR,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_GREEN_DRACONIAN, 'd', GREEN, "green draconian",
M_COLD_BLOOD | M_SPEAKS,
MR_RES_POISON,
900, 10, MONS_DRACONIAN, MONS_GREEN_DRACONIAN, MH_NATURAL, -2,
{ {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 14, 5, 4, 0 },
9, 10, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_ROAR,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_PURPLE_DRACONIAN, 'd', MAGENTA, "purple draconian",
M_COLD_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
900, 10, MONS_DRACONIAN, MONS_PURPLE_DRACONIAN, MH_NATURAL, -8,
{ {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 14, 5, 4, 0 },
8, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_ROAR,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_RED_DRACONIAN, 'd', RED, "red draconian",
M_COLD_BLOOD | M_SPECIAL_ABILITY | M_SPEAKS,
MR_RES_FIRE,
900, 10, MONS_DRACONIAN, MONS_RED_DRACONIAN, MH_NATURAL, -2,
{ {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 14, 5, 4, 0 },
9, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_ROAR,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_WHITE_DRACONIAN, 'd', WHITE, "white draconian",
M_COLD_BLOOD | M_SPECIAL_ABILITY | M_SPEAKS,
MR_RES_COLD,
900, 10, MONS_DRACONIAN, MONS_WHITE_DRACONIAN, MH_NATURAL, -2,
{ {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 14, 5, 4, 0 },
9, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_ROAR,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_MOTTLED_DRACONIAN, 'd', LIGHTMAGENTA, "mottled draconian",
M_COLD_BLOOD | M_SPEAKS,
MR_RES_FIRE | MR_RES_STICKY_FLAME,
900, 10, MONS_DRACONIAN, MONS_MOTTLED_DRACONIAN, MH_NATURAL, -2,
{ {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 14, 5, 4, 0 },
9, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_ROAR,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_DRACONIAN_CALLER, 'd', BROWN, "draconian caller",
M_SPELLCASTER | M_ACTUAL_SPELLS | M_COLD_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
900, 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 16, 4, 3, 0 },
9, 10, MST_DRAC_CALLER, CE_CONTAMINATED, Z_NOZOMBIE, S_ROAR,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_DRACONIAN_MONK, 'd', BLUE, "draconian monk",
M_FIGHTER | M_COLD_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
900, 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, -3,
{ {AT_PUNCH, AF_PLAIN, 35}, {AT_KICK, AF_PLAIN, 20},
{AT_TAIL_SLAP, AF_PLAIN, 15} },
{ 16, 6, 3, 0 },
6, 20, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_ROAR,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_DRACONIAN_ZEALOT, 'd', LIGHTGREEN, "draconian zealot",
M_SPELLCASTER | M_PRIEST | M_COLD_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
900, 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 16, 4, 2, 0 },
12, 10, MST_DEEP_ELF_HIGH_PRIEST, CE_CONTAMINATED, Z_NOZOMBIE, S_ROAR,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_DRACONIAN_SHIFTER, 'd', LIGHTCYAN, "draconian shifter",
M_SPELLCASTER | M_ACTUAL_SPELLS | M_COLD_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
900, 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, -4,
{ {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 16, 4, 4, 0 },
8, 16, MST_DRAC_SHIFTER, CE_CONTAMINATED, Z_NOZOMBIE, S_ROAR,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_DRACONIAN_ANNIHILATOR, 'd', LIGHTBLUE, "draconian annihilator",
M_SPELLCASTER | M_ACTUAL_SPELLS | M_COLD_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
900, 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, -4,
{ {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 16, 4, 2, 0 },
8, 10, MST_DEEP_ELF_ANNIHILATOR, CE_CONTAMINATED, Z_NOZOMBIE, S_ROAR,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_DRACONIAN_KNIGHT, 'd', CYAN, "draconian knight",
M_SPELLCASTER | M_ACTUAL_SPELLS | M_FIGHTER | M_COLD_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
900, 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, -4,
{ {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 16, 6, 4, 0 },
12, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_ROAR,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_DRACONIAN_SCORCHER, 'd', LIGHTRED, "draconian scorcher",
M_SPELLCASTER | M_ACTUAL_SPELLS | M_COLD_BLOOD | M_SPEAKS,
MR_RES_FIRE | MR_RES_HELLFIRE,
900, 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, -4,
{ {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 16, 4, 2, 0 },
8, 12, MST_DRAC_SCORCHER, CE_CONTAMINATED, Z_NOZOMBIE, S_ROAR,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
},
// elves ('e')
//mv: have to exist because it's (and should be) a valid polymorph target.
{
MONS_ELF, 'e', RED, "elf",
M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 7, 3, 3, 0 },
2, 14, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_DEEP_ELF_SOLDIER, 'e', RED, "deep elf soldier",
M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_FIGHTER | M_SPEAKS,
MR_NO_FLAGS,
450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
{ {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 3, 3, 3, 0 },
0, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_DEEP_ELF_FIGHTER, 'e', LIGHTRED, "deep elf fighter",
M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_FIGHTER | M_SPEAKS,
MR_NO_FLAGS,
450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
{ {AT_HIT, AF_PLAIN, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 3, 3, 0 },
0, 13, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_DEEP_ELF_KNIGHT, 'e', CYAN, "deep elf knight",
M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_FIGHTER | M_SPEAKS,
MR_NO_FLAGS,
450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
{ {AT_HIT, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 11, 3, 3, 0 },
0, 15, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 11, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_DEEP_ELF_BLADEMASTER, 'e', LIGHTCYAN, "deep elf blademaster",
M_WARM_BLOOD | M_FIGHTER | M_TWOWEAPON | M_SPEAKS,
MR_NO_FLAGS,
450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
{ {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK },
{ 16, 5, 3, 0 },
0, 25, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_DEEP_ELF_MASTER_ARCHER, 'e', LIGHTGREY, "deep elf master archer",
M_WARM_BLOOD | M_ARCHER | M_SPEAKS,
MR_NO_FLAGS,
450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -5,
// Attack damage gets rolled into their ranged attacks.
{ {AT_SHOOT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK },
{ 15, 4, 2, 0 },
0, 15, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, MISSILE_ENERGY(6),
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_DEEP_ELF_MAGE, 'e', MAGENTA, "deep elf mage",
M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
450, 12, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
{ {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 4, 3, 3, 0 },
0, 13, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_DEEP_ELF_SUMMONER, 'e', BROWN, "deep elf summoner",
M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
{ {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 3, 3, 0 },
0, 13, MST_DEEP_ELF_SUMMONER, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_DEEP_ELF_CONJURER, 'e', BLUE, "deep elf conjurer",
M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
{ {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 3, 3, 0 },
0, 13, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_DEEP_ELF_PRIEST, 'e', GREEN, "deep elf priest",
M_SPELLCASTER | M_PRIEST | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
{ {AT_HIT, AF_PLAIN, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 5, 3, 3, 0 },
0, 13, MST_DEEP_ELF_PRIEST, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_DEEP_ELF_HIGH_PRIEST, 'e', LIGHTGREEN, "deep elf high priest",
M_SPELLCASTER | M_SPEAKS | M_PRIEST | M_WARM_BLOOD | M_SEE_INVIS,
MR_RES_HELLFIRE,
450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
{ {AT_HIT, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 11, 3, 3, 0 },
3, 13, MST_DEEP_ELF_HIGH_PRIEST, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_DEEP_ELF_DEMONOLOGIST, 'e', YELLOW, "deep elf demonologist",
M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS,
MR_NO_FLAGS,
450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
{ {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 12, 3, 3, 0 },
0, 13, MST_DEEP_ELF_DEMONOLOGIST, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_DEEP_ELF_ANNIHILATOR, 'e', LIGHTBLUE, "deep elf annihilator",
M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS,
MR_NO_FLAGS,
450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
{ {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 15, 3, 3, 0 },
0, 13, MST_DEEP_ELF_ANNIHILATOR, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_DEEP_ELF_SORCERER, 'e', LIGHTMAGENTA, "deep elf sorcerer",
M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS,
MR_NO_FLAGS,
450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
{ {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 14, 3, 3, 0 },
0, 13, MST_DEEP_ELF_SORCERER, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_DEEP_ELF_DEATH_MAGE, 'e', WHITE, "deep elf death mage",
M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS,
MR_NO_FLAGS,
450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
{ {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 15, 3, 3, 0 },
0, 13, MST_DEEP_ELF_DEATH_MAGE, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
// fungi ('f')
{
MONS_TOADSTOOL, 'f', BROWN, "toadstool",
M_NO_EXP_GAIN | M_STATIONARY,
MR_RES_POISON,
0, 10, MONS_FUNGUS, MONS_TOADSTOOL, MH_PLANT, MAG_IMMUNE,
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 1, 2, 2, 0 },
1, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
{
MONS_FUNGUS, 'f', LIGHTGREY, "fungus",
M_NO_EXP_GAIN | M_STATIONARY,
MR_RES_POISON,
0, 10, MONS_FUNGUS, MONS_FUNGUS, MH_PLANT, MAG_IMMUNE,
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 8, 3, 5, 0 },
1, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 0, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
{
MONS_BALLISTOMYCETE, 'f', MAGENTA, "ballistomycete",
M_STATIONARY,
MR_RES_POISON,
0, 10, MONS_FUNGUS, MONS_FUNGUS, MH_PLANT, MAG_IMMUNE,
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 4, 5, 3, 0 },
1, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 0, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
{
MONS_WANDERING_MUSHROOM, 'f', RED, "wandering mushroom",
M_NO_FLAGS,
MR_RES_POISON,
0, 10, MONS_FUNGUS, MONS_WANDERING_MUSHROOM, MH_PLANT, -3,
{ {AT_SPORE, AF_CONFUSE, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 8, 3, 5, 0 },
5, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
// goblins ('g')
{
MONS_GOBLIN, 'g', LIGHTGREY, "goblin",
M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
400, 10, MONS_GOBLIN, MONS_GOBLIN, MH_NATURAL, -1,
{ {AT_HIT, AF_PLAIN, 4}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 1, 2, 4, 0 },
0, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_HOBGOBLIN, 'g', BROWN, "hobgoblin",
M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
500, 10, MONS_GOBLIN, MONS_HOBGOBLIN, MH_NATURAL, -1,
{ {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 1, 4, 3, 0 },
2, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_GNOLL, 'g', YELLOW, "gnoll",
M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
750, 10, MONS_GNOLL, MONS_GNOLL, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 2, 4, 5, 0 },
2, 9, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_BOGGART, 'g', MAGENTA, "boggart",
M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_WARM_BLOOD,
MR_NO_FLAGS,
0, 14, MONS_BOGGART, MONS_BOGGART, MH_NATURAL, -7,
{ {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 2, 3, 5, 0 },
0, 12, MST_BOGGART, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LITTLE
},
// hounds ('h')
{
MONS_JACKAL, 'h', BROWN, "jackal",
M_WARM_BLOOD | M_BLOOD_SCENT,
MR_NO_FLAGS,
200, 10, MONS_HOUND, MONS_JACKAL, MH_NATURAL, -1,
{ {AT_BITE, AF_PLAIN, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 1, 3, 5, 0 },
2, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_BARK,
I_ANIMAL, HT_LAND, FL_NONE, 14, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_HOUND, 'h', YELLOW, "hound",
M_SENSE_INVIS | M_WARM_BLOOD | M_BLOOD_SCENT,
MR_NO_FLAGS,
300, 10, MONS_HOUND, MONS_HOUND, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 3, 3, 5, 0 },
2, 13, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_BARK,
I_ANIMAL, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_WARG, 'h', WHITE, "warg",
M_SENSE_INVIS | M_WARM_BLOOD | M_BLOOD_SCENT,
MR_RES_POISON,
600, 12, MONS_HOUND, MONS_WARG, MH_NATURAL, -6,
{ {AT_BITE, AF_PLAIN, 12}, {AT_CLAW, AF_PLAIN, 3}, {AT_CLAW, AF_PLAIN, 3},
AT_NO_ATK },
{ 4, 4, 5, 0 },
4, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_BARK,
I_ANIMAL, HT_LAND, FL_NONE, 13, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_WOLF, 'h', LIGHTGREY, "wolf",
M_SENSE_INVIS | M_WARM_BLOOD | M_BLOOD_SCENT,
MR_NO_FLAGS,
450, 10, MONS_HOUND, MONS_WOLF, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 8}, {AT_CLAW, AF_PLAIN, 2}, {AT_CLAW, AF_PLAIN, 2},
AT_NO_ATK },
{ 4, 3, 5, 0 },
3, 15, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_BARK,
I_ANIMAL, HT_LAND, FL_NONE, 17, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_WAR_DOG, 'h', CYAN, "war dog",
M_SENSE_INVIS | M_WARM_BLOOD | M_BLOOD_SCENT,
MR_NO_FLAGS,
350, 19, MONS_HOUND, MONS_WAR_DOG, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 4, 3, 5, 0 },
4, 15, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_BARK,
I_ANIMAL, HT_LAND, FL_NONE, 17, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_HOG, 'h', RED, "hog",
M_WARM_BLOOD,
MR_NO_FLAGS,
700, 10, MONS_HOG, MONS_HOG, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 3, 5, 0 },
2, 9, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
I_ANIMAL, HT_LAND, FL_NONE, 13, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_HELL_HOUND, 'h', LIGHTCYAN, "hell hound",
M_SENSE_INVIS | M_SPECIAL_ABILITY | M_BLOOD_SCENT,
MR_RES_POISON | MR_RES_HELLFIRE | MR_VUL_COLD,
0, 10, MONS_HOUND, MONS_HELL_HOUND, MH_DEMONIC, -3,
{ {AT_BITE, AF_PLAIN, 13}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 5, 3, 5, 0 },
6, 13, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_BARK,
I_NORMAL, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_HELL_HOG, 'h', LIGHTRED, "hell hog",
M_SPELLCASTER,
MR_NO_FLAGS,
0, 10, MONS_HOG, MONS_HELL_HOG, MH_DEMONIC, -3,
{ {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 11, 3, 5, 0 },
2, 9, MST_HELL_HOG, CE_CLEAN, Z_NOZOMBIE, S_SILENT,
I_ANIMAL, HT_LAND, FL_NONE, 14, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
},
// slugs ('j')
{
MONS_GIANT_SLUG, 'j', GREEN, "giant slug",
M_NO_SKELETON,
MR_NO_FLAGS,
700, 10, MONS_GIANT_SLUG, MONS_GIANT_SLUG, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 23}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 10, 5, 3, 0 },
0, 2, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_SILENT,
I_INSECT, HT_AMPHIBIOUS_LAND, FL_NONE, 6, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_GIANT_SNAIL, 'j', LIGHTGREEN, "giant snail",
M_NO_SKELETON,
MR_NO_FLAGS,
900, 7, MONS_GIANT_SLUG, MONS_GIANT_SNAIL, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 14, 5, 3, 0 },
7, 2, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_SILENT,
I_INSECT, HT_AMPHIBIOUS_LAND, FL_NONE, 4, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_ELEPHANT_SLUG, 'j', LIGHTGREY, "elephant slug",
M_NO_SKELETON,
MR_VUL_POISON,
1500, 10, MONS_GIANT_SLUG, MONS_ELEPHANT_SLUG, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 20, 5, 3, 0 },
2, 1, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_SILENT,
I_INSECT, HT_LAND, FL_NONE, 4, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
},
// killer bees ('k')
{
MONS_QUEEN_BEE, 'k', YELLOW, "queen bee",
M_NO_SKELETON,
MR_VUL_POISON,
200, 14, MONS_KILLER_BEE, MONS_QUEEN_BEE, MH_NATURAL, -3,
{ {AT_STING, AF_POISON_NASTY, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 7, 3, 5, 0 },
10, 10, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
I_INSECT, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
},
{
MONS_KILLER_BEE, 'k', BROWN, "killer bee",
M_NO_SKELETON,
MR_VUL_POISON,
150, 11, MONS_KILLER_BEE, MONS_KILLER_BEE, MH_NATURAL, -3,
{ {AT_STING, AF_POISON, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 3, 3, 5, 0 },
2, 18, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_BUZZ,
I_INSECT, HT_LAND, FL_FLY, 20, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
{
MONS_BUMBLEBEE, 'k', RED, "bumblebee",
M_NO_SKELETON,
MR_VUL_POISON,
300, 10, MONS_KILLER_BEE, MONS_BUMBLEBEE, MH_NATURAL, -3,
{ {AT_STING, AF_POISON_MEDIUM, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 7, 3, 5, 0 },
4, 15, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_BUZZ,
I_INSECT, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
// lizards ('l')
{
MONS_GIANT_NEWT, 'l', GREEN, "giant newt",
M_COLD_BLOOD,
MR_NO_FLAGS,
150, 10, MONS_GIANT_LIZARD, MONS_GIANT_NEWT, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 1, 1, 2, 0 },
0, 15, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
I_INSECT, HT_AMPHIBIOUS_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
{
MONS_GIANT_GECKO, 'l', YELLOW, "giant gecko",
M_COLD_BLOOD,
MR_NO_FLAGS,
250, 16, MONS_GIANT_LIZARD, MONS_GIANT_GECKO, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 1, 3, 5, 0 },
1, 14, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
I_INSECT, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
{
MONS_GIANT_IGUANA, 'l', BLUE, "giant iguana",
M_COLD_BLOOD,
MR_NO_FLAGS,
400, 13, MONS_GIANT_LIZARD, MONS_GIANT_IGUANA, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 3, 3, 5, 0 },
5, 9, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_HISS,
I_INSECT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
},
{
MONS_GIANT_LIZARD, 'l', LIGHTGREEN, "giant lizard",
M_COLD_BLOOD,
MR_NO_FLAGS,
600, 10, MONS_GIANT_LIZARD, MONS_GIANT_LIZARD, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 5, 3, 5, 0 },
4, 10, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
I_INSECT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
},
{
// Old gila monster colour: a random color from ETC_GILA.
MONS_GILA_MONSTER, 'l', MAGENTA, "gila monster",
M_COLD_BLOOD,
MR_NO_FLAGS,
500, 10, MONS_GIANT_LIZARD, MONS_GILA_MONSTER, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 5, 4, 4, 0 },
3, 12, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_HISS,
I_INSECT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
},
{
MONS_KOMODO_DRAGON, 'l', LIGHTRED, "komodo dragon",
M_COLD_BLOOD,
MR_NO_FLAGS,
800, 10, MONS_GIANT_LIZARD, MONS_KOMODO_DRAGON, MH_NATURAL, -3,
{ {AT_BITE, AF_DISEASE, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 8, 3, 5, 0 },
7, 8, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_HISS,
I_INSECT, HT_AMPHIBIOUS_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
},
// drakes (also 'l', but dragon type)
{
MONS_SWAMP_DRAKE, 'l', BROWN, "swamp drake",
M_SPELLCASTER | M_WARM_BLOOD,
MR_RES_POISON,
900, 11, MONS_DRAGON, MONS_SWAMP_DRAKE, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 4, 5, 5, 0 },
3, 11, MST_SWAMP_DRAKE, CE_POISONOUS, Z_BIG, S_ROAR,
I_ANIMAL, HT_LAND, FL_FLY, 11, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
},
{
MONS_FIRE_DRAKE, 'l', RED, "fire drake",
M_SPECIAL_ABILITY | M_WARM_BLOOD,
MR_RES_FIRE,
900, 10, MONS_DRAGON, MONS_FIRE_DRAKE, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 3, 5, 0 },
3, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SILENT,
I_ANIMAL, HT_LAND, FL_FLY, 12, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
},
// Used to be "lindworm" and a GREEN 'l'... I'm hoping that by making
// it a 'd' and using an alternate spelling, people will more
// intuitively know that this isn't a regular lizard. - bwr
// Changed back to 'l' for differentiation, as the 'd' glyph is packed
// with draconians already, and a lightcyan l is unique. - jpeg, Feb 08
{
MONS_LINDWURM, 'l', LIGHTCYAN, "lindwurm",
M_SPECIAL_ABILITY | M_WARM_BLOOD,
MR_NO_FLAGS,
1000, 11, MONS_DRAGON, MONS_LINDWURM, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 10},
{AT_CLAW, AF_PLAIN, 10}, AT_NO_ATK },
{ 9, 3, 5, 0 },
8, 6, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_ROAR,
I_INSECT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_GIANT
},
{
MONS_DEATH_DRAKE, 'l', LIGHTGREY, "death drake",
M_SPELLCASTER | M_COLD_BLOOD,
MR_RES_POISON | MR_RES_ROTTING,
900, 11, MONS_DRAGON, MONS_DEATH_DRAKE, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 9, 5, 7, 0 },
6, 14, MST_DEATH_DRAKE, CE_HCL, Z_BIG, S_ROAR,
I_ANIMAL, HT_LAND, FL_FLY, 13, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
},
// merfolk ('m')
{
MONS_MERFOLK, 'm', BLUE, "merfolk",
M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
500, 4, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 9, 2, 4, 0 },
4, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
I_NORMAL, HT_AMPHIBIOUS_WATER, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_MERFOLK_IMPALER, 'm', LIGHTBLUE, "merfolk impaler",
M_WARM_BLOOD,
MR_NO_FLAGS,
500, 8, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 12, 5, 4, 0 },
// Impalers prefer light armour, and are dodging experts.
0, 18, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
I_NORMAL, HT_AMPHIBIOUS_WATER, FL_NONE, 10, ATTACK_ENERGY(6),
MONUSE_MAGIC_ITEMS, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_MERFOLK_JAVELINEER, 'm', LIGHTGREY, "merfolk javelineer",
M_WARM_BLOOD | M_ARCHER,
MR_NO_FLAGS,
500, 8, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, -4,
{ {AT_SHOOT, AF_PLAIN, 16}, {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK },
{ 13, 5, 2, 0 },
0, 14, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
I_NORMAL, HT_AMPHIBIOUS_WATER, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_MAGIC_ITEMS, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_MERFOLK_AQUAMANCER, 'm', GREEN, "merfolk aquamancer",
M_WARM_BLOOD | M_SPELLCASTER | M_ACTUAL_SPELLS,
MR_NO_FLAGS,
500, 8, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, -4,
{ {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 15, 3, 3, 0 },
0, 12, MST_MERFOLK_AQUAMANCER, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
I_NORMAL, HT_AMPHIBIOUS_WATER, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_MAGIC_ITEMS, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_MERMAID, 'm', CYAN, "mermaid",
M_SPELLCASTER | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
500, 10, MONS_MERMAID, MONS_MERMAID, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 8, 3, 3, 0 },
4, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
I_NORMAL, HT_AMPHIBIOUS_WATER, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_SIREN, 'm', LIGHTCYAN, "siren",
M_SPELLCASTER | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
500, 10, MONS_MERMAID, MONS_SIREN, MH_NATURAL, -7,
{ {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 13, 5, 3, 0 },
4, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
I_NORMAL, HT_AMPHIBIOUS_WATER, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
// rotting monsters ('n')
// this thing doesn't have nr. 13 for nothing, has it? ($pellbinder)
{
MONS_NECROPHAGE, 'n', LIGHTGREY, "necrophage",
M_NO_FLAGS,
MR_RES_POISON | MR_RES_COLD,
500, 12, MONS_GHOUL, MONS_NECROPHAGE, MH_UNDEAD, -5,
{ {AT_HIT, AF_ROT, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 5, 3, 5, 0 },
2, 10, MST_NO_SPELLS, CE_HCL, Z_NOZOMBIE, S_SILENT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_CORPSES, SIZE_MEDIUM
},
{
MONS_GHOUL, 'n', RED, "ghoul",
M_NO_FLAGS,
MR_RES_POISON | MR_RES_COLD,
500, 12, MONS_GHOUL, MONS_GHOUL, MH_UNDEAD, -5,
{ {AT_HIT, AF_PLAIN, 4}, {AT_CLAW, AF_ROT, 9}, AT_NO_ATK, AT_NO_ATK },
{ 4, 3, 5, 0 },
4, 10, MST_NO_SPELLS, CE_HCL, Z_NOZOMBIE, S_SILENT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_CORPSES, SIZE_MEDIUM
},
{
MONS_ROTTING_HULK, 'n', BROWN, "rotting hulk",
M_NO_FLAGS,
MR_RES_POISON | MR_RES_COLD,
0, 12, MONS_GHOUL, MONS_ROTTING_HULK, MH_UNDEAD, -5,
{ {AT_HIT, AF_DISEASE, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 10, 3, 5, 0 },
5, 7, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_NORMAL, HT_LAND, FL_NONE, 8, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
// orcs ('o')
{
MONS_ORC, 'o', LIGHTRED, "orc",
M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
600, 10, MONS_ORC, MONS_ORC, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 1, 4, 6, 0 },
0, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_ORC_WIZARD, 'o', MAGENTA, "orc wizard",
M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
600, 10, MONS_ORC, MONS_ORC, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 3, 3, 4, 0 },
1, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_ORC_PRIEST, 'o', GREEN, "orc priest",
M_SPELLCASTER | M_PRIEST | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
600, 10, MONS_ORC, MONS_ORC, MH_NATURAL, -4,
{ {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 3, 3, 4, 0 },
1, 10, MST_ORC_PRIEST, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_ORC_WARRIOR, 'o', YELLOW, "orc warrior",
M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
600, 16, MONS_ORC, MONS_ORC, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 4, 4, 6, 0 },
0, 13, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_ORC_KNIGHT, 'o', CYAN, "orc knight",
M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
600, 10, MONS_ORC, MONS_ORC, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 9, 4, 7, 0 },
2, 13, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_ORC_WARLORD, 'o', LIGHTCYAN, "orc warlord",
M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
600, 15, MONS_ORC, MONS_ORC, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 32}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 15, 4, 7, 0 },
3, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_ORC_SORCERER, 'o', LIGHTMAGENTA, "orc sorcerer",
M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS | M_ACTUAL_SPELLS
| M_WARM_BLOOD,
MR_RES_FIRE,
600, 12, MONS_ORC, MONS_ORC, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 9, 2, 3, 0 },
5, 12, MST_ORC_SORCERER, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_ORC_HIGH_PRIEST, 'o', LIGHTGREEN, "orc high priest",
M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS | M_PRIEST | M_WARM_BLOOD,
MR_RES_HELLFIRE,
600, 10, MONS_ORC, MONS_ORC, MH_NATURAL, -4,
{ {AT_HIT, AF_PLAIN, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 11, 3, 4, 0 },
1, 12, MST_ORC_HIGH_PRIEST, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
// phantoms and ghosts ('p')
// XP modifier is 5 for these, because they really aren't all that
// dangerous, but still come out at 200+ XP
{
MONS_PHANTOM, 'p', BLUE, "phantom",
M_SPECIAL_ABILITY | M_INSUBSTANTIAL,
MR_RES_POISON | mrd(MR_RES_COLD, 2),
0, 5, MONS_PLAYER_GHOST, MONS_PHANTOM, MH_UNDEAD, -4,
{ {AT_HIT, AF_BLINK, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 7, 3, 5, 0 },
3, 13, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_HUNGRY_GHOST, 'p', GREEN, "hungry ghost",
M_SENSE_INVIS | M_INSUBSTANTIAL | M_SPEAKS,
MR_RES_POISON | mrd(MR_RES_COLD, 2),
0, 10, MONS_PLAYER_GHOST, MONS_HUNGRY_GHOST, MH_UNDEAD, -4,
{ {AT_HIT, AF_HUNGER, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 7, 3, 5, 0 },
0, 17, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_NORMAL, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_CORPSES, SIZE_MEDIUM
},
{
MONS_FLAYED_GHOST, 'p', RED, "flayed ghost",
M_SPEAKS | M_INSUBSTANTIAL,
MR_RES_POISON,
0, 10, MONS_PLAYER_GHOST, MONS_FLAYED_GHOST, MH_UNDEAD, -4,
{ {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 11, 3, 5, 0 },
0, 14, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_NORMAL, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
// player ghost - stats are stored in ghost struct
{
MONS_PLAYER_GHOST, 'p', WHITE, "player ghost",
M_FIGHTER | M_SPEAKS | M_SPELLCASTER | M_ACTUAL_SPELLS | M_UNIQUE
| M_INSUBSTANTIAL,
MR_RES_POISON,
0, 15, MONS_PLAYER_GHOST, MONS_PLAYER_GHOST, MH_UNDEAD, -5,
{ {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 4, 2, 3, 0 },
1, 2, MST_GHOST, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_INSUBSTANTIAL_WISP, 'p', LIGHTGREY, "insubstantial wisp",
M_SPECIAL_ABILITY | M_INSUBSTANTIAL,
mrd(MR_RES_ELEC | MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD, 2),
0, 17, MONS_INSUBSTANTIAL_WISP, MONS_INSUBSTANTIAL_WISP, MH_NONLIVING,
MAG_IMMUNE,
{ {AT_HIT, AF_BLINK, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 1, 2, 0 },
20, 20, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_MOAN,
I_PLANT, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
// rodents ('r')
{
MONS_RAT, 'r', BROWN, "rat",
M_WARM_BLOOD,
MR_NO_FLAGS,
200, 1, MONS_RAT, MONS_RAT, MH_NATURAL, -1,
{ {AT_BITE, AF_PLAIN, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 1, 1, 3, 0 },
1, 10, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
I_ANIMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
{
MONS_QUOKKA, 'r', WHITE, "quokka",
M_WARM_BLOOD,
MR_NO_FLAGS,
300, 10, MONS_QUOKKA, MONS_QUOKKA, MH_NATURAL, -1,
{ {AT_BITE, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 1, 3, 5, 0 },
2, 13, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
I_ANIMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
{
MONS_GREY_RAT, 'r', LIGHTGREY, "grey rat",
M_WARM_BLOOD,
MR_NO_FLAGS,
250, 26, MONS_RAT, MONS_GREY_RAT, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 1, 3, 6, 0 },
2, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SILENT,
I_ANIMAL, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
{
MONS_GREEN_RAT, 'r', LIGHTGREEN, "green rat",
M_WARM_BLOOD,
MR_NO_FLAGS,
250, 10, MONS_RAT, MONS_GREEN_RAT, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 2, 3, 5, 0 },
5, 11, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
I_ANIMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
{
MONS_ORANGE_RAT, 'r', LIGHTRED, "orange rat",
M_WARM_BLOOD | M_GLOWS,
MR_NO_FLAGS,
250, 10, MONS_RAT, MONS_ORANGE_RAT, MH_NATURAL, -3,
{ {AT_BITE, AF_DRAIN_XP, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 3, 3, 5, 0 },
7, 10, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_ROAR,
I_ANIMAL, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
},
// spiders and insects ('s')
{
MONS_GIANT_COCKROACH, 's', BROWN, "giant cockroach",
M_NO_SKELETON,
MR_NO_FLAGS,
250, 10, MONS_GIANT_COCKROACH, MONS_GIANT_COCKROACH, MH_NATURAL, -1,
{ {AT_BITE, AF_PLAIN, 2}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 1, 3, 4, 0 },
3, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SILENT,
I_INSECT, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
{
MONS_GIANT_MITE, 's', LIGHTRED, "giant mite",
M_NO_SKELETON,
MR_VUL_POISON,
350, 10, MONS_GIANT_MITE, MONS_GIANT_MITE, MH_NATURAL, -1,
{ {AT_BITE, AF_POISON, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 2, 3, 5, 0 },
1, 7, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
I_INSECT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
{
MONS_GIANT_CENTIPEDE, 's', GREEN, "giant centipede",
M_NO_SKELETON,
MR_VUL_POISON,
350, 10, MONS_GIANT_CENTIPEDE, MONS_GIANT_CENTIPEDE, MH_NATURAL, -3,
{ {AT_STING, AF_POISON_NASTY, 2}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 2, 3, 3, 0 },
2, 14, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
I_INSECT, HT_LAND, FL_NONE, 13, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
{
MONS_SCORPION, 's', YELLOW, "scorpion",
M_NO_SKELETON,
MR_VUL_POISON,
500, 13, MONS_SCORPION, MONS_SCORPION, MH_NATURAL, -3,
{ {AT_STING, AF_POISON_MEDIUM, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 3, 3, 5, 0 },
5, 10, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
I_INSECT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
{
MONS_WOLF_SPIDER, 's', WHITE, "wolf spider",
M_NO_SKELETON,
MR_VUL_POISON,
800, 10, MONS_WOLF_SPIDER, MONS_WOLF_SPIDER, MH_NATURAL, -3,
{ {AT_BITE, AF_POISON_MEDIUM, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 8, 3, 5, 0 },
3, 10, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_HISS,
I_INSECT, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
{
MONS_TRAPDOOR_SPIDER, 's', LIGHTCYAN, "trapdoor spider",
M_NO_SKELETON,
MR_VUL_POISON,
800, 10, MONS_TRAPDOOR_SPIDER, MONS_TRAPDOOR_SPIDER, MH_NATURAL, -3,
{ {AT_BITE, AF_POISON_MEDIUM, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 8, 3, 5, 0 },
3, 10, MST_NO_SPELLS, CE_POISONOUS, Z_NOZOMBIE, S_HISS,
I_INSECT, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
{
MONS_REDBACK, 's', RED, "redback",
M_NO_SKELETON,
MR_VUL_POISON,
1000, 14, MONS_WOLF_SPIDER, MONS_REDBACK, MH_NATURAL, -3,
{ {AT_BITE, AF_POISON_STRONG, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 3, 5, 0 },
2, 12, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
I_INSECT, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
// testudines ('t')
{
MONS_SNAPPING_TURTLE, 't', GREEN, "snapping turtle",
M_COLD_BLOOD,
MR_NO_FLAGS,
500, 10, MONS_SNAPPING_TURTLE, MONS_SNAPPING_TURTLE, MH_NATURAL, -3,
{ {AT_BITE, AF_REACH, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 10, 3, 6, 0 },
16, 5, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_HISS,
I_ANIMAL, HT_AMPHIBIOUS_LAND, FL_NONE, 9, ACTION_ENERGY(8),
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_ALLIGATOR_SNAPPING_TURTLE, 't', LIGHTGREEN, "alligator snapping turtle",
M_COLD_BLOOD,
MR_NO_FLAGS,
1000, 10, MONS_SNAPPING_TURTLE, MONS_ALLIGATOR_SNAPPING_TURTLE,
MH_NATURAL, -3,
{ {AT_BITE, AF_REACH, 50}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 16, 7, 4, 0 },
19, 1, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_HISS,
I_ANIMAL, HT_AMPHIBIOUS_LAND, FL_NONE, 8, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
},
// ugly things ('u')
{
MONS_UGLY_THING, 'u', BLACK, "ugly thing",
M_WARM_BLOOD | M_GLOWS,
MR_NO_FLAGS,
600, 10, MONS_UGLY_THING, MONS_UGLY_THING, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 8, 3, 5, 0 },
3, 10, MST_NO_SPELLS, CE_MUTAGEN_RANDOM, Z_NOZOMBIE, S_GURGLE,
I_ANIMAL, HT_AMPHIBIOUS_LAND, FL_NONE, 11, ACTION_ENERGY(11),
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_VERY_UGLY_THING, 'u', BLACK, "very ugly thing",
M_WARM_BLOOD | M_GLOWS,
MR_NO_FLAGS,
750, 10, MONS_UGLY_THING, MONS_VERY_UGLY_THING, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 12, 3, 5, 0 },
4, 10, MST_NO_SPELLS, CE_MUTAGEN_RANDOM, Z_NOZOMBIE, S_GURGLE,
I_ANIMAL, HT_AMPHIBIOUS_LAND, FL_NONE, 11, ACTION_ENERGY(11),
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
// vortices ('v')
{
MONS_FIRE_VORTEX, 'v', RED, "fire vortex",
M_CONFUSED | M_INSUBSTANTIAL | M_GLOWS,
MR_RES_POISON | mrd(MR_RES_FIRE, 3) | MR_VUL_COLD | MR_RES_ELEC,
0, 5, MONS_FIRE_VORTEX, MONS_FIRE_VORTEX, MH_NONLIVING, MAG_IMMUNE,
{ {AT_HIT, AF_FIRE, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 3, 3, 5, 0 },
0, 5, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_LEVITATE, 15, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_SPATIAL_VORTEX, 'v', BLACK, "spatial vortex",
M_CONFUSED | M_INSUBSTANTIAL | M_GLOWS,
MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
0, 5, MONS_FIRE_VORTEX, MONS_SPATIAL_VORTEX, MH_NONLIVING, MAG_IMMUNE,
{ {AT_HIT, AF_DISTORT, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 6, 6, 0 },
0, 5, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_LEVITATE, 15, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
},
// elementals (different symbols)
{
MONS_AIR_ELEMENTAL, 'v', LIGHTGREY, "air elemental",
M_SEE_INVIS | M_INSUBSTANTIAL | M_GLOWS,
mrd(MR_RES_ELEC, 3) | MR_RES_POISON,
0, 6, MONS_EARTH_ELEMENTAL, MONS_AIR_ELEMENTAL, MH_NONLIVING, MAG_IMMUNE,
{ {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 3, 5, 0 },
2, 18, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_LEVITATE, 25, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
},
{
MONS_EARTH_ELEMENTAL, '#', BROWN, "earth elemental",
M_NO_FLAGS,
mrd(MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 3),
0, 13, MONS_EARTH_ELEMENTAL, MONS_EARTH_ELEMENTAL, MH_NONLIVING, MAG_IMMUNE,
{ {AT_HIT, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 5, 5, 0 },
14, 4, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 6, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
},
{
MONS_FIRE_ELEMENTAL, '#', YELLOW, "fire elemental",
M_INSUBSTANTIAL | M_GLOWS,
MR_RES_POISON | MR_RES_HELLFIRE | MR_VUL_COLD | MR_RES_ELEC,
0, 10, MONS_EARTH_ELEMENTAL, MONS_FIRE_ELEMENTAL, MH_NONLIVING, MAG_IMMUNE,
{ {AT_HIT, AF_FIRE, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 3, 5, 0 },
4, 12, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_LEVITATE, 13, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
},
{
MONS_WATER_ELEMENTAL, '{', LIGHTBLUE, "water elemental",
M_NO_FLAGS,
MR_RES_POISON | MR_VUL_FIRE | MR_RES_ELEC,
0, 10, MONS_EARTH_ELEMENTAL, MONS_WATER_ELEMENTAL, MH_NONLIVING, MAG_IMMUNE,
{ {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 5, 3, 0 },
0, 7, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_AMPHIBIOUS_WATER, FL_LEVITATE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
},
// worms and larvae ('w')
{
MONS_KILLER_BEE_LARVA, 'w', YELLOW, "killer bee larva",
M_NO_SKELETON,
MR_VUL_POISON,
150, 5, MONS_KILLER_BEE, MONS_KILLER_BEE_LARVA, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 1, 3, 5, 0 },
1, 5, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 5, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
{
MONS_WORM, 'w', LIGHTRED, "worm",
M_NO_SKELETON,
MR_NO_FLAGS,
350, 4, MONS_WORM, MONS_WORM, MH_NATURAL, -2,
{ {AT_BITE, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 5, 3, 5, 0 },
1, 5, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 6, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_ANT_LARVA, 'w', LIGHTGREY, "ant larva",
M_NO_SKELETON,
MR_VUL_POISON,
350, 5, MONS_GIANT_ANT, MONS_ANT_LARVA, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 2, 3, 5, 0 },
2, 6, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 6, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
{
MONS_BRAIN_WORM, 'w', LIGHTMAGENTA, "brain worm",
M_NO_SKELETON | M_SPELLCASTER,
MR_NO_FLAGS,
150, 10, MONS_WORM, MONS_BRAIN_WORM, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 5, 3, 3, 0 },
1, 5, MST_BRAIN_WORM, CE_POISONOUS, Z_SMALL, S_SILENT,
I_INSECT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_SWAMP_WORM, 'w', BROWN, "swamp worm",
M_NO_SKELETON,
MR_NO_FLAGS,
350, 12, MONS_WORM, MONS_SWAMP_WORM, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 5, 5, 5, 0 },
3, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SILENT,
I_PLANT, HT_WATER, FL_NONE, 12, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_SPINY_WORM, 'w', LIGHTGREEN, "spiny worm",
M_NO_SKELETON,
MR_VUL_POISON | MR_RES_ACID,
1300, 13, MONS_WORM, MONS_SPINY_WORM, MH_NATURAL, -3,
{ {AT_STING, AF_ACID, 32}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 12, 3, 5, 0 },
10, 6, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 9, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
},
// Deliberately excepted in mon-place.cc to allow submerging.
{
MONS_GIANT_LEECH, 'w', RED, "giant leech",
M_NO_SKELETON | M_BLOOD_SCENT,
MR_NO_FLAGS,
1100, 10, MONS_WORM, MONS_GIANT_LEECH, MH_NATURAL, -3,
{ {AT_BITE, AF_VAMPIRIC, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 5, 5, 0 },
5, 15, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SILENT,
I_PLANT, HT_AMPHIBIOUS_WATER, FL_NONE, 8, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
},
// small abominations ('x')
{
MONS_UNSEEN_HORROR, 'x', MAGENTA, "unseen horror",
M_SEE_INVIS | M_INVIS | M_BATTY,
MR_NO_FLAGS,
0, 12, MONS_UNSEEN_HORROR, MONS_UNSEEN_HORROR, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 7, 3, 5, 0 },
5, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_ANIMAL, HT_LAND, FL_NONE, 30, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_ABOMINATION_SMALL, 'x', BLACK, "small abomination",
M_NO_FLAGS,
MR_RES_POISON,
0, 10, MONS_ABOMINATION_SMALL, MONS_ABOMINATION_SMALL, MH_DEMONIC, -5,
{ {AT_HIT, AF_PLAIN, 23}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 2, 5, 0 },
0, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
},
// flying insects ('y')
{
MONS_YELLOW_WASP, 'y', YELLOW, "yellow wasp",
M_NO_SKELETON,
MR_VUL_POISON,
220, 12, MONS_YELLOW_WASP, MONS_YELLOW_WASP, MH_NATURAL, -3,
{ {AT_STING, AF_PARALYSE, 13}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 4, 3, 5, 0 },
5, 14, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
I_PLANT, HT_LAND, FL_FLY, 15, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
{
MONS_GIANT_MOSQUITO, 'y', WHITE, "giant mosquito",
M_NO_SKELETON | M_BLOOD_SCENT,
MR_VUL_POISON,
100, 48, MONS_GIANT_MOSQUITO, MONS_GIANT_MOSQUITO, MH_NATURAL, -3,
{ {AT_BITE, AF_DISEASE, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 1, 3, 5, 0 },
0, 13, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_WHINE,
I_PLANT, HT_LAND, FL_FLY, 12, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
{
MONS_GIANT_BLOWFLY, 'y', LIGHTGREY, "giant blowfly",
M_NO_SKELETON | M_BATTY,
MR_VUL_POISON,
200, 10, MONS_GIANT_BLOWFLY, MONS_GIANT_BLOWFLY, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 13}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 5, 3, 5, 0 },
2, 15, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_BUZZ,
I_PLANT, HT_LAND, FL_FLY, 19, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
{
MONS_RED_WASP, 'y', RED, "red wasp",
M_NO_SKELETON,
MR_VUL_POISON,
400, 14, MONS_YELLOW_WASP, MONS_RED_WASP, MH_NATURAL, -3,
{ {AT_STING, AF_PARALYSE, 23}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 8, 3, 5, 0 },
7, 14, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_BUZZ,
I_PLANT, HT_LAND, FL_FLY, 15, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
{
MONS_MOTH_OF_WRATH, 'y', BROWN, "moth of wrath",
M_SPECIAL_ABILITY,
MR_NO_FLAGS,
0, 10, MONS_MOTH_OF_WRATH, MONS_MOTH_OF_WRATH, MH_NATURAL, -3,
{ {AT_BITE, AF_RAGE, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 9, 3, 5, 0 },
0, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_HIGH, HT_LAND, FL_FLY, 12, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
},
// small zombies etc. ('z')
// zombie, skeleton and simulacra species depend on corpse species,
// or else are chosen randomly
{
MONS_ZOMBIE_SMALL, 'z', BROWN, "small zombie",
M_NO_REGEN,
MR_RES_POISON | mrd(MR_RES_COLD, 2),
0, 6, MONS_ZOMBIE_SMALL, MONS_ZOMBIE_SMALL, MH_UNDEAD, -1,
{ {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 1, 5, 5, 0 },
0, 4, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 5, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_SKELETON_SMALL, 'z', LIGHTGREY, "small skeleton",
M_NO_REGEN,
MR_RES_POISON | mrd(MR_RES_COLD, 2),
0, 10, MONS_SKELETON_SMALL, MONS_SKELETON_SMALL, MH_UNDEAD, -1,
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 0, 0, 0, 0 },
0, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 5, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_SIMULACRUM_SMALL, 'z', ETC_ICE, "small simulacrum",
M_NO_REGEN,
MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 3),
0, 6, MONS_SIMULACRUM_SMALL, MONS_SIMULACRUM_SMALL, MH_UNDEAD, -1,
{ {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 2, 3, 5, 0 },
10, 4, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 7, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_SKELETAL_WARRIOR, 'z', CYAN, "skeletal warrior",
M_FIGHTER | M_SPELLCASTER,
MR_RES_POISON | MR_RES_COLD,
0, 10, MONS_SKELETAL_WARRIOR, MONS_SKELETAL_WARRIOR, MH_UNDEAD, -7,
{ {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 10, 5, 3, 0 },
15, 10, MST_SKELETAL_WARRIOR, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_FLYING_SKULL, 'z', WHITE, "flying skull",
M_NO_FLAGS,
MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
0, 10, MONS_SKELETON_SMALL, MONS_FLYING_SKULL, MH_UNDEAD, -3,
{ {AT_HIT, AF_PLAIN, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 2, 3, 5, 0 },
10, 17, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SCREAM,
I_ANIMAL, HT_LAND, FL_LEVITATE, 15, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
{
MONS_FLAMING_CORPSE, 'z', RED, "flaming corpse",
M_SENSE_INVIS | M_GLOWS,
MR_RES_POISON | mrd(MR_RES_FIRE, 3) | MR_RES_STICKY_FLAME,
0, 17, MONS_FLAMING_CORPSE, MONS_FLAMING_CORPSE, MH_UNDEAD, -4,
{ {AT_HIT, AF_NAPALM, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 8, 3, 5, 0 },
12, 13, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SCREAM,
I_NORMAL, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
// These nasties are never randomly generated, only sometimes specially
// placed in the Crypt.
{
MONS_CURSE_SKULL, 'z', LIGHTCYAN, "curse skull",
M_SPELLCASTER | M_SEE_INVIS | M_STATIONARY | M_SPEAKS | M_NOISY_SPELLS,
MR_RES_ELEC | MR_RES_POISON | MR_RES_HELLFIRE | mrd(MR_RES_COLD, 2),
0, 50, MONS_LICH, MONS_CURSE_SKULL, MH_UNDEAD, MAG_IMMUNE,
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 13, 0, 0, 66 },
40, 3, MST_CURSE_SKULL, CE_NOCORPSE, Z_NOZOMBIE, S_MOAN,
I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
// Curse toes move at half the speed with which they attack.
{
MONS_CURSE_TOE, 'z', YELLOW, "curse toe",
M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS,
MR_RES_ELEC | MR_RES_POISON | MR_RES_HELLFIRE | MR_RES_COLD,
0, 60, MONS_LICH, MONS_CURSE_TOE, MH_UNDEAD, MAG_IMMUNE,
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 14, 0, 0, 77 },
50, 1, MST_CURSE_TOE, CE_NOCORPSE, Z_NOZOMBIE, S_MOAN,
I_HIGH, HT_LAND, FL_LEVITATE, 12, MOVE_ENERGY(20),
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
// angelic beings ('A')
{
MONS_ANGEL, 'A', WHITE, "Angel",
M_FIGHTER | M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS | M_GLOWS,
MR_RES_POISON | MR_RES_ELEC,
0, 10, MONS_ANGEL, MONS_ANGEL, MH_HOLY, -8,
{ {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK,
AT_NO_ATK },
{ 12, 6, 5, 0 },
10, 20, MST_ANGEL, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_FLY, 15, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_DAEVA, 'A', YELLOW, "Daeva",
M_FIGHTER | M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS | M_GLOWS,
MR_RES_POISON,
0, 12, MONS_ANGEL, MONS_DAEVA, MH_HOLY, -8,
{ {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK,
AT_NO_ATK },
{ 14, 6, 5, 0 },
10, 13, MST_DAEVA, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
// beetles ('B')
{
MONS_GIANT_BEETLE, 'B', BLUE, "giant beetle",
M_NO_SKELETON,
MR_VUL_POISON,
1000, 12, MONS_GIANT_BEETLE, MONS_GIANT_BEETLE, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 5, 7, 6, 0 },
10, 3, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_SILENT,
I_INSECT, HT_LAND, FL_NONE, 5, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_BOULDER_BEETLE, 'B', LIGHTGREY, "boulder beetle",
M_NO_SKELETON,
MR_VUL_POISON,
2500, 8, MONS_GIANT_BEETLE, MONS_BOULDER_BEETLE, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 45}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 9, 3, 5, 0 },
20, 2, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_SILENT,
I_INSECT, HT_LAND, FL_NONE, 3, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_BORING_BEETLE, 'B', BROWN, "boring beetle",
M_NO_SKELETON | M_BURROWS,
MR_VUL_POISON,
1300, 12, MONS_GIANT_BEETLE, MONS_BORING_BEETLE, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 8, 3, 5, 0 },
13, 4, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_SILENT,
I_INSECT, HT_LAND, FL_NONE, 6, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
},
// cyclops and giants ('C')
{
MONS_HILL_GIANT, 'C', LIGHTRED, "hill giant",
M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
1600, 7, MONS_HILL_GIANT, MONS_HILL_GIANT, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 11, 3, 5, 0 },
3, 4, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_GIANT
},
{
MONS_ETTIN, 'C', BROWN, "ettin",
M_WARM_BLOOD | M_TWOWEAPON | M_SPEAKS,
MR_NO_FLAGS,
2000, 10, MONS_HILL_GIANT, MONS_ETTIN, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 18}, {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK },
{ 7, 3, 5, 0 },
3, 4, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SHOUT2,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_GIANT
},
{
MONS_CYCLOPS, 'C', YELLOW, "cyclops",
M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
2500, 14, MONS_HILL_GIANT, MONS_CYCLOPS, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 9, 3, 5, 0 },
5, 3, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 7, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_GIANT
},
{
MONS_FIRE_GIANT, 'C', RED, "fire giant",
M_FIGHTER | M_SPELLCASTER | M_WARM_BLOOD | M_SENSE_INVIS | M_SPEAKS,
mrd(MR_RES_FIRE, 2),
2400, 11, MONS_HILL_GIANT, MONS_FIRE_GIANT, MH_NATURAL, -4,
{ {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 16, 3, 6, 0 },
8, 4, MST_EFREET, CE_CONTAMINATED, Z_BIG, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_GIANT
},
{
MONS_FROST_GIANT, 'C', LIGHTBLUE, "frost giant",
M_FIGHTER | M_SPELLCASTER | M_WARM_BLOOD | M_SENSE_INVIS | M_SPEAKS,
mrd(MR_RES_COLD, 2),
2600, 11, MONS_HILL_GIANT, MONS_FROST_GIANT, MH_NATURAL, -4,
{ {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 16, 4, 5, 0 },
9, 3, MST_FROST_GIANT, CE_CONTAMINATED, Z_BIG, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_GIANT
},
{
MONS_STONE_GIANT, 'C', LIGHTGREY, "stone giant",
M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
3000, 10, MONS_HILL_GIANT, MONS_STONE_GIANT, MH_NATURAL, -4,
{ {AT_HIT, AF_PLAIN, 45}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 16, 3, 5, 0 },
12, 2, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_GIANT
},
{
MONS_TITAN, 'C', MAGENTA, "titan",
M_FIGHTER | M_SPELLCASTER | M_WARM_BLOOD | M_SENSE_INVIS | M_SPEAKS,
mrd(MR_RES_ELEC, 2),
3500, 12, MONS_HILL_GIANT, MONS_TITAN, MH_NATURAL, -7,
{ {AT_HIT, AF_PLAIN, 55}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 20, 3, 5, 0 },
10, 3, MST_TITAN, CE_CLEAN, Z_BIG, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_GIANT
},
// dragons ('D')
{
MONS_WYVERN, 'D', LIGHTRED, "wyvern",
M_WARM_BLOOD,
MR_NO_FLAGS,
2000, 15, MONS_WYVERN, MONS_WYVERN, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 5, 3, 5, 0 },
5, 10, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
I_ANIMAL, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
},
{
MONS_DRAGON, 'D', GREEN, "dragon",
M_SPECIAL_ABILITY | M_WARM_BLOOD,
MR_RES_POISON | mrd(MR_RES_FIRE, 2) | MR_VUL_COLD,
2200, 12, MONS_DRAGON, MONS_DRAGON, MH_NATURAL, -4,
{ {AT_BITE, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 13},
{AT_CLAW, AF_PLAIN, 13}, AT_NO_ATK },
{ 12, 5, 5, 0 },
10, 8, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_SILENT,
I_ANIMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
},
{
MONS_HYDRA, 'D', LIGHTGREEN, "hydra",
M_WARM_BLOOD,
MR_RES_POISON,
1800, 11, MONS_HYDRA, MONS_HYDRA, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 13, 3, 5, 0 },
0, 5, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_ROAR,
I_INSECT, HT_AMPHIBIOUS_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
},
{
MONS_ICE_DRAGON, 'D', WHITE, "ice dragon",
M_SPECIAL_ABILITY | M_COLD_BLOOD,
MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 2),
2200, 10, MONS_DRAGON, MONS_ICE_DRAGON, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 17}, {AT_CLAW, AF_PLAIN, 17},
{AT_CLAW, AF_PLAIN, 17}, AT_NO_ATK },
{ 12, 5, 5, 0 },
10, 8, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_SILENT,
I_ANIMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
},
{
MONS_STEAM_DRAGON, 'D', BLUE, "steam dragon",
M_SPELLCASTER | M_WARM_BLOOD,
MR_RES_STEAM,
1000, 17, MONS_DRAGON, MONS_STEAM_DRAGON, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 12}, {AT_CLAW, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK },
{ 4, 5, 5, 0 },
5, 10, MST_STEAM_DRAGON, CE_CLEAN, Z_BIG, S_SILENT,
I_ANIMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_GIANT
},
{
MONS_SWAMP_DRAGON, 'D', BROWN, "swamp dragon",
M_SPELLCASTER | M_WARM_BLOOD,
MR_RES_POISON,
1900, 11, MONS_DRAGON, MONS_SWAMP_DRAGON, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 18}, {AT_CLAW, AF_PLAIN, 9}, {AT_CLAW, AF_PLAIN, 9},
AT_NO_ATK },
{ 9, 5, 5, 0 },
7, 7, MST_SWAMP_DRAGON, CE_POISONOUS, Z_BIG, S_ROAR,
I_ANIMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_GIANT
},
{
MONS_MOTTLED_DRAGON, 'D', LIGHTMAGENTA, "mottled dragon",
M_SPELLCASTER | M_WARM_BLOOD,
MR_RES_POISON | MR_RES_FIRE | MR_RES_STICKY_FLAME,
1100, 16, MONS_DRAGON, MONS_MOTTLED_DRAGON, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 15}, {AT_CLAW, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK },
{ 5, 3, 5, 0 },
5, 10, MST_MOTTLED_DRAGON, CE_POISONOUS, Z_BIG, S_SILENT,
I_ANIMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_GIANT
},
{
MONS_QUICKSILVER_DRAGON, 'D', LIGHTCYAN, "quicksilver dragon",
M_SPELLCASTER | M_SENSE_INVIS | M_WARM_BLOOD,
MR_NO_FLAGS,
2200, 14, MONS_DRAGON, MONS_QUICKSILVER_DRAGON, MH_NATURAL, -7,
{ {AT_BITE, AF_PLAIN, 25}, {AT_CLAW, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK },
{ 16, 3, 5, 0 },
10, 15, MST_QUICKSILVER_DRAGON, CE_CONTAMINATED, Z_BIG, S_ROAR,
I_ANIMAL, HT_LAND, FL_FLY, 15, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_GIANT
},
{
MONS_IRON_DRAGON, 'D', CYAN, "iron dragon",
M_SPELLCASTER | M_SENSE_INVIS | M_WARM_BLOOD,
MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD,
2400, 14, MONS_DRAGON, MONS_IRON_DRAGON, MH_NATURAL, -7,
{ {AT_BITE, AF_PLAIN, 25}, {AT_CLAW, AF_PLAIN, 25},
{AT_CLAW, AF_PLAIN, 25}, AT_NO_ATK },
{ 18, 5, 3, 0 },
20, 6, MST_IRON_DRAGON, CE_CONTAMINATED, Z_BIG, S_ROAR,
I_ANIMAL, HT_LAND, FL_NONE, 8, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
},
{
MONS_STORM_DRAGON, 'D', LIGHTBLUE, "storm dragon",
M_SPELLCASTER | M_WARM_BLOOD,
mrd(MR_RES_ELEC, 3) | MR_RES_COLD,
2800, 12, MONS_DRAGON, MONS_STORM_DRAGON, MH_NATURAL, -5,
{ {AT_BITE, AF_PLAIN, 25}, {AT_CLAW, AF_PLAIN, 15},
{AT_CLAW, AF_PLAIN, 15}, AT_NO_ATK },
{ 14, 5, 5, 0 },
13, 10, MST_STORM_DRAGON, CE_CLEAN, Z_BIG, S_ROAR,
I_ANIMAL, HT_LAND, FL_FLY, 12, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
},
{
MONS_GOLDEN_DRAGON, 'D', YELLOW, "golden dragon",
M_SPELLCASTER | M_SENSE_INVIS | M_WARM_BLOOD,
MR_RES_ELEC | MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD,
3000, 17, MONS_DRAGON, MONS_GOLDEN_DRAGON, MH_NATURAL, -8,
{ {AT_BITE, AF_PLAIN, 40}, {AT_CLAW, AF_PLAIN, 20},
{AT_CLAW, AF_PLAIN, 20}, AT_NO_ATK },
{ 18, 4, 4, 0 },
15, 7, MST_GOLDEN_DRAGON, CE_POISONOUS, Z_BIG, S_ROAR,
I_ANIMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
},
{
MONS_SHADOW_DRAGON, 'D', MAGENTA, "shadow dragon",
M_SPELLCASTER | M_SEE_INVIS | M_COLD_BLOOD,
MR_RES_POISON | mrd(MR_RES_COLD, 2),
2000, 12, MONS_DRAGON, MONS_SHADOW_DRAGON, MH_NATURAL, -5,
{ {AT_BITE, AF_DRAIN_XP, 20}, {AT_CLAW, AF_PLAIN, 15},
{AT_CLAW, AF_PLAIN, 15}, AT_NO_ATK },
{ 17, 5, 5, 0 },
15, 10, MST_SHADOW_DRAGON, CE_HCL, Z_BIG, S_ROAR,
I_ANIMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
},
{
MONS_SKELETAL_DRAGON, 'D', LIGHTGREY, "skeletal dragon",
M_SENSE_INVIS,
MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
0, 12, MONS_DRAGON, MONS_SKELETAL_DRAGON, MH_UNDEAD, -4,
{ {AT_BITE, AF_PLAIN, 30}, {AT_CLAW, AF_PLAIN, 20},
{AT_CLAW, AF_PLAIN, 20}, AT_NO_ATK },
{ 20, 8, 8, 0 },
20, 4, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_ANIMAL, HT_LAND, FL_FLY, 8, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
},
{
MONS_SERPENT_OF_HELL, 'D', RED, "Serpent of Hell",
M_SPELLCASTER | M_SENSE_INVIS,
MR_RES_POISON | MR_RES_HELLFIRE,
0, 18, MONS_SERPENT_OF_HELL, MONS_SERPENT_OF_HELL, MH_DEMONIC, -13,
{ {AT_BITE, AF_PLAIN, 35}, {AT_CLAW, AF_PLAIN, 15},
{AT_CLAW, AF_PLAIN, 15}, AT_NO_ATK },
{ 20, 4, 4, 0 },
12, 9, MST_SERPENT_OF_HELL, CE_CLEAN, Z_NOZOMBIE, S_ROAR,
I_HIGH, HT_LAND, FL_FLY, 14, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_HUGE
},
// efreeti ('E')
{
MONS_EFREET, 'E', RED, "efreet",
M_SPELLCASTER | M_SPEAKS | M_GLOWS,
MR_RES_POISON | mrd(MR_RES_FIRE, 3) | MR_VUL_COLD,
0, 12, MONS_EFREET, MONS_EFREET, MH_DEMONIC, -3,
{ {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 7, 3, 5, 0 },
10, 5, MST_EFREET, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
},
// frogs ('F')
{
MONS_GIANT_FROG, 'F', GREEN, "giant frog",
M_COLD_BLOOD,
MR_NO_FLAGS,
500, 10, MONS_GIANT_FROG, MONS_GIANT_FROG, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 4, 3, 5, 0 },
0, 12, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_CROAK,
I_ANIMAL, HT_AMPHIBIOUS_LAND, FL_NONE, 15, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_GIANT_TOAD, 'F', BROWN, "giant toad",
M_COLD_BLOOD,
MR_NO_FLAGS,
890, 10, MONS_GIANT_FROG, MONS_GIANT_TOAD, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 8, 3, 5, 0 },
2, 11, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_CROAK,
I_ANIMAL, HT_AMPHIBIOUS_LAND, FL_NONE, 13, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_SPINY_FROG, 'F', YELLOW, "spiny frog",
M_COLD_BLOOD,
MR_RES_POISON,
1000, 10, MONS_GIANT_FROG, MONS_SPINY_FROG, MH_NATURAL, -3,
{ {AT_STING, AF_POISON_MEDIUM, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 7, 3, 5, 0 },
6, 9, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_CROAK,
I_ANIMAL, HT_AMPHIBIOUS_LAND, FL_NONE, 12, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_BLINK_FROG, 'F', LIGHTGREEN, "blink frog",
M_COLD_BLOOD | M_SPECIAL_ABILITY,
MR_NO_FLAGS,
800, 12, MONS_BLINK_FROG, MONS_BLINK_FROG, MH_NATURAL, -5,
{ {AT_HIT, AF_BLINK, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 3, 5, 0 },
3, 12, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_CROAK,
I_ANIMAL, HT_AMPHIBIOUS_LAND, FL_NONE, 14, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
},
// eyes and spores ('G')
{
MONS_GIANT_SPORE, 'G', GREEN, "giant spore",
M_NO_FLAGS,
MR_RES_POISON,
0, 10, MONS_PLANT, MONS_GIANT_SPORE, MH_PLANT, -3,
{ {AT_HIT, AF_PLAIN, 1}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 1, 0, 0, 1 },
0, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_LEVITATE, 15, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_GIANT_EYEBALL, 'G', WHITE, "giant eyeball",
M_NO_SKELETON,
MR_RES_ASPHYX,
400, 10, MONS_GIANT_EYEBALL, MONS_GIANT_EYEBALL, MH_NATURAL, -3,
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 3, 3, 5, 0 },
0, 1, MST_NO_SPELLS, CE_CLEAN, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_LEVITATE, 3, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_EYE_OF_DRAINING, 'G', LIGHTGREY, "eye of draining",
M_NO_SKELETON | M_SEE_INVIS | M_GLOWS,
MR_RES_ASPHYX,
400, 10, MONS_GIANT_EYEBALL, MONS_EYE_OF_DRAINING, MH_NATURAL, MAG_IMMUNE,
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 7, 3, 5, 0 },
3, 1, MST_NO_SPELLS, CE_POISONOUS, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_LEVITATE, 5, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_GIANT_ORANGE_BRAIN, 'G', LIGHTRED, "giant orange brain",
M_NO_SKELETON | M_SPELLCASTER | M_SEE_INVIS | M_WARM_BLOOD,
MR_RES_ASPHYX,
1000, 13, MONS_GIANT_ORANGE_BRAIN, MONS_GIANT_ORANGE_BRAIN, MH_NATURAL, -8,
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 10, 3, 5, 0 },
2, 4, MST_GIANT_ORANGE_BRAIN, CE_MUTAGEN_RANDOM, Z_NOZOMBIE, S_SILENT,
I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_GREAT_ORB_OF_EYES, 'G', LIGHTGREEN, "great orb of eyes",
M_NO_SKELETON | M_SPELLCASTER | M_SEE_INVIS,
MR_RES_POISON,
900, 13, MONS_GIANT_EYEBALL, MONS_GREAT_ORB_OF_EYES, MH_NATURAL, MAG_IMMUNE,
{ {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 12, 3, 5, 0 },
10, 3, MST_GREAT_ORB_OF_EYES, CE_MUTAGEN_RANDOM, Z_NOZOMBIE, S_SILENT,
I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_SHINING_EYE, 'G', LIGHTMAGENTA, "shining eye",
M_SPELLCASTER | M_SEE_INVIS | M_GLOWS,
MR_RES_ASPHYX,
0, 14, MONS_GIANT_EYEBALL, MONS_SHINING_EYE, MH_NATURAL, MAG_IMMUNE,
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 10, 3, 5, 0 },
3, 1, MST_SHINING_EYE, CE_MUTAGEN_RANDOM, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_LEVITATE, 7, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_EYE_OF_DEVASTATION, 'G', YELLOW, "eye of devastation",
M_SPELLCASTER | M_SEE_INVIS | M_GLOWS,
MR_RES_ASPHYX,
0, 11, MONS_GIANT_EYEBALL, MONS_EYE_OF_DEVASTATION, MH_NATURAL, MAG_IMMUNE,
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 10, 3, 5, 0 },
12, 1, MST_EYE_OF_DEVASTATION, CE_POISONOUS, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_LEVITATE, 7, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
},
{
MONS_GOLDEN_EYE, 'G', ETC_GOLD, "golden eye",
M_BATTY | M_GLOWS,
MR_RES_ASPHYX,
0, 17, MONS_GIANT_EYEBALL, MONS_GOLDEN_EYE, MH_NATURAL, MAG_IMMUNE,
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 1, 2, 0 },
0, 20, MST_NO_SPELLS, CE_POISONOUS, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_LEVITATE, 13, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
// hybrids ('H')
{
MONS_HIPPOGRIFF, 'H', BROWN, "hippogriff",
M_WARM_BLOOD,
MR_NO_FLAGS,
1000, 10, MONS_HIPPOGRIFF, MONS_HIPPOGRIFF, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 10}, {AT_PECK, AF_PLAIN, 8}, {AT_CLAW, AF_PLAIN, 8},
AT_NO_ATK },
{ 7, 3, 5, 0 },
2, 7, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_SCREECH,
I_ANIMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
},
{
MONS_MANTICORE, 'H', RED, "manticore",
M_WARM_BLOOD | M_SPECIAL_ABILITY,
MR_NO_FLAGS,
1800, 10, MONS_MANTICORE, MONS_MANTICORE, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 14}, {AT_CLAW, AF_PLAIN, 8}, {AT_CLAW, AF_PLAIN, 8},
AT_NO_ATK },
{ 9, 3, 5, 0 },
5, 7, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SILENT,
I_NORMAL, HT_LAND, FL_NONE, 7, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_BIG
},
{
MONS_MINOTAUR, 'H', LIGHTRED, "minotaur",
M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
1500, 10, MONS_MINOTAUR, MONS_MINOTAUR, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 35}, {AT_GORE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK },
{ 13, 3, 5, 0 },
5, 7, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_BELLOW,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_GRIFFON, 'H', YELLOW, "griffon",
M_WARM_BLOOD,
MR_NO_FLAGS,
1800, 10, MONS_GRIFFON, MONS_GRIFFON, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 18}, {AT_PECK, AF_PLAIN, 10},
{AT_CLAW, AF_PLAIN, 10}, AT_NO_ATK },
{ 12, 3, 5, 0 },
4, 6, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_SCREECH,
I_ANIMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
},
{
MONS_SPHINX, 'H', LIGHTGREY, "sphinx",
M_SENSE_INVIS | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
0, 10, MONS_SPHINX, MONS_SPHINX, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 12}, {AT_HIT, AF_PLAIN, 12},
AT_NO_ATK },
{ 16, 3, 5, 0 },
5, 5, MST_SPHINX, CE_CLEAN, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_FLY, 13, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_BIG
},
{
MONS_HARPY, 'H', GREEN, "harpy",
M_WARM_BLOOD | M_BATTY,
MR_RES_POISON,
1000, 12, MONS_HARPY, MONS_HARPY, MH_NATURAL, -3,
{ {AT_CLAW, AF_PLAIN, 19}, {AT_CLAW, AF_STEAL_FOOD, 14},
AT_NO_ATK, AT_NO_ATK },
{ 7, 3, 5, 0 },
2, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SCREECH,
I_NORMAL, HT_LAND, FL_FLY, 25, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_FOOD, SIZE_MEDIUM
},
// ice beast ('I')
{
MONS_ICE_BEAST, 'I', WHITE, "ice beast",
M_NO_FLAGS,
MR_RES_POISON | MR_RES_ASPHYX | MR_VUL_FIRE | mrd(MR_RES_COLD, 3),
0, 12, MONS_ICE_BEAST, MONS_ICE_BEAST, MH_NATURAL, -3,
{ {AT_HIT, AF_COLD, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 5, 3, 5, 0 },
5, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_ANIMAL, HT_AMPHIBIOUS_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
},
// jellies ('J')
{
MONS_OOZE, 'J', LIGHTGREY, "ooze",
M_SENSE_INVIS,
MR_RES_POISON | MR_RES_ASPHYX | MR_RES_ACID,
0, 3, MONS_JELLY, MONS_OOZE, MH_NATURAL, -6,
{ {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 3, 3, 5, 0 },
1, 3, MST_NO_SPELLS, CE_POISONOUS, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 8, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
},
{
MONS_JELLY, 'J', LIGHTRED, "jelly",
M_SEE_INVIS | M_SPLITS | M_ACID_SPLASH,
MR_RES_POISON | MR_RES_ASPHYX | mrd(MR_RES_ACID, 3),
0, 15, MONS_JELLY, MONS_JELLY, MH_NATURAL, -3,
{ {AT_HIT, AF_ACID, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 3, 5, 5, 0 },
0, 2, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_AMPHIBIOUS_LAND, FL_NONE, 9, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_ITEMS, SIZE_MEDIUM
},
{
MONS_SLIME_CREATURE, 'J', GREEN, "slime creature",
M_NO_FLAGS,
MR_RES_POISON | MR_RES_ASPHYX,
0, 5, MONS_JELLY, MONS_SLIME_CREATURE, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 22}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 11, 3, 5, 0 },
1, 4, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_AMPHIBIOUS_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
},
{ // not an actual monster, it's here just to allow recoloring
MONS_MERGED_SLIME_CREATURE, 'J', LIGHTGREEN, "merged slime creature",
M_NO_FLAGS,
MR_RES_POISON | MR_RES_ASPHYX,
0, 5, MONS_JELLY, MONS_SLIME_CREATURE, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 22}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 11, 3, 5, 0 },
1, 4, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_AMPHIBIOUS_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_PULSATING_LUMP, 'J', RED, "pulsating lump",
M_SENSE_INVIS,
MR_RES_POISON | MR_RES_ASPHYX,
0, 3, MONS_JELLY, MONS_PULSATING_LUMP, MH_NATURAL, -3,
{ {AT_HIT, AF_MUTATE, 13}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 10, 3, 5, 0 },
2, 6, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 5, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
},
{
MONS_GIANT_AMOEBA, 'J', BLUE, "giant amoeba",
M_NO_SKELETON | M_SENSE_INVIS,
MR_RES_POISON | MR_RES_ASPHYX,
1000, 7, MONS_JELLY, MONS_GIANT_AMOEBA, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 12, 3, 5, 0 },
0, 4, MST_NO_SPELLS, CE_POISONOUS, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_AMPHIBIOUS_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
},
{
MONS_BROWN_OOZE, 'J', BROWN, "brown ooze",
M_SENSE_INVIS | M_ACID_SPLASH,
MR_RES_POISON | MR_RES_ASPHYX | MR_RES_ACID,
0, 11, MONS_JELLY, MONS_BROWN_OOZE, MH_NATURAL, -7,
{ {AT_HIT, AF_ACID, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 7, 3, 5, 0 },
10, 1, MST_NO_SPELLS, CE_POISONOUS, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_ITEMS, SIZE_LITTLE
},
{
MONS_AZURE_JELLY, 'J', LIGHTBLUE, "azure jelly",
M_SENSE_INVIS,
MR_RES_POISON | MR_RES_ASPHYX | MR_RES_COLD | MR_VUL_FIRE | MR_RES_ELEC
| MR_RES_ACID,
0, 11, MONS_JELLY, MONS_AZURE_JELLY, MH_NATURAL, -4,
{ {AT_HIT, AF_COLD, 12}, {AT_HIT, AF_COLD, 12}, {AT_HIT, AF_PLAIN, 12},
{AT_HIT, AF_PLAIN, 12} },
{ 15, 3, 5, 0 },
5, 10, MST_NO_SPELLS, CE_POISONOUS, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_ITEMS, SIZE_LITTLE
},
{
MONS_DEATH_OOZE, 'J', MAGENTA, "death ooze",
M_SENSE_INVIS,
MR_RES_POISON | MR_RES_COLD | MR_RES_ACID,
0, 13, MONS_JELLY, MONS_DEATH_OOZE, MH_UNDEAD, -8,
{ {AT_HIT, AF_ROT, 32}, {AT_HIT, AF_PLAIN, 32}, AT_NO_ATK, AT_NO_ATK },
{ 11, 3, 3, 0 },
2, 4, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_ITEMS, SIZE_LITTLE
},
{
MONS_ACID_BLOB, 'J', LIGHTCYAN, "acid blob",
M_SENSE_INVIS | M_SPECIAL_ABILITY | M_ACID_SPLASH,
MR_RES_POISON | MR_RES_ASPHYX | MR_RES_ACID,
0, 12, MONS_JELLY, MONS_ACID_BLOB, MH_NATURAL, -7,
{ {AT_HIT, AF_ACID, 42}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 18, 3, 5, 0 },
1, 3, MST_NO_SPELLS, CE_POISONOUS, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 14, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_ITEMS, SIZE_LITTLE
},
// kobolds ('K')
{
MONS_KOBOLD, 'K', BROWN, "kobold",
M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
400, 10, MONS_KOBOLD, MONS_KOBOLD, MH_NATURAL, -1,
{ {AT_HIT, AF_PLAIN, 4}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 1, 2, 3, 0 },
2, 12, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_BIG_KOBOLD, 'K', YELLOW, "big kobold",
M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
500, 10, MONS_KOBOLD, MONS_BIG_KOBOLD, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 5, 3, 5, 0 },
3, 12, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_KOBOLD_DEMONOLOGIST, 'K', MAGENTA, "kobold demonologist",
M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
400, 10, MONS_KOBOLD, MONS_KOBOLD, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 4}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 4, 3, 5, 0 },
2, 13, MST_KOBOLD_DEMONOLOGIST, CE_POISONOUS, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_SMALL
},
// liches ('L')
{
MONS_LICH, 'L', LIGHTGREY, "lich",
M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_SPEAKS,
MR_RES_POISON | mrd(MR_RES_COLD, 2) | MR_RES_ELEC,
0, 16, MONS_LICH, MONS_LICH, MH_UNDEAD, -11,
{ {AT_TOUCH, AF_DRAIN_XP, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 20, 2, 4, 0 },
10, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_ANCIENT_LICH, 'L', WHITE, "ancient lich",
M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_SPEAKS,
MR_RES_POISON | mrd(MR_RES_COLD, 2) | MR_RES_FIRE | MR_RES_ELEC,
0, 20, MONS_LICH, MONS_LICH, MH_UNDEAD, -14,
{ {AT_TOUCH, AF_DRAIN_XP, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 27, 2, 4, 0 },
20, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
// mummies ('M')
{
MONS_MUMMY, 'M', LIGHTGREY, "mummy",
M_NO_FLAGS,
MR_RES_POISON | MR_VUL_FIRE | MR_RES_COLD,
0, 21, MONS_MUMMY, MONS_MUMMY, MH_UNDEAD, -5,
{ {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 3, 5, 3, 0 },
3, 6, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_ANIMAL, HT_LAND, FL_NONE, 6, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_GUARDIAN_MUMMY, 'M', YELLOW, "guardian mummy",
M_FIGHTER | M_SEE_INVIS,
MR_RES_POISON | MR_RES_COLD,
0, 13, MONS_MUMMY, MONS_GUARDIAN_MUMMY, MH_UNDEAD, -5,
{ {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 7, 5, 3, 0 },
6, 9, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_NORMAL, HT_LAND, FL_NONE, 9, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_GREATER_MUMMY, 'M', WHITE, "greater mummy",
M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_SPEAKS,
MR_RES_POISON | MR_RES_COLD | MR_RES_ELEC,
0, 20, MONS_MUMMY, MONS_MUMMY, MH_UNDEAD, MAG_IMMUNE,
{ {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 15, 5, 3, 100 },
10, 6, MST_MUMMY, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_MUMMY_PRIEST, 'M', RED, "mummy priest",
M_SPELLCASTER | M_PRIEST | M_SEE_INVIS | M_SPEAKS,
MR_RES_POISON | MR_RES_COLD | MR_RES_ELEC,
0, 16, MONS_MUMMY, MONS_MUMMY, MH_UNDEAD, MAG_IMMUNE,
{ {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 10, 5, 3, 0 },
8, 7, MST_MUMMY, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_HIGH, HT_LAND, FL_NONE, 9, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
// nagas ('N')
{
MONS_NAGA, 'N', GREEN, "naga",
M_SPELLCASTER | M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS,
MR_RES_POISON,
750, 10, MONS_NAGA, MONS_NAGA, MH_NATURAL, -6,
{ {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 5, 3, 5, 0 },
6, 10, MST_NAGA, CE_POISONOUS, Z_BIG, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 8, ACTION_ENERGY(8),
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_GUARDIAN_SERPENT, 'N', LIGHTGREEN, "guardian serpent",
M_SPELLCASTER | M_SEE_INVIS | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
MR_RES_POISON,
350, 10, MONS_GUARDIAN_SERPENT, MONS_GUARDIAN_SERPENT, MH_NATURAL, -6,
{ {AT_HIT, AF_PLAIN, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 8, 3, 5, 0 },
6, 14, MST_GUARDIAN_SERPENT, CE_MUTAGEN_RANDOM, Z_BIG, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_NAGA_MAGE, 'N', RED, "naga mage",
M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS,
MR_RES_POISON,
750, 13, MONS_NAGA, MONS_NAGA, MH_NATURAL, -6,
{ {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 7, 3, 5, 0 },
6, 10, MST_NAGA_MAGE, CE_POISONOUS, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 8, ACTION_ENERGY(8),
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_NAGA_WARRIOR, 'N', BLUE, "naga warrior",
M_FIGHTER | M_SPELLCASTER | M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS,
MR_RES_POISON,
750, 8, MONS_NAGA, MONS_NAGA, MH_NATURAL, -6,
{ {AT_HIT, AF_PLAIN, 28}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 10, 9, 2, 0 },
6, 10, MST_NAGA, CE_POISONOUS, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 8, ACTION_ENERGY(8),
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_GREATER_NAGA, 'N', LIGHTRED, "greater naga",
M_FIGHTER | M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_WARM_BLOOD
| M_SPEAKS,
MR_RES_POISON,
750, 10, MONS_NAGA, MONS_NAGA, MH_NATURAL, MAG_IMMUNE,
{ {AT_HIT, AF_PLAIN, 27}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 15, 3, 5, 0 },
6, 10, MST_NAGA_MAGE, CE_POISONOUS, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 8, ACTION_ENERGY(8),
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
},
// ogres ('O')
{
MONS_OGRE, 'O', BROWN, "ogre",
M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
1300, 9, MONS_OGRE, MONS_OGRE, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 5, 3, 5, 0 },
1, 6, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_LARGE
},
// These guys get understated because the experience code can't see
// that they wield two weapons... I'm raising their xp modifier. - bwr
{
MONS_TWO_HEADED_OGRE, 'O', LIGHTRED, "two-headed ogre",
M_WARM_BLOOD | M_TWOWEAPON | M_SPEAKS,
MR_NO_FLAGS,
1500, 15, MONS_OGRE, MONS_TWO_HEADED_OGRE, MH_NATURAL, -4,
{ {AT_HIT, AF_PLAIN, 17}, {AT_HIT, AF_PLAIN, 13}, AT_NO_ATK, AT_NO_ATK },
{ 6, 3, 5, 0 },
1, 4, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SHOUT2,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_OGRE_MAGE, 'O', MAGENTA, "ogre mage",
M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
1300, 16, MONS_OGRE, MONS_OGRE, MH_NATURAL, -6,
{ {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 10, 3, 5, 0 },
1, 7, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
},
// plants ('P')
{
MONS_PLANT, 'P', GREEN, "plant",
M_NO_EXP_GAIN | M_STATIONARY,
MR_RES_POISON,
0, 10, MONS_PLANT, MONS_PLANT, MH_PLANT, MAG_IMMUNE,
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 10, 3, 5, 0 },
10, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 0, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_OKLOB_PLANT, 'P', LIGHTGREEN, "oklob plant",
M_SPECIAL_ABILITY | M_STATIONARY,
MR_RES_POISON | MR_RES_ACID,
0, 10, MONS_PLANT, MONS_OKLOB_PLANT, MH_PLANT, -3,
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 10, 3, 5, 0 },
10, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_BUSH, 'P', BROWN, "bush",
M_NO_EXP_GAIN | M_STATIONARY,
MR_RES_POISON | MR_VUL_FIRE,
0, 10, MONS_PLANT, MONS_BUSH, MH_PLANT, MAG_IMMUNE,
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 20, 3, 5, 0 },
30, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 0, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
},
// rakshasas ('R')
{
MONS_RAKSHASA, 'R', YELLOW, "rakshasa",
M_SPELLCASTER | M_SEE_INVIS,
MR_RES_POISON,
0, 15, MONS_RAKSHASA, MONS_RAKSHASA, MH_DEMONIC, -10,
{ {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 10, 3, 5, 0 },
10, 14, MST_RAKSHASA, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
// fake R - conjured by the R's illusion spell.
{
MONS_RAKSHASA_FAKE, 'R', YELLOW, "rakshasa",
M_NO_FLAGS,
MR_RES_POISON,
0, 10, MONS_RAKSHASA_FAKE, MONS_RAKSHASA_FAKE, MH_DEMONIC, MAG_IMMUNE,
{ {AT_HIT, AF_PLAIN, 0}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 1, 0, 0, 1 },
0, 30, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_ROAR,
I_PLANT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
},
// snakes ('S')
{
MONS_SMALL_SNAKE, 'S', GREEN, "small snake",
M_COLD_BLOOD,
MR_NO_FLAGS,
100, 13, MONS_SNAKE, MONS_SMALL_SNAKE, MH_NATURAL, -1,
{ {AT_BITE, AF_POISON, 2}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 1, 2, 3, 0 },
0, 11, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
I_INSECT, HT_AMPHIBIOUS_LAND, FL_NONE, 12, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
},
{
MONS_SNAKE, 'S', LIGHTGREEN, "snake",
M_COLD_BLOOD,
MR_NO_FLAGS,
200, 10, MONS_SNAKE, MONS_SNAKE, MH_NATURAL, -3,
{ {AT_BITE, AF_POISON, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 2, 3, 5, 0 },
1, 15, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
I_INSECT, HT_AMPHIBIOUS_LAND, FL_NONE, 13, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_WATER_MOCCASIN, 'S', BROWN, "water moccasin",
M_COLD_BLOOD,
MR_RES_POISON,
300, 10, MONS_SNAKE, MONS_WATER_MOCCASIN, MH_NATURAL, -3,
{ {AT_BITE, AF_POISON_MEDIUM, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 4, 3, 5, 0 },
2, 15, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_HISS,
I_INSECT, HT_AMPHIBIOUS_LAND, FL_NONE, 14, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_BLACK_MAMBA, 'S', BLUE, "black mamba",
M_COLD_BLOOD,
MR_RES_POISON,
500, 12, MONS_SNAKE, MONS_BLACK_MAMBA, MH_NATURAL, -3,
{ {AT_BITE, AF_POISON_MEDIUM, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 7, 3, 5, 0 },
4, 15, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_HISS,
I_INSECT, HT_LAND, FL_NONE, 18, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_VIPER, 'S', YELLOW, "viper",
M_COLD_BLOOD,
MR_RES_POISON,
400, 10, MONS_SNAKE, MONS_VIPER, MH_NATURAL, -3,
{ {AT_BITE, AF_POISON_MEDIUM, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 3, 5, 0 },
4, 14, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_HISS,
I_INSECT, HT_LAND, FL_NONE, 13, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_SEA_SNAKE, 'S', LIGHTCYAN, "sea snake",
M_COLD_BLOOD,
MR_NO_FLAGS,
400, 10, MONS_SNAKE, MONS_SEA_SNAKE, MH_NATURAL, -3,
{ {AT_BITE, AF_POISON_STRONG, 24}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 10, 4, 5, 0 },
2, 15, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_HISS,
I_INSECT, HT_AMPHIBIOUS_WATER, FL_NONE, 12, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_ANACONDA, 'S', LIGHTGREY, "anaconda",
M_COLD_BLOOD,
MR_NO_FLAGS,
600, 10, MONS_SNAKE, MONS_ANACONDA, MH_NATURAL, -3,
{ {AT_CONSTRICT, AF_CRUSH, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 11, 3, 5, 0 },
4, 16, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_HISS,
I_INSECT, HT_LAND, FL_NONE, 18, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
},
// trolls ('T')
{
MONS_TROLL, 'T', BROWN, "troll",
M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
1500, 10, MONS_TROLL, MONS_TROLL, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 15},
{AT_CLAW, AF_PLAIN, 15}, AT_NO_ATK },
{ 7, 3, 5, 0 },
3, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_ROCK_TROLL, 'T', LIGHTGREY, "rock troll",
M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
2200, 11, MONS_TROLL, MONS_ROCK_TROLL, MH_NATURAL, -4,
{ {AT_BITE, AF_PLAIN, 30}, {AT_CLAW, AF_PLAIN, 20},
{AT_CLAW, AF_PLAIN, 20}, AT_NO_ATK },
{ 11, 3, 5, 0 },
13, 6, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 8, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_IRON_TROLL, 'T', CYAN, "iron troll",
M_WARM_BLOOD | M_SPEAKS,
MR_RES_FIRE | MR_RES_COLD,
2400, 10, MONS_TROLL, MONS_IRON_TROLL, MH_NATURAL, -5,
{ {AT_BITE, AF_PLAIN, 35}, {AT_CLAW, AF_PLAIN, 25},
{AT_CLAW, AF_PLAIN, 25}, AT_NO_ATK },
{ 16, 3, 5, 0 },
20, 4, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 7, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_DEEP_TROLL, 'T', YELLOW, "deep troll",
M_WARM_BLOOD | M_SENSE_INVIS | M_SPEAKS,
MR_NO_FLAGS,
1500, 12, MONS_TROLL, MONS_DEEP_TROLL, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 27}, {AT_CLAW, AF_PLAIN, 20},
{AT_CLAW, AF_PLAIN, 20}, AT_NO_ATK },
{ 10, 3, 5, 0 },
6, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
// bears ('U')
{
MONS_BEAR, 'U', BROWN, "bear",
M_WARM_BLOOD | M_SPELLCASTER,
MR_NO_FLAGS,
2000, 10, MONS_BEAR, MONS_BEAR, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 10}, {AT_CLAW, AF_PLAIN, 6}, {AT_CLAW, AF_PLAIN, 6},
AT_NO_ATK },
{ 7, 3, 3, 0 },
4, 4, MST_BERSERK_ESCAPE, CE_CLEAN, Z_BIG, S_GROWL,
I_ANIMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_GRIZZLY_BEAR, 'U', LIGHTGREY, "grizzly bear",
M_WARM_BLOOD | M_SPELLCASTER,
MR_NO_FLAGS,
2500, 10, MONS_BEAR, MONS_GRIZZLY_BEAR, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 12}, {AT_CLAW, AF_PLAIN, 8}, {AT_CLAW, AF_PLAIN, 8},
AT_NO_ATK },
{ 7, 4, 4, 0 },
5, 8, MST_BERSERK_ESCAPE, CE_CLEAN, Z_BIG, S_GROWL,
I_ANIMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_POLAR_BEAR, 'U', WHITE, "polar bear",
M_WARM_BLOOD | M_SPELLCASTER,
MR_RES_COLD,
2500, 10, MONS_BEAR, MONS_POLAR_BEAR, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 5}, {AT_CLAW, AF_PLAIN, 5},
AT_NO_ATK },
{ 7, 5, 3, 0 },
7, 8, MST_BERSERK_ESCAPE, CE_CLEAN, Z_BIG, S_GROWL,
I_ANIMAL, HT_AMPHIBIOUS_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
},
{
MONS_BLACK_BEAR, 'U', BLUE, "black bear",
M_WARM_BLOOD | M_SPELLCASTER,
MR_NO_FLAGS,
1800, 10, MONS_BEAR, MONS_BLACK_BEAR, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 4}, {AT_CLAW, AF_PLAIN, 4}, {AT_CLAW, AF_PLAIN, 4},
AT_NO_ATK },
{ 6, 3, 3, 0 },
2, 8, MST_BERSERK_ESCAPE, CE_CLEAN, Z_BIG, S_GROWL,
I_ANIMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
},
// vampires ('V')
{
MONS_VAMPIRE, 'V', RED, "vampire",
M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_SPEAKS | M_BLOOD_SCENT,
MR_RES_POISON | MR_RES_COLD,
0, 11, MONS_VAMPIRE, MONS_VAMPIRE, MH_UNDEAD, -6,
{ {AT_HIT, AF_PLAIN, 7}, {AT_BITE, AF_VAMPIRIC, 15}, AT_NO_ATK,
AT_NO_ATK },
{ 6, 3, 5, 0 },
10, 10, MST_VAMPIRE, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_VAMPIRE_KNIGHT, 'V', CYAN, "vampire knight",
M_FIGHTER | M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_SPEAKS
| M_BLOOD_SCENT,
MR_RES_POISON | MR_RES_COLD,
0, 13, MONS_VAMPIRE, MONS_VAMPIRE, MH_UNDEAD, -6,
{ {AT_HIT, AF_PLAIN, 33}, {AT_BITE, AF_VAMPIRIC, 15}, AT_NO_ATK,
AT_NO_ATK },
{ 11, 3, 7, 0 },
10, 10, MST_VAMPIRE_KNIGHT, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_VAMPIRE_MAGE, 'V', MAGENTA, "vampire mage",
M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_SPEAKS | M_BLOOD_SCENT,
MR_RES_POISON | MR_RES_COLD,
0, 15, MONS_VAMPIRE, MONS_VAMPIRE, MH_UNDEAD, -6,
{ {AT_HIT, AF_PLAIN, 7}, {AT_BITE, AF_VAMPIRIC, 15}, AT_NO_ATK,
AT_NO_ATK },
{ 8, 3, 4, 0 },
10, 10, MST_VAMPIRE_MAGE, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_HIGH, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
// wraiths ('W')
{
MONS_WIGHT, 'W', LIGHTGREY, "wight",
M_NO_FLAGS,
MR_RES_POISON | mrd(MR_RES_COLD, 2),
0, 10, MONS_WRAITH, MONS_WIGHT, MH_UNDEAD, -4,
{ {AT_HIT, AF_DRAIN_XP, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 3, 3, 5, 0 },
4, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_WRAITH, 'W', WHITE, "wraith",
M_SEE_INVIS | M_INSUBSTANTIAL,
MR_RES_POISON | MR_RES_COLD,
0, 11, MONS_WRAITH, MONS_WRAITH, MH_UNDEAD, -7,
{ {AT_HIT, AF_DRAIN_XP, 13}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 3, 5, 0 },
10, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_NORMAL, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_SHADOW_WRAITH, 'W', BLUE, "shadow wraith",
M_SEE_INVIS | M_INVIS | M_INSUBSTANTIAL,
MR_RES_POISON,
0, 15, MONS_WRAITH, MONS_SHADOW_WRAITH, MH_UNDEAD, -8,
{ {AT_HIT, AF_DRAIN_XP, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 10, 3, 5, 0 },
7, 7, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_MOAN,
I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_FREEZING_WRAITH, 'W', LIGHTBLUE, "freezing wraith",
M_SEE_INVIS | M_INSUBSTANTIAL,
MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 3),
0, 10, MONS_WRAITH, MONS_FREEZING_WRAITH, MH_UNDEAD, -4,
{ {AT_HIT, AF_COLD, 19}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 8, 3, 5, 0 },
12, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_NORMAL, HT_LAND, FL_LEVITATE, 8, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_SPECTRAL_WARRIOR, 'W', LIGHTGREEN, "spectral warrior",
M_SEE_INVIS | M_GLOWS | M_INSUBSTANTIAL,
MR_RES_POISON | MR_RES_COLD,
0, 13, MONS_WRAITH, MONS_SPECTRAL_WARRIOR, MH_UNDEAD, -6,
{ {AT_HIT, AF_DRAIN_XP, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 9, 3, 5, 0 },
12, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
// spectral thing - similar to zombies/skeletons
{
MONS_SPECTRAL_THING, 'W', GREEN, "spectral thing",
M_SEE_INVIS | M_GLOWS | M_INSUBSTANTIAL,
MR_RES_POISON | MR_RES_COLD,
0, 11, MONS_WRAITH, MONS_SPECTRAL_THING, MH_UNDEAD, MAG_IMMUNE,
{ {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 8, 3, 5, 0 },
8, 5, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_LEVITATE, 7, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
},
// large abominations ('X')
{
MONS_ABOMINATION_LARGE, 'X', BLACK, "large abomination",
M_NO_FLAGS,
MR_RES_POISON,
0, 10, MONS_ABOMINATION_SMALL, MONS_ABOMINATION_LARGE, MH_DEMONIC, -7,
{ {AT_HIT, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 11, 2, 5, 0 },
0, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
},
{
MONS_TENTACLED_MONSTROSITY, 'X', GREEN, "tentacled monstrosity",
M_SEE_INVIS,
MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
0, 10, MONS_TENTACLED_MONSTROSITY, MONS_TENTACLED_MONSTROSITY, MH_DEMONIC, -5,
{ {AT_TENTACLE_SLAP, AF_PLAIN, 22}, {AT_TENTACLE_SLAP, AF_PLAIN, 17},
{AT_TENTACLE_SLAP, AF_PLAIN, 13}, AT_NO_ATK },
{ 25, 3, 5, 0 },
5, 5, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_NORMAL, HT_AMPHIBIOUS_LAND, FL_NONE, 9, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_GIANT
},
{
MONS_ORB_GUARDIAN, 'X', MAGENTA, "Orb Guardian",
M_FIGHTER | M_SEE_INVIS,
MR_NO_FLAGS,
0, 20, MONS_ORB_GUARDIAN, MONS_ORB_GUARDIAN, MH_NATURAL, -6,
{ {AT_HIT, AF_PLAIN, 45}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 15, 3, 5, 0 },
13, 13, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_NORMAL, HT_LAND, FL_NONE, 14, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_GIANT
},
// yaks and sheep ('Y')
{
MONS_SHEEP, 'Y', LIGHTGREY, "sheep",
M_WARM_BLOOD,
MR_NO_FLAGS,
1200, 10, MONS_SHEEP, MONS_SHEEP, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 13}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 3, 3, 5, 0 },
2, 7, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_BELLOW,
I_ANIMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_YAK, 'Y', BROWN, "yak",
M_WARM_BLOOD,
MR_NO_FLAGS,
1200, 10, MONS_YAK, MONS_YAK, MH_NATURAL, -3,
{ {AT_GORE, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 7, 3, 5, 0 },
4, 7, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_BELLOW,
I_ANIMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
},
{
MONS_DEATH_YAK, 'Y', YELLOW, "death yak",
M_WARM_BLOOD,
MR_NO_FLAGS,
1500, 10, MONS_YAK, MONS_DEATH_YAK, MH_NATURAL, -5,
{ {AT_GORE, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 14, 3, 5, 0 },
9, 5, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_BELLOW,
I_ANIMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
},
// large zombies, etc. ('Z')
// zombie, skeleton and simulacra species depend on corpse species,
// or else are chosen randomly
{
MONS_ZOMBIE_LARGE, 'Z', BROWN, "large zombie",
M_NO_REGEN,
MR_RES_POISON | mrd(MR_RES_COLD, 2),
0, 6, MONS_ZOMBIE_SMALL, MONS_ZOMBIE_LARGE, MH_UNDEAD, -1,
{ {AT_HIT, AF_PLAIN, 23}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 3, 5, 0 },
8, 5, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 5, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_SKELETON_LARGE, 'Z', LIGHTGREY, "large skeleton",
M_NO_REGEN,
MR_RES_POISON | mrd(MR_RES_COLD, 2),
0, 10, MONS_SKELETON_SMALL, MONS_SKELETON_LARGE, MH_UNDEAD, -1,
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 0, 0, 0, 0 },
0, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 5, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_SIMULACRUM_LARGE, 'Z', ETC_ICE, "large simulacrum",
M_NO_REGEN,
MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 3),
0, 6, MONS_SIMULACRUM_SMALL, MONS_SIMULACRUM_LARGE, MH_UNDEAD, -1,
{ {AT_HIT, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 5, 3, 5, 0 },
10, 5, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 7, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
},
// water monsters
{
MONS_BIG_FISH, ';', LIGHTGREEN, "big fish",
M_COLD_BLOOD,
MR_NO_FLAGS,
300, 7, MONS_BIG_FISH, MONS_BIG_FISH, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 4, 3, 5, 0 },
1, 12, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
I_ANIMAL, HT_WATER, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_GIANT_GOLDFISH, ';', LIGHTRED, "giant goldfish",
M_COLD_BLOOD,
MR_NO_FLAGS,
500, 5, MONS_BIG_FISH, MONS_GIANT_GOLDFISH, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 7, 3, 5, 0 },
5, 7, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
I_ANIMAL, HT_WATER, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
},
{
MONS_ELECTRIC_EEL, ';', LIGHTBLUE, "electric eel",
M_COLD_BLOOD | M_SPECIAL_ABILITY,
MR_RES_ELEC,
700, 19, MONS_ELECTRIC_EEL, MONS_ELECTRIC_EEL, MH_NATURAL, -3,
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 3, 3, 5, 0 },
1, 15, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
I_ANIMAL, HT_WATER, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_JELLYFISH, 'J', CYAN, "jellyfish",
M_NO_SKELETON,
MR_RES_POISON,
1000, 10, MONS_JELLYFISH, MONS_JELLYFISH, MH_NATURAL, -3,
{ {AT_STING, AF_POISON_STR, 1}, {AT_HIT, AF_PLAIN, 1}, AT_NO_ATK,
AT_NO_ATK },
{ 4, 3, 5, 0 },
0, 5, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
I_PLANT, HT_WATER, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
},
// A shark goes into a battle frenzy when it smells blood.
// Technically they have skeletons, but Crawl needs skeletons made
// of bone or similar materials (e.g. chitin)
{
MONS_SHARK, ';', WHITE, "shark",
M_NO_SKELETON | M_COLD_BLOOD | M_BLOOD_SCENT,
MR_NO_FLAGS,
2000, 10, MONS_SHARK, MONS_SHARK, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 15}, {AT_BITE, AF_PLAIN, 8}, AT_NO_ATK, AT_NO_ATK },
{ 7, 3, 5, 0 },
9, 5, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SILENT,
I_ANIMAL, HT_WATER, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
},
// A kraken and its tentacles get a random colour from ETC_KRAKEN.
{
MONS_KRAKEN, 'X', BLACK, "kraken",
M_NO_SKELETON | M_COLD_BLOOD | M_SPELLCASTER,
MR_NO_FLAGS,
3500, 5, MONS_KRAKEN, MONS_KRAKEN, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 50}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 16, 10, 6, 0 },
20, 0, MST_KRAKEN, CE_POISONOUS, Z_BIG, S_SILENT,
I_ANIMAL, HT_WATER, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
},
{
MONS_KRAKEN_TENTACLE, 'w', BLACK, "tentacle",
M_COLD_BLOOD | M_NO_EXP_GAIN,
MR_RES_ASPHYX,
0, 10, MONS_KRAKEN_TENTACLE, MONS_KRAKEN_TENTACLE, MH_NATURAL, MAG_IMMUNE,
{ {AT_TENTACLE_SLAP, AF_PLAIN, 29}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 12, 3, 2, 0 },
5, 7, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_ANIMAL, HT_AMPHIBIOUS_WATER, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
},
// lava monsters
{
MONS_LAVA_WORM, 'w', RED, "lava worm",
M_NO_FLAGS,
mrd(MR_RES_FIRE, 3) | MR_VUL_COLD,
0, 6, MONS_LAVA_WORM, MONS_LAVA_WORM, MH_NATURAL, -3,
{ {AT_BITE, AF_FIRE, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 3, 5, 0 },
1, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_SMALL, S_SILENT,
I_PLANT, HT_LAVA, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_LAVA_FISH, ';', RED, "lava fish",
M_WARM_BLOOD,
mrd(MR_RES_FIRE, 3) | MR_VUL_COLD,
0, 10, MONS_BIG_FISH, MONS_LAVA_FISH, MH_NATURAL, -3,
{ {AT_BITE, AF_FIRE, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 4, 3, 5, 0 },
4, 15, MST_NO_SPELLS, CE_NOCORPSE, Z_SMALL, S_SILENT,
I_ANIMAL, HT_LAVA, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
},
{
MONS_LAVA_SNAKE, 'S', RED, "lava snake",
M_WARM_BLOOD | M_SPECIAL_ABILITY,
mrd(MR_RES_FIRE, 3) | MR_VUL_COLD,
0, 17, MONS_SNAKE, MONS_LAVA_SNAKE, MH_NATURAL, -3,
{ {AT_BITE, AF_FIRE, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 3, 3, 5, 0 },
2, 17, MST_NO_SPELLS, CE_NOCORPSE, Z_SMALL, S_HISS,
I_ANIMAL, HT_LAVA, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
},
{ // mv: was another lava thing
MONS_SALAMANDER, 'S', LIGHTRED, "salamander",
M_FIGHTER | M_WARM_BLOOD,
mrd(MR_RES_FIRE, 3) | MR_VUL_COLD,
0, 10, MONS_SALAMANDER, MONS_SALAMANDER, MH_NATURAL, -3,
{ {AT_HIT, AF_FIRE, 23}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 14, 3, 5, 0 },
5, 5, MST_NO_SPELLS, CE_NOCORPSE, Z_SMALL, S_SILENT,
I_HIGH, HT_LAVA, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
// monsters moving through rock
{
MONS_ROCK_WORM, 'w', BROWN, "rock worm",
M_NO_FLAGS,
MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
450, 10, MONS_WORM, MONS_ROCK_WORM, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 22}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 5, 5, 5, 0 },
3, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_ROCK, FL_NONE, 12, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
},
// humans ('@')
// this is a dummy monster, used for corpses
// mv:but it can be generated by polymorph spells and because IMO it's
// logical polymorph target so complete monster statistics should exist.
{
MONS_HUMAN, '@', LIGHTGREY, "human",
M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
550, 10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 5, 3, 5, 0 },
2, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_SLAVE, '@', WHITE, "slave",
M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
550, 10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 5, 3, 5, 0 },
2, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_HELL_KNIGHT, '@', RED, "hell knight",
M_FIGHTER | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
MR_RES_HELLFIRE,
550, 10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 13}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 10, 3, 6, 0 },
0, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_NECROMANCER, '@', WHITE, "necromancer",
M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
550, 10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -4,
{ {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 10, 2, 4, 0 },
0, 13, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_WIZARD, '@', MAGENTA, "wizard",
M_SPELLCASTER | M_SPEAKS | M_ACTUAL_SPELLS | M_WARM_BLOOD,
MR_NO_FLAGS,
550, 10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -4,
{ {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 10, 2, 4, 0 },
0, 13, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_VAULT_GUARD, '@', CYAN, "vault guard",
M_FIGHTER | M_WARM_BLOOD | M_SENSE_INVIS | M_SPEAKS,
MR_NO_FLAGS,
0, 12, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 13, 3, 5, 0 },
1, 13, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_SHAPESHIFTER, '@', LIGHTRED, "shapeshifter",
M_NO_SKELETON,
MR_NO_FLAGS,
600, 10, MONS_SHAPESHIFTER, MONS_SHAPESHIFTER, MH_NATURAL, -6,
{ {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 7, 3, 5, 0 },
0, 10, MST_NO_SPELLS, CE_MUTAGEN_RANDOM, Z_NOZOMBIE, S_SILENT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_GLOWING_SHAPESHIFTER, '@', RED, "glowing shapeshifter",
M_NO_SKELETON | M_GLOWS,
MR_NO_FLAGS,
600, 10, MONS_SHAPESHIFTER, MONS_GLOWING_SHAPESHIFTER, MH_NATURAL, -6,
{ {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 10, 3, 5, 0 },
0, 10, MST_NO_SPELLS, CE_MUTAGEN_RANDOM, Z_NOZOMBIE, S_SILENT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_KILLER_KLOWN, '@', BLACK, "Killer Klown",
M_SEE_INVIS | M_SPEAKS | M_WARM_BLOOD | M_SPECIAL_ABILITY,
MR_NO_FLAGS,
0, 15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -6,
{ {AT_HIT, AF_KLOWN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 20, 5, 5, 0 },
10, 15, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
{ // another dummy monster. This one is not a valid polymorph target.
MONS_DWARF, '@', BROWN, "dwarf",
M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
550, 10, MONS_DWARF, MONS_DWARF, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 5, 3, 5, 0 },
2, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
// mimics
{
// Gold mimics are the only mimics that actually use their name. - bwr
MONS_GOLD_MIMIC, '$', YELLOW, "pile of gold coins",
M_STATIONARY,
MR_RES_POISON | MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD,
0, 13, MONS_GOLD_MIMIC, MONS_GOLD_MIMIC, MH_NONLIVING, -3,
{ {AT_HIT, AF_POISON, 12}, {AT_HIT, AF_PLAIN, 12}, {AT_HIT, AF_PLAIN, 12},
AT_NO_ATK },
{ 8, 3, 5, 0 },
5, 1, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
{
MONS_WEAPON_MIMIC, ')', BLACK, "mimic",
M_STATIONARY,
MR_RES_POISON | MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD,
0, 13, MONS_GOLD_MIMIC, MONS_GOLD_MIMIC, MH_NONLIVING, -3,
{ {AT_HIT, AF_POISON, 17}, {AT_HIT, AF_PLAIN, 17}, {AT_HIT, AF_PLAIN, 17},
AT_NO_ATK },
{ 8, 3, 5, 0 },
5, 1, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
},
{
MONS_ARMOUR_MIMIC, '[', BLACK, "mimic",
M_STATIONARY,
MR_RES_POISON | MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD,
0, 13, MONS_GOLD_MIMIC, MONS_GOLD_MIMIC, MH_NONLIVING, -3,
{ {AT_HIT, AF_POISON, 12}, {AT_HIT, AF_PLAIN, 12}, {AT_HIT, AF_PLAIN, 12},
AT_NO_ATK },
{ 8, 3, 5, 0 },
15, 1, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_SCROLL_MIMIC, '?', LIGHTGREY, "mimic",
M_STATIONARY,
MR_RES_POISON | MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD,
0, 13, MONS_GOLD_MIMIC, MONS_GOLD_MIMIC, MH_NONLIVING, -3,
{ {AT_HIT, AF_POISON, 12}, {AT_HIT, AF_PLAIN, 12}, {AT_HIT, AF_PLAIN, 12},
AT_NO_ATK },
{ 8, 3, 5, 0 },
5, 1, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
{
MONS_POTION_MIMIC, '!', BLACK, "mimic",
M_STATIONARY,
MR_RES_POISON | MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD,
0, 13, MONS_GOLD_MIMIC, MONS_GOLD_MIMIC, MH_NONLIVING, -3,
{ {AT_HIT, AF_POISON, 12}, {AT_HIT, AF_PLAIN, 12}, {AT_HIT, AF_PLAIN, 12},
AT_NO_ATK },
{ 8, 3, 5, 0 },
5, 1, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
// dancing weapon
// These are named more explicitly when they attack, also when you use 'x'
// to examine them.
{
MONS_DANCING_WEAPON, '(', BLACK, "dancing weapon",
M_FIGHTER,
MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
0, 10, MONS_DANCING_WEAPON, MONS_DANCING_WEAPON, MH_NONLIVING, MAG_IMMUNE,
{ {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 15, 0, 0, 15 },
10, 20, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_LEVITATE, 15, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
},
// minor demons: imps, etc. ('5')
// note: these things regenerate
{
MONS_IMP, '5', RED, "imp",
M_SEE_INVIS | M_SPEAKS | M_SPECIAL_ABILITY,
MR_RES_POISON | MR_RES_HELLFIRE | MR_VUL_COLD,
0, 13, MONS_IMP, MONS_IMP, MH_DEMONIC, -9,
{ {AT_HIT, AF_PLAIN, 4}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 3, 3, 3, 0 },
3, 14, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LITTLE
},
{
MONS_QUASIT, '5', LIGHTGREY, "quasit",
M_NO_FLAGS,
MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD,
0, 10, MONS_QUASIT, MONS_QUASIT, MH_DEMONIC, 5,
{ {AT_BITE, AF_DRAIN_DEX, 3}, {AT_CLAW, AF_DRAIN_DEX, 2},
{AT_CLAW, AF_DRAIN_DEX, 2}, AT_NO_ATK },
{ 3, 2, 6, 0 },
5, 17, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_NORMAL, HT_LAND, FL_NONE, 13, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_WHITE_IMP, '5', WHITE, "white imp",
M_SPELLCASTER | M_SPEAKS,
mrd(MR_RES_COLD, 2),
0, 10, MONS_IMP, MONS_WHITE_IMP, MH_DEMONIC, -3,
{ {AT_HIT, AF_COLD, 4}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 2, 3, 5, 0 },
4, 10, MST_WHITE_IMP, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LITTLE
},
{
MONS_LEMURE, '5', YELLOW, "lemure",
M_NO_FLAGS,
MR_RES_POISON,
0, 10, MONS_LEMURE, MONS_LEMURE, MH_DEMONIC, -3,
{ {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 2, 3, 5, 0 },
1, 12, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_MOAN,
I_NORMAL, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_UFETUBUS, '5', LIGHTCYAN, "ufetubus",
M_NO_FLAGS,
MR_VUL_FIRE | MR_RES_COLD,
0, 28, MONS_UFETUBUS, MONS_UFETUBUS, MH_DEMONIC, -3,
{ {AT_HIT, AF_PLAIN, 5}, {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK },
{ 1, 4, 6, 0 },
2, 15, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_MANES, '5', LIGHTRED, "manes",
M_NO_FLAGS,
MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD | MR_RES_POISON,
0, 14, MONS_MANES, MONS_MANES, MH_DEMONIC, -3,
{ {AT_HIT, AF_PLAIN, 5}, {AT_HIT, AF_PLAIN, 3}, {AT_HIT, AF_PLAIN, 3},
AT_NO_ATK },
{ 3, 3, 5, 0 },
2, 8, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 8, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_MIDGE, '5', LIGHTGREEN, "midge",
M_NO_FLAGS,
MR_RES_POISON,
0, 10, MONS_MIDGE, MONS_MIDGE, MH_DEMONIC, -3,
{ {AT_HIT, AF_BLINK, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 2, 3, 5, 0 },
4, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_SHADOW_IMP, '5', MAGENTA, "shadow imp",
M_SPELLCASTER | M_SPEAKS,
mrd(MR_RES_COLD, 2) | MR_RES_POISON,
0, 11, MONS_IMP, MONS_SHADOW_IMP, MH_DEMONIC, -3,
{ {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 2, 3, 5, 0 },
3, 11, MST_SHADOW_IMP, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LITTLE
},
// devils etc. ('4')
{
MONS_RED_DEVIL, '4', RED, "red devil",
M_FIGHTER,
MR_RES_POISON | MR_RES_HELLFIRE | MR_VUL_COLD,
0, 10, MONS_RED_DEVIL, MONS_RED_DEVIL, MH_DEMONIC, -7,
{ {AT_HIT, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 5, 3, 5, 0 },
10, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_NORMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_ROTTING_DEVIL, '4', GREEN, "rotting devil",
M_NO_FLAGS,
MR_RES_POISON | MR_RES_COLD,
0, 10, MONS_ROTTING_DEVIL, MONS_ROTTING_DEVIL, MH_DEMONIC, -7,
{ {AT_HIT, AF_ROT, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 5, 3, 5, 0 },
2, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_HAIRY_DEVIL, '4', LIGHTRED, "hairy devil",
M_NO_FLAGS,
MR_RES_POISON,
0, 10, MONS_HAIRY_DEVIL, MONS_HAIRY_DEVIL, MH_DEMONIC, -4,
{ {AT_HIT, AF_PLAIN, 9}, {AT_HIT, AF_PLAIN, 9}, AT_NO_ATK, AT_NO_ATK },
{ 6, 3, 5, 0 },
7, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_SIXFIRHY, '4', LIGHTBLUE, "sixfirhy",
M_NO_FLAGS,
MR_NO_FLAGS, // Can't have RES_ELEC since most sources of damage do nothing
// in that case. We want to "suffer" the damage to get healed.
0, 6, MONS_SIXFIRHY, MONS_SIXFIRHY, MH_DEMONIC, -6,
{ {AT_HIT, AF_ELEC, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 3, 5, 0 },
2, 20, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_NORMAL, HT_LAND, FL_NONE, 30, MOVE_ENERGY(6), // speed is cut to 1/3 later
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LITTLE
},
{
MONS_HELLWING, '4', LIGHTGREY, "hellwing",
M_SPELLCASTER,
MR_RES_POISON,
0, 12, MONS_HELLWING, MONS_HELLWING, MH_DEMONIC, -6,
{ {AT_HIT, AF_PLAIN, 17}, {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK },
{ 7, 4, 5, 0 },
8, 10, MST_HELLWING, CE_NOCORPSE, Z_NOZOMBIE, S_MOAN,
I_NORMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
// middle demons ('3')
{
MONS_SMOKE_DEMON, '3', LIGHTGREY, "smoke demon",
M_SPELLCASTER | M_INSUBSTANTIAL,
MR_RES_POISON | mrd(MR_RES_FIRE, 2),
0, 12, MONS_SMOKE_DEMON, MONS_SMOKE_DEMON, MH_DEMONIC, -6,
{ {AT_HIT, AF_PLAIN, 8}, {AT_HIT, AF_PLAIN, 5}, {AT_HIT, AF_PLAIN, 5},
AT_NO_ATK },
{ 7, 3, 5, 0 },
5, 9, MST_SMOKE_DEMON, CE_NOCORPSE, Z_NOZOMBIE, S_ROAR,
I_NORMAL, HT_LAND, FL_FLY, 9, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_TORMENTOR, '3', YELLOW, "tormentor",
M_SPELLCASTER | M_SPEAKS,
MR_RES_POISON | MR_RES_FIRE,
0, 10, MONS_TORMENTOR, MONS_TORMENTOR, MH_DEMONIC, -6,
{ {AT_HIT, AF_PLAIN, 8}, {AT_HIT, AF_PLAIN, 8}, AT_NO_ATK, AT_NO_ATK },
{ 7, 3, 5, 0 },
12, 12, MST_TORMENTOR, CE_NOCORPSE, Z_NOZOMBIE, S_ROAR,
I_HIGH, HT_LAND, FL_FLY, 13, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_BLUE_DEVIL, '3', BLUE, "blue devil",
M_NO_FLAGS,
MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 3),
0, 10, MONS_BLUE_DEVIL, MONS_BLUE_DEVIL, MH_DEMONIC, -5,
{ {AT_HIT, AF_PLAIN, 21}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 7, 3, 5, 0 },
14, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_HIGH, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_IRON_DEVIL, '3', CYAN, "iron devil",
M_NO_FLAGS,
MR_RES_ELEC | MR_RES_POISON | MR_RES_HELLFIRE | MR_RES_COLD,
0, 10, MONS_IRON_DEVIL, MONS_IRON_DEVIL, MH_DEMONIC, -6,
{ {AT_HIT, AF_PLAIN, 14}, {AT_HIT, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK },
{ 8, 3, 5, 0 },
16, 8, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SCREECH,
I_HIGH, HT_LAND, FL_NONE, 8, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_NEQOXEC, '3', LIGHTMAGENTA, "neqoxec",
M_SPELLCASTER,
MR_RES_POISON,
0, 12, MONS_NEQOXEC, MONS_NEQOXEC, MH_DEMONIC, -6,
{ {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 3, 5, 0 },
4, 12, MST_NEQOXEC, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_ORANGE_DEMON, '3', LIGHTRED, "orange demon",
M_NO_FLAGS,
MR_NO_FLAGS,
0, 12, MONS_ORANGE_DEMON, MONS_ORANGE_DEMON, MH_DEMONIC, -6,
{ {AT_HIT, AF_PLAIN, 8}, {AT_STING, AF_POISON_STR, 10}, AT_NO_ATK,
AT_NO_ATK },
{ 8, 4, 5, 0 },
3, 7, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SCREECH,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_YNOXINUL, '3', LIGHTCYAN, "ynoxinul",
M_SPELLCASTER | M_SENSE_INVIS,
MR_RES_ELEC | MR_RES_POISON | MR_RES_COLD,
0, 12, MONS_YNOXINUL, MONS_YNOXINUL, MH_DEMONIC, -6,
{ {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 3, 5, 0 },
3, 10, MST_YNOXINUL, CE_NOCORPSE, Z_NOZOMBIE, S_BELLOW,
I_NORMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_DEMONIC_CRAWLER, '3', GREEN, "demonic crawler",
M_SEE_INVIS,
MR_RES_ELEC | MR_RES_POISON | MR_RES_COLD | MR_RES_FIRE,
0, 12, MONS_DEMONIC_CRAWLER, MONS_DEMONIC_CRAWLER, MH_DEMONIC, -6,
{ {AT_HIT, AF_PLAIN, 13}, {AT_HIT, AF_PLAIN, 13}, {AT_HIT, AF_PLAIN, 13} },
{ 9, 3, 5, 0 },
10, 6, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SCREAM,
I_NORMAL, HT_LAND, FL_NONE, 9, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_BIG
},
{
MONS_SHADOW_DEMON, '3', MAGENTA, "shadow demon",
M_SEE_INVIS | M_INVIS,
MR_RES_POISON | mrd(MR_RES_COLD, 2),
0, 12, MONS_SHADOW_DEMON, MONS_SHADOW_DEMON, MH_DEMONIC, -7,
{ {AT_HIT, AF_PLAIN, 21}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 3, 5, 0 },
7, 12, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_CROAK,
I_HIGH, HT_LAND, FL_NONE, 11, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_CHAOS_SPAWN, '3', ETC_RANDOM, "chaos spawn",
M_SEE_INVIS,
MR_NO_FLAGS,
0, 12, MONS_CHAOS_SPAWN, MONS_CHAOS_SPAWN, MH_DEMONIC, -7,
{ {AT_RANDOM, AF_CHAOS, 21}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 3, 5, 0 },
7, 12, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_RANDOM,
I_ANIMAL, HT_LAND, FL_NONE, 11, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
},
// reaper etc. ('2')
{ // with randomized stats
MONS_BEAST, '2', BROWN, "beast",
M_FIGHTER,
MR_NO_FLAGS,
0, 10, MONS_BEAST, MONS_BEAST, MH_DEMONIC, -3,
{ {AT_BITE, AF_PLAIN, 28}, {AT_CLAW, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK },
{ 7, 9, 6, 0 },
0, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_RANDOM,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_HELLION, '2', ETC_FIRE, "hellion",
M_SPELLCASTER | M_GLOWS,
MR_RES_POISON | MR_RES_HELLFIRE | MR_VUL_COLD,
0, 11, MONS_HELLION, MONS_HELLION, MH_DEMONIC, -7,
{ {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 7, 3, 5, 0 },
5, 10, MST_HELLION, CE_NOCORPSE, Z_NOZOMBIE, S_SCREAM,
I_HIGH, HT_LAND, FL_NONE, 13, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_SUN_DEMON, '2', YELLOW, "sun demon",
M_SENSE_INVIS,
MR_RES_ELEC | MR_RES_POISON | MR_VUL_COLD | MR_RES_HELLFIRE,
0, 14, MONS_SUN_DEMON, MONS_SUN_DEMON, MH_DEMONIC, -6,
{ {AT_HIT, AF_FIRE, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 10, 3, 5, 0 },
10, 12, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_LEVITATE, 12, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_REAPER, '2', LIGHTGREY, "reaper",
M_FIGHTER | M_SEE_INVIS | M_SPEAKS,
MR_RES_POISON | MR_RES_COLD,
0, 10, MONS_REAPER, MONS_REAPER, MH_DEMONIC, MAG_IMMUNE,
{ {AT_HIT, AF_PLAIN, 32}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 8, 3, 5, 0 },
15, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_SOUL_EATER, '2', MAGENTA, "soul eater",
M_SEE_INVIS,
MR_RES_POISON | MR_RES_COLD,
0, 12, MONS_SOUL_EATER, MONS_SOUL_EATER, MH_DEMONIC, -10,
{ {AT_HIT, AF_DRAIN_XP, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 11, 3, 5, 0 },
18, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_ICE_DEVIL, '2', WHITE, "ice devil",
M_NO_FLAGS,
MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 3),
0, 11, MONS_ICE_DEVIL, MONS_ICE_DEVIL, MH_DEMONIC, -6,
{ {AT_HIT, AF_COLD, 16}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 11, 3, 5, 0 },
12, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_LOROCYPROCA, '2', BLUE, "Lorocyproca",
M_SENSE_INVIS | M_INVIS,
MR_RES_POISON | MR_RES_COLD | MR_RES_FIRE | MR_RES_ELEC,
0, 12, MONS_LOROCYPROCA, MONS_LOROCYPROCA, MH_DEMONIC, -7,
{ {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK },
{ 12, 3, 5, 0 },
10, 12, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_MOAN,
I_HIGH, HT_LAND, FL_NONE, 9, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
// fiends, etc. ('1')
{
MONS_FIEND, '1', LIGHTRED, "Fiend",
M_SEE_INVIS | M_GLOWS,
MR_RES_POISON | MR_RES_HELLFIRE | MR_VUL_COLD,
0, 18, MONS_FIEND, MONS_FIEND, MH_DEMONIC, -12,
{ {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 15}, {AT_HIT, AF_PLAIN, 15},
AT_NO_ATK },
{ 18, 3, 5, 0 },
15, 6, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_ROAR,
I_HIGH, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_ICE_FIEND, '1', WHITE, "Ice Fiend",
M_SPELLCASTER | M_SEE_INVIS,
MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 3),
0, 10, MONS_FIEND, MONS_ICE_FIEND, MH_DEMONIC, -12,
{ {AT_CLAW, AF_COLD, 25}, {AT_CLAW, AF_COLD, 25}, AT_NO_ATK, AT_NO_ATK },
{ 18, 3, 5, 0 },
15, 6, MST_ICE_FIEND, CE_NOCORPSE, Z_NOZOMBIE, S_ROAR,
I_HIGH, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_SHADOW_FIEND, '1', MAGENTA, "Shadow Fiend",
M_SPELLCASTER | M_SEE_INVIS | M_GLOWS,
MR_RES_POISON | mrd(MR_RES_COLD, 2) | MR_RES_ELEC,
0, 10, MONS_FIEND, MONS_SHADOW_FIEND, MH_DEMONIC, -13,
{ {AT_HIT, AF_DRAIN_XP, 25}, {AT_HIT, AF_DRAIN_XP, 15},
{AT_HIT, AF_DRAIN_XP, 15}, AT_NO_ATK },
{ 18, 3, 5, 0 },
15, 6, MST_SHADOW_FIEND, CE_NOCORPSE, Z_NOZOMBIE, S_ROAR,
I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_PIT_FIEND, '1', BROWN, "Pit Fiend",
M_SEE_INVIS | M_SPECIAL_ABILITY | M_GLOWS,
MR_RES_POISON | MR_RES_HELLFIRE | MR_RES_COLD | MR_RES_ELEC,
0, 18, MONS_FIEND, MONS_PIT_FIEND, MH_DEMONIC, -12,
{ {AT_HIT, AF_PLAIN, 28}, {AT_HIT, AF_PLAIN, 21}, {AT_HIT, AF_PLAIN, 21},
AT_NO_ATK },
{ 19, 4, 5, 0 },
17, 5, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_ROAR,
I_HIGH, HT_LAND, FL_FLY, 8, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_EXECUTIONER, '1', LIGHTGREY, "Executioner",
M_FIGHTER | M_SPELLCASTER | M_SEE_INVIS,
MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD | MR_RES_POISON,
0, 14, MONS_EXECUTIONER, MONS_EXECUTIONER, MH_DEMONIC, -9,
{ {AT_HIT, AF_PLAIN, 30}, {AT_HIT, AF_PLAIN, 10}, {AT_HIT, AF_PLAIN, 10},
AT_NO_ATK },
{ 12, 3, 5, 0 },
10, 15, MST_EXECUTIONER, CE_NOCORPSE, Z_NOZOMBIE, S_SCREAM,
I_HIGH, HT_LAND, FL_NONE, 20, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_GREEN_DEATH, '1', GREEN, "Green Death",
M_SPELLCASTER | M_SEE_INVIS,
MR_RES_POISON,
0, 14, MONS_GREEN_DEATH, MONS_GREEN_DEATH, MH_DEMONIC, -9,
{ {AT_HIT, AF_PLAIN, 32}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 13, 3, 5, 0 },
5, 7, MST_GREEN_DEATH, CE_POISONOUS, Z_NOZOMBIE, S_ROAR,
I_HIGH, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_BLUE_DEATH, '1', BLUE, "Blue Death",
M_SPELLCASTER | M_SEE_INVIS,
MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 2) | MR_RES_ELEC,
0, 14, MONS_BLUE_DEATH, MONS_BLUE_DEATH, MH_DEMONIC, -9,
{ {AT_HIT, AF_PLAIN, 20}, {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK },
{ 12, 3, 5, 0 },
10, 10, MST_BLUE_DEATH, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_FLY, 12, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_BALRUG, '1', RED, "Balrug",
M_FIGHTER | M_SPELLCASTER | M_SEE_INVIS | M_GLOWS,
MR_RES_POISON | MR_RES_HELLFIRE | MR_VUL_COLD,
0, 14, MONS_BALRUG, MONS_BALRUG, MH_DEMONIC, -9,
{ {AT_HIT, AF_FIRE, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 14, 3, 5, 0 },
5, 12, MST_BALRUG, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_FLY, 12, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_CACODEMON, '1', YELLOW, "Cacodemon",
M_SPELLCASTER | M_SEE_INVIS,
MR_RES_POISON | MR_RES_ELEC,
0, 14, MONS_CACODEMON, MONS_CACODEMON, MH_DEMONIC, -9,
{ {AT_HIT, AF_PLAIN, 22}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 13, 3, 5, 0 },
11, 10, MST_CACODEMON, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
// non-living creatures
// golems ('8')
{
MONS_CLAY_GOLEM, '8', BROWN, "clay golem",
M_SEE_INVIS,
mrd(MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 3),
0, 10, MONS_CLAY_GOLEM, MONS_CLAY_GOLEM, MH_NONLIVING, MAG_IMMUNE,
{ {AT_HIT, AF_PLAIN, 11}, {AT_HIT, AF_PLAIN, 11}, AT_NO_ATK, AT_NO_ATK },
{ 8, 7, 3, 0 },
7, 5, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 8, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_WOOD_GOLEM, '8', YELLOW, "wood golem",
M_NO_FLAGS,
MR_RES_POISON | MR_VUL_FIRE | MR_RES_COLD | MR_RES_ELEC,
0, 10, MONS_CLAY_GOLEM, MONS_WOOD_GOLEM, MH_NONLIVING, MAG_IMMUNE,
{ {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 6, 3, 0 },
5, 6, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_STONE_GOLEM, '8', LIGHTGREY, "stone golem",
M_NO_FLAGS,
mrd(MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 3),
0, 10, MONS_CLAY_GOLEM, MONS_STONE_GOLEM, MH_NONLIVING, MAG_IMMUNE,
{ {AT_HIT, AF_PLAIN, 28}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 12, 7, 4, 0 },
12, 4, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 7, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_IRON_GOLEM, '8', CYAN, "iron golem",
M_SEE_INVIS,
mrd(MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 3),
0, 10, MONS_CLAY_GOLEM, MONS_IRON_GOLEM, MH_NONLIVING, MAG_IMMUNE,
{ {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 15, 7, 4, 0 },
15, 3, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 7, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_CRYSTAL_GOLEM, '8', GREEN, "crystal golem",
M_SEE_INVIS | M_SPEAKS,
mrd(MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 3),
0, 10, MONS_CLAY_GOLEM, MONS_CRYSTAL_GOLEM, MH_NONLIVING, MAG_IMMUNE,
{ {AT_HIT, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 13, 7, 4, 0 },
22, 3, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 7, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_TOENAIL_GOLEM, '8', RED, "toenail golem",
M_NO_FLAGS,
MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
0, 10, MONS_CLAY_GOLEM, MONS_TOENAIL_GOLEM, MH_NONLIVING, MAG_IMMUNE,
{ {AT_HIT, AF_PLAIN, 13}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 9, 5, 3, 0 },
8, 5, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 8, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_ELECTRIC_GOLEM, '8', LIGHTCYAN, "electric golem",
M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS,
mrd(MR_RES_ELEC | MR_RES_POISON, 3) | MR_RES_FIRE | MR_RES_COLD,
0, 10, MONS_CLAY_GOLEM, MONS_ELECTRIC_GOLEM, MH_NONLIVING, -8,
{ {AT_HIT, AF_ELEC, 15}, {AT_HIT, AF_ELEC, 15}, {AT_HIT, AF_PLAIN, 15},
{AT_HIT, AF_PLAIN, 15} },
{ 15, 7, 4, 0 },
5, 20, MST_ELECTRIC_GOLEM, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 20, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
// statues (also '8')
{
MONS_ICE_STATUE, '8', LIGHTBLUE, "ice statue",
M_SPELLCASTER | M_STATIONARY | M_SPEAKS,
MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 3) | MR_RES_ELEC,
0, 10, MONS_CLAY_GOLEM, MONS_ICE_STATUE, MH_NONLIVING, MAG_IMMUNE,
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 8, 0, 0, 70 },
12, 1, MST_ICE_STATUE, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_HIGH, HT_LAND, FL_NONE, 16, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_SILVER_STATUE, '8', WHITE, "silver statue",
M_SPECIAL_ABILITY | M_STATIONARY | M_SPEAKS,
mrd(MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 2),
0, 10, MONS_CLAY_GOLEM, MONS_SILVER_STATUE, MH_NONLIVING, MAG_IMMUNE,
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 0, 0, 150 },
15, 1, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_ORANGE_STATUE, '8', LIGHTRED, "orange crystal statue",
M_SPECIAL_ABILITY | M_STATIONARY | M_SPEAKS,
mrd(MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 2),
0, 10, MONS_CLAY_GOLEM, MONS_ORANGE_STATUE, MH_NONLIVING, MAG_IMMUNE,
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 10, 0, 0, 160 },
20, 1, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_HIGH, HT_LAND, FL_NONE, 6, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_STATUE, '8', LIGHTGREY, "statue",
M_STATIONARY | M_SPEAKS | M_ARCHER,
MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
0, 10, MONS_CLAY_GOLEM, MONS_STATUE, MH_NONLIVING, MAG_IMMUNE,
{ {AT_WEAP_ONLY, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 8, 0, 0, 70 },
12, 1, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_LARGE
},
// gargoyles ('9')
{
MONS_GARGOYLE, '9', LIGHTGREY, "gargoyle",
M_NO_FLAGS,
MR_RES_POISON | MR_RES_ELEC,
0, 26, MONS_GARGOYLE, MONS_GARGOYLE, MH_NONLIVING, -6,
{ {AT_BITE, AF_PLAIN, 10}, {AT_CLAW, AF_PLAIN, 6}, {AT_CLAW, AF_PLAIN, 6},
AT_NO_ATK },
{ 4, 3, 5, 0 },
18, 6, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_NORMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
// only appear in Dis castle
{
MONS_METAL_GARGOYLE, '9', CYAN, "metal gargoyle",
M_NO_FLAGS,
MR_RES_POISON | MR_RES_ELEC,
0, 18, MONS_GARGOYLE, MONS_METAL_GARGOYLE, MH_NONLIVING, -6,
{ {AT_BITE, AF_PLAIN, 19}, {AT_CLAW, AF_PLAIN, 10},
{AT_CLAW, AF_PLAIN, 10}, AT_NO_ATK },
{ 8, 3, 5, 0 },
20, 4, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_HIGH, HT_LAND, FL_FLY, 7, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
// only appear in Gehenna castle & one minivault
{
MONS_MOLTEN_GARGOYLE, '9', RED, "molten gargoyle",
M_NO_FLAGS,
MR_RES_POISON | MR_RES_ELEC | mrd(MR_RES_FIRE, 3),
0, 18, MONS_GARGOYLE, MONS_MOLTEN_GARGOYLE, MH_NONLIVING, -6,
{ {AT_BITE, AF_FIRE, 12}, {AT_CLAW, AF_PLAIN, 8}, {AT_CLAW, AF_PLAIN, 8},
AT_NO_ATK },
{ 5, 3, 5, 0 },
14, 7, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_NORMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
// major demons ('&')
// Random demon in pan - only one per level. Stats are stored in ghost struct.
{
MONS_PANDEMONIUM_DEMON, '&', BLACK, "pandemonium lord",
M_FIGHTER | M_SPELLCASTER | M_SPEAKS,
MR_RES_POISON,
0, 14, MONS_PANDEMONIUM_DEMON, MONS_PANDEMONIUM_DEMON, MH_DEMONIC, -5,
{ {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 4, 2, 3, 0 },
1, 2, MST_GHOST, CE_NOCORPSE, Z_NOZOMBIE, S_DEMON_TAUNT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
// ball lightning / orb of fire ('*')
{
MONS_BALL_LIGHTNING, '*', LIGHTCYAN, "ball lightning",
M_CONFUSED | M_SPELLCASTER | M_SPECIAL_ABILITY | M_INSUBSTANTIAL,
mrd(MR_RES_ELEC | MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD, 3),
0, 20, MONS_BALL_LIGHTNING, MONS_BALL_LIGHTNING, MH_NONLIVING, MAG_IMMUNE,
{ {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 12, 0, 0, 1 },
0, 10, MST_STORM_DRAGON, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_LEVITATE, 20, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
},
{
MONS_ORB_OF_FIRE, '*', RED, "orb of fire",
M_SPELLCASTER | M_SEE_INVIS | M_INSUBSTANTIAL | M_GLOWS,
mrd(MR_RES_FIRE | MR_RES_HELLFIRE | MR_RES_POISON, 3) | MR_RES_COLD
| MR_RES_ELEC,
0, 10, MONS_ORB_OF_FIRE, MONS_ORB_OF_FIRE, MH_NONLIVING, MAG_IMMUNE,
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 30, 0, 0, 150 },
20, 20, MST_ORB_OF_FIRE, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_NORMAL, HT_LAND, FL_LEVITATE, 20, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
},
{
MONS_ORB_OF_DESTRUCTION, '*', WHITE, "orb of destruction",
M_INSUBSTANTIAL | M_GLOWS | M_NO_EXP_GAIN,
mrd(MR_RES_FIRE | MR_RES_HELLFIRE | MR_RES_POISON | MR_RES_COLD, 3)
| MR_RES_ELEC | MR_RES_STICKY_FLAME | MR_RES_ACID,
0, 0, MONS_ORB_OF_DESTRUCTION, MONS_ORB_OF_DESTRUCTION, MH_NONLIVING, MAG_IMMUNE,
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 5, 0, 0, 50 },
0, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_LEVITATE, 30, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
},
// other symbols
{
MONS_VAPOUR, '#', LIGHTGREY, "vapour",
M_SPELLCASTER | M_SEE_INVIS | M_INVIS | M_CONFUSED | M_INSUBSTANTIAL,
mrd(MR_RES_ELEC, 3) | MR_RES_POISON,
0, 10, MONS_VAPOUR, MONS_VAPOUR, MH_NONLIVING, MAG_IMMUNE,
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 12, 2, 3, 0 },
0, 12, MST_STORM_DRAGON, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
},
{
MONS_SHADOW, ' ', BLACK, "shadow",
M_SEE_INVIS | M_INSUBSTANTIAL | M_GLOWS,
MR_RES_POISON | mrd(MR_RES_COLD, 3),
0, 10, MONS_WRAITH, MONS_SHADOW, MH_UNDEAD, -5,
{ {AT_HIT, AF_DRAIN_STR, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 3, 3, 5, 0 },
12, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_ANIMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_DEATH_COB, '%', YELLOW, "death cob",
M_SPEAKS,
MR_RES_POISON | MR_RES_COLD,
0, 10, MONS_DEATH_COB, MONS_DEATH_COB, MH_UNDEAD, -3,
{ {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 10, 4, 5, 0 },
10, 15, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_MOAN,
I_NORMAL, HT_LAND, FL_NONE, 25, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_TINY
},
// non-human uniques
{
MONS_NESSOS, 'c', MAGENTA, "Nessos",
M_UNIQUE | M_WARM_BLOOD | M_SPELLCASTER | M_ACTUAL_SPELLS | M_SPEAKS,
MR_NO_FLAGS,
1500, 12, MONS_CENTAUR, MONS_CENTAUR, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 16}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 9, 0, 0, 72 },
4, 8, MST_NESSOS, CE_CLEAN, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_POLYPHEMUS, 'C', GREEN, "Polyphemus",
M_UNIQUE | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
2500, 10, MONS_HILL_GIANT, MONS_CYCLOPS, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 35}, {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK },
{ 12, 0, 0, 105 },
7, 3, MST_NO_SPELLS, CE_CLEAN, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 8, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_GIANT
},
// Antaeus is now demonic so that he'll resist torment. - bwr
{
MONS_ANTAEUS, 'C', LIGHTCYAN, "Antaeus",
M_UNIQUE | M_FIGHTER | M_SPELLCASTER | M_SPEAKS,
MR_RES_ELEC | MR_VUL_FIRE | mrd(MR_RES_COLD, 2),
0, 15, MONS_HILL_GIANT, MONS_ANTAEUS, MH_DEMONIC, -9,
{ {AT_HIT, AF_COLD, 75}, {AT_HIT, AF_COLD, 30}, AT_NO_ATK, AT_NO_ATK },
{ 22, 0, 0, 700 },
28, 4, MST_ANTAEUS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_AMPHIBIOUS_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_GIANT
},
{
MONS_TIAMAT, 'd', MAGENTA, "Tiamat",
M_UNIQUE | M_SEE_INVIS | M_COLD_BLOOD | M_SPEAKS,
MR_RES_POISON,
900, 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 65}, {AT_TAIL_SLAP, AF_PLAIN, 45},
AT_NO_ATK, AT_NO_ATK },
{ 22, 0, 0, 380 },
25, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_ROAR,
I_HIGH, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_XTAHUA, 'D', RED, "Xtahua",
M_UNIQUE | M_SEE_INVIS | M_SPECIAL_ABILITY | M_WARM_BLOOD
| M_SPEAKS,
MR_RES_POISON | mrd(MR_RES_FIRE, 2) | MR_VUL_COLD,
2200, 18, MONS_DRAGON, MONS_DRAGON, MH_NATURAL, -7,
{ {AT_BITE, AF_PLAIN, 35}, {AT_CLAW, AF_PLAIN, 20},
{AT_CLAW, AF_PLAIN, 17}, AT_NO_ATK },
{ 19, 0, 0, 133 },
15, 7, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_ROAR,
I_NORMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_HUGE
},
{
MONS_LERNAEAN_HYDRA, 'D', YELLOW, "the Lernaean hydra",
M_UNIQUE | M_COLD_BLOOD,
MR_RES_POISON,
1800, 11, MONS_HYDRA, MONS_HYDRA, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 30, 0, 0, 150 },
0, 5, MST_NO_SPELLS, CE_POISONOUS, Z_NOZOMBIE, S_ROAR,
I_INSECT, HT_AMPHIBIOUS_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
},
{
MONS_AZRAEL, 'E', LIGHTRED, "Azrael",
M_UNIQUE | M_SPELLCASTER | M_GLOWS | M_SPEAKS,
MR_RES_POISON | mrd(MR_RES_FIRE, 3) | MR_VUL_COLD,
0, 12, MONS_EFREET, MONS_EFREET, MH_DEMONIC, -3,
{ {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 11, 0, 0, 88 },
10, 5, MST_DRAC_SCORCHER, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_DUVESSA, 'e', BLUE, "Duvessa",
M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
{ {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 4, 0, 0, 35 },
2, 9, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_DOWAN, 'e', RED, "Dowan",
M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
{ {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 3, 0, 0, 25 },
0, 13, MST_DOWAN, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_PRINCE_RIBBIT, 'F', LIGHTCYAN, "Prince Ribbit",
M_UNIQUE | M_COLD_BLOOD | M_SPELLCASTER | M_ACTUAL_SPELLS | M_SPEAKS,
MR_NO_FLAGS,
800, 12, MONS_BLINK_FROG, MONS_HUMAN, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 0, 0, 40 },
3, 12, MST_PRINCE_RIBBIT, CE_CONTAMINATED, Z_NOZOMBIE, S_CROAK,
I_NORMAL, HT_AMPHIBIOUS_LAND, FL_NONE, 14, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
},
{
MONS_IJYB, 'g', BLUE, "Ijyb",
M_UNIQUE | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
400, 5, MONS_GOBLIN, MONS_GOBLIN, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 4}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 3, 0, 0, 28 },
2, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_SMALL
},
{
MONS_GRUM, 'g', LIGHTRED, "Grum",
M_UNIQUE | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
750, 19, MONS_GNOLL, MONS_GNOLL, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 4, 0, 0, 40 },
2, 9, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_GROWL,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_CRAZY_YIUF, 'g', BLACK, "Crazy Yiuf",
M_WARM_BLOOD | M_SPEAKS | M_UNIQUE,
MR_NO_FLAGS,
750, 10, MONS_GNOLL, MONS_GNOLL, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 3, 0, 0, 20 },
2, 9, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_ROYAL_JELLY, 'J', YELLOW, "the royal jelly",
M_SENSE_INVIS | M_SPECIAL_ABILITY | M_ACID_SPLASH | M_NO_REGEN
| M_UNIQUE,
MR_RES_POISON | MR_RES_ASPHYX | MR_RES_ACID,
0, 20, MONS_JELLY, MONS_ROYAL_JELLY, MH_NATURAL, -7,
{ {AT_HIT, AF_ACID, 50}, {AT_HIT, AF_ACID, 30}, AT_NO_ATK, AT_NO_ATK },
{ 21, 0, 0, 230 },
8, 4, MST_NO_SPELLS, CE_CLEAN, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_LAND, FL_NONE, 16, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_ITEMS, SIZE_SMALL
},
{
MONS_DISSOLUTION, 'J', LIGHTMAGENTA, "Dissolution",
M_UNIQUE | M_SENSE_INVIS | M_ACID_SPLASH | M_BURROWS | M_PRIEST | M_SPEAKS
| M_SPELLCASTER,
MR_RES_POISON | MR_RES_ASPHYX | mrd(MR_RES_ACID, 3),
0, 11, MONS_JELLY, MONS_DISSOLUTION, MH_NATURAL, -7,
{ {AT_HIT, AF_ACID, 50}, {AT_HIT, AF_ACID, 30}, AT_NO_ATK, AT_NO_ATK },
{ 12, 0, 0, 180 },
10, 1, MST_DISSOLUTION, CE_POISONOUS, Z_NOZOMBIE, S_SILENT,
I_NORMAL, HT_LAND, FL_NONE, 8, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_ITEMS, SIZE_LARGE
},
{
MONS_GASTRONOK, 'j', LIGHTRED, "Gastronok",
M_NO_SKELETON | M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS
| M_SPEAKS | M_NO_WAND,
MR_NO_FLAGS,
1500, 10, MONS_GIANT_SLUG, MONS_ELEPHANT_SLUG, MH_NATURAL, -3,
{ {AT_BITE, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 20, 0, 0, 150 },
2, 1, MST_GASTRONOK, CE_POISONOUS, Z_NOZOMBIE, S_GURGLE,
I_NORMAL, HT_AMPHIBIOUS_LAND, FL_NONE, 5, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_FOOD, SIZE_LARGE
},
{
MONS_SONJA, 'K', RED, "Sonja",
M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_SPELLCASTER | M_ACTUAL_SPELLS
| M_SPEAKS,
MR_NO_FLAGS,
400, 12, MONS_KOBOLD, MONS_KOBOLD, MH_NATURAL, -1,
{ {AT_HIT, AF_PLAIN, 9}, {AT_HIT, AF_PLAIN, 5}, {AT_HIT, AF_PLAIN, 5},
AT_NO_ATK },
{ 6, 0, 0, 30 },
2, 24, MST_SONJA, CE_POISONOUS, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 14, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_SMALL
},
{
// XP modifier is very high to compensate for 4 created-friendly humans
MONS_PIKEL, 'K', BLUE, "Pikel",
M_WARM_BLOOD | M_SPEAKS | M_UNIQUE | M_NO_WAND,
MR_NO_FLAGS,
500, 49, MONS_KOBOLD, MONS_BIG_KOBOLD, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 0, 0, 40 },
4, 12, MST_NO_SPELLS, CE_POISONOUS, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
// May be re-spawned after his death.
MONS_BORIS, 'L', RED, "Boris",
M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_SPEAKS,
MR_RES_POISON | MR_RES_COLD | MR_RES_ELEC,
0, 15, MONS_LICH, MONS_LICH, MH_UNDEAD, -11,
{ {AT_HIT, AF_PLAIN, 25}, {AT_TOUCH, AF_DRAIN_XP, 15}, AT_NO_ATK,
AT_NO_ATK },
{ 22, 0, 0, 154 },
12, 10, MST_LICH_IV, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_MENKAURE, 'M', MAGENTA, "Menkaure",
M_UNIQUE | M_SPEAKS | M_SEE_INVIS | M_SPELLCASTER | M_ACTUAL_SPELLS,
MR_RES_POISON | MR_VUL_FIRE | MR_RES_COLD,
0, 48, MONS_MUMMY, MONS_MUMMY, MH_UNDEAD, -5,
{ {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 3, 0, 0, 24 },
3, 6, MST_MENKAURE, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 6, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_KHUFU, 'M', LIGHTRED, "Khufu",
M_SPELLCASTER | M_NOISY_SPELLS | M_SEE_INVIS | M_SPEAKS | M_UNIQUE,
MR_RES_POISON | MR_RES_COLD | MR_RES_ELEC,
0, 20, MONS_MUMMY, MONS_MUMMY, MH_UNDEAD, MAG_IMMUNE,
{ {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 18, 0, 0, 240 },
10, 6, MST_KHUFU, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_ILSUIW, 'm', LIGHTGREEN, "Ilsuiw",
M_UNIQUE | M_WARM_BLOOD | M_SPELLCASTER | M_ACTUAL_SPELLS | M_SPEAKS,
MR_NO_FLAGS,
500, 10, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, -7,
{ {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 16, 0, 0, 150 },
5, 18, MST_ILSUIW, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_AMPHIBIOUS_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_AIZUL, 'N', LIGHTMAGENTA, "Aizul",
M_SPELLCASTER | M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS
| M_ACTUAL_SPELLS | M_UNIQUE,
MR_RES_POISON,
350, 10, MONS_GUARDIAN_SERPENT, MONS_GUARDIAN_SERPENT, MH_NATURAL, -6,
{ {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 14, 0, 0, 142 },
8, 18, MST_AIZUL, CE_MUTAGEN_RANDOM, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_EROLCHA, 'O', LIGHTBLUE, "Erolcha",
M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_WARM_BLOOD
| M_SPEAKS,
MR_NO_FLAGS,
1300, 20, MONS_OGRE, MONS_OGRE, MH_NATURAL, -7,
{ {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 0, 0, 54 },
3, 7, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_BLORK_THE_ORC, 'o', BROWN, "Blork the orc",
M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
600, 15, MONS_ORC, MONS_ORC, MH_NATURAL, -4,
{ {AT_HIT, AF_PLAIN, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 3, 0, 0, 32 },
0, 9, MST_ORC_WIZARD_III, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_URUG, 'o', RED, "Urug",
M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
600, 20, MONS_ORC, MONS_ORC, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 6, 0, 0, 66 },
0, 11, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_NERGALLE, 'o', WHITE, "Nergalle",
M_UNIQUE | M_SPELLCASTER | M_SEE_INVIS | M_ACTUAL_SPELLS | M_WARM_BLOOD
| M_SPEAKS,
MR_RES_FIRE | MR_RES_COLD,
600, 12, MONS_ORC, MONS_ORC, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 10, 0, 0, 60 },
9, 11, MST_ORC_SORCERER, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_SAINT_ROKA, 'o', LIGHTBLUE, "Saint Roka",
M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPELLCASTER | M_PRIEST | M_SPEAKS,
MR_NO_FLAGS,
600, 15, MONS_ORC, MONS_ORC, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 18, 0, 0, 200 },
3, 10, MST_DAEVA, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_MARA, 'R', LIGHTRED, "Mara",
M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS | M_UNIQUE,
MR_RES_POISON | MR_RES_ELEC,
0, 20, MONS_RAKSHASA, MONS_RAKSHASA, MH_DEMONIC, -8,
{ {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 20, 0, 0, 140 },
10, 14, MST_MARA, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
// Illusions of Mara. Only two ever exist at the one time; identical stats to
// Mara.
{
MONS_MARA_FAKE, 'R', LIGHTRED, "Mara",
M_SPELLCASTER | M_SEE_INVIS | M_ACTUAL_SPELLS | M_SPEAKS,
MR_RES_POISON | MR_RES_ELEC,
0, 20, MONS_RAKSHASA_FAKE, MONS_RAKSHASA_FAKE, MH_DEMONIC, MAG_IMMUNE,
{ {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 20, 0, 0, 140 },
10, 14, MST_MARA_FAKE, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
// Snorg can go berserk.
MONS_SNORG, 'T', LIGHTGREEN, "Snorg",
M_UNIQUE | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
1500, 25, MONS_TROLL, MONS_TROLL, MH_NATURAL, -6,
{ {AT_BITE, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 15},
{AT_CLAW, AF_PLAIN, 15}, AT_NO_ATK },
{ 8, 0, 0, 96 },
0, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_PURGY, 'T', GREEN, "Purgy",
M_UNIQUE | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
900, 10, MONS_TROLL, MONS_TROLL, MH_NATURAL, -2,
{ {AT_BITE, AF_PLAIN, 9}, {AT_CLAW, AF_PLAIN, 4},
{AT_CLAW, AF_PLAIN, 4}, AT_NO_ATK },
{ 5, 0, 0, 35 },
1, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_MURRAY, 'z', LIGHTRED, "Murray",
M_UNIQUE | M_SPELLCASTER | M_SEE_INVIS | M_NOISY_SPELLS | M_SPEAKS,
MR_RES_ELEC | MR_RES_POISON | MR_RES_HELLFIRE | mrd(MR_RES_COLD, 2),
0, 10, MONS_LICH, MONS_CURSE_SKULL, MH_UNDEAD, MAG_IMMUNE,
{ {AT_BITE, AF_PLAIN, 20}, {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK },
{ 14, 0, 0, 180 },
30, 10, MST_CURSE_SKULL, CE_NOCORPSE, Z_NOZOMBIE, S_MOAN,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
},
{
// Roxanne obviously can't use items, but we want to equip her with
// a spellbook, so MONUSE_STARTING_EQUIPMENT is necessary.
MONS_ROXANNE, '8', BLUE, "Roxanne",
M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_STATIONARY | M_SPEAKS,
mrd(MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 2),
0, 10, MONS_CLAY_GOLEM, MONS_ROXANNE, MH_NONLIVING, MAG_IMMUNE,
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 14, 0, 0, 180 },
20, 0, MST_ROXANNE, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_LARGE
},
// human uniques ('@')
{
MONS_TERENCE, '@', LIGHTCYAN, "Terence",
M_UNIQUE | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
550, 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 1, 0, 0, 20 },
0, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_JESSICA, '@', LIGHTGREY, "Jessica",
M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
550, 125, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 1, 0, 0, 10 },
0, 10, MST_JESSICA, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_SIGMUND, '@', YELLOW, "Sigmund",
M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS| M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
550, 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -3,
{ {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 3, 0, 0, 30 },
0, 11, MST_ORC_WIZARD_II, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_EDMUND, '@', RED, "Edmund",
M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
550, 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -4,
{ {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 4, 0, 0, 44 },
0, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_PSYCHE, '@', LIGHTMAGENTA, "Psyche",
M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
550, 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -4,
{ {AT_HIT, AF_PLAIN, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 5, 0, 0, 39 },
0, 12, MST_ORC_WIZARD_III, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 13, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_DONALD, '@', BLUE, "Donald",
M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
550, 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 5, 0, 0, 54 },
0, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_JOSEPH, '@', CYAN, "Joseph",
M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
550, 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 7, 0, 0, 66 },
0, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_ERICA, '@', MAGENTA, "Erica",
M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
550, 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 9, 0, 0, 64 },
0, 11, MST_WIZARD_II, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 11, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_JOSEPHINE, '@', WHITE, "Josephine",
M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
550, 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 11}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 9, 0, 0, 69 },
0, 10, MST_NECROMANCER_I, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_HAROLD, '@', LIGHTGREEN, "Harold",
M_UNIQUE | M_FIGHTER | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD
| M_SPEAKS,
MR_NO_FLAGS,
550, 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 9, 0, 0, 76 },
0, 8, MST_HAROLD, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_NORBERT, '@', BROWN, "Norbert",
M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
550, 15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 10, 0, 0, 105 },
0, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_JOZEF, '@', LIGHTMAGENTA, "Jozef",
M_UNIQUE | M_FIGHTER | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD
| M_SPEAKS,
MR_NO_FLAGS,
550, 15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 11, 0, 0, 90 },
0, 9, MST_GUARDIAN_SERPENT, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_AGNES, '@', LIGHTBLUE, "Agnes",
M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
550, 15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 11, 0, 0, 140 },
0, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 18, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_MAUD, '@', RED, "Maud",
M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
550, 15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 24}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 13, 0, 0, 118 },
0, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_LOUISE, '@', BLUE, "Louise",
M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
550, 15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 13, 0, 0, 106 },
0, 10, MST_WIZARD_IV, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_FRANCIS, '@', YELLOW, "Francis",
M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SEE_INVIS
| M_SPEAKS,
MR_NO_FLAGS,
550, 15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 19}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 14, 0, 0, 110 },
0, 10, MST_ORC_HIGH_PRIEST, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_FRANCES, '@', YELLOW, "Frances",
M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SEE_INVIS
| M_SPEAKS,
MR_NO_FLAGS,
550, 15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 29}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 14, 0, 0, 121 },
0, 10, MST_ORC_HIGH_PRIEST, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_RUPERT, '@', RED, "Rupert",
M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SEE_INVIS
| M_SPEAKS,
MR_NO_FLAGS,
550, 12, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 21}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 16, 0, 0, 123 },
0, 10, MST_RUPERT, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY, MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_KIRKE, '@', LIGHTGREEN, "Kirke",
M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SEE_INVIS
| M_SPEAKS,
MR_NO_FLAGS,
550, 15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 16, 0, 0, 110 },
0, 10, MST_KIRKE, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_WAYNE, '@', YELLOW, "Wayne",
M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SEE_INVIS
| M_SPEAKS,
MR_NO_FLAGS,
550, 4, MONS_DWARF, MONS_DWARF, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 22}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 17, 0, 0, 140 },
1, 10, MST_ORC_PRIEST, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 7, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_DUANE, '@', YELLOW, "Duane",
M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SEE_INVIS
| M_SPEAKS,
MR_NO_FLAGS,
550, 10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 22}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 18, 0, 0, 136 },
0, 10, MST_ORC_WIZARD_I, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_NORRIS, '@', LIGHTRED, "Norris",
M_UNIQUE | M_FIGHTER | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD
| M_SEE_INVIS | M_SPEAKS,
MR_NO_FLAGS,
550, 10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 36}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 20, 0, 0, 214 },
1, 9, MST_MYSTIC, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 9, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_FREDERICK, '@', GREEN, "Frederick",
M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SEE_INVIS
| M_SPEAKS,
MR_NO_FLAGS,
550, 12, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 27}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 21, 0, 0, 159 },
0, 10, MST_LICH_IV, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_MARGERY, '@', LIGHTRED, "Margery",
M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SEE_INVIS
| M_SPEAKS,
MR_NO_FLAGS,
550, 15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 22, 0, 0, 164 },
0, 10, MST_EFREET, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_EUSTACHIO, '@', GREEN, "Eustachio",
M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
550, 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 4, 0, 0, 40 },
0, 13, MST_EUSTACHIO, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_MAURICE, '@', GREEN, "Maurice",
M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
MR_NO_FLAGS,
550, 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -4,
{ {AT_HIT, AF_STEAL, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 5, 0, 0, 60 },
1, 13, MST_MAURICE, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 11, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
{
MONS_NIKOLA, '@', LIGHTCYAN, "Nikola",
M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SEE_INVIS
| M_SPEAKS,
MR_NO_FLAGS, // Xom would hate MR_RES_ELEC here.
550, 10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
{ {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 18, 0, 0, 190 },
1, 9, MST_NIKOLA, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 9, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
},
// unique major demons ('&')
{
MONS_MNOLEG, '&', LIGHTGREEN, "Mnoleg",
M_UNIQUE | M_FIGHTER | M_SEE_INVIS | M_SPELLCASTER | M_SPEAKS,
MR_RES_ELEC | MR_RES_POISON | MR_RES_FIRE,
0, 15, MONS_MNOLEG, MONS_MNOLEG, MH_DEMONIC, MAG_IMMUNE,
{ {AT_HIT, AF_PLAIN, 35}, {AT_HIT, AF_PLAIN, 23}, AT_NO_ATK, AT_NO_ATK },
{ 17, 0, 0, 250 },
10, 25, MST_MNOLEG, CE_NOCORPSE, Z_NOZOMBIE, S_BUZZ,
I_HIGH, HT_LAND, FL_NONE, 13, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_LOM_LOBON, '&', LIGHTBLUE, "Lom Lobon",
M_UNIQUE | M_FIGHTER | M_SEE_INVIS | M_SPELLCASTER | M_SPEAKS,
MR_RES_POISON | MR_RES_FIRE | mrd(MR_RES_COLD | MR_RES_ELEC, 3),
0, 15, MONS_LOM_LOBON, MONS_LOM_LOBON, MH_DEMONIC, MAG_IMMUNE,
{ {AT_HIT, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 19, 0, 0, 360 },
10, 20, MST_LOM_LOBON, CE_NOCORPSE, Z_NOZOMBIE, S_SCREAM,
I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_CEREBOV, '&', RED, "Cerebov",
M_UNIQUE | M_FIGHTER | M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS,
MR_RES_POISON | mrd(MR_RES_HELLFIRE, 3),
0, 15, MONS_CEREBOV, MONS_CEREBOV, MH_DEMONIC, -6,
{ {AT_HIT, AF_PLAIN, 60}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 21, 0, 0, 650 },
30, 8, MST_CEREBOV, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_GIANT
},
{
MONS_GLOORX_VLOQ, '&', LIGHTGREY, "Gloorx Vloq",
M_UNIQUE | M_FIGHTER | M_SEE_INVIS | M_SPELLCASTER | M_SPEAKS,
MR_RES_POISON | MR_RES_COLD | MR_RES_ELEC,
0, 15, MONS_GLOORX_VLOQ, MONS_GLOORX_VLOQ, MH_DEMONIC, -14,
{ {AT_HIT, AF_PLAIN, 45}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 16, 0, 0, 350 },
10, 10, MST_GLOORX_VLOQ, CE_NOCORPSE, Z_NOZOMBIE, S_MOAN,
I_HIGH, HT_LAND, FL_LEVITATE, 20, DEFAULT_ENERGY,
MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_GERYON, '&', GREEN, "Geryon",
M_UNIQUE | M_FIGHTER | M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS
| M_SPELL_NO_SILENT,
MR_NO_FLAGS,
0, 15, MONS_GERYON, MONS_GERYON, MH_DEMONIC, -6,
{ {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 15, 0, 0, 300 },
15, 6, MST_GERYON, CE_NOCORPSE, Z_NOZOMBIE, S_ROAR,
I_NORMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_GIANT
},
{
MONS_DISPATER, '&', MAGENTA, "Dispater",
M_UNIQUE | M_FIGHTER | M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS,
MR_RES_ELEC | MR_RES_POISON | MR_RES_HELLFIRE | MR_RES_COLD,
0, 15, MONS_DISPATER, MONS_DISPATER, MH_DEMONIC, -10,
{ {AT_HIT, AF_PLAIN, 50}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 16, 0, 0, 450 },
40, 3, MST_DISPATER, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_ASMODEUS, '&', LIGHTMAGENTA, "Asmodeus",
M_UNIQUE | M_FIGHTER | M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS,
MR_RES_ELEC | MR_RES_POISON | MR_RES_HELLFIRE,
0, 25, MONS_ASMODEUS, MONS_ASMODEUS, MH_DEMONIC, -12,
{ {AT_HIT, AF_PLAIN, 50}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 17, 0, 0, 450 },
30, 7, MST_ASMODEUS, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
},
{
MONS_ERESHKIGAL, '&', WHITE, "Ereshkigal",
M_UNIQUE | M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS,
MR_RES_ELEC | MR_RES_POISON | MR_RES_COLD,
0, 15, MONS_ERESHKIGAL, MONS_ERESHKIGAL, MH_DEMONIC, -10,
{ {AT_HIT, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 18, 0, 0, 250 },
10, 30, MST_ERESHKIGAL, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
I_HIGH, HT_LAND, FL_NONE, 14, DEFAULT_ENERGY,
MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
},
// Impossible to hit, impossible to damage, immune to everything,
// unkillable, just sits there doing nothing but casting Shadow Creatures
// over and over.
{
MONS_TEST_SPAWNER, 'X', WHITE, "test spawner",
M_SPELLCASTER | M_STATIONARY | M_REGEN | M_INSUBSTANTIAL,
mrd(MR_RES_ELEC | MR_RES_POISON | MR_RES_FIRE | MR_RES_HELLFIRE
| MR_RES_COLD | MR_RES_ACID | MR_RES_STICKY_FLAME | MR_RES_STEAM, 127),
0, 15, MONS_TEST_SPAWNER, MONS_TEST_SPAWNER, MH_NONLIVING, MAG_IMMUNE,
{ AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
{ 1000, 1000, 0, 0 },
127, 127, MST_TEST_SPAWNER, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
I_PLANT, HT_AMPHIBIOUS_LAND, FL_NONE, 14, DEFAULT_ENERGY,
MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
}
/*
For simplicity, here again the explanation:
- row 1: monster id, display character, display colour, name
- row 2: monster flags
- row 3: monster resistance flags
- row 4: mass, experience modifier, genus, species, holiness, resist magic
- row 5: damage for each of four attacks
- row 6: hit dice, described by four parameters
- row 7: AC, evasion, sec(spell), corpse_thingy, zombie size, shouts
- row 8: intel, habitat, flight class, speed, energy_usage
- row 9: gmon_use class, gmon_eat class, body size
*/
#endif
};