Apply the new ground_level method.
[crawl.git] / crawl-ref / source / mon-data.h
blob18fac69023d71babd291cad25f3908f7e94b9e5a
1 /*
2 * File: mon-data.h
3 */
5 #ifndef MONDATA_H
6 #define MONDATA_H
8 #define AT_NO_ATK {AT_NONE, AF_PLAIN, 0}
10 #include "enum.h"
12 // This whole file was very generously condensed from its initial ugly form
13 // by Wladimir van der Laan ($pellbinder).
15 /* ******************************************************************
17 (see "mon-util.h" for the gory details)
19 - ordering does not matter, because seekmonster() searches the entire
20 array ... probably not to most efficient thing to do, but so it goes
22 - Here are the rows:
23 - row 1: monster id, display character, display colour, name
24 - row 2: monster flags
25 - row 3: monster resistance flags
26 - row 4: mass, experience modifier, genus, species, holiness, resist magic
27 - row 5: damage for each of four attacks
28 - row 6: hit dice, described by four parameters
29 - row 7: AC, evasion, sec(spell), corpse_thingy, zombie size, shouts
30 - row 8: intel, habitat, flight class, speed, energy_usage
31 - row 9: gmon_use class, gmon_eat class, body size
34 - Some further explanations:
36 - colour: if BLACK, monster uses value of mons_sec
37 - name: if an empty string, name generated automagically (see moname)
38 - mass: if zero, the monster never leaves a corpse (also corpse_thingy)
39 - genus: base monster "type" for a classed monsters (i.e. jackal as hound)
40 - species: corpse type of monster (i.e. orc for orc wizard)
41 - holiness:
42 MH_HOLY - irritates some gods when killed, immunity from
43 holy wrath weapons
44 MH_NATURAL - baseline monster type
45 MH_UNDEAD - immunity from draining, pain, torment; resistance
46 to poison; extra damage from holy wrath;
47 affected by holy word
48 MH_DEMONIC - similar to undead, but no poison resistance and
49 *no* automatic hellfire resistance
50 MH_NONLIVING - golems and other constructs
51 MH_PLANT - plants
53 exp_mod: see give_adjusted_experience() in mon-stuff.cc
54 - the experience given for killing this monster is calculated something
55 like this:
57 experience = (16 + maxhp) * HD * HD * exp_mod * (100 + diff. score) * speed
58 / 100000
59 with a minimum of 1, and maximum 15000 (jpeg)
61 resist_magic: see mons_resist_magic() in mon-util.cc
62 - If -x calculate (-x * hit dice * 4/3), else simply x
64 damage [4]
65 - up to 4 different attacks
67 hp_dice [4]
68 - hit dice, min hp per HD, extra random hp per HD, fixed HP (unique mons)
70 Further explanations copied from mon-util.h:
71 hpdice[4]: [0]=HD [1]=min_hp [2]=rand_hp [3]=add_hp
72 min hp = [0]*[1]+[3]
73 max hp = [0]*times_do*{ [1]+random2([2])}, *then* + [3]
74 example: the Iron Golem, hpdice={15,7,4,0}
75 15*7 < hp < 15*(7+4),
76 105 < hp < 165
77 hp will be around 135 each time.
79 corpse_thingy
80 - err, bad name. Describes effects of eating corpses.
81 CE_NOCORPSE, leaves no corpse (mass == 0)
82 CE_CLEAN, can be healthily eaten by non-Ghouls
83 CE_CONTAMINATED, occasionally causes sickness
84 CE_POISONOUS, hazardous to characters without poison resistance
85 CE_POISON_CONTAM, contaminated if poison-resistant, else poisonous
86 CE_HCL, causes rotting in non-Ghouls
87 CE_MUTAGEN_RANDOM, mutagenic
88 CE_MUTAGEN_GOOD, // may be worth implementing {dlb}
89 CE_MUTAGEN_BAD, // may be worth implementing {dlb}
90 CE_RANDOM, // not used, but may be worth implementing {dlb}
91 CE_ROTTEN always causes sickness (good for Ghouls)
93 zombie_size
94 Z_NOZOMBIE
95 Z_SMALL (z)
96 Z_BIG (Z)
98 shouts
99 - various things monsters can do upon seeing you
101 intel explanation:
102 - How smart it is: I_PLANT < I_INSECT < I_ANIMAL < I_NORMAL < I_HIGH.
103 So far, differences here have little effects except for monster's chance
104 of seeing you if stealthy and rudimentary trap handling; really stupid
105 monsters will walk through clouds.
107 speed
108 - Increases the store of energy that the monster uses for doing things.
109 less = slower. 5 = half speed, 10 = normal, 20 = double speed.
111 energy usage
112 - How quickly the energy granted by speed is used up. Most monsters
113 should just use DEFAULT_ENERGY, where all the different types of actions
114 use 10 energy units.
116 gmon_use explanation:
117 MONUSE_NOTHING,
118 MONUSE_OPEN_DOORS,
119 MONUSE_STARTING_EQUIPMENT,
120 MONUSE_WEAPONS_ARMOUR
122 From MONUSE_STARTING_EQUIPMENT on, monsters are capable of handling
123 items. Contrary to what one might expect, MONUSE_WEAPONS_ARMOUR
124 also means a monster is capable of using wands and will also pick
125 them up, something that those with MONUSE_STARTING_EQUIPMENT won't
128 gmon_eat explanation:
129 MONEAT_ITEMS,
130 MONEAT_CORPSES,
131 MONEAT_FOOD
133 Monsters with MONEAT_ITEMS are capable of eating most items,
134 monsters with MONEAT_CORPSES are capable of eating corpses, and
135 monsters with MONEAT_FOOD are capable of eating food (note that
136 corpses also count as food).
138 size:
139 SIZE_TINY, // rats/bats
140 SIZE_LITTLE, // spriggans
141 SIZE_SMALL, // halflings/kobolds
142 SIZE_MEDIUM, // humans/elves/dwarves
143 SIZE_LARGE, // trolls/ogres/centaurs/nagas
144 SIZE_BIG, // large quadrupeds
145 SIZE_GIANT, // giants
146 SIZE_HUGE // dragons
150 const mon_energy_usage DEFAULT_ENERGY;
152 static inline mon_energy_usage MOVE_ENERGY(int me)
154 return mon_energy_usage::move_cost(me, me);
157 // Energy required for all non-movement action.
158 static inline mon_energy_usage ACTION_ENERGY(int ae)
160 return mon_energy_usage(10, 10, ae, ae, ae, ae, ae, ae * 10);
163 static inline mon_energy_usage ATTACK_ENERGY(int ae)
165 return mon_energy_usage::attack_cost(ae);
168 static inline mon_energy_usage MISSILE_ENERGY(int ae)
170 return mon_energy_usage::missile_cost(ae);
173 static inline mon_energy_usage SWIM_ENERGY(int ae)
175 return mon_energy_usage::swim_cost(ae);
178 static monsterentry mondata[] = {
180 // The Thing That Should Not Be(tm)
181 // NOTE: Do not remove, or seekmonster will crash on unknown mc request!
182 // It is also a good prototype for new monsters.
184 // id, glyph, colour, name
185 MONS_PROGRAM_BUG, 'B', LIGHTRED, "program bug",
186 // monster flags
187 M_NO_EXP_GAIN | M_NO_POLY_TO,
188 // resistance flags
189 MR_NO_FLAGS,
190 // mass, xp modifier, genus, species, holiness, magic resistance
191 0, 10, MONS_PROGRAM_BUG, MONS_PROGRAM_BUG, MH_NATURAL, -3,
192 // up to four attacks
193 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
194 // hit points
195 { 0, 0, 0, 0 },
196 // AC, EV, spells, corpse type, zombie size, shout type, intelligence
197 0, 0, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SILENT,
198 // intelligence, habitat, speed, energy usage, use type
199 I_PLANT, HT_LAND, FL_NONE, 0, DEFAULT_ENERGY,
200 // use type, eat type, body size
201 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
205 // Use this to replace removed monsters, to retain save compatibility.
206 // Please put it in #if (TAG_MAJOR_VERSION <= X), so they will go away
207 // after save compat is broken.
208 #define AXED_MON(id) \
210 id, 'X', LIGHTRED, "removed "#id, \
211 M_NO_EXP_GAIN | M_NO_POLY_TO | M_UNFINISHED, \
212 MR_NO_FLAGS, \
213 0, 10, MONS_PROGRAM_BUG, MONS_PROGRAM_BUG, MH_NONLIVING, -3, \
214 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, \
215 { 0, 0, 0, 0 }, \
216 0, 0, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SILENT, \
217 I_PLANT, HT_LAND, FL_NONE, 0, DEFAULT_ENERGY, \
218 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE \
221 // Axed monsters.
223 #if TAG_MAJOR_VERSION == 32
224 AXED_MON(MONS_GIANT_BLOWFLY)
225 #endif
227 // Real monsters begin here {dlb}:
229 // ants ('a')
231 MONS_WORKER_ANT, 'a', RED, "worker ant",
232 M_NO_SKELETON,
233 MR_VUL_POISON,
234 450, 10, MONS_WORKER_ANT, MONS_WORKER_ANT, MH_NATURAL, -3,
235 { {AT_BITE, AF_POISON, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
236 { 3, 3, 5, 0 },
237 4, 10, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
238 I_INSECT, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
239 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
243 MONS_QUEEN_ANT, 'a', LIGHTRED, "queen ant",
244 M_NO_SKELETON | M_NO_FLAGS,
245 MR_VUL_POISON,
246 900, 10, MONS_WORKER_ANT, MONS_QUEEN_ANT, MH_NATURAL, -3,
247 { {AT_STING, AF_POISON_NASTY, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
248 { 13, 3, 5, 0 },
249 14, 3, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_SILENT,
250 I_INSECT, HT_LAND, FL_NONE, 7, DEFAULT_ENERGY,
251 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
255 MONS_SOLDIER_ANT, 'a', WHITE, "soldier ant",
256 M_NO_SKELETON,
257 MR_VUL_POISON,
258 600, 10, MONS_WORKER_ANT, MONS_SOLDIER_ANT, MH_NATURAL, -3,
259 { {AT_STING, AF_POISON_NASTY, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
260 { 6, 3, 5, 0 },
261 8, 10, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
262 I_INSECT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
263 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
267 MONS_ANT_LARVA, 'a', LIGHTGREY, "ant larva",
268 M_NO_SKELETON,
269 MR_VUL_POISON,
270 150, 5, MONS_WORKER_ANT, MONS_ANT_LARVA, MH_NATURAL, -3,
271 { {AT_BITE, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
272 { 2, 3, 5, 0 },
273 2, 6, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
274 I_PLANT, HT_LAND, FL_NONE, 6, DEFAULT_ENERGY,
275 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
278 // batty monsters ('b')
280 MONS_MEGABAT, 'b', LIGHTGREY, "megabat",
281 M_SENSE_INVIS | M_WARM_BLOOD | M_BATTY,
282 MR_NO_FLAGS,
283 150, 4, MONS_MEGABAT, MONS_MEGABAT, MH_NATURAL, -1,
284 { {AT_HIT, AF_PLAIN, 1}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
285 { 1, 2, 3, 0 },
286 1, 14, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
287 I_ANIMAL, HT_LAND, FL_FLY, 30, DEFAULT_ENERGY,
288 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
292 MONS_BUTTERFLY, 'b', BLACK, "butterfly",
293 M_NO_SKELETON | M_CONFUSED | M_NO_EXP_GAIN,
294 MR_VUL_POISON,
295 0, 10, MONS_BUTTERFLY, MONS_BUTTERFLY, MH_NATURAL, -3,
296 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
297 { 1, 3, 5, 0 },
298 0, 25, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
299 I_INSECT, HT_LAND, FL_FLY, 25, DEFAULT_ENERGY,
300 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
303 { // dummy, never spawns
304 MONS_VAMPIRE_BAT, 'b', DARKGREY, "vampire bat",
305 M_SENSE_INVIS | M_WARM_BLOOD | M_BATTY | M_NO_POLY_TO,
306 MR_NO_FLAGS,
307 150, 8, MONS_MEGABAT, MONS_VAMPIRE_BAT, MH_NATURAL, -1,
308 { {AT_HIT, AF_DRAIN_XP, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
309 { 3, 2, 3, 0 },
310 1, 14, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
311 I_ANIMAL, HT_LAND, FL_FLY, 30, DEFAULT_ENERGY,
312 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
316 MONS_RAVEN, 'b', BLUE, "raven",
317 M_SENSE_INVIS,
318 MR_NO_FLAGS,
319 250, 9, MONS_RAVEN, MONS_RAVEN, MH_NATURAL, -2,
320 { {AT_PECK, AF_PLAIN, 8}, {AT_CLAW, AF_PLAIN, 8}, AT_NO_ATK, AT_NO_ATK },
321 { 6, 4, 3, 0 },
322 1, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_CAW,
323 I_ANIMAL, HT_LAND, FL_FLY, 20, DEFAULT_ENERGY,
324 MONUSE_NOTHING, MONEAT_CORPSES, SIZE_TINY
327 // centaurs ('c')
329 MONS_CENTAUR, 'c', BROWN, "centaur",
330 M_WARM_BLOOD | M_SPEAKS,
331 MR_NO_FLAGS,
332 1500, 10, MONS_CENTAUR, MONS_CENTAUR, MH_NATURAL, -3,
333 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
334 { 4, 3, 5, 0 },
335 3, 7, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_SHOUT,
336 I_NORMAL, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
337 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
341 MONS_CENTAUR_WARRIOR, 'c', YELLOW, "centaur warrior",
342 M_WARM_BLOOD | M_FIGHTER | M_SPEAKS,
343 MR_NO_FLAGS,
344 1500, 12, MONS_CENTAUR, MONS_CENTAUR, MH_NATURAL, -3,
345 { {AT_HIT, AF_PLAIN, 16}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
346 { 9, 3, 5, 0 },
347 4, 8, MST_NO_SPELLS, CE_CLEAN, Z_NOZOMBIE, S_SHOUT,
348 I_NORMAL, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
349 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
353 MONS_YAKTAUR, 'c', RED, "yaktaur",
354 M_WARM_BLOOD | M_SPEAKS,
355 MR_NO_FLAGS,
356 1900, 10, MONS_YAKTAUR, MONS_YAKTAUR, MH_NATURAL, -3,
357 { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
358 { 8, 3, 5, 0 },
359 4, 4, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_SHOUT,
360 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
361 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_BIG
365 MONS_YAKTAUR_CAPTAIN, 'c', LIGHTRED, "yaktaur captain",
366 M_WARM_BLOOD | M_FIGHTER | M_SPEAKS,
367 MR_NO_FLAGS,
368 1900, 10, MONS_YAKTAUR, MONS_YAKTAUR, MH_NATURAL, -3,
369 { {AT_HIT, AF_PLAIN, 23}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
370 { 14, 3, 5, 0 },
371 5, 5, MST_NO_SPELLS, CE_CLEAN, Z_NOZOMBIE, S_SHOUT,
372 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
373 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_BIG
376 // draconians ('d')
377 { // Base draconian - for use like MONS_HUMAN, MONS_ELF although we
378 // now store the draconian subspecies in base_monster for those
379 // listed as species MONS_DRACONIAN.
380 MONS_DRACONIAN, 'd', BROWN, "draconian",
381 M_COLD_BLOOD | M_SPEAKS,
382 MR_NO_FLAGS,
383 900, 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, -1,
384 { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
385 { 7, 6, 4, 0 },
386 9, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_ROAR,
387 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
388 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
392 MONS_BLACK_DRACONIAN, 'd', BLUE, "black draconian",
393 M_COLD_BLOOD | M_SPEAKS,
394 MR_RES_ELEC,
395 900, 10, MONS_DRACONIAN, MONS_BLACK_DRACONIAN, MH_NATURAL, -2,
396 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
397 { 14, 5, 4, 0 },
398 9, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_ROAR,
399 I_HIGH, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
400 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
404 MONS_YELLOW_DRACONIAN, 'd', YELLOW, "yellow draconian",
405 M_COLD_BLOOD | M_SPECIAL_ABILITY | M_SPEAKS,
406 MR_RES_ACID,
407 900, 10, MONS_DRACONIAN, MONS_YELLOW_DRACONIAN, MH_NATURAL, -2,
408 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
409 { 14, 5, 4, 0 },
410 9, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_ROAR,
411 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
412 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
416 // Colours are used for picking the right tile for Tiamat,
417 // so this needs to be different from the grey draconian. (jpeg)
418 MONS_PALE_DRACONIAN, 'd', CYAN, "pale draconian",
419 M_COLD_BLOOD | M_SPEAKS,
420 MR_RES_STEAM,
421 900, 10, MONS_DRACONIAN, MONS_PALE_DRACONIAN, MH_NATURAL, -2,
422 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
423 { 14, 5, 4, 0 },
424 9, 14, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_ROAR,
425 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
426 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
430 MONS_GREEN_DRACONIAN, 'd', GREEN, "green draconian",
431 M_COLD_BLOOD | M_SPEAKS,
432 MR_RES_POISON,
433 900, 10, MONS_DRACONIAN, MONS_GREEN_DRACONIAN, MH_NATURAL, -2,
434 { {AT_HIT, AF_PLAIN, 20}, {AT_TAIL_SLAP, AF_POISON, 15}, AT_NO_ATK,
435 AT_NO_ATK },
436 { 14, 5, 4, 0 },
437 9, 10, MST_NO_SPELLS, CE_POISON_CONTAM, Z_SMALL, S_ROAR,
438 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
439 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
443 MONS_PURPLE_DRACONIAN, 'd', MAGENTA, "purple draconian",
444 M_COLD_BLOOD | M_SPEAKS,
445 MR_NO_FLAGS,
446 900, 10, MONS_DRACONIAN, MONS_PURPLE_DRACONIAN, MH_NATURAL, -8,
447 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
448 { 14, 5, 4, 0 },
449 8, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_ROAR,
450 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
451 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
455 MONS_RED_DRACONIAN, 'd', RED, "red draconian",
456 M_COLD_BLOOD | M_SPECIAL_ABILITY | M_SPEAKS,
457 MR_RES_FIRE,
458 900, 10, MONS_DRACONIAN, MONS_RED_DRACONIAN, MH_NATURAL, -2,
459 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
460 { 14, 5, 4, 0 },
461 9, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_ROAR,
462 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
463 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
467 MONS_WHITE_DRACONIAN, 'd', WHITE, "white draconian",
468 M_COLD_BLOOD | M_SPECIAL_ABILITY | M_SPEAKS,
469 MR_RES_COLD,
470 900, 10, MONS_DRACONIAN, MONS_WHITE_DRACONIAN, MH_NATURAL, -2,
471 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
472 { 14, 5, 4, 0 },
473 9, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_ROAR,
474 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
475 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
479 MONS_GREY_DRACONIAN, 'd', LIGHTGREY, "grey draconian",
480 M_COLD_BLOOD | M_UNBREATHING | M_SPEAKS,
481 MR_NO_FLAGS,
482 900, 10, MONS_DRACONIAN, MONS_GREY_DRACONIAN, MH_NATURAL, -2,
483 { {AT_HIT, AF_PLAIN, 25}, {AT_TAIL_SLAP, AF_PLAIN, 15}, AT_NO_ATK,
484 AT_NO_ATK },
485 { 14, 5, 4, 0 },
486 16, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_ROAR,
487 I_HIGH, HT_AMPHIBIOUS, FL_NONE, 10, SWIM_ENERGY(12),
488 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
492 MONS_MOTTLED_DRACONIAN, 'd', LIGHTMAGENTA, "mottled draconian",
493 M_COLD_BLOOD | M_SPEAKS,
494 MR_RES_FIRE | MR_RES_STICKY_FLAME,
495 900, 10, MONS_DRACONIAN, MONS_MOTTLED_DRACONIAN, MH_NATURAL, -2,
496 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
497 { 14, 5, 4, 0 },
498 9, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_ROAR,
499 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
500 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
504 MONS_DRACONIAN_CALLER, 'd', BROWN, "draconian caller",
505 M_SPELLCASTER | M_ACTUAL_SPELLS | M_COLD_BLOOD | M_SPEAKS,
506 MR_NO_FLAGS,
507 900, 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, -3,
508 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
509 { 16, 4, 3, 0 },
510 9, 10, MST_DRAC_CALLER, CE_CONTAMINATED, Z_NOZOMBIE, S_ROAR,
511 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
512 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
516 MONS_DRACONIAN_MONK, 'd', BLUE, "draconian monk",
517 M_FIGHTER | M_COLD_BLOOD | M_SPEAKS,
518 MR_NO_FLAGS,
519 900, 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, -3,
520 { {AT_HIT, AF_PLAIN, 35}, {AT_KICK, AF_PLAIN, 20},
521 {AT_TAIL_SLAP, AF_PLAIN, 15}, AT_NO_ATK },
522 { 16, 6, 3, 0 },
523 6, 20, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_ROAR,
524 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
525 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
529 MONS_DRACONIAN_ZEALOT, 'd', LIGHTGREEN, "draconian zealot",
530 M_SPELLCASTER | M_PRIEST | M_COLD_BLOOD | M_SPEAKS,
531 MR_NO_FLAGS,
532 900, 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, -3,
533 { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
534 { 16, 4, 2, 0 },
535 12, 10, MST_DEEP_ELF_HIGH_PRIEST, CE_CONTAMINATED, Z_NOZOMBIE, S_ROAR,
536 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
537 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
541 MONS_DRACONIAN_SHIFTER, 'd', LIGHTCYAN, "draconian shifter",
542 M_SPELLCASTER | M_ACTUAL_SPELLS | M_COLD_BLOOD | M_SPEAKS,
543 MR_NO_FLAGS,
544 900, 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, -4,
545 { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
546 { 16, 4, 4, 0 },
547 8, 16, MST_DRAC_SHIFTER, CE_CONTAMINATED, Z_NOZOMBIE, S_ROAR,
548 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
549 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
553 MONS_DRACONIAN_ANNIHILATOR, 'd', LIGHTBLUE, "draconian annihilator",
554 M_SPELLCASTER | M_ACTUAL_SPELLS | M_COLD_BLOOD | M_SPEAKS,
555 MR_NO_FLAGS,
556 900, 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, -4,
557 { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
558 { 16, 4, 2, 0 },
559 8, 10, MST_DEEP_ELF_ANNIHILATOR, CE_CONTAMINATED, Z_NOZOMBIE, S_ROAR,
560 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
561 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
565 MONS_DRACONIAN_KNIGHT, 'd', CYAN, "draconian knight",
566 M_SPELLCASTER | M_ACTUAL_SPELLS | M_FIGHTER | M_COLD_BLOOD | M_SPEAKS,
567 MR_NO_FLAGS,
568 900, 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, -4,
569 { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
570 { 16, 6, 4, 0 },
571 12, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_ROAR,
572 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
573 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
577 MONS_DRACONIAN_SCORCHER, 'd', LIGHTRED, "draconian scorcher",
578 M_SPELLCASTER | M_ACTUAL_SPELLS | M_COLD_BLOOD | M_SPEAKS,
579 MR_RES_FIRE | MR_RES_HELLFIRE,
580 900, 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, -4,
581 { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
582 { 16, 4, 2, 0 },
583 8, 12, MST_DRAC_SCORCHER, CE_CONTAMINATED, Z_NOZOMBIE, S_ROAR,
584 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
585 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
588 // elves ('e')
589 //mv: have to exist because it's (and should be) a valid polymorph target.
591 MONS_ELF, 'e', RED, "elf",
592 M_WARM_BLOOD | M_SPEAKS,
593 MR_NO_FLAGS,
594 450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -3,
595 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
596 { 7, 3, 3, 0 },
597 2, 14, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
598 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
599 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
603 MONS_DEEP_ELF_SOLDIER, 'e', RED, "deep elf soldier",
604 M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_FIGHTER | M_SPEAKS,
605 MR_NO_FLAGS,
606 450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
607 { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
608 { 3, 3, 3, 0 },
609 0, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
610 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
611 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
615 MONS_DEEP_ELF_FIGHTER, 'e', LIGHTRED, "deep elf fighter",
616 M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_FIGHTER | M_SPEAKS,
617 MR_NO_FLAGS,
618 450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
619 { {AT_HIT, AF_PLAIN, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
620 { 6, 3, 3, 0 },
621 0, 13, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
622 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
623 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
627 MONS_DEEP_ELF_KNIGHT, 'e', CYAN, "deep elf knight",
628 M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_FIGHTER | M_SPEAKS,
629 MR_NO_FLAGS,
630 450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
631 { {AT_HIT, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
632 { 11, 3, 3, 0 },
633 0, 15, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
634 I_HIGH, HT_LAND, FL_NONE, 11, DEFAULT_ENERGY,
635 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
639 MONS_DEEP_ELF_BLADEMASTER, 'e', LIGHTCYAN, "deep elf blademaster",
640 M_WARM_BLOOD | M_FIGHTER | M_TWO_WEAPONS | M_SPEAKS,
641 MR_NO_FLAGS,
642 450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
643 { {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK },
644 { 16, 5, 3, 0 },
645 0, 25, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
646 I_HIGH, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
647 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
651 MONS_DEEP_ELF_MASTER_ARCHER, 'e', LIGHTGREY, "deep elf master archer",
652 M_WARM_BLOOD | M_ARCHER | M_SPEAKS,
653 MR_NO_FLAGS,
654 450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -5,
655 // Attack damage gets rolled into their ranged attacks.
656 { {AT_SHOOT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK },
657 { 15, 4, 2, 0 },
658 0, 15, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
659 I_HIGH, HT_LAND, FL_NONE, 10, MISSILE_ENERGY(6),
660 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
664 MONS_DEEP_ELF_MAGE, 'e', MAGENTA, "deep elf mage",
665 M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
666 MR_NO_FLAGS,
667 450, 12, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
668 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
669 { 4, 3, 3, 0 },
670 0, 13, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
671 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
672 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
676 MONS_DEEP_ELF_SUMMONER, 'e', BROWN, "deep elf summoner",
677 M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
678 MR_NO_FLAGS,
679 450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
680 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
681 { 6, 3, 3, 0 },
682 0, 13, MST_DEEP_ELF_SUMMONER, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
683 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
684 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
688 MONS_DEEP_ELF_CONJURER, 'e', BLUE, "deep elf conjurer",
689 M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
690 MR_NO_FLAGS,
691 450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
692 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
693 { 6, 3, 3, 0 },
694 0, 13, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
695 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
696 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
700 MONS_DEEP_ELF_PRIEST, 'e', GREEN, "deep elf priest",
701 M_SPELLCASTER | M_PRIEST | M_WARM_BLOOD | M_SPEAKS,
702 MR_NO_FLAGS,
703 450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
704 { {AT_HIT, AF_PLAIN, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
705 { 5, 3, 3, 0 },
706 0, 13, MST_DEEP_ELF_PRIEST, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
707 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
708 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
712 MONS_DEEP_ELF_HIGH_PRIEST, 'e', LIGHTGREEN, "deep elf high priest",
713 M_SPELLCASTER | M_SPEAKS | M_PRIEST | M_WARM_BLOOD | M_SEE_INVIS,
714 MR_RES_HELLFIRE,
715 450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
716 { {AT_HIT, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
717 { 11, 3, 3, 0 },
718 3, 13, MST_DEEP_ELF_HIGH_PRIEST, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
719 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
720 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
724 MONS_DEEP_ELF_DEMONOLOGIST, 'e', YELLOW, "deep elf demonologist",
725 M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS,
726 MR_NO_FLAGS,
727 450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
728 { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
729 { 12, 3, 3, 0 },
730 0, 13, MST_DEEP_ELF_DEMONOLOGIST, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
731 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
732 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
736 MONS_DEEP_ELF_ANNIHILATOR, 'e', LIGHTBLUE, "deep elf annihilator",
737 M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS,
738 MR_NO_FLAGS,
739 450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
740 { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
741 { 15, 3, 3, 0 },
742 0, 13, MST_DEEP_ELF_ANNIHILATOR, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
743 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
744 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
748 MONS_DEEP_ELF_SORCERER, 'e', LIGHTMAGENTA, "deep elf sorcerer",
749 M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS,
750 MR_NO_FLAGS,
751 450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
752 { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
753 { 14, 3, 3, 0 },
754 0, 13, MST_DEEP_ELF_SORCERER, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
755 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
756 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
760 MONS_DEEP_ELF_DEATH_MAGE, 'e', WHITE, "deep elf death mage",
761 M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS,
762 MR_NO_FLAGS,
763 450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
764 { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
765 { 15, 3, 3, 0 },
766 0, 13, MST_DEEP_ELF_DEATH_MAGE, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
767 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
768 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
771 // fungi ('f')
773 MONS_TOADSTOOL, 'f', BLACK, "toadstool",
774 M_NO_EXP_GAIN | M_STATIONARY,
775 MR_RES_POISON,
776 0, 10, MONS_FUNGUS, MONS_TOADSTOOL, MH_PLANT, MAG_IMMUNE,
777 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
778 { 1, 2, 2, 0 },
779 1, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
780 I_PLANT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
781 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
785 MONS_FUNGUS, 'f', LIGHTGREY, "fungus",
786 M_NO_EXP_GAIN | M_STATIONARY,
787 MR_RES_POISON,
788 0, 10, MONS_FUNGUS, MONS_FUNGUS, MH_PLANT, MAG_IMMUNE,
789 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
790 { 8, 3, 5, 0 },
791 1, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
792 I_PLANT, HT_LAND, FL_NONE, 0, DEFAULT_ENERGY,
793 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
797 MONS_BALLISTOMYCETE, 'f', MAGENTA, "ballistomycete",
798 M_NO_EXP_GAIN | M_STATIONARY,
799 MR_RES_POISON,
800 0, 10, MONS_FUNGUS, MONS_BALLISTOMYCETE, MH_PLANT, MAG_IMMUNE,
801 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
802 { 4, 5, 3, 0 },
803 1, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
804 I_PLANT, HT_LAND, FL_NONE, 0, DEFAULT_ENERGY,
805 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
809 MONS_HYPERACTIVE_BALLISTOMYCETE, 'f', LIGHTRED, "hyperactive ballistomycete",
810 M_STATIONARY | M_NO_POLY_TO,
811 MR_RES_POISON,
812 0, 10, MONS_FUNGUS, MONS_BALLISTOMYCETE, MH_PLANT, MAG_IMMUNE,
813 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
814 // expected explosion damage: 25, expected HP: 60
815 { 6, 5, 10, 0 },
816 1, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
817 I_PLANT, HT_LAND, FL_NONE, 0, DEFAULT_ENERGY,
818 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
822 MONS_WANDERING_MUSHROOM, 'f', BROWN, "wandering mushroom",
823 M_NO_FLAGS,
824 MR_RES_POISON,
825 0, 10, MONS_FUNGUS, MONS_WANDERING_MUSHROOM, MH_PLANT, -3,
826 { {AT_SPORE, AF_CONFUSE, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
827 { 8, 3, 5, 0 },
828 5, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
829 I_PLANT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
830 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
833 // goblins ('g')
835 MONS_GOBLIN, 'g', LIGHTGREY, "goblin",
836 M_WARM_BLOOD | M_SPEAKS,
837 MR_NO_FLAGS,
838 400, 10, MONS_GOBLIN, MONS_GOBLIN, MH_NATURAL, -1,
839 { {AT_HIT, AF_PLAIN, 4}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
840 { 1, 2, 4, 0 },
841 0, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
842 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
843 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_SMALL
847 MONS_HOBGOBLIN, 'g', BROWN, "hobgoblin",
848 M_WARM_BLOOD | M_SPEAKS,
849 MR_NO_FLAGS,
850 500, 10, MONS_GOBLIN, MONS_HOBGOBLIN, MH_NATURAL, -1,
851 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
852 { 1, 4, 3, 0 },
853 2, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
854 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
855 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
859 MONS_GNOLL, 'g', YELLOW, "gnoll",
860 M_WARM_BLOOD | M_SPEAKS,
861 MR_NO_FLAGS,
862 680, 10, MONS_GNOLL, MONS_GNOLL, MH_NATURAL, -3,
863 { {AT_HIT, AF_PLAIN, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
864 { 2, 4, 5, 0 },
865 2, 9, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
866 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
867 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
871 MONS_BOGGART, 'g', MAGENTA, "boggart",
872 M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_WARM_BLOOD,
873 MR_NO_FLAGS,
874 0, 14, MONS_BOGGART, MONS_BOGGART, MH_NATURAL, -7,
875 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
876 { 2, 3, 5, 0 },
877 0, 12, MST_BOGGART, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
878 I_NORMAL, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
879 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LITTLE
882 // hounds and hogs ('h')
884 MONS_JACKAL, 'h', BROWN, "jackal",
885 M_WARM_BLOOD | M_BLOOD_SCENT,
886 MR_NO_FLAGS,
887 360, 10, MONS_HOUND, MONS_JACKAL, MH_NATURAL, -1,
888 { {AT_BITE, AF_PLAIN, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
889 { 1, 3, 5, 0 },
890 2, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_BARK,
891 I_ANIMAL, HT_LAND, FL_NONE, 14, DEFAULT_ENERGY,
892 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
896 MONS_HOUND, 'h', YELLOW, "hound",
897 M_SENSE_INVIS | M_WARM_BLOOD | M_BLOOD_SCENT,
898 MR_NO_FLAGS,
899 300, 10, MONS_HOUND, MONS_HOUND, MH_NATURAL, -3,
900 { {AT_BITE, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
901 { 3, 3, 5, 0 },
902 2, 13, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_BARK,
903 I_ANIMAL, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
904 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
908 MONS_WARG, 'h', WHITE, "warg",
909 M_SENSE_INVIS | M_WARM_BLOOD | M_BLOOD_SCENT,
910 MR_RES_POISON,
911 750, 12, MONS_HOUND, MONS_WARG, MH_NATURAL, -6,
912 { {AT_BITE, AF_PLAIN, 12}, {AT_CLAW, AF_PLAIN, 3}, {AT_CLAW, AF_PLAIN, 3},
913 AT_NO_ATK },
914 { 4, 4, 5, 0 },
915 4, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_BARK,
916 I_ANIMAL, HT_LAND, FL_NONE, 13, DEFAULT_ENERGY,
917 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
921 MONS_WOLF, 'h', LIGHTGREY, "wolf",
922 M_SENSE_INVIS | M_WARM_BLOOD | M_BLOOD_SCENT,
923 MR_NO_FLAGS,
924 450, 10, MONS_HOUND, MONS_WOLF, MH_NATURAL, -3,
925 { {AT_BITE, AF_PLAIN, 8}, {AT_CLAW, AF_PLAIN, 2}, {AT_CLAW, AF_PLAIN, 2},
926 AT_NO_ATK },
927 { 4, 3, 5, 0 },
928 3, 15, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_BARK,
929 I_ANIMAL, HT_LAND, FL_NONE, 17, DEFAULT_ENERGY,
930 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
934 MONS_WAR_DOG, 'h', CYAN, "war dog",
935 M_SENSE_INVIS | M_WARM_BLOOD | M_BLOOD_SCENT,
936 MR_NO_FLAGS,
937 450, 19, MONS_HOUND, MONS_WAR_DOG, MH_NATURAL, -3,
938 { {AT_BITE, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
939 { 4, 3, 5, 0 },
940 4, 15, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_BARK,
941 I_ANIMAL, HT_LAND, FL_NONE, 17, DEFAULT_ENERGY,
942 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
946 MONS_HOG, 'h', RED, "hog",
947 M_WARM_BLOOD,
948 MR_NO_FLAGS,
949 450, 10, MONS_HOG, MONS_HOG, MH_NATURAL, -3,
950 { {AT_BITE, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
951 { 6, 3, 5, 0 },
952 2, 9, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
953 I_ANIMAL, HT_LAND, FL_NONE, 13, DEFAULT_ENERGY,
954 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
958 MONS_HELL_HOUND, 'h', LIGHTCYAN, "hell hound",
959 M_SENSE_INVIS | M_SPECIAL_ABILITY | M_BLOOD_SCENT,
960 MR_RES_POISON | MR_RES_HELLFIRE | MR_VUL_COLD,
961 450, 10, MONS_HOUND, MONS_HELL_HOUND, MH_DEMONIC, -3,
962 { {AT_BITE, AF_PLAIN, 13}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
963 { 5, 3, 5, 0 },
964 6, 13, MST_NO_SPELLS, CE_POISON_CONTAM, Z_NOZOMBIE, S_BARK,
965 I_ANIMAL, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
966 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
970 MONS_HELL_HOG, 'h', LIGHTRED, "hell hog",
971 M_SPELLCASTER | M_FAKE_SPELLS,
972 MR_NO_FLAGS,
973 450, 10, MONS_HOG, MONS_HELL_HOG, MH_DEMONIC, -3,
974 { {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
975 { 11, 3, 5, 0 },
976 2, 9, MST_HELL_HOG, CE_CLEAN, Z_NOZOMBIE, S_SILENT,
977 I_ANIMAL, HT_LAND, FL_NONE, 14, DEFAULT_ENERGY,
978 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
981 { // a dummy monster for recolouring
982 MONS_FELID, 'h', DARKGREY, "felid",
983 M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO,
984 MR_NO_FLAGS,
985 200, 10, MONS_FELID, MONS_FELID, MH_NATURAL, -6,
986 { {AT_CLAW, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
987 { 5, 2, 3, 0 },
988 2, 18, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_HISS,
989 I_HIGH, HT_LAND, FL_NONE, 11, DEFAULT_ENERGY,
990 MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_LITTLE
993 // spriggans ('i')
995 MONS_SPRIGGAN, 'i', LIGHTGREY, "spriggan",
996 M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS,
997 MR_NO_FLAGS,
998 200, 10, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, -7,
999 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1000 { 7, 2, 2, 0 },
1001 1, 20, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
1002 I_HIGH, HT_LAND, FL_NONE, 16, DEFAULT_ENERGY,
1003 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LITTLE
1006 { // both the guy and his ride as one monster
1007 MONS_SPRIGGAN_RIDER, 'i', LIGHTBLUE, "spriggan rider",
1008 M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_FIGHTER,
1009 MR_VUL_POISON, // the mount
1010 200, 10, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, -7,
1011 { {AT_HIT, AF_PLAIN, 21}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1012 { 11, 3, 2, 0 },
1013 1, 16, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1014 I_HIGH, HT_LAND, FL_FLY, 16, DEFAULT_ENERGY,
1015 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_SMALL
1019 MONS_SPRIGGAN_DRUID, 'i', GREEN, "spriggan druid",
1020 M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_SPELLCASTER | M_ACTUAL_SPELLS,
1021 MR_NO_FLAGS,
1022 200, 10, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, -7,
1023 { {AT_HIT, AF_PLAIN, 16}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1024 { 12, 2, 2, 0 },
1025 1, 25, MST_SPRIGGAN_DRUID, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
1026 I_HIGH, HT_LAND, FL_NONE, 16, DEFAULT_ENERGY,
1027 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LITTLE
1031 MONS_SPRIGGAN_BERSERKER, 'i', LIGHTRED, "spriggan berserker",
1032 M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_FIGHTER | M_PRIEST,
1033 MR_NO_FLAGS,
1034 200, 10, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, -7,
1035 { {AT_HIT, AF_PLAIN, 21}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1036 { 12, 2, 2, 0 },
1037 2, 25, MST_BK_TROG, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
1038 I_NORMAL, HT_LAND, FL_NONE, 16, DEFAULT_ENERGY,
1039 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LITTLE
1043 MONS_SPRIGGAN_DEFENDER, 'i', YELLOW, "spriggan defender",
1044 M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_FIGHTER,
1045 MR_NO_FLAGS,
1046 200, 10, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, -7,
1047 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1048 { 15, 2, 2, 0 },
1049 3, 30, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
1050 I_HIGH, HT_LAND, FL_NONE, 16, DEFAULT_ENERGY,
1051 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LITTLE
1055 MONS_THE_ENCHANTRESS, 'i', LIGHTMAGENTA, "the Enchantress",
1056 M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_UNIQUE
1057 | M_SPELLCASTER | M_ACTUAL_SPELLS | M_DEFLECT_MISSILES
1058 | M_PHASE_SHIFT,
1059 MR_NO_FLAGS,
1060 200, 10, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, -7,
1061 { {AT_HIT, AF_PLAIN, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1062 { 15, 2, 2, 0 },
1063 1, 40, MST_THE_ENCHANTRESS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
1064 I_HIGH, HT_LAND, FL_NONE, 16, DEFAULT_ENERGY,
1065 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LITTLE
1068 // slugs ('j')
1070 MONS_GIANT_SLUG, 'j', GREEN, "giant slug",
1071 M_NO_SKELETON,
1072 MR_NO_FLAGS,
1073 850, 4, MONS_GIANT_SLUG, MONS_GIANT_SLUG, MH_NATURAL, -3,
1074 { {AT_BITE, AF_PLAIN, 23}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1075 { 10, 5, 3, 0 },
1076 0, 2, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_SILENT,
1077 I_INSECT, HT_AMPHIBIOUS, FL_NONE, 6, DEFAULT_ENERGY,
1078 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
1082 MONS_AGATE_SNAIL, 'j', LIGHTGREEN, "agate snail",
1083 M_NO_SKELETON,
1084 MR_NO_FLAGS,
1085 950, 2, MONS_GIANT_SLUG, MONS_AGATE_SNAIL, MH_NATURAL, -3,
1086 { {AT_BITE, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1087 { 14, 5, 3, 0 },
1088 7, 2, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_SILENT,
1089 I_INSECT, HT_AMPHIBIOUS, FL_NONE, 4, DEFAULT_ENERGY,
1090 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
1094 MONS_ELEPHANT_SLUG, 'j', LIGHTGREY, "elephant slug",
1095 M_NO_SKELETON,
1096 MR_VUL_POISON,
1097 1800, 5, MONS_GIANT_SLUG, MONS_ELEPHANT_SLUG, MH_NATURAL, -3,
1098 { {AT_BITE, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1099 { 20, 5, 3, 0 },
1100 2, 1, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_SILENT,
1101 I_INSECT, HT_LAND, FL_NONE, 4, DEFAULT_ENERGY,
1102 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
1105 // killer bees ('k')
1107 MONS_QUEEN_BEE, 'k', YELLOW, "queen bee",
1108 M_NO_SKELETON,
1109 MR_VUL_POISON,
1110 300, 14, MONS_KILLER_BEE, MONS_QUEEN_BEE, MH_NATURAL, -3,
1111 { {AT_STING, AF_POISON_NASTY, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1112 { 7, 3, 5, 0 },
1113 10, 10, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
1114 I_INSECT, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
1115 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
1119 MONS_KILLER_BEE, 'k', BROWN, "killer bee",
1120 M_NO_SKELETON,
1121 MR_VUL_POISON,
1122 150, 11, MONS_KILLER_BEE, MONS_KILLER_BEE, MH_NATURAL, -3,
1123 { {AT_STING, AF_POISON, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1124 { 3, 3, 5, 0 },
1125 2, 18, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_BUZZ,
1126 I_INSECT, HT_LAND, FL_FLY, 20, DEFAULT_ENERGY,
1127 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
1131 MONS_BUMBLEBEE, 'k', RED, "bumblebee",
1132 M_NO_SKELETON,
1133 MR_VUL_POISON,
1134 200, 10, MONS_KILLER_BEE, MONS_BUMBLEBEE, MH_NATURAL, -3,
1135 { {AT_STING, AF_POISON_MEDIUM, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1136 { 7, 3, 5, 0 },
1137 4, 15, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_BUZZ,
1138 I_INSECT, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
1139 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
1143 MONS_KILLER_BEE_LARVA, 'k', LIGHTGREY, "killer bee larva",
1144 M_NO_SKELETON,
1145 MR_VUL_POISON,
1146 100, 5, MONS_KILLER_BEE, MONS_KILLER_BEE_LARVA, MH_NATURAL, -3,
1147 { {AT_BITE, AF_PLAIN, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1148 { 1, 3, 5, 0 },
1149 1, 5, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
1150 I_PLANT, HT_LAND, FL_NONE, 5, DEFAULT_ENERGY,
1151 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
1155 MONS_FIREFLY, 'k', LIGHTBLUE, "giant firefly",
1156 M_NO_SKELETON,
1157 MR_VUL_POISON,
1158 200, 10, MONS_FIREFLY, MONS_FIREFLY, MH_NATURAL, -7,
1159 { {AT_BITE, AF_PLAIN, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1160 { 7, 2, 2, 0 },
1161 1, 18, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SILENT,
1162 I_INSECT, HT_LAND, FL_FLY, 16, DEFAULT_ENERGY,
1163 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
1166 // lizards ('l')
1168 MONS_GIANT_NEWT, 'l', GREEN, "giant newt",
1169 M_COLD_BLOOD,
1170 MR_NO_FLAGS,
1171 170, 10, MONS_GIANT_NEWT, MONS_GIANT_NEWT, MH_NATURAL, -3,
1172 { {AT_BITE, AF_PLAIN, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1173 { 1, 1, 2, 0 },
1174 0, 15, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
1175 I_INSECT, HT_AMPHIBIOUS, FL_NONE, 10, SWIM_ENERGY(6),
1176 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
1180 MONS_GIANT_GECKO, 'l', YELLOW, "giant gecko",
1181 M_COLD_BLOOD,
1182 MR_NO_FLAGS,
1183 250, 16, MONS_GIANT_NEWT, MONS_GIANT_GECKO, MH_NATURAL, -3,
1184 { {AT_BITE, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1185 { 1, 3, 5, 0 },
1186 1, 14, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
1187 I_INSECT, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
1188 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
1192 MONS_IGUANA, 'l', BLUE, "iguana",
1193 M_COLD_BLOOD,
1194 MR_NO_FLAGS,
1195 400, 13, MONS_GIANT_NEWT, MONS_IGUANA, MH_NATURAL, -3,
1196 { {AT_BITE, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1197 { 3, 3, 5, 0 },
1198 5, 9, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_HISS,
1199 I_INSECT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1200 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
1204 // Old gila monster colour: a random color from ETC_GILA.
1205 MONS_GILA_MONSTER, 'l', MAGENTA, "gila monster",
1206 M_COLD_BLOOD,
1207 MR_NO_FLAGS,
1208 450, 10, MONS_GIANT_NEWT, MONS_GILA_MONSTER, MH_NATURAL, -3,
1209 { {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1210 { 5, 4, 4, 0 },
1211 3, 12, MST_NO_SPELLS, CE_POISON_CONTAM, Z_SMALL, S_HISS,
1212 I_INSECT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1213 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
1217 MONS_KOMODO_DRAGON, 'l', LIGHTRED, "komodo dragon",
1218 M_COLD_BLOOD,
1219 MR_NO_FLAGS,
1220 800, 10, MONS_GIANT_NEWT, MONS_KOMODO_DRAGON, MH_NATURAL, -3,
1221 { {AT_BITE, AF_DISEASE, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1222 { 8, 3, 5, 0 },
1223 7, 8, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_HISS,
1224 I_INSECT, HT_AMPHIBIOUS, FL_NONE, 10, SWIM_ENERGY(6),
1225 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
1228 // drakes (also 'l', but dragon type)
1230 MONS_SWAMP_DRAKE, 'l', BROWN, "swamp drake",
1231 M_SPELLCASTER | M_WARM_BLOOD | M_FAKE_SPELLS,
1232 MR_RES_POISON,
1233 900, 16, MONS_DRAGON, MONS_SWAMP_DRAKE, MH_NATURAL, -3,
1234 { {AT_BITE, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1235 { 4, 5, 5, 0 },
1236 3, 11, MST_SWAMP_DRAKE, CE_POISON_CONTAM, Z_BIG, S_ROAR,
1237 I_ANIMAL, HT_LAND, FL_FLY, 11, DEFAULT_ENERGY,
1238 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
1242 MONS_FIRE_DRAKE, 'l', RED, "fire drake",
1243 M_SPECIAL_ABILITY | M_WARM_BLOOD | M_FAKE_SPELLS,
1244 MR_RES_FIRE,
1245 1000, 10, MONS_DRAGON, MONS_FIRE_DRAKE, MH_NATURAL, -3,
1246 { {AT_BITE, AF_PLAIN, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1247 { 6, 3, 5, 0 },
1248 3, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SILENT,
1249 I_ANIMAL, HT_LAND, FL_FLY, 12, DEFAULT_ENERGY,
1250 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
1254 MONS_LINDWURM, 'l', LIGHTCYAN, "lindwurm",
1255 M_WARM_BLOOD | M_SPECIAL_ABILITY | M_GLOWS_LIGHT,
1256 MR_NO_FLAGS,
1257 950, 13, MONS_DRAGON, MONS_LINDWURM, MH_NATURAL, -3,
1258 { {AT_BITE, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 10},
1259 {AT_CLAW, AF_PLAIN, 10}, AT_NO_ATK },
1260 { 9, 3, 5, 0 },
1261 8, 6, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_ROAR,
1262 I_INSECT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1263 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
1267 MONS_DEATH_DRAKE, 'l', LIGHTGREY, "death drake",
1268 M_SPELLCASTER | M_COLD_BLOOD | M_FAKE_SPELLS,
1269 MR_RES_POISON | MR_RES_ROTTING,
1270 900, 11, MONS_DRAGON, MONS_DEATH_DRAKE, MH_NATURAL, -3,
1271 { {AT_BITE, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1272 { 9, 5, 7, 0 },
1273 6, 14, MST_DEATH_DRAKE, CE_HCL, Z_BIG, S_ROAR,
1274 I_ANIMAL, HT_LAND, FL_FLY, 13, DEFAULT_ENERGY,
1275 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
1278 // merfolk ('m')
1280 MONS_MERFOLK, 'm', BLUE, "merfolk",
1281 M_WARM_BLOOD | M_SPEAKS,
1282 MR_NO_FLAGS,
1283 500, 4, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, -3,
1284 { {AT_HIT, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1285 { 9, 2, 4, 0 },
1286 4, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
1287 I_NORMAL, HT_AMPHIBIOUS, FL_NONE, 10, SWIM_ENERGY(6),
1288 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1292 MONS_MERFOLK_IMPALER, 'm', LIGHTBLUE, "merfolk impaler",
1293 M_WARM_BLOOD | M_SPEAKS,
1294 MR_NO_FLAGS,
1295 500, 8, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, -3,
1296 { {AT_HIT, AF_PLAIN, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1297 { 12, 5, 4, 0 },
1298 // Impalers prefer light armour, and are dodging experts.
1299 0, 18, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1300 I_NORMAL, HT_AMPHIBIOUS, FL_NONE, 10, ATTACK_ENERGY(6) | SWIM_ENERGY(6),
1301 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1305 MONS_MERFOLK_JAVELINEER, 'm', LIGHTGREY, "merfolk javelineer",
1306 M_WARM_BLOOD | M_ARCHER | M_SPEAKS,
1307 MR_NO_FLAGS,
1308 500, 8, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, -4,
1309 { {AT_SHOOT, AF_PLAIN, 16}, {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK },
1310 { 13, 5, 2, 0 },
1311 0, 14, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1312 I_NORMAL, HT_AMPHIBIOUS, FL_NONE, 10, SWIM_ENERGY(6),
1313 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1317 MONS_MERFOLK_AQUAMANCER, 'm', GREEN, "merfolk aquamancer",
1318 M_WARM_BLOOD | M_SPELLCASTER | M_ACTUAL_SPELLS | M_SPEAKS,
1319 MR_NO_FLAGS,
1320 500, 8, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, -4,
1321 { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1322 { 15, 3, 3, 0 },
1323 0, 12, MST_MERFOLK_AQUAMANCER, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1324 I_NORMAL, HT_AMPHIBIOUS, FL_NONE, 10, SWIM_ENERGY(6),
1325 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1329 MONS_MERMAID, 'm', CYAN, "mermaid",
1330 M_SPELLCASTER | M_WARM_BLOOD | M_SPEAKS,
1331 MR_NO_FLAGS,
1332 500, 10, MONS_MERMAID, MONS_MERMAID, MH_NATURAL, -5,
1333 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1334 { 8, 3, 3, 0 },
1335 4, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
1336 I_NORMAL, HT_AMPHIBIOUS, FL_NONE, 10, SWIM_ENERGY(6),
1337 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1341 MONS_SIREN, 'm', LIGHTCYAN, "siren",
1342 M_SPELLCASTER | M_WARM_BLOOD | M_SPEAKS,
1343 MR_NO_FLAGS,
1344 500, 10, MONS_MERMAID, MONS_SIREN, MH_NATURAL, -7,
1345 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1346 { 13, 5, 3, 0 },
1347 4, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
1348 I_NORMAL, HT_AMPHIBIOUS, FL_NONE, 10, SWIM_ENERGY(6),
1349 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1352 // rotting monsters ('n')
1354 MONS_NECROPHAGE, 'n', LIGHTGREY, "necrophage",
1355 M_NO_FLAGS,
1356 MR_RES_COLD,
1357 500, 12, MONS_GHOUL, MONS_NECROPHAGE, MH_UNDEAD, -5,
1358 { {AT_HIT, AF_ROT, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1359 { 5, 3, 5, 0 },
1360 2, 10, MST_NO_SPELLS, CE_HCL, Z_NOZOMBIE, S_SILENT,
1361 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1362 MONUSE_WEAPONS_ARMOUR, MONEAT_CORPSES, SIZE_MEDIUM
1366 MONS_GHOUL, 'n', RED, "ghoul",
1367 M_NO_FLAGS,
1368 MR_RES_COLD,
1369 500, 24, MONS_GHOUL, MONS_GHOUL, MH_UNDEAD, -5,
1370 { {AT_HIT, AF_PLAIN, 4}, {AT_CLAW, AF_ROT, 9}, AT_NO_ATK, AT_NO_ATK },
1371 { 4, 3, 5, 0 },
1372 4, 10, MST_NO_SPELLS, CE_HCL, Z_NOZOMBIE, S_SILENT,
1373 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1374 MONUSE_WEAPONS_ARMOUR, MONEAT_CORPSES, SIZE_MEDIUM
1378 MONS_ROTTING_HULK, 'n', BROWN, "rotting hulk",
1379 M_NO_FLAGS,
1380 MR_RES_COLD,
1381 780, 10, MONS_GHOUL, MONS_ROTTING_HULK, MH_UNDEAD, -5,
1382 { {AT_HIT, AF_DISEASE, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1383 { 10, 3, 5, 0 },
1384 5, 7, MST_NO_SPELLS, CE_HCL, Z_NOZOMBIE, S_SILENT,
1385 I_NORMAL, HT_LAND, FL_NONE, 8, DEFAULT_ENERGY,
1386 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
1389 // orcs ('o')
1391 MONS_ORC, 'o', LIGHTRED, "orc",
1392 M_WARM_BLOOD | M_SPEAKS,
1393 MR_NO_FLAGS,
1394 600, 10, MONS_ORC, MONS_ORC, MH_NATURAL, -3,
1395 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1396 { 1, 4, 6, 0 },
1397 0, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
1398 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1399 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1403 MONS_ORC_WIZARD, 'o', MAGENTA, "orc wizard",
1404 M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
1405 MR_NO_FLAGS,
1406 600, 10, MONS_ORC, MONS_ORC, MH_NATURAL, -5,
1407 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1408 { 3, 3, 4, 0 },
1409 1, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1410 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1411 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1415 MONS_ORC_PRIEST, 'o', GREEN, "orc priest",
1416 M_SPELLCASTER | M_PRIEST | M_WARM_BLOOD | M_SPEAKS,
1417 MR_NO_FLAGS,
1418 600, 10, MONS_ORC, MONS_ORC, MH_NATURAL, -4,
1419 { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1420 { 3, 3, 4, 0 },
1421 1, 10, MST_ORC_PRIEST, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1422 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1423 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1427 MONS_ORC_WARRIOR, 'o', YELLOW, "orc warrior",
1428 M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
1429 MR_NO_FLAGS,
1430 600, 16, MONS_ORC, MONS_ORC, MH_NATURAL, -3,
1431 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1432 { 4, 4, 6, 0 },
1433 0, 13, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1434 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1435 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1439 MONS_ORC_KNIGHT, 'o', CYAN, "orc knight",
1440 M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
1441 MR_NO_FLAGS,
1442 600, 10, MONS_ORC, MONS_ORC, MH_NATURAL, -3,
1443 { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1444 { 9, 4, 7, 0 },
1445 2, 13, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1446 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1447 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1451 MONS_ORC_WARLORD, 'o', LIGHTCYAN, "orc warlord",
1452 M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
1453 MR_NO_FLAGS,
1454 600, 11, MONS_ORC, MONS_ORC, MH_NATURAL, -3,
1455 { {AT_HIT, AF_PLAIN, 32}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1456 { 15, 4, 7, 0 },
1457 3, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1458 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1459 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1463 MONS_ORC_SORCERER, 'o', LIGHTMAGENTA, "orc sorcerer",
1464 M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS | M_ACTUAL_SPELLS
1465 | M_WARM_BLOOD,
1466 MR_RES_FIRE,
1467 600, 12, MONS_ORC, MONS_ORC, MH_NATURAL, -3,
1468 { {AT_HIT, AF_PLAIN, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1469 { 9, 2, 3, 0 },
1470 5, 12, MST_ORC_SORCERER, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1471 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1472 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1476 MONS_ORC_HIGH_PRIEST, 'o', LIGHTGREEN, "orc high priest",
1477 M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS | M_PRIEST | M_WARM_BLOOD,
1478 MR_RES_HELLFIRE,
1479 600, 10, MONS_ORC, MONS_ORC, MH_NATURAL, -4,
1480 { {AT_HIT, AF_PLAIN, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1481 { 11, 3, 4, 0 },
1482 1, 12, MST_ORC_HIGH_PRIEST, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1483 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1484 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1487 // phantoms and ghosts ('p')
1489 // Dummy monster, just for the genus.
1490 { // never spawns
1491 MONS_GHOST, 'p', LIGHTGREY, "ghost",
1492 M_INSUBSTANTIAL | M_NO_POLY_TO,
1493 MR_NO_FLAGS,
1494 0, 0, MONS_GHOST, MONS_GHOST, MH_UNDEAD, 0,
1495 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1496 { 1, 1, 0, 0 },
1497 0, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
1498 I_NORMAL, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
1499 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
1502 // XP modifier is 5 for these, because they really aren't all that
1503 // dangerous, but still come out at 200+ XP
1505 MONS_PHANTOM, 'p', BLUE, "phantom",
1506 M_SPECIAL_ABILITY | M_INSUBSTANTIAL,
1507 mrd(MR_RES_COLD, 2),
1508 0, 5, MONS_GHOST, MONS_PHANTOM, MH_UNDEAD, -4,
1509 { {AT_HIT, AF_BLINK, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1510 { 7, 3, 5, 0 },
1511 3, 13, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
1512 I_NORMAL, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
1513 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
1517 MONS_HUNGRY_GHOST, 'p', GREEN, "hungry ghost",
1518 M_SENSE_INVIS | M_INSUBSTANTIAL | M_SPEAKS,
1519 mrd(MR_RES_COLD, 2),
1520 0, 8, MONS_GHOST, MONS_HUNGRY_GHOST, MH_UNDEAD, -4,
1521 { {AT_HIT, AF_HUNGER, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1522 { 7, 3, 5, 0 },
1523 0, 17, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
1524 I_NORMAL, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
1525 MONUSE_OPEN_DOORS, MONEAT_CORPSES, SIZE_MEDIUM
1529 MONS_FLAYED_GHOST, 'p', RED, "flayed ghost",
1530 M_INSUBSTANTIAL | M_SPEAKS,
1531 MR_NO_FLAGS,
1532 0, 10, MONS_GHOST, MONS_FLAYED_GHOST, MH_UNDEAD, -4,
1533 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1534 { 11, 3, 5, 0 },
1535 0, 14, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
1536 I_NORMAL, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
1537 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
1540 // player ghost - stats are stored in ghost struct
1542 MONS_PLAYER_GHOST, 'p', WHITE, "player ghost",
1543 M_FIGHTER | M_SPEAKS | M_SPELLCASTER | M_ACTUAL_SPELLS
1544 | M_INSUBSTANTIAL | M_NO_POLY_TO,
1545 MR_NO_FLAGS,
1546 0, 15, MONS_GHOST, MONS_PLAYER_GHOST, MH_UNDEAD, -5,
1547 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1548 { 4, 2, 3, 0 },
1549 1, 2, MST_GHOST, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
1550 I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
1551 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
1554 // player illusion (Mara) - stats are stored in ghost struct. Undead/demonic
1555 // flags are set based on the current player's species!
1557 MONS_PLAYER_ILLUSION, '@', WHITE, "player illusion",
1558 M_FIGHTER | M_SPEAKS | M_SPELLCASTER | M_ACTUAL_SPELLS | M_INSUBSTANTIAL
1559 | M_NO_POLY_TO,
1560 MR_RES_POISON,
1561 0, 15, MONS_PLAYER_ILLUSION, MONS_PLAYER_ILLUSION, MH_NATURAL, -5,
1562 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1563 { 4, 2, 3, 0 },
1564 1, 2, MST_GHOST, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
1565 I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
1566 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
1570 MONS_SHADOW, 'p', MAGENTA, "shadow",
1571 M_SEE_INVIS | M_INSUBSTANTIAL | M_GLOWS_LIGHT,
1572 mrd(MR_RES_COLD, 3),
1573 0, 16, MONS_WRAITH, MONS_SHADOW, MH_UNDEAD, -5,
1574 { {AT_HIT, AF_DRAIN_STR, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1575 { 3, 3, 5, 0 },
1576 12, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
1577 I_ANIMAL, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
1578 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_SMALL
1582 MONS_SILENT_SPECTRE, 'p', CYAN, "silent spectre",
1583 M_SPEAKS /* uh... */ | M_SEE_INVIS | M_INSUBSTANTIAL,
1584 mrd(MR_RES_COLD, 3),
1585 0, 10, MONS_WRAITH, MONS_SILENT_SPECTRE, MH_UNDEAD, -4,
1586 { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1587 { 8, 3, 5, 0 },
1588 5, 15, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
1589 I_NORMAL, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
1590 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
1594 MONS_SPIRIT, 'p', YELLOW, "spirit",
1595 M_SPELLCASTER | M_INSUBSTANTIAL | M_FLEEING | M_UNFINISHED,
1596 MR_RES_POISON,
1597 0, 5, MONS_SPIRIT, MONS_SPIRIT, MH_HOLY, -4,
1598 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1599 { 7, 5, 5, 0 },
1600 3, 19, MST_SPIRIT, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
1601 I_NORMAL, HT_LAND, FL_LEVITATE, 4, DEFAULT_ENERGY,
1602 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
1605 // never spawned as a monster.
1607 MONS_PLAYER, '@', LIGHTGREY, "player",
1608 M_SPEAKS | M_NO_POLY_TO,
1609 MR_NO_FLAGS,
1610 0, 15, MONS_PLAYER_ILLUSION, MONS_PLAYER_ILLUSION, MH_NATURAL, -5,
1611 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1612 { 4, 2, 3, 0 },
1613 0, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
1614 I_HIGH /*uh huh, sure sure*/, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1615 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1618 // dwarves ('q')
1619 { // Another dummy monster. Zombies and poly allowed.
1620 MONS_DWARF, 'q', LIGHTGREY, "dwarf",
1621 M_WARM_BLOOD | M_SPEAKS,
1622 MR_NO_FLAGS,
1623 550, 10, MONS_DWARF, MONS_DWARF, MH_NATURAL, -3,
1624 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1625 { 5, 3, 5, 0 },
1626 2, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
1627 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1628 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1632 MONS_DEEP_DWARF, 'q', BROWN, "deep dwarf",
1633 M_WARM_BLOOD | M_SPEAKS | M_NO_REGEN,
1634 MR_NO_FLAGS,
1635 600, 10, MONS_DWARF, MONS_DEEP_DWARF, MH_NATURAL, -6,
1636 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1637 { 5, 3, 5, 0 },
1638 2, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
1639 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1640 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1644 MONS_DEEP_DWARF_SCION, 'q', YELLOW, "deep dwarf scion",
1645 M_WARM_BLOOD | M_SPEAKS | M_NO_REGEN,
1646 MR_NO_FLAGS,
1647 600, 10, MONS_DWARF, MONS_DEEP_DWARF, MH_NATURAL, -6,
1648 { {AT_HIT, AF_PLAIN, 16}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1649 { 6, 5, 6, 0 },
1650 2, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1651 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1652 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1656 MONS_DEEP_DWARF_ARTIFICER, 'q', BLUE, "deep dwarf artificer",
1657 M_WARM_BLOOD | M_SPEAKS | M_NO_REGEN,
1658 MR_NO_FLAGS,
1659 600, 10, MONS_DWARF, MONS_DEEP_DWARF, MH_NATURAL, -6,
1660 { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1661 { 7, 3, 5, 0 },
1662 2, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1663 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1664 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1668 MONS_DEEP_DWARF_NECROMANCER, 'q', MAGENTA, "deep dwarf necromancer",
1669 M_WARM_BLOOD | M_SPELLCASTER | M_ACTUAL_SPELLS | M_SPEAKS | M_NO_REGEN,
1670 MR_NO_FLAGS,
1671 600, 10, MONS_DWARF, MONS_DEEP_DWARF, MH_NATURAL, -6,
1672 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1673 { 7, 3, 5, 0 },
1674 2, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1675 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1676 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1680 MONS_DEEP_DWARF_BERSERKER, 'q', LIGHTRED, "deep dwarf berserker",
1681 M_WARM_BLOOD | M_SPELLCASTER | M_PRIEST | M_SPEAKS | M_NO_REGEN,
1682 MR_NO_FLAGS,
1683 600, 10, MONS_DWARF, MONS_DEEP_DWARF, MH_NATURAL, -6,
1684 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1685 { 8, 5, 7, 0 },
1686 2, 12, MST_BK_TROG, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1687 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1688 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1692 MONS_DEEP_DWARF_DEATH_KNIGHT, 'q', GREEN, "deep dwarf death knight",
1693 M_WARM_BLOOD | M_SPELLCASTER | M_PRIEST | M_SPEAKS | M_NO_REGEN,
1694 MR_NO_FLAGS,
1695 600, 12, MONS_DWARF, MONS_DEEP_DWARF, MH_NATURAL, -6,
1696 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1697 { 9, 5, 6, 0 },
1698 2, 12, MST_BK_YREDELEMNUL, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1699 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1700 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1704 MONS_UNBORN_DEEP_DWARF, 'q', WHITE, "unborn deep dwarf",
1705 M_SPELLCASTER | M_ACTUAL_SPELLS | M_SPEAKS | M_NO_REGEN,
1706 MR_RES_COLD,
1707 600, 14, MONS_DWARF, MONS_DEEP_DWARF, MH_UNDEAD, -8,
1708 { {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1709 { 11, 5, 4, 0 },
1710 2, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
1711 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1712 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1715 { // one vault. Polymorph disabled.
1716 MONS_GNOME, 'q', LIGHTBLUE, "gnome",
1717 M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO,
1718 MR_NO_FLAGS,
1719 400, 10, MONS_GNOME, MONS_GNOME, MH_NATURAL, -3,
1720 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1721 { 5, 3, 5, 0 },
1722 2, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
1723 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1724 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_SMALL
1727 // rodents ('r')
1729 MONS_RAT, 'r', BROWN, "rat",
1730 M_WARM_BLOOD,
1731 MR_NO_FLAGS,
1732 200, 1, MONS_RAT, MONS_RAT, MH_NATURAL, -1,
1733 { {AT_BITE, AF_PLAIN, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1734 { 1, 1, 3, 0 },
1735 1, 10, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
1736 I_ANIMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1737 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
1741 MONS_QUOKKA, 'r', WHITE, "quokka",
1742 M_WARM_BLOOD,
1743 MR_NO_FLAGS,
1744 300, 10, MONS_QUOKKA, MONS_QUOKKA, MH_NATURAL, -1,
1745 { {AT_BITE, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1746 { 1, 3, 5, 0 },
1747 2, 13, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
1748 I_ANIMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1749 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
1753 MONS_GREY_RAT, 'r', LIGHTGREY, "grey rat",
1754 M_WARM_BLOOD,
1755 MR_NO_FLAGS,
1756 220, 26, MONS_RAT, MONS_GREY_RAT, MH_NATURAL, -3,
1757 { {AT_BITE, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1758 { 1, 3, 6, 0 },
1759 2, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SILENT,
1760 I_ANIMAL, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
1761 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
1765 MONS_GREEN_RAT, 'r', LIGHTGREEN, "green rat",
1766 M_WARM_BLOOD,
1767 MR_NO_FLAGS,
1768 220, 13, MONS_RAT, MONS_GREEN_RAT, MH_NATURAL, -3,
1769 { {AT_BITE, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1770 { 2, 3, 5, 0 },
1771 5, 11, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
1772 I_ANIMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1773 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
1777 MONS_ORANGE_RAT, 'r', LIGHTRED, "orange rat",
1778 M_WARM_BLOOD | M_GLOWS_LIGHT,
1779 MR_NO_FLAGS,
1780 300, 10, MONS_RAT, MONS_ORANGE_RAT, MH_NATURAL, -3,
1781 { {AT_BITE, AF_DRAIN_XP, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1782 { 3, 3, 5, 0 },
1783 7, 10, MST_NO_SPELLS, CE_POISON_CONTAM, Z_SMALL, S_ROAR,
1784 I_ANIMAL, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
1785 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
1789 MONS_LABORATORY_RAT, 'r', BLACK, "laboratory rat",
1790 M_WARM_BLOOD | M_SPELLCASTER,
1791 MR_NO_FLAGS,
1792 300, 10, MONS_RAT, MONS_LABORATORY_RAT, MH_NATURAL, -3,
1793 { {AT_BITE, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1794 { 4, 3, 5, 0 },
1795 5, 5, MST_NO_SPELLS, CE_POISON_CONTAM, Z_NOZOMBIE, S_ROAR,
1796 I_ANIMAL, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
1797 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
1801 MONS_PORCUPINE, 'r', BLUE, "porcupine",
1802 M_WARM_BLOOD,
1803 MR_NO_FLAGS,
1804 220, 26, MONS_RAT, MONS_PORCUPINE, MH_NATURAL, -3,
1805 { {AT_BITE, AF_PLAIN, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1806 { 2, 3, 6, 0 },
1807 2, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SILENT,
1808 I_ANIMAL, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
1809 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
1812 // spiders and insects ('s')
1814 MONS_GIANT_COCKROACH, 's', BROWN, "giant cockroach",
1815 M_NO_SKELETON,
1816 MR_VUL_POISON,
1817 250, 10, MONS_GIANT_COCKROACH, MONS_GIANT_COCKROACH, MH_NATURAL, -1,
1818 { {AT_BITE, AF_PLAIN, 2}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1819 { 1, 3, 4, 0 },
1820 3, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SILENT,
1821 I_INSECT, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
1822 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
1826 MONS_GIANT_MITE, 's', LIGHTRED, "giant mite",
1827 M_NO_SKELETON,
1828 MR_VUL_POISON,
1829 300, 10, MONS_GIANT_MITE, MONS_GIANT_MITE, MH_NATURAL, -1,
1830 { {AT_BITE, AF_POISON, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1831 { 2, 3, 5, 0 },
1832 1, 7, MST_NO_SPELLS, CE_POISON_CONTAM, Z_SMALL, S_SILENT,
1833 I_INSECT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1834 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
1838 MONS_GIANT_CENTIPEDE, 's', GREEN, "giant centipede",
1839 M_NO_SKELETON,
1840 MR_VUL_POISON,
1841 250, 10, MONS_GIANT_CENTIPEDE, MONS_GIANT_CENTIPEDE, MH_NATURAL, -3,
1842 { {AT_STING, AF_POISON_NASTY, 2}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1843 { 2, 3, 3, 0 },
1844 2, 14, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
1845 I_INSECT, HT_LAND, FL_NONE, 13, DEFAULT_ENERGY,
1846 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
1850 MONS_SCORPION, 's', YELLOW, "scorpion",
1851 M_NO_SKELETON,
1852 MR_VUL_POISON,
1853 320, 13, MONS_SCORPION, MONS_SCORPION, MH_NATURAL, -3,
1854 { {AT_STING, AF_POISON_MEDIUM, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1855 { 3, 3, 5, 0 },
1856 5, 10, MST_NO_SPELLS, CE_POISON_CONTAM, Z_SMALL, S_SILENT,
1857 I_INSECT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1858 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
1862 MONS_EMPEROR_SCORPION, 's', LIGHTGREY, "emperor scorpion",
1863 M_NO_SKELETON,
1864 MR_VUL_POISON,
1865 900, 10, MONS_SCORPION, MONS_EMPEROR_SCORPION, MH_NATURAL, -3,
1866 { {AT_STING, AF_POISON_MEDIUM, 30}, {AT_HIT, AF_PLAIN, 11},
1867 {AT_HIT, AF_PLAIN, 11}, AT_NO_ATK },
1868 { 11, 3, 5, 0 },
1869 5, 8, MST_NO_SPELLS, CE_POISON_CONTAM, Z_BIG, S_SILENT,
1870 I_INSECT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1871 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
1875 MONS_SPIDER, 's', CYAN, "spider",
1876 M_NO_SKELETON,
1877 MR_VUL_POISON,
1878 250, 10, MONS_SPIDER, MONS_SPIDER, MH_NATURAL, -3,
1879 { {AT_BITE, AF_POISON_MEDIUM, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1880 { 3, 3, 5, 0 },
1881 3, 10, MST_NO_SPELLS, CE_POISON_CONTAM, Z_SMALL, S_HISS,
1882 I_INSECT, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
1883 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
1887 MONS_TARANTELLA, 's', LIGHTMAGENTA, "tarantella",
1888 M_NO_SKELETON,
1889 MR_VUL_POISON,
1890 300, 10, MONS_SPIDER, MONS_TARANTELLA, MH_NATURAL, -3,
1891 { {AT_BITE, AF_CONFUSE, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1892 { 4, 3, 5, 0 },
1893 3, 14, MST_NO_SPELLS, CE_POISON_CONTAM, Z_SMALL, S_HISS,
1894 I_INSECT, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
1895 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
1899 MONS_JUMPING_SPIDER, 's', LIGHTBLUE, "jumping spider",
1900 M_NO_SKELETON | M_SPELLCASTER,
1901 MR_VUL_POISON,
1902 300, 10, MONS_SPIDER, MONS_JUMPING_SPIDER, MH_NATURAL, -3,
1903 { {AT_BITE, AF_POISON_MEDIUM, 16}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1904 { 5, 3, 5, 0 },
1905 6, 12, MST_JUMPING_SPIDER, CE_POISON_CONTAM, Z_SMALL, S_HISS,
1906 I_INSECT, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
1907 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
1911 MONS_WOLF_SPIDER, 's', WHITE, "wolf spider",
1912 M_NO_SKELETON,
1913 MR_VUL_POISON,
1914 900, 10, MONS_SPIDER, MONS_WOLF_SPIDER, MH_NATURAL, -3,
1915 { {AT_BITE, AF_POISON_MEDIUM, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1916 { 8, 3, 5, 0 },
1917 3, 10, MST_NO_SPELLS, CE_POISON_CONTAM, Z_BIG, S_HISS,
1918 I_INSECT, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
1919 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
1923 MONS_TRAPDOOR_SPIDER, 's', LIGHTCYAN, "trapdoor spider",
1924 M_NO_SKELETON | M_SUBMERGES,
1925 MR_VUL_POISON,
1926 240, 10, MONS_SPIDER, MONS_TRAPDOOR_SPIDER, MH_NATURAL, -3,
1927 { {AT_BITE, AF_POISON_MEDIUM, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1928 { 8, 3, 5, 0 },
1929 // XXX: Will be Z_SMALL, but is Z_NOZOMBIE until code for zombie
1930 // spawns is no longer based on zombie size.
1931 3, 10, MST_NO_SPELLS, CE_POISON_CONTAM, Z_NOZOMBIE, S_HISS,
1932 I_INSECT, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
1933 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
1937 MONS_REDBACK, 's', RED, "redback",
1938 M_NO_SKELETON,
1939 MR_VUL_POISON,
1940 130, 14, MONS_SPIDER, MONS_REDBACK, MH_NATURAL, -3,
1941 { {AT_BITE, AF_POISON_STRONG, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1942 { 6, 3, 5, 0 },
1943 2, 12, MST_NO_SPELLS, CE_POISON_CONTAM, Z_SMALL, S_SILENT,
1944 I_INSECT, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
1945 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
1949 MONS_DEMONIC_CRAWLER, 's', LIGHTGREEN, "demonic crawler",
1950 M_NO_SKELETON | M_SEE_INVIS,
1951 MR_RES_ELEC | MR_RES_POISON | MR_RES_COLD | MR_RES_FIRE,
1952 900, 12, MONS_DEMONIC_CRAWLER, MONS_DEMONIC_CRAWLER, MH_DEMONIC, -6,
1953 { {AT_HIT, AF_PLAIN, 13}, {AT_HIT, AF_PLAIN, 13}, {AT_HIT, AF_PLAIN, 13},
1954 AT_NO_ATK },
1955 { 9, 3, 5, 0 },
1956 10, 6, MST_NO_SPELLS, CE_POISON_CONTAM, Z_NOZOMBIE, S_SCREAM,
1957 I_INSECT, HT_LAND, FL_NONE, 9, DEFAULT_ENERGY,
1958 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
1961 // testudines and crocodiles ('t')
1963 MONS_CROCODILE, 't', BROWN, "crocodile",
1964 M_COLD_BLOOD | M_SUBMERGES,
1965 MR_NO_FLAGS,
1966 800, 10, MONS_CROCODILE, MONS_CROCODILE, MH_NATURAL, -3,
1967 { {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1968 { 5, 3, 5, 0 },
1969 4, 10, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_SILENT,
1970 I_ANIMAL, HT_AMPHIBIOUS, FL_NONE, 10, SWIM_ENERGY(6),
1971 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
1975 MONS_BABY_ALLIGATOR, 't', BLUE, "baby alligator",
1976 M_COLD_BLOOD | M_SPELLCASTER | M_SUBMERGES | M_FAKE_SPELLS,
1977 MR_NO_FLAGS,
1978 300, 10, MONS_CROCODILE, MONS_BABY_ALLIGATOR, MH_NATURAL, -3,
1979 { {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1980 { 7, 3, 5, 0 },
1981 1, 11, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
1982 I_ANIMAL, HT_AMPHIBIOUS, FL_NONE, 12, SWIM_ENERGY(6),
1983 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
1987 MONS_ALLIGATOR, 't', LIGHTBLUE, "alligator",
1988 M_COLD_BLOOD | M_SPELLCASTER | M_SUBMERGES | M_FAKE_SPELLS,
1989 MR_NO_FLAGS,
1990 850, 10, MONS_CROCODILE, MONS_ALLIGATOR, MH_NATURAL, -3,
1991 { {AT_BITE, AF_PLAIN, 30}, {AT_TAIL_SLAP, AF_PLAIN, 15}, AT_NO_ATK,
1992 AT_NO_ATK },
1993 { 12, 3, 6, 0 },
1994 5, 9, MST_ALLIGATOR, CE_CLEAN, Z_BIG, S_SILENT,
1995 I_ANIMAL, HT_AMPHIBIOUS, FL_NONE, 10, ACTION_ENERGY(8) | SWIM_ENERGY(6),
1996 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
2000 MONS_SNAPPING_TURTLE, 't', GREEN, "snapping turtle",
2001 M_COLD_BLOOD,
2002 MR_NO_FLAGS,
2003 600, 10, MONS_SNAPPING_TURTLE, MONS_SNAPPING_TURTLE, MH_NATURAL, -3,
2004 { {AT_BITE, AF_REACH, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2005 { 10, 3, 6, 0 },
2006 // XXX: Will be Z_SMALL, but is Z_BIG until code for zombie spawns
2007 // is no longer based on zombie size.
2008 16, 5, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_HISS,
2009 I_ANIMAL, HT_AMPHIBIOUS, FL_NONE, 9, ACTION_ENERGY(8) | SWIM_ENERGY(6),
2010 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
2014 MONS_ALLIGATOR_SNAPPING_TURTLE, 't', LIGHTGREEN,
2015 "alligator snapping turtle",
2016 M_COLD_BLOOD,
2017 MR_NO_FLAGS,
2018 1100, 10, MONS_SNAPPING_TURTLE, MONS_ALLIGATOR_SNAPPING_TURTLE,
2019 MH_NATURAL, -3,
2020 { {AT_BITE, AF_REACH, 50}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2021 { 16, 7, 4, 0 },
2022 19, 1, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_HISS,
2023 I_ANIMAL, HT_AMPHIBIOUS, FL_NONE, 8, SWIM_ENERGY(6),
2024 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
2028 MONS_FIRE_CRAB, 't', LIGHTRED, "fire crab",
2029 M_NO_SKELETON,
2030 MR_VUL_POISON | mrd(MR_RES_FIRE, 3),
2031 320, 13, MONS_FIRE_CRAB, MONS_FIRE_CRAB, MH_NATURAL, -4,
2032 { {AT_BITE, AF_FIRE, 15}, {AT_CLAW, AF_FIRE, 15}, AT_NO_ATK, AT_NO_ATK },
2033 { 8, 4, 5, 0 },
2034 9, 6, MST_NO_SPELLS, CE_POISON_CONTAM, Z_SMALL, S_SILENT,
2035 I_INSECT, HT_LAND, FL_NONE, 11, DEFAULT_ENERGY,
2036 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
2039 // ugly things ('u')
2041 MONS_UGLY_THING, 'u', BLACK, "ugly thing",
2042 M_WARM_BLOOD | M_GLOWS_RADIATION | M_HERD,
2043 MR_NO_FLAGS,
2044 600, 10, MONS_UGLY_THING, MONS_UGLY_THING, MH_NATURAL, -3,
2045 { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2046 { 8, 3, 5, 0 },
2047 3, 10, MST_NO_SPELLS, CE_MUTAGEN_RANDOM, Z_NOZOMBIE, S_GURGLE,
2048 I_ANIMAL, HT_LAND, FL_NONE, 11, ACTION_ENERGY(11),
2049 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
2053 MONS_VERY_UGLY_THING, 'u', BLACK, "very ugly thing",
2054 M_WARM_BLOOD | M_GLOWS_RADIATION | M_HERD,
2055 MR_NO_FLAGS,
2056 830, 10, MONS_UGLY_THING, MONS_VERY_UGLY_THING, MH_NATURAL, -3,
2057 { {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2058 { 12, 3, 5, 0 },
2059 4, 10, MST_NO_SPELLS, CE_MUTAGEN_RANDOM, Z_NOZOMBIE, S_GURGLE,
2060 I_ANIMAL, HT_LAND, FL_NONE, 11, ACTION_ENERGY(11),
2061 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
2064 // vortices ('v')
2066 MONS_FIRE_VORTEX, 'v', RED, "fire vortex",
2067 M_CONFUSED | M_INSUBSTANTIAL | M_GLOWS_LIGHT,
2068 MR_RES_POISON | mrd(MR_RES_FIRE, 3) | MR_VUL_COLD | MR_RES_ELEC,
2069 0, 5, MONS_FIRE_VORTEX, MONS_FIRE_VORTEX, MH_NONLIVING, MAG_IMMUNE,
2070 { {AT_HIT, AF_FIRE, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2071 { 3, 3, 5, 0 },
2072 0, 5, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2073 I_PLANT, HT_LAND, FL_LEVITATE, 15, DEFAULT_ENERGY,
2074 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
2078 MONS_SPATIAL_VORTEX, 'v', BLACK, "spatial vortex",
2079 M_CONFUSED | M_INSUBSTANTIAL | M_GLOWS_LIGHT,
2080 MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
2081 0, 5, MONS_FIRE_VORTEX, MONS_SPATIAL_VORTEX, MH_NONLIVING, MAG_IMMUNE,
2082 { {AT_HIT, AF_DISTORT, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2083 { 6, 6, 6, 0 },
2084 0, 5, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2085 I_PLANT, HT_LAND, FL_LEVITATE, 15, DEFAULT_ENERGY,
2086 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
2090 MONS_VAPOUR, 'v', LIGHTCYAN, "vapour",
2091 M_SPELLCASTER | M_SEE_INVIS | M_INVIS | M_CONFUSED | M_INSUBSTANTIAL
2092 | M_FAKE_SPELLS,
2093 mrd(MR_RES_ELEC, 3) | MR_RES_POISON,
2094 0, 10, MONS_VAPOUR, MONS_VAPOUR, MH_NONLIVING, MAG_IMMUNE,
2095 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2096 { 12, 2, 3, 0 },
2097 0, 12, MST_STORM_DRAGON, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2098 I_PLANT, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
2099 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
2103 MONS_INSUBSTANTIAL_WISP, 'v', LIGHTGREY, "insubstantial wisp",
2104 M_SPECIAL_ABILITY | M_INSUBSTANTIAL,
2105 mrd(MR_RES_ELEC | MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD, 2),
2106 0, 15, MONS_INSUBSTANTIAL_WISP, MONS_INSUBSTANTIAL_WISP, MH_NONLIVING, MAG_IMMUNE,
2107 { {AT_HIT, AF_BLINK, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2108 { 6, 1, 2, 0 },
2109 20, 20, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_MOAN,
2110 I_PLANT, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
2111 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
2114 { // miscast only
2115 MONS_TWISTER, 'v', ETC_AIR, "twister",
2116 M_CONFUSED | M_INSUBSTANTIAL | M_BATTY | M_NO_POLY_TO,
2117 MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
2118 0, 5, MONS_FIRE_VORTEX, MONS_TWISTER, MH_NONLIVING, MAG_IMMUNE,
2119 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2120 { 12, 0, 0, 10000 },
2121 0, 5, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2122 I_PLANT, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
2123 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
2126 // worms ('w')
2128 MONS_WORM, 'w', LIGHTRED, "worm",
2129 M_NO_SKELETON,
2130 MR_NO_FLAGS,
2131 400, 3, MONS_WORM, MONS_WORM, MH_NATURAL, -2,
2132 { {AT_BITE, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2133 { 5, 3, 5, 0 },
2134 1, 5, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
2135 I_PLANT, HT_LAND, FL_NONE, 6, DEFAULT_ENERGY,
2136 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
2140 MONS_BRAIN_WORM, 'w', LIGHTMAGENTA, "brain worm",
2141 M_NO_SKELETON | M_SPELLCASTER,
2142 MR_NO_FLAGS,
2143 280, 10, MONS_WORM, MONS_BRAIN_WORM, MH_NATURAL, -3,
2144 { {AT_BITE, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2145 { 5, 3, 3, 0 },
2146 1, 5, MST_BRAIN_WORM, CE_POISONOUS, Z_SMALL, S_SILENT,
2147 I_INSECT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
2148 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
2152 MONS_SWAMP_WORM, 'w', BROWN, "swamp worm",
2153 M_NO_SKELETON | M_SUBMERGES,
2154 MR_NO_FLAGS,
2155 450, 10, MONS_WORM, MONS_SWAMP_WORM, MH_NATURAL, -3,
2156 { {AT_BITE, AF_PLAIN, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2157 { 5, 5, 5, 0 },
2158 3, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SILENT,
2159 I_PLANT, HT_WATER, FL_NONE, 12, DEFAULT_ENERGY,
2160 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
2164 MONS_SPINY_WORM, 'w', LIGHTGREEN, "spiny worm",
2165 M_NO_SKELETON,
2166 MR_VUL_POISON | MR_RES_ACID,
2167 1650, 13, MONS_WORM, MONS_SPINY_WORM, MH_NATURAL, -3,
2168 { {AT_STING, AF_ACID, 32}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2169 { 12, 3, 5, 0 },
2170 10, 6, MST_NO_SPELLS, CE_POISON_CONTAM, Z_BIG, S_SILENT,
2171 I_PLANT, HT_LAND, FL_NONE, 9, DEFAULT_ENERGY,
2172 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
2176 MONS_GIANT_LEECH, 'w', RED, "giant leech",
2177 M_NO_SKELETON | M_BLOOD_SCENT,
2178 MR_NO_FLAGS,
2179 1000, 10, MONS_WORM, MONS_GIANT_LEECH, MH_NATURAL, -3,
2180 { {AT_BITE, AF_VAMPIRIC, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2181 { 6, 5, 5, 0 },
2182 5, 15, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SILENT,
2183 I_PLANT, HT_AMPHIBIOUS, FL_NONE, 8, DEFAULT_ENERGY,
2184 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
2187 // small abominations ('x')
2189 MONS_UNSEEN_HORROR, 'x', MAGENTA, "unseen horror",
2190 M_SEE_INVIS | M_INVIS | M_BATTY,
2191 MR_NO_FLAGS,
2192 0, 12, MONS_UNSEEN_HORROR, MONS_UNSEEN_HORROR, MH_NATURAL, -3,
2193 { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2194 { 7, 3, 5, 0 },
2195 5, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2196 I_ANIMAL, HT_LAND, FL_NONE, 30, DEFAULT_ENERGY,
2197 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
2201 // Coloured with mon-util.cc:random_small_abomination_colour.
2202 MONS_ABOMINATION_SMALL, 'x', BLACK, "small abomination",
2203 M_NO_FLAGS,
2204 MR_NO_FLAGS,
2205 0, 10, MONS_ABOMINATION_SMALL, MONS_ABOMINATION_SMALL, MH_DEMONIC, -5,
2206 { {AT_HIT, AF_PLAIN, 23}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2207 { 6, 2, 5, 0 },
2208 0, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2209 I_PLANT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
2210 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
2213 // flying insects ('y')
2215 MONS_YELLOW_WASP, 'y', YELLOW, "yellow wasp",
2216 M_NO_SKELETON,
2217 MR_VUL_POISON,
2218 170, 15, MONS_YELLOW_WASP, MONS_YELLOW_WASP, MH_NATURAL, -3,
2219 { {AT_STING, AF_PARALYSE, 13}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2220 { 4, 3, 5, 0 },
2221 5, 14, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
2222 I_PLANT, HT_LAND, FL_FLY, 15, DEFAULT_ENERGY,
2223 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
2227 MONS_VAMPIRE_MOSQUITO, 'y', BROWN, "vampire mosquito",
2228 M_NO_SKELETON | M_BLOOD_SCENT,
2229 MR_VUL_POISON,
2230 200, 10, MONS_VAMPIRE_MOSQUITO, MONS_VAMPIRE_MOSQUITO, MH_UNDEAD, -3,
2231 { {AT_BITE, AF_DISEASE, 5}, {AT_BITE, AF_VAMPIRIC, 8}, AT_NO_ATK, AT_NO_ATK },
2232 { 5, 3, 5, 0 },
2233 2, 15, MST_NO_SPELLS, CE_HCL, Z_NOZOMBIE, S_BUZZ,
2234 I_PLANT, HT_LAND, FL_FLY, 19, DEFAULT_ENERGY,
2235 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
2239 MONS_RED_WASP, 'y', RED, "red wasp",
2240 M_NO_SKELETON,
2241 MR_VUL_POISON,
2242 180, 12, MONS_YELLOW_WASP, MONS_RED_WASP, MH_NATURAL, -3,
2243 { {AT_STING, AF_PARALYSE, 23}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2244 { 8, 3, 5, 0 },
2245 7, 14, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_BUZZ,
2246 I_PLANT, HT_LAND, FL_FLY, 15, DEFAULT_ENERGY,
2247 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
2251 MONS_GHOST_MOTH, 'y', MAGENTA, "ghost moth",
2252 M_NO_SKELETON | M_INVIS,
2253 MR_RES_POISON | MR_RES_COLD,
2254 600, 15, MONS_GHOST_MOTH, MONS_GHOST_MOTH, MH_NATURAL, -6,
2255 { {AT_HIT, AF_DRAIN_STAT, 8}, {AT_HIT, AF_DRAIN_STAT, 8},
2256 {AT_STING, AF_POISON_STAT, 12}, AT_NO_ATK },
2257 { 10, 3, 5, 0 },
2258 10, 10, MST_NO_SPELLS, CE_MUTAGEN_RANDOM, Z_NOZOMBIE, S_SILENT,
2259 I_INSECT, HT_LAND, FL_FLY, 12, DEFAULT_ENERGY,
2260 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
2264 MONS_MOTH_OF_WRATH, 'y', LIGHTRED, "moth of wrath",
2265 M_NO_SKELETON | M_SPECIAL_ABILITY,
2266 MR_NO_FLAGS,
2267 300, 10, MONS_MOTH_OF_WRATH, MONS_MOTH_OF_WRATH, MH_NATURAL, -3,
2268 { {AT_BITE, AF_RAGE, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2269 { 9, 3, 5, 0 },
2270 // XXX: Will be Z_SMALL, but is Z_NOZOMBIE until code for zombie
2271 // spawns is no longer based on zombie size.
2272 0, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SILENT,
2273 I_INSECT, HT_LAND, FL_FLY, 12, DEFAULT_ENERGY,
2274 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
2277 // small zombies, etc. ('z')
2278 // zombie, skeleton and simulacra species depend on corpse species,
2279 // or else are chosen randomly
2281 MONS_ZOMBIE_SMALL, 'z', BROWN, "small zombie",
2282 M_NO_REGEN,
2283 mrd(MR_RES_COLD, 2),
2284 0, 9, MONS_ZOMBIE_SMALL, MONS_ZOMBIE_SMALL, MH_UNDEAD, -1,
2285 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2286 { 1, 5, 5, 0 },
2287 0, 4, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2288 I_PLANT, HT_LAND, FL_NONE, 5, DEFAULT_ENERGY,
2289 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
2293 MONS_SKELETON_SMALL, 'z', LIGHTGREY, "small skeleton",
2294 M_NO_REGEN,
2295 mrd(MR_RES_COLD, 2),
2296 0, 9, MONS_SKELETON_SMALL, MONS_SKELETON_SMALL, MH_UNDEAD, -1,
2297 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2298 { 0, 0, 0, 0 },
2299 0, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2300 I_PLANT, HT_LAND, FL_NONE, 5, DEFAULT_ENERGY,
2301 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
2305 MONS_SIMULACRUM_SMALL, 'z', ETC_ICE, "small simulacrum",
2306 M_NO_REGEN,
2307 MR_VUL_FIRE | mrd(MR_RES_COLD, 3),
2308 0, 9, MONS_SIMULACRUM_SMALL, MONS_SIMULACRUM_SMALL, MH_UNDEAD, -1,
2309 { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2310 { 2, 3, 5, 0 },
2311 10, 4, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2312 I_PLANT, HT_LAND, FL_NONE, 7, DEFAULT_ENERGY,
2313 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
2317 MONS_WIGHT, 'z', GREEN, "wight",
2318 M_NO_FLAGS,
2319 mrd(MR_RES_COLD, 2),
2320 0, 16, MONS_WIGHT, MONS_WIGHT, MH_UNDEAD, -4,
2321 { {AT_HIT, AF_DRAIN_XP, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2322 { 3, 3, 5, 0 },
2323 4, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2324 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
2325 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
2329 MONS_SKELETAL_WARRIOR, 'z', CYAN, "skeletal warrior",
2330 M_FIGHTER | M_SPELLCASTER | M_ACTUAL_SPELLS,
2331 MR_RES_COLD,
2332 0, 10, MONS_SKELETAL_WARRIOR, MONS_SKELETAL_WARRIOR, MH_UNDEAD, -7,
2333 { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2334 { 10, 5, 3, 0 },
2335 15, 10, MST_SKELETAL_WARRIOR, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2336 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
2337 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
2341 MONS_FLYING_SKULL, 'z', WHITE, "flying skull",
2342 M_NO_FLAGS,
2343 MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
2344 0, 10, MONS_SKELETON_SMALL, MONS_FLYING_SKULL, MH_UNDEAD, -3,
2345 { {AT_HIT, AF_PLAIN, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2346 { 2, 3, 5, 0 },
2347 10, 17, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SCREAM,
2348 I_ANIMAL, HT_LAND, FL_LEVITATE, 15, DEFAULT_ENERGY,
2349 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
2353 MONS_FLAMING_CORPSE, 'z', RED, "flaming corpse",
2354 M_SENSE_INVIS | M_GLOWS_LIGHT,
2355 mrd(MR_RES_FIRE, 3) | MR_RES_STICKY_FLAME,
2356 0, 17, MONS_FLAMING_CORPSE, MONS_FLAMING_CORPSE, MH_UNDEAD, -4,
2357 { {AT_HIT, AF_NAPALM, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2358 { 8, 3, 5, 0 },
2359 12, 13, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SCREAM,
2360 I_ANIMAL, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
2361 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
2364 // These nasties are never randomly generated, only sometimes specially
2365 // placed in the Crypt.
2367 MONS_CURSE_SKULL, 'z', LIGHTCYAN, "curse skull",
2368 M_SPELLCASTER | M_SEE_INVIS | M_STATIONARY | M_SPEAKS | M_NOISY_SPELLS,
2369 MR_RES_ELEC | MR_RES_HELLFIRE | mrd(MR_RES_COLD, 2),
2370 0, 50, MONS_LICH, MONS_CURSE_SKULL, MH_UNDEAD, MAG_IMMUNE,
2371 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2372 { 13, 0, 0, 66 },
2373 40, 3, MST_CURSE_SKULL, CE_NOCORPSE, Z_NOZOMBIE, S_MOAN,
2374 I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
2375 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
2378 // Curse toes move at half the speed with which they attack.
2380 MONS_CURSE_TOE, 'z', YELLOW, "curse toe",
2381 M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS,
2382 MR_RES_ELEC | MR_RES_HELLFIRE | MR_RES_COLD,
2383 0, 60, MONS_LICH, MONS_CURSE_TOE, MH_UNDEAD, MAG_IMMUNE,
2384 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2385 { 14, 0, 0, 77 },
2386 50, 1, MST_CURSE_TOE, CE_NOCORPSE, Z_NOZOMBIE, S_MOAN,
2387 I_HIGH, HT_LAND, FL_LEVITATE, 12, MOVE_ENERGY(20),
2388 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
2391 // angelic beings ('A')
2393 MONS_ANGEL, 'A', WHITE, "Angel",
2394 M_FIGHTER | M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS | M_GLOWS_LIGHT,
2395 MR_RES_POISON | MR_RES_ELEC,
2396 0, 10, MONS_ANGEL, MONS_ANGEL, MH_HOLY, -8,
2397 { {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK,
2398 AT_NO_ATK },
2399 { 12, 6, 5, 0 },
2400 10, 20, MST_ANGEL, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
2401 I_HIGH, HT_LAND, FL_FLY, 15, DEFAULT_ENERGY,
2402 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
2406 MONS_CHERUB, 'A', WHITE, "Cherub",
2407 M_FIGHTER | M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS | M_GLOWS_LIGHT
2408 | M_UNFINISHED,
2409 MR_RES_POISON | MR_RES_ELEC,
2410 0, 10, MONS_ANGEL, MONS_CHERUB, MH_HOLY, -8,
2411 { {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK,
2412 AT_NO_ATK },
2413 { 12, 6, 5, 0 },
2414 10, 20, MST_ANGEL, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
2415 I_HIGH, HT_LAND, FL_FLY, 15, DEFAULT_ENERGY,
2416 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
2420 MONS_DAEVA, 'A', YELLOW, "Daeva",
2421 M_FIGHTER | M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS | M_GLOWS_LIGHT,
2422 MR_RES_POISON,
2423 0, 12, MONS_ANGEL, MONS_DAEVA, MH_HOLY, -8,
2424 { {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK,
2425 AT_NO_ATK },
2426 { 14, 6, 5, 0 },
2427 10, 13, MST_DAEVA, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
2428 I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
2429 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
2432 // beetles ('B')
2434 MONS_GOLIATH_BEETLE, 'B', BLUE, "goliath beetle",
2435 M_NO_SKELETON,
2436 MR_VUL_POISON,
2437 800, 12, MONS_GOLIATH_BEETLE, MONS_GOLIATH_BEETLE, MH_NATURAL, -3,
2438 { {AT_BITE, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2439 { 5, 7, 6, 0 },
2440 10, 3, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
2441 I_INSECT, HT_LAND, FL_NONE, 5, DEFAULT_ENERGY,
2442 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
2446 MONS_BOULDER_BEETLE, 'B', LIGHTGREY, "boulder beetle",
2447 M_NO_SKELETON,
2448 MR_VUL_POISON,
2449 2050, 8, MONS_GOLIATH_BEETLE, MONS_BOULDER_BEETLE, MH_NATURAL, -3,
2450 { {AT_BITE, AF_PLAIN, 45}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2451 { 9, 3, 5, 0 },
2452 20, 2, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_SILENT,
2453 I_INSECT, HT_LAND, FL_NONE, 3, DEFAULT_ENERGY,
2454 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
2458 MONS_BORING_BEETLE, 'B', BROWN, "boring beetle",
2459 M_NO_SKELETON | M_BURROWS,
2460 MR_VUL_POISON,
2461 1300, 10, MONS_GOLIATH_BEETLE, MONS_BORING_BEETLE, MH_NATURAL, -3,
2462 { {AT_BITE, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2463 { 8, 3, 5, 0 },
2464 13, 4, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_SILENT,
2465 I_INSECT, HT_LAND, FL_NONE, 6, DEFAULT_ENERGY,
2466 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
2469 // cyclopes and giants ('C')
2471 MONS_HILL_GIANT, 'C', LIGHTRED, "hill giant",
2472 M_WARM_BLOOD | M_SPEAKS,
2473 MR_NO_FLAGS,
2474 1700, 7, MONS_HILL_GIANT, MONS_HILL_GIANT, MH_NATURAL, -3,
2475 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2476 { 11, 3, 5, 0 },
2477 3, 4, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SHOUT,
2478 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
2479 MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_GIANT
2483 MONS_CYCLOPS, 'C', YELLOW, "cyclops",
2484 M_WARM_BLOOD | M_SPEAKS,
2485 MR_NO_FLAGS,
2486 2200, 14, MONS_HILL_GIANT, MONS_CYCLOPS, MH_NATURAL, -3,
2487 { {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2488 { 9, 3, 5, 0 },
2489 5, 3, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_SHOUT,
2490 I_NORMAL, HT_LAND, FL_NONE, 7, DEFAULT_ENERGY,
2491 MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_GIANT
2495 MONS_ETTIN, 'C', BROWN, "ettin",
2496 M_WARM_BLOOD | M_TWO_WEAPONS | M_SPEAKS,
2497 MR_NO_FLAGS,
2498 2500, 12, MONS_HILL_GIANT, MONS_ETTIN, MH_NATURAL, -3,
2499 { {AT_HIT, AF_PLAIN, 45}, {AT_HIT, AF_PLAIN, 45}, AT_NO_ATK, AT_NO_ATK },
2500 { 12, 3, 5, 0 },
2501 9, 4, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SHOUT2,
2502 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
2503 MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_GIANT
2507 MONS_FIRE_GIANT, 'C', RED, "fire giant",
2508 M_FIGHTER | M_SPELLCASTER | M_WARM_BLOOD | M_SENSE_INVIS | M_SPEAKS,
2509 mrd(MR_RES_FIRE, 2),
2510 2000, 11, MONS_HILL_GIANT, MONS_FIRE_GIANT, MH_NATURAL, -4,
2511 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2512 { 16, 3, 6, 0 },
2513 8, 4, MST_EFREET, CE_CONTAMINATED, Z_BIG, S_SHOUT,
2514 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
2515 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_GIANT
2519 MONS_FROST_GIANT, 'C', LIGHTBLUE, "frost giant",
2520 M_FIGHTER | M_SPELLCASTER | M_WARM_BLOOD | M_SENSE_INVIS | M_SPEAKS,
2521 mrd(MR_RES_COLD, 2),
2522 2100, 11, MONS_HILL_GIANT, MONS_FROST_GIANT, MH_NATURAL, -4,
2523 { {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2524 { 16, 4, 5, 0 },
2525 9, 3, MST_FROST_GIANT, CE_CONTAMINATED, Z_BIG, S_SHOUT,
2526 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
2527 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_GIANT
2531 MONS_STONE_GIANT, 'C', LIGHTGREY, "stone giant",
2532 M_WARM_BLOOD | M_SPEAKS,
2533 MR_NO_FLAGS,
2534 2700, 10, MONS_HILL_GIANT, MONS_STONE_GIANT, MH_NATURAL, -4,
2535 { {AT_HIT, AF_PLAIN, 45}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2536 { 16, 3, 5, 0 },
2537 12, 2, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SHOUT,
2538 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
2539 MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_HUGE
2543 MONS_TITAN, 'C', MAGENTA, "titan",
2544 M_FIGHTER | M_SPELLCASTER | M_WARM_BLOOD | M_SENSE_INVIS | M_SPEAKS,
2545 mrd(MR_RES_ELEC, 2),
2546 3200, 12, MONS_HILL_GIANT, MONS_TITAN, MH_NATURAL, -7,
2547 { {AT_HIT, AF_PLAIN, 55}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2548 { 20, 3, 5, 0 },
2549 10, 3, MST_TITAN, CE_CLEAN, Z_BIG, S_SHOUT,
2550 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
2551 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_HUGE
2554 // dragons ('D')
2556 MONS_WYVERN, 'D', LIGHTRED, "wyvern",
2557 M_WARM_BLOOD,
2558 MR_NO_FLAGS,
2559 1200, 15, MONS_WYVERN, MONS_WYVERN, MH_NATURAL, -3,
2560 { {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2561 { 5, 3, 5, 0 },
2562 5, 10, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_SILENT,
2563 I_ANIMAL, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
2564 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
2568 MONS_DRAGON, 'D', GREEN, "dragon",
2569 M_SPECIAL_ABILITY | M_WARM_BLOOD,
2570 MR_RES_POISON | mrd(MR_RES_FIRE, 2) | MR_VUL_COLD,
2571 2400, 12, MONS_DRAGON, MONS_DRAGON, MH_NATURAL, -4,
2572 { {AT_BITE, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 13},
2573 {AT_TRAMPLE, AF_PLAIN, 13}, AT_NO_ATK },
2574 { 12, 5, 5, 0 },
2575 10, 8, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_SILENT,
2576 I_ANIMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
2577 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
2581 MONS_HYDRA, 'D', LIGHTGREEN, "hydra",
2582 M_WARM_BLOOD,
2583 MR_RES_POISON,
2584 1800, 11, MONS_HYDRA, MONS_HYDRA, MH_NATURAL, -3,
2585 { {AT_BITE, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2586 { 13, 3, 5, 0 },
2587 0, 5, MST_NO_SPELLS, CE_POISON_CONTAM, Z_BIG, S_ROAR,
2588 I_INSECT, HT_AMPHIBIOUS, FL_NONE, 10, SWIM_ENERGY(6),
2589 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
2593 MONS_ICE_DRAGON, 'D', WHITE, "ice dragon",
2594 M_SPECIAL_ABILITY | M_COLD_BLOOD,
2595 MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 2),
2596 2400, 10, MONS_DRAGON, MONS_ICE_DRAGON, MH_NATURAL, -3,
2597 { {AT_BITE, AF_PLAIN, 17}, {AT_CLAW, AF_PLAIN, 17},
2598 {AT_TRAMPLE, AF_PLAIN, 17}, AT_NO_ATK },
2599 { 12, 5, 5, 0 },
2600 10, 8, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_SILENT,
2601 I_ANIMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
2602 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
2606 MONS_STEAM_DRAGON, 'D', BLUE, "steam dragon",
2607 M_SPELLCASTER | M_WARM_BLOOD | M_FAKE_SPELLS,
2608 MR_RES_STEAM,
2609 1500, 29, MONS_DRAGON, MONS_STEAM_DRAGON, MH_NATURAL, -3,
2610 { {AT_BITE, AF_PLAIN, 12}, {AT_CLAW, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK },
2611 { 4, 5, 5, 0 },
2612 5, 10, MST_STEAM_DRAGON, CE_CLEAN, Z_BIG, S_SILENT,
2613 I_ANIMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
2614 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
2618 MONS_SWAMP_DRAGON, 'D', BROWN, "swamp dragon",
2619 M_SPELLCASTER | M_WARM_BLOOD | M_FAKE_SPELLS,
2620 MR_RES_POISON,
2621 2200, 11, MONS_DRAGON, MONS_SWAMP_DRAGON, MH_NATURAL, -3,
2622 { {AT_BITE, AF_PLAIN, 18}, {AT_CLAW, AF_PLAIN, 9},
2623 {AT_TRAMPLE, AF_PLAIN, 9}, AT_NO_ATK },
2624 { 9, 5, 5, 0 },
2625 7, 7, MST_SWAMP_DRAGON, CE_POISON_CONTAM, Z_BIG, S_ROAR,
2626 I_ANIMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
2627 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
2631 MONS_MOTTLED_DRAGON, 'D', LIGHTMAGENTA, "mottled dragon",
2632 M_SPELLCASTER | M_WARM_BLOOD | M_FAKE_SPELLS,
2633 MR_RES_POISON | MR_RES_FIRE | MR_RES_STICKY_FLAME,
2634 1300, 16, MONS_DRAGON, MONS_MOTTLED_DRAGON, MH_NATURAL, -3,
2635 { {AT_BITE, AF_PLAIN, 15}, {AT_CLAW, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK },
2636 { 5, 3, 5, 0 },
2637 5, 10, MST_MOTTLED_DRAGON, CE_POISON_CONTAM, Z_BIG, S_SILENT,
2638 I_ANIMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
2639 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
2643 MONS_QUICKSILVER_DRAGON, 'D', LIGHTCYAN, "quicksilver dragon",
2644 M_SPELLCASTER | M_SENSE_INVIS | M_WARM_BLOOD | M_FAKE_SPELLS,
2645 MR_NO_FLAGS,
2646 1900, 14, MONS_DRAGON, MONS_QUICKSILVER_DRAGON, MH_NATURAL, -7,
2647 { {AT_BITE, AF_PLAIN, 25}, {AT_CLAW, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK },
2648 { 16, 3, 5, 0 },
2649 10, 15, MST_QUICKSILVER_DRAGON, CE_CONTAMINATED, Z_BIG, S_ROAR,
2650 I_ANIMAL, HT_LAND, FL_FLY, 15, DEFAULT_ENERGY,
2651 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_GIANT
2655 MONS_IRON_DRAGON, 'D', CYAN, "iron dragon",
2656 M_SPELLCASTER | M_SENSE_INVIS | M_WARM_BLOOD | M_FAKE_SPELLS,
2657 MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD,
2658 2800, 14, MONS_DRAGON, MONS_IRON_DRAGON, MH_NATURAL, -7,
2659 { {AT_BITE, AF_PLAIN, 25}, {AT_CLAW, AF_PLAIN, 25},
2660 {AT_TRAMPLE, AF_PLAIN, 25}, AT_NO_ATK },
2661 { 18, 5, 3, 0 },
2662 20, 6, MST_IRON_DRAGON, CE_CONTAMINATED, Z_BIG, S_ROAR,
2663 I_ANIMAL, HT_LAND, FL_NONE, 8, DEFAULT_ENERGY,
2664 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
2668 MONS_STORM_DRAGON, 'D', LIGHTBLUE, "storm dragon",
2669 M_SPELLCASTER | M_WARM_BLOOD | M_FAKE_SPELLS,
2670 mrd(MR_RES_ELEC, 3) | MR_RES_COLD,
2671 2700, 13, MONS_DRAGON, MONS_STORM_DRAGON, MH_NATURAL, -5,
2672 { {AT_BITE, AF_PLAIN, 25}, {AT_CLAW, AF_PLAIN, 15},
2673 {AT_TRAMPLE, AF_PLAIN, 15}, AT_NO_ATK },
2674 { 14, 5, 5, 0 },
2675 13, 10, MST_STORM_DRAGON, CE_CLEAN, Z_BIG, S_ROAR,
2676 I_ANIMAL, HT_LAND, FL_FLY, 11, DEFAULT_ENERGY,
2677 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
2681 MONS_GOLDEN_DRAGON, 'D', YELLOW, "golden dragon",
2682 M_SPELLCASTER | M_SENSE_INVIS | M_WARM_BLOOD | M_FAKE_SPELLS,
2683 MR_RES_ELEC | MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD,
2684 3000, 26, MONS_DRAGON, MONS_GOLDEN_DRAGON, MH_NATURAL, -8,
2685 { {AT_BITE, AF_PLAIN, 40}, {AT_CLAW, AF_PLAIN, 20},
2686 {AT_TRAMPLE, AF_PLAIN, 20}, AT_NO_ATK },
2687 { 18, 4, 4, 0 },
2688 15, 7, MST_GOLDEN_DRAGON, CE_POISONOUS, Z_BIG, S_ROAR,
2689 I_ANIMAL, HT_LAND, FL_FLY, 9, DEFAULT_ENERGY,
2690 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
2694 MONS_SHADOW_DRAGON, 'D', MAGENTA, "shadow dragon",
2695 M_SPELLCASTER | M_SEE_INVIS | M_COLD_BLOOD | M_FAKE_SPELLS,
2696 MR_RES_POISON | mrd(MR_RES_COLD, 2),
2697 1800, 12, MONS_DRAGON, MONS_SHADOW_DRAGON, MH_NATURAL, -5,
2698 { {AT_BITE, AF_DRAIN_XP, 20}, {AT_CLAW, AF_PLAIN, 15},
2699 {AT_CLAW, AF_PLAIN, 15}, AT_NO_ATK },
2700 { 17, 5, 5, 0 },
2701 15, 10, MST_SHADOW_DRAGON, CE_HCL, Z_BIG, S_ROAR,
2702 I_ANIMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
2703 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_GIANT
2707 MONS_BONE_DRAGON, 'D', LIGHTGREY, "bone dragon",
2708 M_SENSE_INVIS,
2709 MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
2710 0, 12, MONS_DRAGON, MONS_BONE_DRAGON, MH_UNDEAD, -4,
2711 { {AT_BITE, AF_PLAIN, 30}, {AT_CLAW, AF_PLAIN, 20},
2712 {AT_TRAMPLE, AF_PLAIN, 20}, AT_NO_ATK },
2713 { 20, 8, 8, 0 },
2714 20, 4, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2715 I_ANIMAL, HT_LAND, FL_FLY, 8, DEFAULT_ENERGY,
2716 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
2720 MONS_PEARL_DRAGON, 'D', ETC_HOLY, "pearl dragon",
2721 M_SPELLCASTER | M_SENSE_INVIS | M_WARM_BLOOD | M_GLOWS_LIGHT,
2722 MR_NO_FLAGS,
2723 1900, 16, MONS_DRAGON, MONS_PEARL_DRAGON, MH_HOLY, -7,
2724 { {AT_BITE, AF_HOLY, 35}, {AT_CLAW, AF_HOLY, 20}, AT_NO_ATK, AT_NO_ATK },
2725 { 18, 4, 5, 0 },
2726 10, 15, MST_PEARL_DRAGON, CE_CLEAN, Z_NOZOMBIE, S_ROAR,
2727 I_ANIMAL, HT_LAND, FL_FLY, 13, DEFAULT_ENERGY,
2728 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_GIANT
2732 // elementals (E)
2734 MONS_EARTH_ELEMENTAL, 'E', ETC_EARTH, "earth elemental",
2735 M_NO_FLAGS,
2736 mrd(MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 3),
2737 0, 13, MONS_EARTH_ELEMENTAL, MONS_EARTH_ELEMENTAL, MH_NONLIVING, MAG_IMMUNE,
2738 { {AT_HIT, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2739 { 6, 5, 5, 0 },
2740 14, 4, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2741 I_PLANT, HT_LAND, FL_NONE, 6, DEFAULT_ENERGY,
2742 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
2746 MONS_FIRE_ELEMENTAL, 'E', ETC_FIRE, "fire elemental",
2747 M_INSUBSTANTIAL | M_GLOWS_LIGHT,
2748 MR_RES_POISON | MR_RES_HELLFIRE | MR_VUL_COLD | MR_RES_ELEC,
2749 0, 10, MONS_EARTH_ELEMENTAL, MONS_FIRE_ELEMENTAL, MH_NONLIVING, MAG_IMMUNE,
2750 { {AT_HIT, AF_FIRE, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2751 { 6, 3, 5, 0 },
2752 4, 12, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2753 I_PLANT, HT_LAND, FL_LEVITATE, 13, DEFAULT_ENERGY,
2754 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
2758 MONS_WATER_ELEMENTAL, 'E', ETC_WATER, "water elemental",
2759 M_NO_FLAGS,
2760 MR_RES_POISON | MR_VUL_FIRE | MR_RES_ELEC,
2761 0, 10, MONS_EARTH_ELEMENTAL, MONS_WATER_ELEMENTAL, MH_NONLIVING, MAG_IMMUNE,
2762 { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2763 { 6, 5, 3, 0 },
2764 0, 7, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2765 I_PLANT, HT_AMPHIBIOUS, FL_NONE, 10, SWIM_ENERGY(6),
2766 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
2770 MONS_AIR_ELEMENTAL, 'E', ETC_AIR, "air elemental",
2771 M_SEE_INVIS | M_INSUBSTANTIAL | M_GLOWS_LIGHT,
2772 mrd(MR_RES_ELEC, 3) | MR_RES_POISON,
2773 0, 6, MONS_EARTH_ELEMENTAL, MONS_AIR_ELEMENTAL, MH_NONLIVING, MAG_IMMUNE,
2774 { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2775 { 6, 3, 5, 0 },
2776 2, 18, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2777 I_PLANT, HT_LAND, FL_LEVITATE, 25, DEFAULT_ENERGY,
2778 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
2782 MONS_IRON_ELEMENTAL, 'E', ETC_IRON, "iron elemental",
2783 M_SPELLCASTER,
2784 mrd(MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 3),
2785 0, 13, MONS_EARTH_ELEMENTAL, MONS_IRON_ELEMENTAL, MH_NONLIVING, MAG_IMMUNE,
2786 { {AT_HIT, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2787 { 12, 6, 6, 0 },
2788 20, 2, MST_IRON_ELEMENTAL, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2789 I_PLANT, HT_LAND, FL_NONE, 6, DEFAULT_ENERGY,
2790 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
2793 // frogs ('F')
2795 MONS_GIANT_FROG, 'F', GREEN, "giant frog",
2796 M_COLD_BLOOD,
2797 MR_NO_FLAGS,
2798 600, 10, MONS_GIANT_FROG, MONS_GIANT_FROG, MH_NATURAL, -3,
2799 { {AT_HIT, AF_PLAIN, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2800 { 4, 3, 5, 0 },
2801 // XXX: Will be Z_SMALL, but is Z_BIG until code for zombie spawns
2802 // is no longer based on zombie size
2803 0, 12, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_CROAK,
2804 I_ANIMAL, HT_AMPHIBIOUS, FL_NONE, 15, SWIM_ENERGY(6),
2805 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
2809 MONS_GIANT_TOAD, 'F', BROWN, "giant toad",
2810 M_COLD_BLOOD,
2811 MR_NO_FLAGS,
2812 900, 6, MONS_GIANT_FROG, MONS_GIANT_TOAD, MH_NATURAL, -3,
2813 { {AT_HIT, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2814 { 8, 3, 5, 0 },
2815 2, 11, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_CROAK,
2816 I_ANIMAL, HT_AMPHIBIOUS, FL_NONE, 13, SWIM_ENERGY(6),
2817 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
2821 MONS_SPINY_FROG, 'F', YELLOW, "spiny frog",
2822 M_COLD_BLOOD,
2823 MR_RES_POISON,
2824 700, 16, MONS_GIANT_FROG, MONS_SPINY_FROG, MH_NATURAL, -3,
2825 { {AT_STING, AF_POISON_MEDIUM, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2826 { 7, 3, 5, 0 },
2827 // XXX: Will be Z_SMALL, but is Z_BIG until code for zombie spawns
2828 // is no longer based on zombie size
2829 6, 9, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_CROAK,
2830 I_ANIMAL, HT_AMPHIBIOUS, FL_NONE, 12, SWIM_ENERGY(6),
2831 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
2835 MONS_BLINK_FROG, 'F', LIGHTGREEN, "blink frog",
2836 M_COLD_BLOOD | M_SPECIAL_ABILITY | M_PHASE_SHIFT,
2837 MR_NO_FLAGS,
2838 450, 13, MONS_BLINK_FROG, MONS_BLINK_FROG, MH_NATURAL, -5,
2839 { {AT_HIT, AF_BLINK, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2840 { 6, 3, 5, 0 },
2841 0, 16, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_CROAK,
2842 I_ANIMAL, HT_AMPHIBIOUS, FL_NONE, 14, SWIM_ENERGY(6),
2843 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
2846 // eyes ('G')
2848 MONS_GIANT_EYEBALL, 'G', WHITE, "giant eyeball",
2849 M_NO_SKELETON,
2850 MR_RES_ASPHYX,
2851 400, 10, MONS_GIANT_EYEBALL, MONS_GIANT_EYEBALL, MH_NATURAL, -3,
2852 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2853 { 3, 3, 5, 0 },
2854 0, 1, MST_NO_SPELLS, CE_CLEAN, Z_NOZOMBIE, S_SILENT,
2855 I_PLANT, HT_LAND, FL_LEVITATE, 3, DEFAULT_ENERGY,
2856 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
2860 MONS_EYE_OF_DRAINING, 'G', LIGHTGREY, "eye of draining",
2861 M_NO_SKELETON | M_SEE_INVIS | M_GLOWS_LIGHT,
2862 MR_RES_ASPHYX,
2863 400, 10, MONS_GIANT_EYEBALL, MONS_EYE_OF_DRAINING, MH_NATURAL, MAG_IMMUNE,
2864 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2865 { 7, 3, 5, 0 },
2866 3, 1, MST_NO_SPELLS, CE_POISON_CONTAM, Z_NOZOMBIE, S_SILENT,
2867 I_PLANT, HT_LAND, FL_LEVITATE, 5, DEFAULT_ENERGY,
2868 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
2872 MONS_GIANT_ORANGE_BRAIN, 'G', LIGHTRED, "giant orange brain",
2873 M_WARM_BLOOD | M_NO_SKELETON | M_SPELLCASTER | M_SEE_INVIS,
2874 MR_RES_ASPHYX,
2875 500, 13, MONS_GIANT_ORANGE_BRAIN, MONS_GIANT_ORANGE_BRAIN, MH_NATURAL, -8,
2876 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2877 { 10, 3, 5, 0 },
2878 2, 4, MST_GIANT_ORANGE_BRAIN, CE_MUTAGEN_RANDOM, Z_NOZOMBIE, S_SILENT,
2879 I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
2880 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
2884 MONS_GREAT_ORB_OF_EYES, 'G', LIGHTGREEN, "great orb of eyes",
2885 M_NO_SKELETON | M_SPELLCASTER | M_SEE_INVIS,
2886 MR_RES_POISON,
2887 700, 13, MONS_GIANT_EYEBALL, MONS_GREAT_ORB_OF_EYES, MH_NATURAL, MAG_IMMUNE,
2888 { {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2889 { 12, 3, 5, 0 },
2890 10, 3, MST_GREAT_ORB_OF_EYES, CE_MUTAGEN_RANDOM, Z_NOZOMBIE, S_SILENT,
2891 I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
2892 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
2896 MONS_SHINING_EYE, 'G', LIGHTMAGENTA, "shining eye",
2897 M_NO_SKELETON | M_SPELLCASTER | M_SEE_INVIS | M_GLOWS_RADIATION,
2898 MR_RES_ASPHYX,
2899 450, 14, MONS_GIANT_EYEBALL, MONS_SHINING_EYE, MH_NATURAL, MAG_IMMUNE,
2900 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2901 { 10, 3, 5, 0 },
2902 3, 1, MST_SHINING_EYE, CE_MUTAGEN_RANDOM, Z_NOZOMBIE, S_SILENT,
2903 I_PLANT, HT_LAND, FL_LEVITATE, 7, DEFAULT_ENERGY,
2904 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
2908 MONS_EYE_OF_DEVASTATION, 'G', YELLOW, "eye of devastation",
2909 M_NO_SKELETON | M_SPELLCASTER | M_SEE_INVIS | M_GLOWS_LIGHT,
2910 MR_RES_ASPHYX,
2911 450, 11, MONS_GIANT_EYEBALL, MONS_EYE_OF_DEVASTATION, MH_NATURAL, MAG_IMMUNE,
2912 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2913 { 10, 3, 5, 0 },
2914 12, 1, MST_EYE_OF_DEVASTATION, CE_CLEAN, Z_NOZOMBIE, S_SILENT,
2915 I_PLANT, HT_LAND, FL_LEVITATE, 7, DEFAULT_ENERGY,
2916 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
2920 MONS_GOLDEN_EYE, 'G', ETC_GOLD, "golden eye",
2921 M_BATTY | M_GLOWS_LIGHT,
2922 MR_RES_ASPHYX,
2923 0, 17, MONS_GIANT_EYEBALL, MONS_GOLDEN_EYE, MH_NATURAL, MAG_IMMUNE,
2924 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2925 { 6, 1, 2, 0 },
2926 0, 20, MST_NO_SPELLS, CE_POISONOUS, Z_NOZOMBIE, S_SILENT,
2927 I_PLANT, HT_LAND, FL_LEVITATE, 13, DEFAULT_ENERGY,
2928 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
2932 MONS_OPHAN, 'G', RED, "ophan",
2933 M_SPELLCASTER | M_SEE_INVIS | M_GLOWS_LIGHT,
2934 MR_RES_ASPHYX,
2935 0, 14, MONS_ANGEL, MONS_OPHAN, MH_HOLY, MAG_IMMUNE,
2936 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2937 { 15, 4, 5, 0 },
2938 10, 10, MST_OPHAN, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2939 I_PLANT, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
2940 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
2943 // hybrids ('H')
2945 MONS_HIPPOGRIFF, 'H', BROWN, "hippogriff",
2946 M_WARM_BLOOD,
2947 MR_NO_FLAGS,
2948 1150, 8, MONS_HIPPOGRIFF, MONS_HIPPOGRIFF, MH_NATURAL, -3,
2949 { {AT_BITE, AF_PLAIN, 10}, {AT_PECK, AF_PLAIN, 8}, {AT_CLAW, AF_PLAIN, 8},
2950 AT_NO_ATK },
2951 { 7, 3, 5, 0 },
2952 2, 7, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_SCREECH,
2953 I_ANIMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
2954 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
2958 MONS_MANTICORE, 'H', RED, "manticore",
2959 M_WARM_BLOOD | M_SPECIAL_ABILITY,
2960 MR_NO_FLAGS,
2961 1200, 10, MONS_MANTICORE, MONS_MANTICORE, MH_NATURAL, -3,
2962 { {AT_BITE, AF_PLAIN, 14}, {AT_CLAW, AF_PLAIN, 8}, {AT_CLAW, AF_PLAIN, 8},
2963 AT_NO_ATK },
2964 { 9, 3, 5, 0 },
2965 5, 7, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SILENT,
2966 I_NORMAL, HT_LAND, FL_NONE, 7, DEFAULT_ENERGY,
2967 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
2971 MONS_MINOTAUR, 'H', LIGHTRED, "minotaur",
2972 M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
2973 MR_NO_FLAGS,
2974 900, 10, MONS_MINOTAUR, MONS_MINOTAUR, MH_NATURAL, -3,
2975 { {AT_HIT, AF_PLAIN, 35}, {AT_GORE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK },
2976 { 13, 3, 5, 0 },
2977 // XXX: Will be Z_SMALL, but is Z_BIG until code for zombie spawns
2978 // is no longer based on zombie size.
2979 5, 7, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_BELLOW,
2980 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
2981 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
2985 MONS_GRIFFON, 'H', YELLOW, "griffon",
2986 M_WARM_BLOOD,
2987 MR_NO_FLAGS,
2988 1700, 8, MONS_GRIFFON, MONS_GRIFFON, MH_NATURAL, -3,
2989 { {AT_BITE, AF_PLAIN, 18}, {AT_PECK, AF_PLAIN, 10},
2990 {AT_CLAW, AF_PLAIN, 10}, AT_NO_ATK },
2991 { 12, 3, 5, 0 },
2992 4, 6, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_SCREECH,
2993 I_ANIMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
2994 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
2998 MONS_SPHINX, 'H', LIGHTGREY, "sphinx",
2999 M_SENSE_INVIS | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
3000 MR_NO_FLAGS,
3001 1800, 12, MONS_SPHINX, MONS_SPHINX, MH_NATURAL, -3,
3002 { {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 12}, {AT_HIT, AF_PLAIN, 12},
3003 AT_NO_ATK },
3004 { 16, 3, 5, 0 },
3005 5, 5, MST_SPHINX, CE_CLEAN, Z_BIG, S_SHOUT,
3006 I_HIGH, HT_LAND, FL_FLY, 11, DEFAULT_ENERGY,
3007 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_BIG
3011 MONS_HARPY, 'H', GREEN, "harpy",
3012 M_WARM_BLOOD | M_BATTY,
3013 MR_RES_POISON,
3014 480, 9, MONS_HARPY, MONS_HARPY, MH_NATURAL, -3,
3015 { {AT_CLAW, AF_PLAIN, 19}, {AT_CLAW, AF_STEAL_FOOD, 14}, AT_NO_ATK,
3016 AT_NO_ATK },
3017 { 7, 3, 5, 0 },
3018 // XXX: Will be Z_SMALL, but is Z_BIG until code for zombie spawns
3019 // is no longer based on zombie size.
3020 2, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SCREECH,
3021 I_NORMAL, HT_LAND, FL_FLY, 25, DEFAULT_ENERGY,
3022 MONUSE_NOTHING, MONEAT_FOOD, SIZE_MEDIUM
3026 MONS_KENKU, 'H', LIGHTBLUE, "kenku", // likely to become 'Q'
3027 M_WARM_BLOOD | M_SPEAKS,
3028 MR_NO_FLAGS,
3029 550, 10, MONS_KENKU, MONS_KENKU, MH_NATURAL, -3,
3030 { {AT_HIT, AF_PLAIN, 10}, {AT_PECK, AF_PLAIN, 5}, {AT_CLAW, AF_PLAIN, 5},
3031 AT_NO_ATK },
3032 { 5, 3, 5, 0 },
3033 2, 12, MST_NO_SPELLS, CE_CLEAN /*chicken*/, Z_SMALL, S_SHOUT,
3034 I_NORMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
3035 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
3039 MONS_PHOENIX, 'H', ETC_FIRE, "phoenix",
3040 M_WARM_BLOOD | M_ALWAYS_CORPSE | M_UNFINISHED,
3041 MR_RES_POISON,
3042 480, 12, MONS_PHOENIX, MONS_PHOENIX, MH_HOLY, -3,
3043 { {AT_CLAW, AF_HOLY, 19}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3044 { 13, 6, 5, 0 },
3045 2, 10, MST_NO_SPELLS, CE_CLEAN, Z_NOZOMBIE, S_SCREECH,
3046 I_NORMAL, HT_LAND, FL_FLY, 19, DEFAULT_ENERGY,
3047 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
3051 MONS_SHEDU, 'H', WHITE, "shedu",
3052 M_WARM_BLOOD | M_ALWAYS_CORPSE | M_SPELLCASTER,
3053 MR_RES_POISON,
3054 480, 12, MONS_PHOENIX, MONS_SHEDU, MH_HOLY, -3,
3055 { {AT_CLAW, AF_HOLY, 19}, {AT_CLAW, AF_HOLY, 23}, AT_NO_ATK, AT_NO_ATK },
3056 { 13, 6, 5, 0 },
3057 2, 10, MST_SHEDU, CE_CLEAN, Z_NOZOMBIE, S_SCREECH,
3058 I_NORMAL, HT_LAND, FL_FLY, 19, DEFAULT_ENERGY,
3059 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
3062 // various beasts ('I')
3064 MONS_ICE_BEAST, 'I', WHITE, "ice beast",
3065 M_NO_FLAGS,
3066 MR_RES_POISON | MR_RES_ASPHYX | MR_VUL_FIRE | mrd(MR_RES_COLD, 3),
3067 0, 13, MONS_ICE_BEAST, MONS_ICE_BEAST, MH_NATURAL, -3,
3068 { {AT_HIT, AF_COLD, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3069 { 5, 3, 5, 0 },
3070 5, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3071 I_ANIMAL, HT_AMPHIBIOUS, FL_NONE, 10, SWIM_ENERGY(11),
3072 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
3076 MONS_SKY_BEAST, 'I', LIGHTCYAN, "sky beast",
3077 M_NO_SKELETON,
3078 MR_RES_ASPHYX | mrd(MR_RES_ELEC, 3),
3079 480, 13, MONS_ICE_BEAST, MONS_SKY_BEAST, MH_NATURAL, -3,
3080 { {AT_HIT, AF_ELEC, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3081 { 5, 3, 5, 0 },
3082 3, 13, MST_NO_SPELLS, CE_MUTAGEN_RANDOM, Z_NOZOMBIE, S_SILENT,
3083 I_ANIMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
3084 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
3087 // jellies ('J')
3089 MONS_OOZE, 'J', LIGHTGREY, "ooze",
3090 M_SENSE_INVIS,
3091 MR_RES_POISON | MR_RES_ASPHYX | MR_RES_ACID,
3092 0, 3, MONS_JELLY, MONS_OOZE, MH_NATURAL, -6,
3093 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3094 { 3, 3, 5, 0 },
3095 1, 3, MST_NO_SPELLS, CE_POISONOUS, Z_NOZOMBIE, S_SILENT,
3096 I_PLANT, HT_LAND, FL_NONE, 8, DEFAULT_ENERGY,
3097 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
3101 MONS_JELLY, 'J', LIGHTRED, "jelly",
3102 M_SEE_INVIS | M_SPLITS | M_ACID_SPLASH,
3103 MR_RES_POISON | MR_RES_ASPHYX | mrd(MR_RES_ACID, 3),
3104 0, 15, MONS_JELLY, MONS_JELLY, MH_NATURAL, -3,
3105 { {AT_HIT, AF_ACID, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3106 { 3, 5, 5, 0 },
3107 0, 2, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3108 I_PLANT, HT_AMPHIBIOUS, FL_NONE, 9, DEFAULT_ENERGY,
3109 MONUSE_NOTHING, MONEAT_ITEMS, SIZE_SMALL
3113 MONS_SLIME_CREATURE, 'J', GREEN, "slime creature",
3114 M_NO_FLAGS | M_HERD,
3115 MR_RES_POISON | MR_RES_ASPHYX,
3116 0, 5, MONS_JELLY, MONS_SLIME_CREATURE, MH_NATURAL, -3,
3117 { {AT_HIT, AF_PLAIN, 22}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3118 { 11, 3, 5, 0 },
3119 1, 4, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3120 I_PLANT, HT_AMPHIBIOUS, FL_NONE, 10, DEFAULT_ENERGY,
3121 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
3124 { // not an actual monster, it's here just to allow recoloring
3125 MONS_MERGED_SLIME_CREATURE, 'J', LIGHTGREEN, "merged slime creature",
3126 M_NO_POLY_TO,
3127 MR_RES_POISON | MR_RES_ASPHYX,
3128 0, 5, MONS_JELLY, MONS_SLIME_CREATURE, MH_NATURAL, -3,
3129 { {AT_HIT, AF_PLAIN, 22}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3130 { 11, 3, 5, 0 },
3131 1, 4, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3132 I_PLANT, HT_AMPHIBIOUS, FL_NONE, 10, DEFAULT_ENERGY,
3133 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
3137 MONS_PULSATING_LUMP, 'J', RED, "pulsating lump",
3138 M_SENSE_INVIS,
3139 MR_RES_POISON | MR_RES_ASPHYX,
3140 0, 3, MONS_JELLY, MONS_PULSATING_LUMP, MH_NATURAL, -3,
3141 { {AT_HIT, AF_MUTATE, 13}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3142 { 10, 3, 5, 0 },
3143 2, 6, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SILENT,
3144 I_PLANT, HT_LAND, FL_NONE, 5, DEFAULT_ENERGY,
3145 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
3149 MONS_GIANT_AMOEBA, 'J', BLUE, "giant amoeba",
3150 M_NO_SKELETON | M_SENSE_INVIS,
3151 MR_RES_POISON | MR_RES_ASPHYX,
3152 700, 7, MONS_JELLY, MONS_GIANT_AMOEBA, MH_NATURAL, -3,
3153 { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3154 { 12, 3, 5, 0 },
3155 0, 4, MST_NO_SPELLS, CE_POISON_CONTAM, Z_NOZOMBIE, S_SILENT,
3156 I_PLANT, HT_AMPHIBIOUS, FL_NONE, 10, DEFAULT_ENERGY,
3157 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
3161 MONS_BROWN_OOZE, 'J', BROWN, "brown ooze",
3162 M_SENSE_INVIS | M_ACID_SPLASH,
3163 MR_RES_POISON | MR_RES_ASPHYX | MR_RES_ACID,
3164 0, 11, MONS_JELLY, MONS_BROWN_OOZE, MH_NATURAL, -7,
3165 { {AT_HIT, AF_ACID, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3166 { 7, 3, 5, 0 },
3167 10, 1, MST_NO_SPELLS, CE_POISON_CONTAM, Z_NOZOMBIE, S_SILENT,
3168 I_PLANT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3169 MONUSE_NOTHING, MONEAT_ITEMS, SIZE_LITTLE
3173 MONS_AZURE_JELLY, 'J', LIGHTBLUE, "azure jelly",
3174 M_SENSE_INVIS,
3175 MR_RES_POISON | MR_RES_ASPHYX | MR_RES_COLD | MR_VUL_FIRE | MR_RES_ELEC
3176 | MR_RES_ACID,
3177 0, 12, MONS_JELLY, MONS_AZURE_JELLY, MH_NATURAL, -4,
3178 { {AT_HIT, AF_COLD, 12}, {AT_HIT, AF_COLD, 12}, {AT_HIT, AF_PLAIN, 12},
3179 {AT_HIT, AF_PLAIN, 12} },
3180 { 15, 3, 5, 0 },
3181 5, 10, MST_NO_SPELLS, CE_POISONOUS, Z_NOZOMBIE, S_SILENT,
3182 I_PLANT, HT_LAND, FL_NONE, 11, DEFAULT_ENERGY,
3183 MONUSE_NOTHING, MONEAT_ITEMS, SIZE_SMALL
3187 MONS_DEATH_OOZE, 'J', MAGENTA, "death ooze",
3188 M_SENSE_INVIS,
3189 MR_RES_COLD | MR_RES_ACID,
3190 0, 13, MONS_JELLY, MONS_DEATH_OOZE, MH_UNDEAD, -8,
3191 { {AT_HIT, AF_ROT, 32}, {AT_HIT, AF_PLAIN, 32}, AT_NO_ATK, AT_NO_ATK },
3192 { 11, 3, 3, 0 },
3193 2, 4, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3194 I_PLANT, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
3195 MONUSE_NOTHING, MONEAT_ITEMS, SIZE_LITTLE
3199 MONS_ACID_BLOB, 'J', LIGHTCYAN, "acid blob",
3200 M_SENSE_INVIS | M_SPECIAL_ABILITY | M_ACID_SPLASH,
3201 MR_RES_POISON | MR_RES_ASPHYX | MR_RES_ACID,
3202 0, 14, MONS_JELLY, MONS_ACID_BLOB, MH_NATURAL, -7,
3203 { {AT_HIT, AF_ACID, 42}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3204 { 18, 3, 5, 0 },
3205 1, 3, MST_NO_SPELLS, CE_POISON_CONTAM, Z_NOZOMBIE, S_SILENT,
3206 I_PLANT, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
3207 MONUSE_NOTHING, MONEAT_ITEMS, SIZE_SMALL
3210 // kobolds ('K')
3212 MONS_KOBOLD, 'K', BROWN, "kobold",
3213 M_WARM_BLOOD | M_SPEAKS,
3214 MR_NO_FLAGS,
3215 400, 10, MONS_KOBOLD, MONS_KOBOLD, MH_NATURAL, -1,
3216 { {AT_HIT, AF_PLAIN, 4}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3217 { 1, 2, 3, 0 },
3218 2, 12, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SHOUT,
3219 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3220 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_SMALL
3224 MONS_BIG_KOBOLD, 'K', YELLOW, "big kobold",
3225 M_WARM_BLOOD | M_SPEAKS,
3226 MR_NO_FLAGS,
3227 500, 7, MONS_KOBOLD, MONS_BIG_KOBOLD, MH_NATURAL, -3,
3228 { {AT_HIT, AF_PLAIN, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3229 { 5, 3, 5, 0 },
3230 3, 12, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
3231 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3232 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
3236 MONS_KOBOLD_DEMONOLOGIST, 'K', MAGENTA, "kobold demonologist",
3237 M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
3238 MR_NO_FLAGS,
3239 400, 18, MONS_KOBOLD, MONS_KOBOLD, MH_NATURAL, -5,
3240 { {AT_HIT, AF_PLAIN, 4}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3241 { 4, 3, 5, 0 },
3242 2, 13, MST_KOBOLD_DEMONOLOGIST, CE_POISONOUS, Z_NOZOMBIE, S_SHOUT,
3243 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3244 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_SMALL
3247 // liches ('L')
3249 MONS_LICH, 'L', LIGHTGREY, "lich",
3250 M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_SPEAKS,
3251 mrd(MR_RES_COLD, 2),
3252 0, 18, MONS_LICH, MONS_LICH, MH_UNDEAD, -11,
3253 { {AT_TOUCH, AF_DRAIN_XP, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3254 { 20, 2, 4, 0 },
3255 10, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
3256 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3257 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
3261 MONS_ANCIENT_LICH, 'L', WHITE, "ancient lich",
3262 M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_SPEAKS,
3263 mrd(MR_RES_COLD, 2) | MR_RES_FIRE | MR_RES_ELEC,
3264 0, 24, MONS_LICH, MONS_LICH, MH_UNDEAD, -14,
3265 { {AT_TOUCH, AF_DRAIN_XP, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3266 { 27, 2, 4, 0 },
3267 20, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
3268 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3269 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
3272 // mummies ('M')
3274 MONS_MUMMY, 'M', LIGHTGREY, "mummy",
3275 M_NO_FLAGS,
3276 MR_VUL_FIRE | MR_RES_COLD,
3277 0, 21, MONS_MUMMY, MONS_MUMMY, MH_UNDEAD, -5,
3278 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3279 { 3, 5, 3, 0 },
3280 3, 6, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3281 I_NORMAL, HT_LAND, FL_NONE, 6, DEFAULT_ENERGY,
3282 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
3286 MONS_BOG_MUMMY, 'M', BROWN, "bog mummy",
3287 M_SPELLCASTER | M_ACTUAL_SPELLS,
3288 MR_RES_FIRE | MR_RES_COLD,
3289 0, 21, MONS_MUMMY, MONS_BOG_MUMMY, MH_UNDEAD, -5,
3290 { {AT_HIT, AF_PLAIN, 25}, {AT_TOUCH, AF_COLD, 4 }, AT_NO_ATK, AT_NO_ATK },
3291 { 6, 5, 3, 0 },
3292 1, 9, MST_BOG_MUMMY, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3293 I_NORMAL, HT_AMPHIBIOUS, FL_NONE, 8, SWIM_ENERGY(14),
3294 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
3299 MONS_GUARDIAN_MUMMY, 'M', YELLOW, "guardian mummy",
3300 M_FIGHTER | M_SEE_INVIS,
3301 MR_RES_COLD,
3302 0, 13, MONS_MUMMY, MONS_GUARDIAN_MUMMY, MH_UNDEAD, -5,
3303 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3304 { 7, 5, 3, 0 },
3305 6, 9, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3306 I_NORMAL, HT_LAND, FL_NONE, 9, DEFAULT_ENERGY,
3307 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
3311 MONS_GREATER_MUMMY, 'M', WHITE, "greater mummy",
3312 M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_SPEAKS,
3313 MR_RES_COLD | MR_RES_ELEC,
3314 0, 24, MONS_MUMMY, MONS_MUMMY, MH_UNDEAD, MAG_IMMUNE,
3315 { {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3316 { 15, 5, 3, 100 },
3317 10, 6, MST_MUMMY, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3318 I_HIGH, HT_LAND, FL_NONE, 9, DEFAULT_ENERGY,
3319 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
3323 MONS_MUMMY_PRIEST, 'M', RED, "mummy priest",
3324 M_SPELLCASTER | M_PRIEST | M_SEE_INVIS | M_SPEAKS,
3325 MR_RES_COLD | MR_RES_ELEC,
3326 0, 20, MONS_MUMMY, MONS_MUMMY, MH_UNDEAD, MAG_IMMUNE,
3327 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3328 { 10, 5, 3, 0 },
3329 8, 7, MST_MUMMY, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3330 I_HIGH, HT_LAND, FL_NONE, 8, DEFAULT_ENERGY,
3331 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
3334 // nagas ('N')
3336 MONS_NAGA, 'N', GREEN, "naga",
3337 M_SPELLCASTER | M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS,
3338 MR_RES_POISON,
3339 1000, 10, MONS_NAGA, MONS_NAGA, MH_NATURAL, -6,
3340 { {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3341 { 5, 3, 5, 0 },
3342 6, 10, MST_NAGA, CE_POISONOUS, Z_BIG, S_SHOUT,
3343 I_NORMAL, HT_LAND, FL_NONE, 8, ACTION_ENERGY(8),
3344 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
3348 MONS_NAGA_MAGE, 'N', RED, "naga mage",
3349 M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS,
3350 MR_RES_POISON,
3351 1000, 13, MONS_NAGA, MONS_NAGA, MH_NATURAL, -6,
3352 { {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3353 { 7, 3, 5, 0 },
3354 6, 10, MST_NAGA_MAGE, CE_POISONOUS, Z_NOZOMBIE, S_SHOUT,
3355 I_NORMAL, HT_LAND, FL_NONE, 8, ACTION_ENERGY(8),
3356 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
3360 MONS_NAGA_WARRIOR, 'N', BLUE, "naga warrior",
3361 M_FIGHTER | M_SPELLCASTER | M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS,
3362 MR_RES_POISON,
3363 1000, 8, MONS_NAGA, MONS_NAGA, MH_NATURAL, -6,
3364 { {AT_HIT, AF_PLAIN, 28}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3365 { 10, 9, 2, 0 },
3366 6, 10, MST_NAGA, CE_POISONOUS, Z_NOZOMBIE, S_SHOUT,
3367 I_NORMAL, HT_LAND, FL_NONE, 8, ACTION_ENERGY(8),
3368 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
3372 MONS_GREATER_NAGA, 'N', LIGHTMAGENTA, "greater naga",
3373 M_FIGHTER | M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_WARM_BLOOD
3374 | M_SPEAKS,
3375 MR_RES_POISON,
3376 1000, 11, MONS_NAGA, MONS_NAGA, MH_NATURAL, MAG_IMMUNE,
3377 { {AT_HIT, AF_PLAIN, 27}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3378 { 15, 3, 5, 0 },
3379 6, 10, MST_NAGA_MAGE, CE_POISONOUS, Z_NOZOMBIE, S_SHOUT,
3380 I_HIGH, HT_LAND, FL_NONE, 8, ACTION_ENERGY(8),
3381 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
3384 // ogres ('O')
3386 MONS_OGRE, 'O', BROWN, "ogre",
3387 M_WARM_BLOOD | M_SPEAKS,
3388 MR_NO_FLAGS,
3389 1300, 9, MONS_OGRE, MONS_OGRE, MH_NATURAL, -3,
3390 { {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3391 { 5, 3, 5, 0 },
3392 1, 6, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SHOUT,
3393 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3394 MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_LARGE
3397 // These guys get understated because the experience code can't see
3398 // that they wield two weapons... I'm raising their xp modifier. - bwr
3400 MONS_TWO_HEADED_OGRE, 'O', LIGHTRED, "two-headed ogre",
3401 M_WARM_BLOOD | M_TWO_WEAPONS | M_SPEAKS,
3402 MR_NO_FLAGS,
3403 1390, 15, MONS_OGRE, MONS_TWO_HEADED_OGRE, MH_NATURAL, -4,
3404 { {AT_HIT, AF_PLAIN, 17}, {AT_HIT, AF_PLAIN, 13}, AT_NO_ATK, AT_NO_ATK },
3405 { 6, 3, 5, 0 },
3406 1, 4, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SHOUT2,
3407 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3408 MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_LARGE
3412 MONS_OGRE_MAGE, 'O', MAGENTA, "ogre mage",
3413 M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS,
3414 MR_NO_FLAGS,
3415 1300, 16, MONS_OGRE, MONS_OGRE, MH_NATURAL, -6,
3416 { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3417 { 10, 3, 5, 0 },
3418 1, 7, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
3419 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3420 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
3423 // plants ('P')
3425 MONS_PLANT, 'P', GREEN, "plant",
3426 M_NO_EXP_GAIN | M_STATIONARY,
3427 MR_RES_POISON,
3428 0, 10, MONS_PLANT, MONS_PLANT, MH_PLANT, MAG_IMMUNE,
3429 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3430 { 10, 3, 5, 0 },
3431 10, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3432 I_PLANT, HT_LAND, FL_NONE, 0, DEFAULT_ENERGY,
3433 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
3437 MONS_OKLOB_SAPLING, 'P', LIGHTCYAN, "oklob sapling",
3438 // if we decide to allow this for normal games, please remove M_NO_POLY_TO
3439 M_SPECIAL_ABILITY | M_STATIONARY | M_NO_POLY_TO,
3440 MR_RES_POISON | MR_RES_ACID,
3441 0, 10, MONS_PLANT, MONS_OKLOB_PLANT, MH_PLANT, -3,
3442 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3443 { 4, 3, 5, 0 },
3444 10, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3445 I_PLANT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3446 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
3450 MONS_OKLOB_PLANT, 'P', LIGHTGREEN, "oklob plant",
3451 M_SPECIAL_ABILITY | M_STATIONARY,
3452 MR_RES_POISON | MR_RES_ACID,
3453 0, 10, MONS_PLANT, MONS_OKLOB_PLANT, MH_PLANT, -3,
3454 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3455 { 10, 3, 5, 0 },
3456 10, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3457 I_PLANT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3458 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
3462 MONS_BUSH, 'P', BROWN, "bush",
3463 M_NO_EXP_GAIN | M_STATIONARY,
3464 MR_RES_POISON | MR_VUL_FIRE,
3465 0, 10, MONS_PLANT, MONS_BUSH, MH_PLANT, MAG_IMMUNE,
3466 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3467 { 20, 3, 5, 0 },
3468 15, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3469 I_PLANT, HT_LAND, FL_NONE, 0, DEFAULT_ENERGY,
3470 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
3474 MONS_BURNING_BUSH, 'P', RED, "burning bush",
3475 // if we decide to allow this for normal games, please remove M_NO_POLY_TO
3476 M_SPECIAL_ABILITY | M_STATIONARY | M_SEE_INVIS | M_NO_POLY_TO,
3477 MR_RES_POISON | MR_RES_FIRE,
3478 0, 10, MONS_PLANT, MONS_BUSH, MH_PLANT, MAG_IMMUNE,
3479 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3480 { 8, 3, 5, 0 },
3481 10, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3482 I_PLANT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3483 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
3486 // rakshasas and efreeti ('R')
3488 MONS_EFREET, 'R', RED, "efreet",
3489 M_SPELLCASTER | M_SPEAKS | M_GLOWS_LIGHT,
3490 MR_RES_POISON | mrd(MR_RES_FIRE, 3) | MR_VUL_COLD,
3491 0, 12, MONS_EFREET, MONS_EFREET, MH_DEMONIC, -3,
3492 { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3493 { 7, 3, 5, 0 },
3494 10, 5, MST_EFREET, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3495 I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
3496 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
3500 MONS_RAKSHASA, 'R', YELLOW, "rakshasa",
3501 M_SPELLCASTER | M_SEE_INVIS,
3502 MR_RES_POISON,
3503 0, 15, MONS_RAKSHASA, MONS_RAKSHASA, MH_DEMONIC, -10,
3504 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3505 { 10, 3, 5, 0 },
3506 10, 14, MST_RAKSHASA, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3507 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3508 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
3511 // fake R - conjured by the R's illusion spell.
3513 MONS_RAKSHASA_FAKE, 'R', YELLOW, "rakshasa",
3514 M_NO_FLAGS,
3515 MR_RES_POISON,
3516 0, 10, MONS_RAKSHASA_FAKE, MONS_RAKSHASA_FAKE, MH_DEMONIC, MAG_IMMUNE,
3517 { {AT_HIT, AF_PLAIN, 0}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3518 { 1, 0, 0, 1 },
3519 0, 30, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_ROAR,
3520 I_PLANT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3521 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
3524 // snakes ('S')
3526 MONS_SMALL_SNAKE, 'S', GREEN, "small snake",
3527 M_COLD_BLOOD,
3528 MR_NO_FLAGS,
3529 100, 13, MONS_SNAKE, MONS_SMALL_SNAKE, MH_NATURAL, -1,
3530 { {AT_BITE, AF_POISON, 2}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3531 { 1, 2, 3, 0 },
3532 0, 11, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
3533 I_INSECT, HT_AMPHIBIOUS, FL_NONE, 12, SWIM_ENERGY(6),
3534 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
3538 MONS_SNAKE, 'S', LIGHTGREEN, "snake",
3539 M_COLD_BLOOD,
3540 MR_NO_FLAGS,
3541 200, 10, MONS_SNAKE, MONS_SNAKE, MH_NATURAL, -3,
3542 { {AT_BITE, AF_POISON, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3543 { 2, 3, 5, 0 },
3544 1, 15, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
3545 I_INSECT, HT_AMPHIBIOUS, FL_NONE, 13, SWIM_ENERGY(6),
3546 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
3550 MONS_WATER_MOCCASIN, 'S', BROWN, "water moccasin",
3551 M_COLD_BLOOD,
3552 MR_RES_POISON,
3553 300, 11, MONS_SNAKE, MONS_WATER_MOCCASIN, MH_NATURAL, -3,
3554 { {AT_BITE, AF_POISON_MEDIUM, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3555 { 4, 3, 5, 0 },
3556 2, 15, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_HISS,
3557 I_INSECT, HT_AMPHIBIOUS, FL_NONE, 14, SWIM_ENERGY(6),
3558 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
3562 MONS_BLACK_MAMBA, 'S', BLUE, "black mamba",
3563 M_COLD_BLOOD,
3564 MR_RES_POISON,
3565 500, 12, MONS_SNAKE, MONS_BLACK_MAMBA, MH_NATURAL, -3,
3566 { {AT_BITE, AF_POISON_MEDIUM, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3567 { 7, 3, 5, 0 },
3568 4, 15, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_HISS,
3569 I_INSECT, HT_LAND, FL_NONE, 18, DEFAULT_ENERGY,
3570 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
3574 MONS_VIPER, 'S', YELLOW, "viper",
3575 M_COLD_BLOOD,
3576 MR_RES_POISON,
3577 300, 10, MONS_SNAKE, MONS_VIPER, MH_NATURAL, -3,
3578 { {AT_BITE, AF_POISON_MEDIUM, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3579 { 6, 3, 5, 0 },
3580 4, 14, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_HISS,
3581 I_INSECT, HT_LAND, FL_NONE, 13, DEFAULT_ENERGY,
3582 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
3586 MONS_SEA_SNAKE, 'S', LIGHTCYAN, "sea snake",
3587 M_COLD_BLOOD | M_SUBMERGES,
3588 MR_NO_FLAGS,
3589 400, 10, MONS_SNAKE, MONS_SEA_SNAKE, MH_NATURAL, -3,
3590 { {AT_BITE, AF_POISON_STRONG, 24}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3591 { 10, 4, 5, 0 },
3592 2, 15, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_HISS,
3593 I_INSECT, HT_AMPHIBIOUS, FL_NONE, 12, SWIM_ENERGY(4),
3594 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
3598 MONS_ANACONDA, 'S', LIGHTGREY, "anaconda",
3599 M_COLD_BLOOD,
3600 MR_NO_FLAGS,
3601 750, 10, MONS_SNAKE, MONS_ANACONDA, MH_NATURAL, -3,
3602 { {AT_CONSTRICT, AF_CRUSH, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3603 { 11, 3, 5, 0 },
3604 4, 16, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_HISS,
3605 I_INSECT, HT_AMPHIBIOUS, FL_NONE, 18, DEFAULT_ENERGY,
3606 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
3610 MONS_GUARDIAN_SERPENT, 'S', WHITE, "guardian serpent",
3611 M_SPELLCASTER | M_SEE_INVIS | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
3612 MR_RES_POISON,
3613 800, 10, MONS_GUARDIAN_SERPENT, MONS_GUARDIAN_SERPENT, MH_NATURAL, -6,
3614 { {AT_HIT, AF_PLAIN, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3615 { 8, 3, 5, 0 },
3616 6, 14, MST_GUARDIAN_SERPENT, CE_MUTAGEN_RANDOM, Z_BIG, S_SHOUT,
3617 I_NORMAL, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
3618 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
3621 // trolls ('T')
3623 MONS_TROLL, 'T', BROWN, "troll",
3624 M_WARM_BLOOD | M_SPEAKS,
3625 MR_NO_FLAGS,
3626 1500, 10, MONS_TROLL, MONS_TROLL, MH_NATURAL, -3,
3627 { {AT_BITE, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 15},
3628 {AT_CLAW, AF_PLAIN, 15}, AT_NO_ATK },
3629 { 7, 3, 5, 0 },
3630 3, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SHOUT,
3631 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3632 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
3636 MONS_ROCK_TROLL, 'T', LIGHTGREY, "rock troll",
3637 M_WARM_BLOOD | M_SPEAKS,
3638 MR_NO_FLAGS,
3639 1600, 11, MONS_TROLL, MONS_ROCK_TROLL, MH_NATURAL, -4,
3640 { {AT_BITE, AF_PLAIN, 30}, {AT_CLAW, AF_PLAIN, 20},
3641 {AT_CLAW, AF_PLAIN, 20}, AT_NO_ATK },
3642 { 11, 3, 5, 0 },
3643 13, 6, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SHOUT,
3644 I_NORMAL, HT_LAND, FL_NONE, 8, DEFAULT_ENERGY,
3645 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
3649 MONS_IRON_TROLL, 'T', CYAN, "iron troll",
3650 M_WARM_BLOOD | M_SPEAKS,
3651 MR_RES_FIRE | MR_RES_COLD,
3652 1800, 10, MONS_TROLL, MONS_IRON_TROLL, MH_NATURAL, -5,
3653 { {AT_BITE, AF_PLAIN, 35}, {AT_CLAW, AF_PLAIN, 25},
3654 {AT_CLAW, AF_PLAIN, 25}, AT_NO_ATK },
3655 { 16, 3, 5, 0 },
3656 20, 4, MST_NO_SPELLS, CE_POISON_CONTAM, Z_BIG, S_SHOUT,
3657 I_NORMAL, HT_LAND, FL_NONE, 7, DEFAULT_ENERGY,
3658 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_BIG
3662 MONS_DEEP_TROLL, 'T', YELLOW, "deep troll",
3663 M_WARM_BLOOD | M_SENSE_INVIS | M_SPEAKS,
3664 MR_NO_FLAGS,
3665 1500, 13, MONS_TROLL, MONS_DEEP_TROLL, MH_NATURAL, -3,
3666 { {AT_BITE, AF_PLAIN, 27}, {AT_CLAW, AF_PLAIN, 20},
3667 {AT_CLAW, AF_PLAIN, 20}, AT_NO_ATK },
3668 { 10, 3, 5, 0 },
3669 6, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SHOUT,
3670 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3671 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
3674 // bears ('U')
3676 MONS_BEAR, 'U', BROWN, "bear",
3677 M_WARM_BLOOD | M_SPELLCASTER | M_FAKE_SPELLS,
3678 MR_NO_FLAGS,
3679 1000, 10, MONS_BEAR, MONS_BEAR, MH_NATURAL, -3,
3680 { {AT_BITE, AF_PLAIN, 10}, {AT_CLAW, AF_PLAIN, 6}, {AT_CLAW, AF_PLAIN, 6},
3681 AT_NO_ATK },
3682 { 7, 3, 3, 0 },
3683 4, 4, MST_BERSERK_ESCAPE, CE_CLEAN, Z_BIG, S_GROWL,
3684 I_ANIMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3685 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
3689 MONS_GRIZZLY_BEAR, 'U', LIGHTGREY, "grizzly bear",
3690 M_WARM_BLOOD | M_SPELLCASTER| M_FAKE_SPELLS,
3691 MR_NO_FLAGS,
3692 1100, 10, MONS_BEAR, MONS_GRIZZLY_BEAR, MH_NATURAL, -3,
3693 { {AT_BITE, AF_PLAIN, 12}, {AT_CLAW, AF_PLAIN, 8}, {AT_CLAW, AF_PLAIN, 8},
3694 AT_NO_ATK },
3695 { 7, 4, 4, 0 },
3696 5, 8, MST_BERSERK_ESCAPE, CE_CLEAN, Z_BIG, S_GROWL,
3697 I_ANIMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3698 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
3702 MONS_POLAR_BEAR, 'U', WHITE, "polar bear",
3703 M_WARM_BLOOD | M_SPELLCASTER | M_FAKE_SPELLS,
3704 MR_RES_COLD,
3705 1200, 12, MONS_BEAR, MONS_POLAR_BEAR, MH_NATURAL, -3,
3706 { {AT_BITE, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 5}, {AT_CLAW, AF_PLAIN, 5},
3707 AT_NO_ATK },
3708 { 7, 5, 3, 0 },
3709 7, 8, MST_BERSERK_ESCAPE, CE_CLEAN, Z_BIG, S_GROWL,
3710 I_ANIMAL, HT_AMPHIBIOUS, FL_NONE, 10, DEFAULT_ENERGY,
3711 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
3715 MONS_BLACK_BEAR, 'U', BLUE, "black bear",
3716 M_WARM_BLOOD | M_SPELLCASTER | M_FAKE_SPELLS,
3717 MR_NO_FLAGS,
3718 800, 9, MONS_BEAR, MONS_BLACK_BEAR, MH_NATURAL, -3,
3719 { {AT_BITE, AF_PLAIN, 4}, {AT_CLAW, AF_PLAIN, 4}, {AT_CLAW, AF_PLAIN, 4},
3720 AT_NO_ATK },
3721 { 6, 3, 3, 0 },
3722 2, 8, MST_BERSERK_ESCAPE, CE_CLEAN, Z_SMALL, S_GROWL,
3723 I_ANIMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3724 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
3727 // vampires ('V')
3729 MONS_VAMPIRE, 'V', RED, "vampire",
3730 M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_SPEAKS | M_BLOOD_SCENT,
3731 MR_RES_COLD,
3732 0, 11, MONS_VAMPIRE, MONS_VAMPIRE, MH_UNDEAD, -6,
3733 { {AT_HIT, AF_PLAIN, 7}, {AT_BITE, AF_VAMPIRIC, 15}, AT_NO_ATK,
3734 AT_NO_ATK },
3735 { 6, 3, 5, 0 },
3736 10, 10, MST_VAMPIRE, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3737 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3738 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
3742 MONS_VAMPIRE_KNIGHT, 'V', CYAN, "vampire knight",
3743 M_FIGHTER | M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_SPEAKS
3744 | M_BLOOD_SCENT,
3745 MR_RES_COLD,
3746 0, 13, MONS_VAMPIRE, MONS_VAMPIRE, MH_UNDEAD, -6,
3747 { {AT_HIT, AF_PLAIN, 33}, {AT_BITE, AF_VAMPIRIC, 15}, AT_NO_ATK,
3748 AT_NO_ATK },
3749 { 11, 3, 7, 0 },
3750 10, 10, MST_VAMPIRE_KNIGHT, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
3751 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3752 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
3756 MONS_VAMPIRE_MAGE, 'V', MAGENTA, "vampire mage",
3757 M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_SPEAKS | M_BLOOD_SCENT,
3758 MR_RES_COLD,
3759 0, 15, MONS_VAMPIRE, MONS_VAMPIRE, MH_UNDEAD, -6,
3760 { {AT_HIT, AF_PLAIN, 7}, {AT_BITE, AF_VAMPIRIC, 15}, AT_NO_ATK,
3761 AT_NO_ATK },
3762 { 8, 3, 4, 0 },
3763 10, 10, MST_VAMPIRE_MAGE, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3764 I_HIGH, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
3765 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
3768 // wraiths ('W')
3770 MONS_WRAITH, 'W', WHITE, "wraith",
3771 M_SEE_INVIS | M_INSUBSTANTIAL,
3772 MR_RES_COLD,
3773 0, 14, MONS_WRAITH, MONS_WRAITH, MH_UNDEAD, -7,
3774 { {AT_HIT, AF_DRAIN_XP, 13}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3775 { 6, 3, 5, 0 },
3776 10, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3777 I_NORMAL, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
3778 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
3782 MONS_SHADOW_WRAITH, 'W', MAGENTA, "shadow wraith",
3783 M_SEE_INVIS | M_INVIS | M_INSUBSTANTIAL,
3784 MR_NO_FLAGS,
3785 0, 15, MONS_WRAITH, MONS_SHADOW_WRAITH, MH_UNDEAD, -8,
3786 { {AT_HIT, AF_DRAIN_XP, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3787 { 10, 3, 5, 0 },
3788 7, 7, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_MOAN,
3789 I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
3790 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
3794 MONS_FREEZING_WRAITH, 'W', LIGHTBLUE, "freezing wraith",
3795 M_SEE_INVIS | M_INSUBSTANTIAL,
3796 MR_VUL_FIRE | mrd(MR_RES_COLD, 3),
3797 0, 10, MONS_WRAITH, MONS_FREEZING_WRAITH, MH_UNDEAD, -4,
3798 { {AT_HIT, AF_COLD, 19}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3799 { 8, 3, 5, 0 },
3800 12, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3801 I_NORMAL, HT_LAND, FL_LEVITATE, 8, DEFAULT_ENERGY,
3802 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
3806 MONS_EIDOLON, 'W', LIGHTGREY, "eidolon",
3807 M_SEE_INVIS | M_GLOWS_LIGHT | M_INSUBSTANTIAL,
3808 MR_RES_COLD,
3809 0, 14, MONS_WRAITH, MONS_EIDOLON, MH_UNDEAD, -8,
3810 { {AT_HIT, AF_DRAIN_XP, 13}, {AT_HIT, AF_DRAIN_STAT, 13}, AT_NO_ATK,
3811 AT_NO_ATK },
3812 { 13, 3, 5, 0 },
3813 12, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3814 I_NORMAL, HT_LAND, FL_LEVITATE, 11, DEFAULT_ENERGY,
3815 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
3819 MONS_PHANTASMAL_WARRIOR, 'W', LIGHTGREEN, "phantasmal warrior",
3820 M_SEE_INVIS | M_GLOWS_LIGHT | M_INSUBSTANTIAL,
3821 MR_RES_COLD,
3822 0, 13, MONS_WRAITH, MONS_PHANTASMAL_WARRIOR, MH_UNDEAD, -6,
3823 { {AT_HIT, AF_DRAIN_XP, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3824 { 9, 3, 5, 0 },
3825 12, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3826 I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
3827 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
3830 // spectral thing - similar to zombies/skeletons
3832 MONS_SPECTRAL_THING, 'W', GREEN, "spectral thing",
3833 M_SEE_INVIS | M_GLOWS_LIGHT | M_INSUBSTANTIAL,
3834 MR_RES_COLD,
3835 0, 11, MONS_WRAITH, MONS_SPECTRAL_THING, MH_UNDEAD, MAG_IMMUNE,
3836 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3837 { 8, 3, 5, 0 },
3838 8, 5, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3839 I_PLANT, HT_LAND, FL_LEVITATE, 7, DEFAULT_ENERGY,
3840 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
3843 // large abominations ('X')
3845 // coloured with mon-util.cc:random_large_abomination_colour.
3846 MONS_ABOMINATION_LARGE, 'X', BLACK, "large abomination",
3847 M_NO_FLAGS,
3848 MR_NO_FLAGS,
3849 0, 10, MONS_ABOMINATION_SMALL, MONS_ABOMINATION_LARGE, MH_DEMONIC, -7,
3850 { {AT_HIT, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3851 { 11, 2, 5, 0 },
3852 0, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3853 I_PLANT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3854 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
3858 MONS_TENTACLED_MONSTROSITY, 'X', GREEN, "tentacled monstrosity",
3859 M_SEE_INVIS,
3860 MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
3861 0, 10, MONS_TENTACLED_MONSTROSITY, MONS_TENTACLED_MONSTROSITY, MH_DEMONIC, -5,
3862 { {AT_TENTACLE_SLAP, AF_PLAIN, 22}, {AT_TENTACLE_SLAP, AF_PLAIN, 17},
3863 {AT_TENTACLE_SLAP, AF_PLAIN, 13}, AT_NO_ATK },
3864 { 25, 3, 5, 0 },
3865 5, 5, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3866 I_NORMAL, HT_AMPHIBIOUS, FL_NONE, 9, DEFAULT_ENERGY,
3867 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_GIANT
3871 MONS_ORB_GUARDIAN, 'X', MAGENTA, "Orb Guardian",
3872 M_FIGHTER | M_SEE_INVIS | M_NO_POLY_TO,
3873 MR_NO_FLAGS,
3874 0, 23, MONS_ORB_GUARDIAN, MONS_ORB_GUARDIAN, MH_NATURAL, -6,
3875 { {AT_HIT, AF_PLAIN, 45}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3876 { 15, 3, 5, 0 },
3877 13, 13, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3878 I_NORMAL, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
3879 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_GIANT
3882 // yaks, sheep and elephants ('Y')
3884 MONS_SHEEP, 'Y', LIGHTGREY, "sheep",
3885 M_WARM_BLOOD | M_HERD,
3886 MR_NO_FLAGS,
3887 900, 10, MONS_SHEEP, MONS_SHEEP, MH_NATURAL, -3,
3888 { {AT_BITE, AF_PLAIN, 13}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3889 { 3, 3, 5, 0 },
3890 2, 7, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_BELLOW,
3891 I_ANIMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3892 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
3896 MONS_YAK, 'Y', BROWN, "yak",
3897 M_WARM_BLOOD | M_HERD,
3898 MR_NO_FLAGS,
3899 1200, 9, MONS_YAK, MONS_YAK, MH_NATURAL, -3,
3900 { {AT_GORE, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3901 { 7, 3, 5, 0 },
3902 4, 7, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_BELLOW,
3903 I_ANIMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3904 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
3908 MONS_DEATH_YAK, 'Y', YELLOW, "death yak",
3909 M_WARM_BLOOD | M_HERD,
3910 MR_NO_FLAGS,
3911 1500, 8, MONS_YAK, MONS_DEATH_YAK, MH_NATURAL, -5,
3912 { {AT_GORE, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3913 { 14, 3, 5, 0 },
3914 9, 5, MST_NO_SPELLS, CE_POISON_CONTAM, Z_BIG, S_BELLOW,
3915 I_ANIMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3916 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
3920 MONS_ELEPHANT, 'Y', GREEN, "elephant",
3921 M_WARM_BLOOD,
3922 MR_NO_FLAGS,
3923 1600, 8, MONS_ELEPHANT, MONS_ELEPHANT, MH_NATURAL, -5,
3924 { {AT_TRAMPLE, AF_PLAIN, 20}, {AT_TRUNK_SLAP, AF_PLAIN, 5}, AT_NO_ATK,
3925 AT_NO_ATK },
3926 { 9, 5, 5, 0 },
3927 8, 2, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_TRUMPET,
3928 I_ANIMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3929 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_GIANT
3933 MONS_DIRE_ELEPHANT, 'Y', BLUE, "dire elephant",
3934 M_WARM_BLOOD,
3935 MR_NO_FLAGS,
3936 2200, 8, MONS_ELEPHANT, MONS_DIRE_ELEPHANT, MH_NATURAL, -5,
3937 { {AT_TRAMPLE, AF_PLAIN, 40}, {AT_TRUNK_SLAP, AF_PLAIN, 15}, AT_NO_ATK,
3938 AT_NO_ATK },
3939 { 15, 5, 5, 0 },
3940 13, 2, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_TRUMPET,
3941 I_ANIMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3942 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_GIANT
3946 MONS_HELLEPHANT, 'Y', LIGHTRED, "hellephant",
3947 M_WARM_BLOOD | M_SPELLCASTER | M_FAKE_SPELLS,
3948 MR_NO_FLAGS,
3949 2800, 10, MONS_ELEPHANT, MONS_HELLEPHANT, MH_DEMONIC, -5,
3950 { {AT_TRAMPLE, AF_PLAIN, 45}, {AT_BITE, AF_PLAIN, 20},
3951 {AT_GORE, AF_PLAIN, 15 }, AT_NO_ATK },
3952 { 20, 5, 7, 0 },
3953 13, 10, MST_HELLEPHANT, CE_CLEAN, Z_NOZOMBIE, S_TRUMPET,
3954 I_ANIMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
3955 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_GIANT
3959 MONS_APIS, 'Y', WHITE, "apis",
3960 M_WARM_BLOOD,
3961 MR_NO_FLAGS,
3962 1800, 8, MONS_APIS, MONS_APIS, MH_HOLY, -5,
3963 { {AT_GORE, AF_HOLY, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3964 { 16, 5, 5, 0 },
3965 9, 5, MST_NO_SPELLS, CE_CLEAN, Z_NOZOMBIE, S_SILENT,
3966 I_ANIMAL, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
3967 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
3970 // large zombies, etc. ('Z')
3971 // zombie, skeleton and simulacra species depend on corpse species,
3972 // or else are chosen randomly
3974 MONS_ZOMBIE_LARGE, 'Z', BROWN, "large zombie",
3975 M_NO_REGEN,
3976 mrd(MR_RES_COLD, 2),
3977 0, 9, MONS_ZOMBIE_SMALL, MONS_ZOMBIE_LARGE, MH_UNDEAD, -1,
3978 { {AT_HIT, AF_PLAIN, 23}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3979 { 6, 3, 5, 0 },
3980 8, 5, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3981 I_PLANT, HT_LAND, FL_NONE, 5, DEFAULT_ENERGY,
3982 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
3986 MONS_SKELETON_LARGE, 'Z', LIGHTGREY, "large skeleton",
3987 M_NO_REGEN,
3988 mrd(MR_RES_COLD, 2),
3989 0, 9, MONS_SKELETON_SMALL, MONS_SKELETON_LARGE, MH_UNDEAD, -1,
3990 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3991 { 0, 0, 0, 0 },
3992 0, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3993 I_PLANT, HT_LAND, FL_NONE, 5, DEFAULT_ENERGY,
3994 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
3998 MONS_SIMULACRUM_LARGE, 'Z', ETC_ICE, "large simulacrum",
3999 M_NO_REGEN,
4000 MR_VUL_FIRE | mrd(MR_RES_COLD, 3),
4001 0, 9, MONS_SIMULACRUM_SMALL, MONS_SIMULACRUM_LARGE, MH_UNDEAD, -1,
4002 { {AT_HIT, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4003 { 5, 3, 5, 0 },
4004 10, 5, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
4005 I_PLANT, HT_LAND, FL_NONE, 7, DEFAULT_ENERGY,
4006 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
4009 // water monsters
4011 MONS_BIG_FISH, ';', LIGHTGREEN, "big fish",
4012 M_COLD_BLOOD | M_SUBMERGES,
4013 MR_NO_FLAGS,
4014 300, 7, MONS_BIG_FISH, MONS_BIG_FISH, MH_NATURAL, -3,
4015 { {AT_BITE, AF_PLAIN, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4016 { 4, 3, 5, 0 },
4017 1, 12, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
4018 I_ANIMAL, HT_WATER, FL_NONE, 10, DEFAULT_ENERGY,
4019 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
4023 MONS_GIANT_GOLDFISH, ';', LIGHTRED, "giant goldfish",
4024 M_COLD_BLOOD | M_SUBMERGES,
4025 MR_NO_FLAGS,
4026 450, 5, MONS_BIG_FISH, MONS_GIANT_GOLDFISH, MH_NATURAL, -3,
4027 { {AT_BITE, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4028 { 7, 3, 5, 0 },
4029 5, 7, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
4030 I_ANIMAL, HT_WATER, FL_NONE, 10, DEFAULT_ENERGY,
4031 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
4035 MONS_ELECTRIC_EEL, ';', LIGHTBLUE, "electric eel",
4036 M_COLD_BLOOD | M_SPECIAL_ABILITY | M_SUBMERGES,
4037 MR_RES_ELEC,
4038 300, 19, MONS_ELECTRIC_EEL, MONS_ELECTRIC_EEL, MH_NATURAL, -3,
4039 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4040 { 3, 3, 5, 0 },
4041 1, 15, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
4042 I_ANIMAL, HT_WATER, FL_NONE, 10, DEFAULT_ENERGY,
4043 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
4047 MONS_JELLYFISH, 'J', CYAN, "jellyfish",
4048 M_NO_SKELETON | M_SUBMERGES,
4049 MR_RES_POISON,
4050 200, 10, MONS_JELLYFISH, MONS_JELLYFISH, MH_NATURAL, -3,
4051 { {AT_STING, AF_POISON_STR, 1}, {AT_HIT, AF_PLAIN, 1}, AT_NO_ATK,
4052 AT_NO_ATK },
4053 { 4, 3, 5, 0 },
4054 0, 5, MST_NO_SPELLS, CE_POISONOUS, Z_NOZOMBIE, S_SILENT,
4055 I_PLANT, HT_WATER, FL_NONE, 10, DEFAULT_ENERGY,
4056 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
4059 // A shark goes into a battle frenzy when it smells blood.
4060 // Technically they have skeletons, but Crawl needs skeletons made
4061 // of bone or similar materials (e.g. chitin)
4063 MONS_SHARK, ';', WHITE, "shark",
4064 M_NO_SKELETON | M_COLD_BLOOD | M_BLOOD_SCENT | M_SUBMERGES,
4065 MR_NO_FLAGS,
4066 2000, 9, MONS_SHARK, MONS_SHARK, MH_NATURAL, -3,
4067 { {AT_BITE, AF_PLAIN, 18}, {AT_BITE, AF_PLAIN, 9}, AT_NO_ATK, AT_NO_ATK },
4068 { 7, 3, 5, 0 },
4069 9, 5, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SILENT,
4070 I_ANIMAL, HT_WATER, FL_NONE, 10, DEFAULT_ENERGY,
4071 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
4074 // A kraken and its tentacles get a random colour from ETC_KRAKEN.
4076 MONS_KRAKEN, 'X', BLACK, "kraken",
4077 M_NO_SKELETON | M_COLD_BLOOD | M_SPELLCASTER | M_FAKE_SPELLS,
4078 MR_NO_FLAGS,
4079 3000, 6, MONS_KRAKEN, MONS_KRAKEN, MH_NATURAL, -3,
4080 { {AT_BITE, AF_PLAIN, 50}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4081 { 16, 10, 6, 0 },
4082 20, 0, MST_KRAKEN, CE_POISON_CONTAM, Z_BIG, S_SILENT,
4083 I_ANIMAL, HT_WATER, FL_NONE, 14, DEFAULT_ENERGY,
4084 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
4088 MONS_KRAKEN_TENTACLE, 'w', BLACK, "tentacle",
4089 M_COLD_BLOOD | M_NO_EXP_GAIN | M_STATIONARY | M_NO_POLY_TO,
4090 MR_NO_FLAGS,
4091 0, 10, MONS_KRAKEN, MONS_KRAKEN_TENTACLE, MH_NATURAL, MAG_IMMUNE,
4092 { {AT_TENTACLE_SLAP, AF_PLAIN, 29}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4093 { 12, 3, 2, 0 },
4094 5, 7, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
4095 I_ANIMAL, HT_AMPHIBIOUS, FL_LEVITATE, 17, DEFAULT_ENERGY,
4096 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
4100 MONS_KRAKEN_TENTACLE_SEGMENT, '*', BLACK, "tentacle segment",
4101 M_COLD_BLOOD | M_NO_EXP_GAIN | M_STATIONARY | M_SUBMERGES | M_NO_POLY_TO,
4102 MR_NO_FLAGS,
4103 0, 10, MONS_KRAKEN, MONS_KRAKEN_TENTACLE_SEGMENT, MH_NATURAL, MAG_IMMUNE,
4104 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4105 { 12, 3, 2, 0 },
4106 5, 7, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
4107 I_ANIMAL, HT_AMPHIBIOUS, FL_LEVITATE, 18, DEFAULT_ENERGY,
4108 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
4111 // lava monsters
4113 MONS_LAVA_WORM, 'w', RED, "lava worm",
4114 M_NO_SKELETON | M_SUBMERGES,
4115 mrd(MR_RES_FIRE, 3) | MR_VUL_COLD,
4116 0, 6, MONS_LAVA_WORM, MONS_LAVA_WORM, MH_NATURAL, -3,
4117 { {AT_BITE, AF_FIRE, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4118 { 6, 3, 5, 0 },
4119 1, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_SMALL, S_SILENT,
4120 I_PLANT, HT_LAVA, FL_NONE, 10, DEFAULT_ENERGY,
4121 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
4125 MONS_LAVA_FISH, ';', RED, "lava fish",
4126 M_WARM_BLOOD | M_SUBMERGES,
4127 mrd(MR_RES_FIRE, 3) | MR_VUL_COLD,
4128 0, 10, MONS_BIG_FISH, MONS_LAVA_FISH, MH_NATURAL, -3,
4129 { {AT_BITE, AF_FIRE, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4130 { 4, 3, 5, 0 },
4131 4, 15, MST_NO_SPELLS, CE_NOCORPSE, Z_SMALL, S_SILENT,
4132 I_ANIMAL, HT_LAVA, FL_NONE, 10, DEFAULT_ENERGY,
4133 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
4137 MONS_LAVA_SNAKE, 'S', RED, "lava snake",
4138 M_WARM_BLOOD | M_SPECIAL_ABILITY | M_SUBMERGES,
4139 mrd(MR_RES_FIRE, 3) | MR_VUL_COLD,
4140 0, 17, MONS_SNAKE, MONS_LAVA_SNAKE, MH_NATURAL, -3,
4141 { {AT_BITE, AF_FIRE, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4142 { 3, 3, 5, 0 },
4143 2, 17, MST_NO_SPELLS, CE_NOCORPSE, Z_SMALL, S_HISS,
4144 I_ANIMAL, HT_LAVA, FL_NONE, 10, DEFAULT_ENERGY,
4145 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
4148 { // mv: was another lava thing
4149 MONS_SALAMANDER, 'N', LIGHTRED, "salamander",
4150 M_FIGHTER | M_WARM_BLOOD | M_SUBMERGES,
4151 mrd(MR_RES_FIRE, 3) | MR_VUL_COLD,
4152 0, 10, MONS_SALAMANDER, MONS_SALAMANDER, MH_NATURAL, -3,
4153 { {AT_HIT, AF_FIRE, 23}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4154 { 14, 3, 5, 0 },
4155 5, 5, MST_NO_SPELLS, CE_NOCORPSE, Z_SMALL, S_SILENT,
4156 I_HIGH, HT_LAVA, FL_NONE, 10, DEFAULT_ENERGY,
4157 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
4160 // monsters moving through rock
4162 MONS_ROCK_WORM, 'w', BROWN, "rock worm",
4163 M_NO_SKELETON,
4164 MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
4165 850, 12, MONS_WORM, MONS_ROCK_WORM, MH_NATURAL, -3,
4166 { {AT_BITE, AF_PLAIN, 22}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4167 { 5, 5, 5, 0 },
4168 3, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SILENT,
4169 I_PLANT, HT_ROCK, FL_NONE, 12, DEFAULT_ENERGY,
4170 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
4173 // humans ('@')
4175 MONS_HUMAN, '@', LIGHTGREY, "human",
4176 M_WARM_BLOOD | M_SPEAKS,
4177 MR_NO_FLAGS,
4178 550, 10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -3,
4179 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4180 { 5, 3, 5, 0 },
4181 2, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
4182 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4183 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
4187 MONS_SLAVE, '@', WHITE, "slave",
4188 M_WARM_BLOOD | M_SPEAKS,
4189 MR_NO_FLAGS,
4190 550, 10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -3,
4191 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4192 { 5, 3, 5, 0 },
4193 2, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
4194 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4195 MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
4199 MONS_HELL_KNIGHT, '@', RED, "hell knight",
4200 M_FIGHTER | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
4201 MR_RES_HELLFIRE,
4202 550, 10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -3,
4203 { {AT_HIT, AF_PLAIN, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4204 { 10, 4, 5, 0 },
4205 0, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
4206 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4207 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
4211 MONS_NECROMANCER, '@', WHITE, "necromancer",
4212 M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
4213 MR_NO_FLAGS,
4214 550, 10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -4,
4215 { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4216 { 10, 2, 4, 0 },
4217 0, 13, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
4218 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4219 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
4223 MONS_WIZARD, '@', MAGENTA, "wizard",
4224 M_SPELLCASTER | M_SPEAKS | M_ACTUAL_SPELLS | M_WARM_BLOOD,
4225 MR_NO_FLAGS,
4226 550, 10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -4,
4227 { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4228 { 10, 2, 4, 0 },
4229 0, 13, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
4230 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4231 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
4235 MONS_VAULT_GUARD, '@', CYAN, "vault guard",
4236 M_FIGHTER | M_WARM_BLOOD | M_SENSE_INVIS | M_SPEAKS,
4237 MR_NO_FLAGS,
4238 550, 12, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -3,
4239 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4240 { 13, 3, 5, 0 },
4241 1, 13, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
4242 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4243 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
4247 MONS_SHAPESHIFTER, '@', LIGHTRED, "shapeshifter",
4248 M_NO_SKELETON,
4249 MR_NO_FLAGS,
4250 600, 10, MONS_SHAPESHIFTER, MONS_SHAPESHIFTER, MH_NATURAL, -6,
4251 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4252 { 7, 3, 5, 0 },
4253 0, 10, MST_NO_SPELLS, CE_MUTAGEN_RANDOM, Z_NOZOMBIE, S_SILENT,
4254 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4255 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
4259 MONS_GLOWING_SHAPESHIFTER, '@', RED, "glowing shapeshifter",
4260 M_NO_SKELETON | M_GLOWS_RADIATION,
4261 MR_NO_FLAGS,
4262 600, 10, MONS_SHAPESHIFTER, MONS_GLOWING_SHAPESHIFTER, MH_NATURAL, -6,
4263 { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4264 { 10, 3, 5, 0 },
4265 0, 10, MST_NO_SPELLS, CE_MUTAGEN_RANDOM, Z_NOZOMBIE, S_SILENT,
4266 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4267 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
4271 MONS_KILLER_KLOWN, '@', BLACK, "Killer Klown",
4272 M_SEE_INVIS | M_SPEAKS | M_WARM_BLOOD | M_SPECIAL_ABILITY,
4273 MR_NO_FLAGS,
4274 0, 17, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -6,
4275 { {AT_HIT, AF_KLOWN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4276 { 20, 5, 5, 0 },
4277 10, 15, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
4278 I_HIGH, HT_LAND, FL_NONE, 13, DEFAULT_ENERGY,
4279 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
4283 MONS_PALADIN, '@', WHITE, "paladin",
4284 M_FIGHTER | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
4285 MR_NO_FLAGS,
4286 550, 10, MONS_HUMAN, MONS_HUMAN, MH_HOLY, -3,
4287 { {AT_HIT, AF_PLAIN, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4288 { 10, 4, 5, 0 },
4289 0, 10, MST_NO_SPELLS, CE_CLEAN, Z_NOZOMBIE, S_SHOUT,
4290 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4291 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
4294 { // dummy, for now. Spawns in a single vault.
4295 MONS_DEMONSPAWN, '@', DARKGREY, "demonspawn", // likely to become '6'
4296 M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO,
4297 MR_NO_FLAGS,
4298 550, 10, MONS_HUMAN, MONS_DEMONSPAWN, MH_DEMONIC, -3,
4299 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4300 { 5, 3, 5, 0 },
4301 2, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
4302 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4303 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
4306 { // dummy; spawns in a single vault.
4307 MONS_DEMIGOD, '@', YELLOW, "demigod",
4308 M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO,
4309 MR_NO_FLAGS,
4310 550, 10, MONS_HUMAN, MONS_DEMIGOD, MH_NATURAL, -4,
4311 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4312 { 5, 5, 5, 0 },
4313 2, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
4314 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4315 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
4318 { // dummy... literally; single vault
4319 MONS_HALFLING, '@', LIGHTGREY, "halfling",
4320 M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO,
4321 MR_NO_FLAGS,
4322 400, 10, MONS_HUMAN, MONS_HALFLING, MH_NATURAL, -2,
4323 { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4324 { 3, 2, 3, 0 },
4325 2, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
4326 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4327 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_SMALL
4330 // mimics
4332 // Gold mimics are the only mimics that actually use their name. - bwr
4333 MONS_GOLD_MIMIC, '$', YELLOW, "pile of gold coins",
4334 M_STATIONARY,
4335 MR_RES_POISON | MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD,
4336 0, 13, MONS_GOLD_MIMIC, MONS_GOLD_MIMIC, MH_NONLIVING, -3,
4337 { {AT_HIT, AF_POISON, 12}, {AT_HIT, AF_PLAIN, 12}, {AT_HIT, AF_PLAIN, 12},
4338 AT_NO_ATK },
4339 { 8, 3, 5, 0 },
4340 5, 1, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
4341 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4342 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
4346 MONS_WEAPON_MIMIC, ')', BLACK, "mimic",
4347 M_STATIONARY,
4348 MR_RES_POISON | MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD,
4349 0, 13, MONS_GOLD_MIMIC, MONS_WEAPON_MIMIC, MH_NONLIVING, -3,
4350 { {AT_HIT, AF_POISON, 17}, {AT_HIT, AF_PLAIN, 17}, {AT_HIT, AF_PLAIN, 17},
4351 AT_NO_ATK },
4352 { 8, 3, 5, 0 },
4353 5, 1, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
4354 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4355 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
4359 MONS_ARMOUR_MIMIC, '[', BLACK, "mimic",
4360 M_STATIONARY,
4361 MR_RES_POISON | MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD,
4362 0, 13, MONS_GOLD_MIMIC, MONS_ARMOUR_MIMIC, MH_NONLIVING, -3,
4363 { {AT_HIT, AF_POISON, 12}, {AT_HIT, AF_PLAIN, 12}, {AT_HIT, AF_PLAIN, 12},
4364 AT_NO_ATK },
4365 { 8, 3, 5, 0 },
4366 15, 1, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
4367 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4368 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
4372 MONS_SCROLL_MIMIC, '?', LIGHTGREY, "mimic",
4373 M_STATIONARY,
4374 MR_RES_POISON | MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD,
4375 0, 13, MONS_GOLD_MIMIC, MONS_SCROLL_MIMIC, MH_NONLIVING, -3,
4376 { {AT_HIT, AF_POISON, 12}, {AT_HIT, AF_PLAIN, 12}, {AT_HIT, AF_PLAIN, 12},
4377 AT_NO_ATK },
4378 { 8, 3, 5, 0 },
4379 5, 1, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
4380 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4381 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
4385 MONS_POTION_MIMIC, '!', BLACK, "mimic",
4386 M_STATIONARY,
4387 MR_RES_POISON | MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD,
4388 0, 13, MONS_GOLD_MIMIC, MONS_POTION_MIMIC, MH_NONLIVING, -3,
4389 { {AT_HIT, AF_POISON, 12}, {AT_HIT, AF_PLAIN, 12}, {AT_HIT, AF_PLAIN, 12},
4390 AT_NO_ATK },
4391 { 8, 3, 5, 0 },
4392 5, 1, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
4393 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4394 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
4397 // Feature mimics.
4399 MONS_DOOR_MIMIC, '+', LIGHTGRAY, "door mimic",
4400 M_FIGHTER,
4401 MR_RES_POISON | MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD,
4402 0, 13, MONS_DOOR_MIMIC, MONS_DOOR_MIMIC, MH_NONLIVING, -3,
4403 { {AT_SNAP, AF_POISON, 12}, {AT_SNAP, AF_PLAIN, 12}, {AT_SNAP, AF_PLAIN, 12},
4404 AT_NO_ATK },
4405 { 8, 3, 5, 0 },
4406 5, 1, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
4407 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4408 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
4412 MONS_PORTAL_MIMIC, '\\', ETC_SHIMMER_BLUE, "portal mimic",
4413 M_FIGHTER,
4414 MR_RES_POISON | MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD,
4415 0, 13, MONS_DOOR_MIMIC, MONS_PORTAL_MIMIC, MH_NONLIVING, -3,
4416 { {AT_HIT, AF_POISON, 12}, {AT_HIT, AF_PLAIN, 12}, {AT_HIT, AF_PLAIN, 12},
4417 AT_NO_ATK },
4418 { 8, 3, 5, 0 },
4419 5, 1, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
4420 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4421 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
4425 MONS_TRAP_MIMIC, '^', LIGHTCYAN, "trap mimic",
4426 M_FIGHTER,
4427 MR_RES_POISON | MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD,
4428 0, 13, MONS_DOOR_MIMIC, MONS_TRAP_MIMIC, MH_NONLIVING, -3,
4429 { {AT_HIT, AF_POISON, 12}, {AT_HIT, AF_PLAIN, 12}, {AT_HIT, AF_PLAIN, 12},
4430 AT_NO_ATK },
4431 { 8, 3, 5, 0 },
4432 5, 1, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
4433 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4434 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
4438 MONS_STAIR_MIMIC, '>', LIGHTGRAY, "stair mimic",
4439 M_FIGHTER,
4440 MR_RES_POISON | MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD,
4441 0, 13, MONS_DOOR_MIMIC, MONS_STAIR_MIMIC, MH_NONLIVING, -3,
4442 { {AT_HIT, AF_POISON, 12}, {AT_HIT, AF_PLAIN, 12}, {AT_HIT, AF_PLAIN, 12},
4443 AT_NO_ATK },
4444 { 8, 3, 5, 0 },
4445 5, 1, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
4446 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4447 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
4451 MONS_SHOP_MIMIC, '\\', YELLOW, "shop mimic",
4452 M_FIGHTER,
4453 MR_RES_POISON | MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD,
4454 0, 13, MONS_DOOR_MIMIC, MONS_SHOP_MIMIC, MH_NONLIVING, -3,
4455 { {AT_HIT, AF_POISON, 12}, {AT_HIT, AF_PLAIN, 12}, {AT_HIT, AF_PLAIN, 12},
4456 AT_NO_ATK },
4457 { 8, 3, 5, 0 },
4458 5, 1, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
4459 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4460 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
4464 MONS_FOUNTAIN_MIMIC, '}', ETC_SHIMMER_BLUE, "fountain mimic",
4465 M_FIGHTER,
4466 MR_RES_POISON | MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD,
4467 0, 13, MONS_DOOR_MIMIC, MONS_FOUNTAIN_MIMIC, MH_NONLIVING, -3,
4468 { {AT_SPLASH, AF_POISON, 12}, {AT_SPLASH, AF_PLAIN, 12}, {AT_SPLASH, AF_PLAIN, 12},
4469 AT_NO_ATK },
4470 { 8, 3, 5, 0 },
4471 5, 1, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
4472 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4473 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
4476 // dancing weapon
4477 // These are named more explicitly when they attack, also when you use 'x'
4478 // to examine them.
4480 MONS_DANCING_WEAPON, '(', BLACK, "dancing weapon",
4481 M_FIGHTER,
4482 MR_RES_POISON | mrd(MR_RES_FIRE | MR_RES_COLD, 2) | mrd(MR_RES_ELEC, 3),
4483 0, 10, MONS_DANCING_WEAPON, MONS_DANCING_WEAPON, MH_NONLIVING, MAG_IMMUNE,
4484 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4485 { 15, 0, 0, 15 },
4486 10, 20, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
4487 I_PLANT, HT_LAND, FL_LEVITATE, 15, DEFAULT_ENERGY,
4488 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
4491 // Demonic tentacle things.
4493 MONS_ELDRITCH_TENTACLE, 'w', BLACK, "eldritch tentacle",
4494 M_NO_POLY_TO | M_STATIONARY | M_SEE_INVIS,
4495 mrd(MR_RES_FIRE | MR_RES_HELLFIRE | MR_RES_POISON | MR_RES_COLD, 3)
4496 | MR_RES_ELEC | MR_RES_STICKY_FLAME | MR_RES_ACID,
4497 0, 10, MONS_ELDRITCH_TENTACLE, MONS_ELDRITCH_TENTACLE, MH_NONLIVING, MAG_IMMUNE,
4498 { {AT_TENTACLE_SLAP, AF_CHAOS, 30}, {AT_CLAW, AF_CHAOS, 40}, AT_NO_ATK,
4499 AT_NO_ATK },
4500 { 16, 5, 5, 0 },
4501 13, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
4502 I_ANIMAL, HT_AMPHIBIOUS, FL_LEVITATE, 12, DEFAULT_ENERGY,
4503 MONUSE_NOTHING, MONEAT_CORPSES, SIZE_GIANT
4507 MONS_ELDRITCH_TENTACLE_SEGMENT, '*', BLACK, "eldritch tentacle segment",
4508 M_NO_EXP_GAIN | M_STATIONARY | M_NO_POLY_TO | M_SEE_INVIS,
4509 mrd(MR_RES_FIRE | MR_RES_HELLFIRE | MR_RES_POISON | MR_RES_COLD, 3)
4510 | MR_RES_ELEC | MR_RES_STICKY_FLAME | MR_RES_ACID,
4511 0, 10, MONS_ELDRITCH_TENTACLE, MONS_ELDRITCH_TENTACLE_SEGMENT, MH_NONLIVING, MAG_IMMUNE,
4512 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4513 { 16, 5, 5, 0 },
4514 13, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
4515 I_ANIMAL, HT_AMPHIBIOUS, FL_LEVITATE, 12, DEFAULT_ENERGY,
4516 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_GIANT
4519 // minor demons: imps, etc. ('5')
4520 // note: these things regenerate
4522 MONS_IMP, '5', RED, "imp",
4523 M_SPEAKS | M_SPECIAL_ABILITY,
4524 MR_RES_POISON | MR_RES_HELLFIRE | MR_VUL_COLD,
4525 0, 13, MONS_IMP, MONS_IMP, MH_DEMONIC, -9,
4526 { {AT_HIT, AF_PLAIN, 4}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4527 { 3, 3, 3, 0 },
4528 3, 14, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
4529 I_HIGH, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
4530 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LITTLE
4534 MONS_QUASIT, '5', LIGHTGREY, "quasit",
4535 M_NO_FLAGS,
4536 MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD,
4537 0, 13, MONS_QUASIT, MONS_QUASIT, MH_DEMONIC, 5,
4538 { {AT_BITE, AF_DRAIN_DEX, 3}, {AT_CLAW, AF_DRAIN_DEX, 2},
4539 {AT_CLAW, AF_DRAIN_DEX, 2}, AT_NO_ATK },
4540 { 3, 2, 6, 0 },
4541 5, 17, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_MOAN,
4542 I_NORMAL, HT_LAND, FL_NONE, 13, DEFAULT_ENERGY,
4543 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
4547 MONS_WHITE_IMP, '5', WHITE, "white imp",
4548 M_SPELLCASTER | M_SPEAKS,
4549 MR_RES_POISON | mrd(MR_RES_COLD, 2) | MR_VUL_FIRE,
4550 0, 10, MONS_IMP, MONS_WHITE_IMP, MH_DEMONIC, -3,
4551 { {AT_HIT, AF_COLD, 4}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4552 { 2, 3, 5, 0 },
4553 4, 10, MST_WHITE_IMP, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
4554 I_NORMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
4555 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LITTLE
4559 MONS_LEMURE, '5', YELLOW, "lemure",
4560 M_NO_FLAGS,
4561 MR_RES_POISON,
4562 0, 10, MONS_LEMURE, MONS_LEMURE, MH_DEMONIC, -3,
4563 { {AT_HIT, AF_PLAIN, 5}, {AT_HIT, AF_PLAIN, 3}, {AT_HIT, AF_PLAIN, 3},
4564 AT_NO_ATK },
4565 { 2, 3, 5, 0 },
4566 1, 12, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_MOAN,
4567 I_NORMAL, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
4568 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_SMALL
4572 MONS_UFETUBUS, '5', LIGHTCYAN, "ufetubus",
4573 M_NO_FLAGS,
4574 MR_VUL_FIRE | MR_RES_COLD,
4575 0, 28, MONS_UFETUBUS, MONS_UFETUBUS, MH_DEMONIC, -3,
4576 { {AT_HIT, AF_PLAIN, 5}, {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK },
4577 { 1, 4, 6, 0 },
4578 2, 15, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
4579 I_NORMAL, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
4580 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
4584 MONS_IRON_IMP, '5', CYAN, "iron imp",
4585 M_SPEAKS,
4586 MR_RES_POISON | MR_RES_ELEC | MR_RES_HELLFIRE | MR_RES_COLD,
4587 0, 14, MONS_IRON_IMP, MONS_IRON_IMP, MH_DEMONIC, -3,
4588 { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4589 { 3, 3, 5, 0 },
4590 6, 8, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
4591 I_NORMAL, HT_LAND, FL_NONE, 8, DEFAULT_ENERGY,
4592 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_SMALL
4596 MONS_MIDGE, '5', LIGHTGREEN, "midge",
4597 M_NO_FLAGS,
4598 MR_RES_POISON,
4599 0, 10, MONS_MIDGE, MONS_MIDGE, MH_DEMONIC, -3,
4600 { {AT_HIT, AF_BLINK, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4601 { 2, 3, 5, 0 },
4602 4, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
4603 I_NORMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
4604 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_SMALL
4608 MONS_SHADOW_IMP, '5', MAGENTA, "shadow imp",
4609 M_SEE_INVIS | M_SPELLCASTER | M_SPEAKS,
4610 MR_RES_POISON | mrd(MR_RES_COLD, 2),
4611 0, 11, MONS_IMP, MONS_SHADOW_IMP, MH_DEMONIC, -3,
4612 { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4613 { 2, 3, 5, 0 },
4614 3, 11, MST_SHADOW_IMP, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
4615 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4616 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LITTLE
4619 // devils etc. ('4')
4621 MONS_RED_DEVIL, '4', RED, "red devil",
4622 M_FIGHTER,
4623 MR_RES_POISON | MR_RES_HELLFIRE | MR_VUL_COLD,
4624 0, 10, MONS_RED_DEVIL, MONS_RED_DEVIL, MH_DEMONIC, -7,
4625 { {AT_HIT, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4626 { 5, 3, 5, 0 },
4627 10, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
4628 I_NORMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
4629 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
4633 MONS_ROTTING_DEVIL, '4', GREEN, "rotting devil",
4634 M_NO_FLAGS,
4635 MR_RES_POISON | MR_RES_COLD,
4636 0, 10, MONS_ROTTING_DEVIL, MONS_ROTTING_DEVIL, MH_DEMONIC, -7,
4637 { {AT_HIT, AF_ROT, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4638 { 5, 3, 5, 0 },
4639 2, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
4640 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4641 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
4645 MONS_HAIRY_DEVIL, '4', LIGHTRED, "hairy devil",
4646 M_NO_FLAGS,
4647 MR_RES_POISON,
4648 0, 10, MONS_HAIRY_DEVIL, MONS_HAIRY_DEVIL, MH_DEMONIC, -4,
4649 { {AT_HIT, AF_PLAIN, 12}, {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK },
4650 { 7, 3, 5, 0 },
4651 7, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
4652 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4653 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_SMALL
4657 MONS_SIXFIRHY, '4', LIGHTBLUE, "sixfirhy",
4658 M_NO_FLAGS,
4659 MR_NO_FLAGS, // Can't have RES_ELEC since most sources of damage do nothing
4660 // in that case. We want to "suffer" the damage to get healed.
4661 0, 6, MONS_SIXFIRHY, MONS_SIXFIRHY, MH_DEMONIC, -6,
4662 { {AT_HIT, AF_ELEC, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4663 { 7, 3, 5, 0 },
4664 2, 20, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
4665 I_NORMAL, HT_LAND, FL_NONE, 40, MOVE_ENERGY(6), // speed is cut to 1/3 later
4666 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LITTLE
4670 MONS_HELLWING, '4', LIGHTGREY, "hellwing",
4671 M_SPELLCASTER,
4672 MR_RES_POISON,
4673 0, 12, MONS_HELLWING, MONS_HELLWING, MH_DEMONIC, -6,
4674 { {AT_HIT, AF_PLAIN, 17}, {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK },
4675 { 7, 4, 5, 0 },
4676 8, 10, MST_HELLWING, CE_NOCORPSE, Z_NOZOMBIE, S_MOAN,
4677 I_NORMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
4678 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
4681 // middle demons ('3')
4683 MONS_SMOKE_DEMON, '3', LIGHTGREY, "smoke demon",
4684 M_SPELLCASTER | M_INSUBSTANTIAL | M_UNBREATHING,
4685 MR_RES_POISON | mrd(MR_RES_FIRE, 2),
4686 0, 12, MONS_SMOKE_DEMON, MONS_SMOKE_DEMON, MH_DEMONIC, -6,
4687 { {AT_HIT, AF_PLAIN, 8}, {AT_HIT, AF_PLAIN, 5}, {AT_HIT, AF_PLAIN, 5},
4688 AT_NO_ATK },
4689 { 7, 3, 5, 0 },
4690 5, 9, MST_SMOKE_DEMON, CE_NOCORPSE, Z_NOZOMBIE, S_ROAR,
4691 I_NORMAL, HT_LAND, FL_LEVITATE, 9, DEFAULT_ENERGY,
4692 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_SMALL
4696 MONS_TORMENTOR, '3', YELLOW, "tormentor",
4697 M_SPELLCASTER | M_SPEAKS,
4698 MR_RES_POISON | MR_RES_FIRE,
4699 0, 10, MONS_TORMENTOR, MONS_TORMENTOR, MH_DEMONIC, -6,
4700 { {AT_HIT, AF_PLAIN, 8}, {AT_HIT, AF_PLAIN, 8}, AT_NO_ATK, AT_NO_ATK },
4701 { 7, 3, 5, 0 },
4702 12, 12, MST_TORMENTOR, CE_NOCORPSE, Z_NOZOMBIE, S_ROAR,
4703 I_HIGH, HT_LAND, FL_FLY, 13, DEFAULT_ENERGY,
4704 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
4708 MONS_BLUE_DEVIL, '3', BLUE, "blue devil",
4709 M_NO_FLAGS,
4710 MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 3),
4711 0, 10, MONS_BLUE_DEVIL, MONS_BLUE_DEVIL, MH_DEMONIC, -5,
4712 { {AT_HIT, AF_PLAIN, 21}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4713 { 7, 3, 5, 0 },
4714 14, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
4715 I_HIGH, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
4716 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
4720 MONS_IRON_DEVIL, '3', CYAN, "iron devil",
4721 M_NO_FLAGS,
4722 MR_RES_POISON | MR_RES_ELEC | MR_RES_HELLFIRE | MR_RES_COLD,
4723 0, 10, MONS_IRON_DEVIL, MONS_IRON_DEVIL, MH_DEMONIC, -6,
4724 { {AT_HIT, AF_PLAIN, 14}, {AT_HIT, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK },
4725 { 8, 3, 5, 0 },
4726 16, 8, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SCREECH,
4727 I_HIGH, HT_LAND, FL_NONE, 8, DEFAULT_ENERGY,
4728 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
4732 MONS_NEQOXEC, '3', LIGHTMAGENTA, "neqoxec",
4733 M_SPELLCASTER,
4734 MR_RES_POISON,
4735 0, 12, MONS_NEQOXEC, MONS_NEQOXEC, MH_DEMONIC, -6,
4736 { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4737 { 6, 3, 5, 0 },
4738 4, 12, MST_NEQOXEC, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
4739 I_NORMAL, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
4740 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
4744 MONS_ORANGE_DEMON, '3', LIGHTRED, "orange demon",
4745 M_NO_FLAGS,
4746 MR_NO_FLAGS,
4747 0, 12, MONS_ORANGE_DEMON, MONS_ORANGE_DEMON, MH_DEMONIC, -6,
4748 { {AT_HIT, AF_PLAIN, 8}, {AT_STING, AF_POISON_STAT, 10}, AT_NO_ATK,
4749 AT_NO_ATK },
4750 { 8, 4, 5, 0 },
4751 3, 7, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SCREECH,
4752 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4753 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
4757 MONS_YNOXINUL, '3', LIGHTCYAN, "ynoxinul",
4758 M_SPELLCASTER | M_SENSE_INVIS,
4759 MR_RES_ELEC | MR_RES_POISON | MR_RES_COLD,
4760 0, 12, MONS_YNOXINUL, MONS_YNOXINUL, MH_DEMONIC, -6,
4761 { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4762 { 6, 3, 5, 0 },
4763 3, 10, MST_YNOXINUL, CE_NOCORPSE, Z_NOZOMBIE, S_BELLOW,
4764 I_NORMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
4765 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
4769 MONS_SHADOW_DEMON, '3', MAGENTA, "shadow demon",
4770 M_SEE_INVIS | M_INVIS,
4771 MR_RES_POISON | mrd(MR_RES_COLD, 2),
4772 0, 12, MONS_SHADOW_DEMON, MONS_SHADOW_DEMON, MH_DEMONIC, -7,
4773 { {AT_HIT, AF_PLAIN, 21}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4774 { 6, 3, 5, 0 },
4775 7, 12, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_CROAK,
4776 I_HIGH, HT_LAND, FL_NONE, 11, DEFAULT_ENERGY,
4777 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_SMALL
4781 MONS_CHAOS_SPAWN, '3', ETC_RANDOM, "chaos spawn",
4782 M_SEE_INVIS,
4783 MR_NO_FLAGS,
4784 0, 12, MONS_CHAOS_SPAWN, MONS_CHAOS_SPAWN, MH_DEMONIC, -7,
4785 { {AT_RANDOM, AF_CHAOS, 21}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4786 { 6, 3, 5, 0 },
4787 7, 12, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_RANDOM,
4788 I_ANIMAL, HT_LAND, FL_NONE, 11, DEFAULT_ENERGY,
4789 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
4792 // reaper etc. ('2')
4794 { // with randomised stats
4795 MONS_BEAST, '2', BROWN, "beast",
4796 M_FIGHTER,
4797 MR_NO_FLAGS,
4798 0, 10, MONS_BEAST, MONS_BEAST, MH_DEMONIC, -3,
4799 { {AT_BITE, AF_PLAIN, 28}, {AT_TRAMPLE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK },
4800 { 7, 9, 6, 0 },
4801 0, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_RANDOM,
4802 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4803 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
4807 MONS_HELLION, '2', ETC_FIRE, "hellion",
4808 M_SPELLCASTER | M_GLOWS_LIGHT,
4809 MR_RES_POISON | MR_RES_HELLFIRE | MR_VUL_COLD,
4810 0, 12, MONS_HELLION, MONS_HELLION, MH_DEMONIC, -7,
4811 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4812 { 7, 3, 5, 0 },
4813 5, 10, MST_HELLION, CE_NOCORPSE, Z_NOZOMBIE, S_SCREAM,
4814 I_HIGH, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
4815 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
4819 MONS_SUN_DEMON, '2', YELLOW, "sun demon",
4820 M_SENSE_INVIS | M_GLOWS_LIGHT,
4821 MR_RES_ELEC | MR_RES_POISON | MR_VUL_COLD | MR_RES_HELLFIRE,
4822 0, 14, MONS_SUN_DEMON, MONS_SUN_DEMON, MH_DEMONIC, -6,
4823 { {AT_HIT, AF_FIRE, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4824 { 10, 3, 5, 0 },
4825 10, 12, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
4826 I_NORMAL, HT_LAND, FL_LEVITATE, 12, DEFAULT_ENERGY,
4827 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
4831 MONS_REAPER, '2', LIGHTGREY, "reaper",
4832 M_FIGHTER | M_SEE_INVIS | M_SPEAKS,
4833 MR_RES_POISON | MR_RES_COLD,
4834 0, 10, MONS_REAPER, MONS_REAPER, MH_DEMONIC, MAG_IMMUNE,
4835 { {AT_HIT, AF_PLAIN, 32}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4836 { 8, 3, 5, 0 },
4837 15, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
4838 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4839 MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
4843 MONS_SOUL_EATER, '2', MAGENTA, "soul eater",
4844 M_SEE_INVIS,
4845 MR_RES_POISON | MR_RES_COLD,
4846 0, 12, MONS_SOUL_EATER, MONS_SOUL_EATER, MH_DEMONIC, -10,
4847 { {AT_HIT, AF_DRAIN_XP, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4848 { 11, 3, 5, 0 },
4849 18, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
4850 I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
4851 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
4855 MONS_ICE_DEVIL, '2', WHITE, "ice devil",
4856 M_NO_FLAGS,
4857 MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 3),
4858 0, 11, MONS_ICE_DEVIL, MONS_ICE_DEVIL, MH_DEMONIC, -6,
4859 { {AT_HIT, AF_COLD, 16}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4860 { 11, 3, 5, 0 },
4861 12, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
4862 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
4863 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
4867 MONS_LOROCYPROCA, '2', BLUE, "Lorocyproca",
4868 M_SENSE_INVIS | M_INVIS,
4869 MR_RES_POISON | MR_RES_COLD | MR_RES_FIRE | MR_RES_ELEC,
4870 0, 12, MONS_LOROCYPROCA, MONS_LOROCYPROCA, MH_DEMONIC, -7,
4871 { {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK },
4872 { 12, 3, 5, 0 },
4873 10, 12, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_MOAN,
4874 I_HIGH, HT_LAND, FL_NONE, 9, DEFAULT_ENERGY,
4875 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
4878 // fiends, etc. ('1')
4880 MONS_FIEND, '1', LIGHTRED, "Fiend",
4881 M_SEE_INVIS | M_GLOWS_LIGHT,
4882 MR_RES_POISON | MR_RES_HELLFIRE | MR_VUL_COLD,
4883 0, 50, MONS_FIEND, MONS_FIEND, MH_DEMONIC, -12,
4884 { {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 15}, {AT_HIT, AF_PLAIN, 15},
4885 AT_NO_ATK },
4886 { 18, 3, 5, 0 },
4887 15, 6, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_ROAR,
4888 I_HIGH, HT_LAND, FL_FLY, 9, DEFAULT_ENERGY,
4889 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
4893 MONS_ICE_FIEND, '1', WHITE, "Ice Fiend",
4894 M_SPELLCASTER | M_SEE_INVIS | M_GLOWS_LIGHT,
4895 MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 3),
4896 0, 15, MONS_FIEND, MONS_ICE_FIEND, MH_DEMONIC, -12,
4897 { {AT_CLAW, AF_COLD, 25}, {AT_CLAW, AF_COLD, 25}, AT_NO_ATK, AT_NO_ATK },
4898 { 18, 3, 5, 0 },
4899 15, 6, MST_ICE_FIEND, CE_NOCORPSE, Z_NOZOMBIE, S_ROAR,
4900 I_HIGH, HT_LAND, FL_FLY, 9, DEFAULT_ENERGY,
4901 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
4905 MONS_SHADOW_FIEND, '1', MAGENTA, "Shadow Fiend",
4906 M_SPELLCASTER | M_SEE_INVIS | M_GLOWS_LIGHT,
4907 MR_RES_POISON | mrd(MR_RES_COLD, 2) | MR_RES_ELEC,
4908 0, 14, MONS_FIEND, MONS_SHADOW_FIEND, MH_DEMONIC, -13,
4909 { {AT_HIT, AF_DRAIN_XP, 25}, {AT_HIT, AF_DRAIN_XP, 15},
4910 {AT_HIT, AF_DRAIN_XP, 15}, AT_NO_ATK },
4911 { 18, 3, 5, 0 },
4912 15, 6, MST_SHADOW_FIEND, CE_NOCORPSE, Z_NOZOMBIE, S_ROAR,
4913 I_HIGH, HT_LAND, FL_LEVITATE, 9, DEFAULT_ENERGY,
4914 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
4918 MONS_PIT_FIEND, '1', BROWN, "Pit Fiend",
4919 M_SEE_INVIS | M_SPECIAL_ABILITY | M_GLOWS_LIGHT,
4920 MR_RES_POISON | MR_RES_HELLFIRE | MR_RES_COLD | MR_RES_ELEC,
4921 0, 25, MONS_FIEND, MONS_PIT_FIEND, MH_DEMONIC, -12,
4922 { {AT_HIT, AF_PLAIN, 28}, {AT_HIT, AF_PLAIN, 21}, {AT_HIT, AF_PLAIN, 21},
4923 AT_NO_ATK },
4924 { 19, 4, 5, 0 },
4925 17, 5, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_ROAR,
4926 I_HIGH, HT_LAND, FL_FLY, 7, DEFAULT_ENERGY,
4927 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
4931 MONS_EXECUTIONER, '1', LIGHTGREY, "Executioner",
4932 M_FIGHTER | M_SPELLCASTER | M_SEE_INVIS,
4933 MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD | MR_RES_POISON,
4934 0, 14, MONS_EXECUTIONER, MONS_EXECUTIONER, MH_DEMONIC, -9,
4935 { {AT_HIT, AF_PLAIN, 30}, {AT_HIT, AF_PLAIN, 10}, {AT_HIT, AF_PLAIN, 10},
4936 AT_NO_ATK },
4937 { 12, 3, 5, 0 },
4938 10, 15, MST_EXECUTIONER, CE_NOCORPSE, Z_NOZOMBIE, S_SCREAM,
4939 I_HIGH, HT_LAND, FL_NONE, 20, DEFAULT_ENERGY,
4940 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
4944 MONS_GREEN_DEATH, '1', GREEN, "Green Death",
4945 M_SPELLCASTER | M_SEE_INVIS,
4946 MR_RES_POISON,
4947 0, 13, MONS_GREEN_DEATH, MONS_GREEN_DEATH, MH_DEMONIC, -9,
4948 { {AT_HIT, AF_PLAIN, 32}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4949 { 13, 3, 5, 0 },
4950 5, 7, MST_GREEN_DEATH, CE_POISON_CONTAM, Z_NOZOMBIE, S_ROAR,
4951 I_HIGH, HT_LAND, FL_NONE, 11, DEFAULT_ENERGY,
4952 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
4956 MONS_BLUE_DEATH, '1', BLUE, "Blue Death",
4957 M_SPELLCASTER | M_SEE_INVIS,
4958 MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 2) | MR_RES_ELEC,
4959 0, 13, MONS_BLUE_DEATH, MONS_BLUE_DEATH, MH_DEMONIC, -9,
4960 { {AT_HIT, AF_PLAIN, 20}, {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK },
4961 { 12, 3, 5, 0 },
4962 10, 10, MST_BLUE_DEATH, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
4963 I_HIGH, HT_LAND, FL_FLY, 11, DEFAULT_ENERGY,
4964 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
4968 MONS_BALRUG, '1', RED, "Balrug",
4969 M_FIGHTER | M_SPELLCASTER | M_SEE_INVIS | M_GLOWS_LIGHT,
4970 MR_RES_POISON | MR_RES_HELLFIRE | MR_VUL_COLD,
4971 0, 15, MONS_BALRUG, MONS_BALRUG, MH_DEMONIC, -9,
4972 { {AT_HIT, AF_FIRE, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4973 { 14, 3, 5, 0 },
4974 5, 12, MST_BALRUG, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
4975 I_HIGH, HT_LAND, FL_FLY, 11, DEFAULT_ENERGY,
4976 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
4980 MONS_CACODEMON, '1', YELLOW, "Cacodemon",
4981 M_SPELLCASTER | M_SEE_INVIS,
4982 MR_RES_POISON | MR_RES_ELEC,
4983 0, 14, MONS_CACODEMON, MONS_CACODEMON, MH_DEMONIC, -9,
4984 { {AT_HIT, AF_PLAIN, 22}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4985 { 13, 3, 5, 0 },
4986 11, 10, MST_CACODEMON, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
4987 I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
4988 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
4992 // non-living creatures
4993 // golems ('8')
4995 MONS_CLAY_GOLEM, '8', BROWN, "clay golem",
4996 M_SEE_INVIS | M_ARTIFICIAL,
4997 mrd(MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 3),
4998 0, 10, MONS_CLAY_GOLEM, MONS_CLAY_GOLEM, MH_NONLIVING, MAG_IMMUNE,
4999 { {AT_HIT, AF_PLAIN, 11}, {AT_HIT, AF_PLAIN, 11}, AT_NO_ATK, AT_NO_ATK },
5000 { 8, 7, 3, 0 },
5001 7, 5, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5002 I_PLANT, HT_LAND, FL_NONE, 8, DEFAULT_ENERGY,
5003 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
5007 MONS_WOOD_GOLEM, '8', YELLOW, "wood golem",
5008 M_ARTIFICIAL,
5009 MR_RES_POISON | MR_VUL_FIRE | MR_RES_COLD | MR_RES_ELEC,
5010 0, 10, MONS_CLAY_GOLEM, MONS_WOOD_GOLEM, MH_NONLIVING, MAG_IMMUNE,
5011 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5012 { 6, 6, 3, 0 },
5013 5, 6, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5014 I_PLANT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5015 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
5019 MONS_STONE_GOLEM, '8', LIGHTGREY, "stone golem",
5020 M_ARTIFICIAL,
5021 mrd(MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 3),
5022 0, 10, MONS_CLAY_GOLEM, MONS_STONE_GOLEM, MH_NONLIVING, MAG_IMMUNE,
5023 { {AT_HIT, AF_PLAIN, 28}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5024 { 12, 7, 4, 0 },
5025 12, 4, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5026 I_PLANT, HT_LAND, FL_NONE, 7, DEFAULT_ENERGY,
5027 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
5031 MONS_IRON_GOLEM, '8', CYAN, "iron golem",
5032 M_ARTIFICIAL,
5033 mrd(MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 3),
5034 0, 10, MONS_CLAY_GOLEM, MONS_IRON_GOLEM, MH_NONLIVING, MAG_IMMUNE,
5035 { {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5036 { 15, 7, 4, 0 },
5037 15, 3, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5038 I_PLANT, HT_LAND, FL_NONE, 7, DEFAULT_ENERGY,
5039 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
5043 MONS_CRYSTAL_GOLEM, '8', GREEN, "crystal golem",
5044 M_SEE_INVIS | M_SPEAKS | M_ARTIFICIAL,
5045 mrd(MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 3),
5046 0, 10, MONS_CLAY_GOLEM, MONS_CRYSTAL_GOLEM, MH_NONLIVING, MAG_IMMUNE,
5047 { {AT_HIT, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5048 { 13, 7, 4, 0 },
5049 22, 3, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5050 I_PLANT, HT_LAND, FL_NONE, 7, DEFAULT_ENERGY,
5051 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
5055 MONS_TOENAIL_GOLEM, '8', RED, "toenail golem",
5056 M_ARTIFICIAL,
5057 MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
5058 0, 10, MONS_CLAY_GOLEM, MONS_TOENAIL_GOLEM, MH_NONLIVING, MAG_IMMUNE,
5059 { {AT_HIT, AF_PLAIN, 13}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5060 { 9, 5, 3, 0 },
5061 8, 5, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5062 I_PLANT, HT_LAND, FL_NONE, 8, DEFAULT_ENERGY,
5063 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
5067 MONS_ELECTRIC_GOLEM, '8', LIGHTCYAN, "electric golem",
5068 M_SPELLCASTER | M_SEE_INVIS | M_INSUBSTANTIAL | M_GLOWS_LIGHT | M_SPEAKS
5069 | M_ARTIFICIAL,
5070 mrd(MR_RES_ELEC | MR_RES_POISON, 3) | MR_RES_FIRE | MR_RES_COLD,
5071 0, 12, MONS_CLAY_GOLEM, MONS_ELECTRIC_GOLEM, MH_NONLIVING, -8,
5072 { {AT_HIT, AF_ELEC, 15}, {AT_HIT, AF_ELEC, 15}, {AT_HIT, AF_PLAIN, 15},
5073 {AT_HIT, AF_PLAIN, 15} },
5074 { 15, 7, 4, 0 },
5075 5, 20, MST_ELECTRIC_GOLEM, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5076 I_PLANT, HT_LAND, FL_NONE, 16, DEFAULT_ENERGY,
5077 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
5080 // statues (also '8')
5082 MONS_ICE_STATUE, '8', LIGHTBLUE, "ice statue",
5083 M_SPELLCASTER | M_STATIONARY | M_SPEAKS,
5084 MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 3) | MR_RES_ELEC,
5085 0, 10, MONS_STATUE, MONS_ICE_STATUE, MH_NONLIVING, MAG_IMMUNE,
5086 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5087 { 8, 0, 0, 70 },
5088 12, 1, MST_ICE_STATUE, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5089 I_HIGH, HT_LAND, FL_NONE, 16, DEFAULT_ENERGY,
5090 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
5094 MONS_SILVER_STATUE, '8', WHITE, "silver statue",
5095 M_SPECIAL_ABILITY | M_STATIONARY | M_SPEAKS,
5096 mrd(MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 2),
5097 0, 10, MONS_STATUE, MONS_SILVER_STATUE, MH_NONLIVING, MAG_IMMUNE,
5098 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5099 { 6, 0, 0, 150 },
5100 15, 1, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5101 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5102 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
5106 MONS_ORANGE_STATUE, '8', LIGHTRED, "orange crystal statue",
5107 M_SPECIAL_ABILITY | M_STATIONARY | M_SPEAKS,
5108 mrd(MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 2),
5109 0, 10, MONS_STATUE, MONS_ORANGE_STATUE, MH_NONLIVING, MAG_IMMUNE,
5110 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5111 { 10, 0, 0, 160 },
5112 20, 1, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5113 I_HIGH, HT_LAND, FL_NONE, 6, DEFAULT_ENERGY,
5114 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
5117 { // always redefined
5118 MONS_STATUE, '8', LIGHTGREY, "statue",
5119 M_STATIONARY | M_SPEAKS | M_ARCHER | M_NO_POLY_TO,
5120 MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
5121 0, 10, MONS_STATUE, MONS_STATUE, MH_NONLIVING, MAG_IMMUNE,
5122 { {AT_WEAP_ONLY, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5123 { 8, 0, 0, 70 },
5124 12, 1, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5125 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5126 MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_LARGE
5130 MONS_TRAINING_DUMMY, '8', LIGHTGREY, "training dummy",
5131 M_STATIONARY,
5132 MR_NO_FLAGS,
5133 0, 10, MONS_STATUE, MONS_STATUE, MH_NONLIVING, MAG_IMMUNE,
5134 { {AT_WEAP_ONLY, AF_PLAIN, 1}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5135 { 1, 0, 0, 6 },
5136 0, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5137 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5138 MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_LARGE
5142 MONS_SALT_PILLAR, '8', WHITE, "pillar of salt",
5143 M_NO_EXP_GAIN | M_STATIONARY,
5144 MR_RES_POISON,
5145 0, 10, MONS_STATUE, MONS_SALT_PILLAR, MH_NONLIVING, MAG_IMMUNE,
5146 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5147 { 1, 0, 0, 1 },
5148 1, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5149 I_PLANT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5150 MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
5153 // gargoyles ('9')
5155 MONS_GARGOYLE, '9', LIGHTGREY, "gargoyle",
5156 M_ARTIFICIAL,
5157 MR_RES_POISON | MR_RES_ELEC,
5158 0, 26, MONS_GARGOYLE, MONS_GARGOYLE, MH_NONLIVING, -6,
5159 { {AT_BITE, AF_PLAIN, 10}, {AT_CLAW, AF_PLAIN, 6}, {AT_CLAW, AF_PLAIN, 6},
5160 AT_NO_ATK },
5161 { 4, 3, 5, 0 },
5162 18, 6, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5163 I_NORMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
5164 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
5168 MONS_METAL_GARGOYLE, '9', CYAN, "metal gargoyle",
5169 M_ARTIFICIAL,
5170 MR_RES_POISON | MR_RES_ELEC,
5171 0, 18, MONS_GARGOYLE, MONS_METAL_GARGOYLE, MH_NONLIVING, -6,
5172 { {AT_BITE, AF_PLAIN, 19}, {AT_CLAW, AF_PLAIN, 10},
5173 {AT_CLAW, AF_PLAIN, 10}, AT_NO_ATK },
5174 { 8, 3, 5, 0 },
5175 20, 4, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5176 I_HIGH, HT_LAND, FL_FLY, 7, DEFAULT_ENERGY,
5177 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
5181 MONS_MOLTEN_GARGOYLE, '9', RED, "molten gargoyle",
5182 M_ARTIFICIAL,
5183 MR_RES_POISON | MR_RES_ELEC | mrd(MR_RES_FIRE, 3),
5184 0, 18, MONS_GARGOYLE, MONS_MOLTEN_GARGOYLE, MH_NONLIVING, -6,
5185 { {AT_BITE, AF_FIRE, 12}, {AT_CLAW, AF_PLAIN, 8}, {AT_CLAW, AF_PLAIN, 8},
5186 AT_NO_ATK },
5187 { 5, 3, 5, 0 },
5188 14, 7, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5189 I_NORMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
5190 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
5193 // major demons ('&')
5194 // Random demon in pan - only one per level. Stats are stored in ghost struct.
5196 MONS_PANDEMONIUM_DEMON, '&', BLACK, "pandemonium lord",
5197 M_FIGHTER | M_SPELLCASTER | M_SPEAKS,
5198 MR_RES_POISON,
5199 0, 14, MONS_PANDEMONIUM_DEMON, MONS_PANDEMONIUM_DEMON, MH_DEMONIC, -5,
5200 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5201 { 19, 0, 8, 100 },
5202 1, 2, MST_GHOST, CE_NOCORPSE, Z_NOZOMBIE, S_DEMON_TAUNT,
5203 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5204 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
5207 // Demon in hell. Currently only used as genus/species for hell guardians.
5208 { // dummy, never spawns
5209 MONS_HELL_DEMON, '&', BLACK, "hell lord",
5210 M_FIGHTER | M_SPELLCASTER | M_SPEAKS | M_NO_POLY_TO,
5211 MR_RES_POISON,
5212 0, 14, MONS_HELL_DEMON, MONS_HELL_DEMON, MH_DEMONIC, -5,
5213 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5214 { 19, 0, 8, 100 },
5215 1, 2, MST_GHOST, CE_NOCORPSE, Z_NOZOMBIE, S_DEMON_TAUNT,
5216 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5217 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
5220 // explodey things / orb of fire ('*')
5222 MONS_BALL_LIGHTNING, '*', LIGHTCYAN, "ball lightning",
5223 M_CONFUSED | M_SPELLCASTER | M_SPECIAL_ABILITY | M_INSUBSTANTIAL
5224 | M_GLOWS_LIGHT | M_FAKE_SPELLS,
5225 mrd(MR_RES_ELEC | MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD, 3),
5226 0, 20, MONS_BALL_LIGHTNING, MONS_BALL_LIGHTNING, MH_NONLIVING, MAG_IMMUNE,
5227 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5228 { 12, 0, 0, 1 },
5229 0, 10, MST_STORM_DRAGON, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5230 I_PLANT, HT_LAND, FL_LEVITATE, 20, DEFAULT_ENERGY,
5231 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
5235 MONS_GIANT_SPORE, '*', GREEN, "giant spore",
5236 M_NO_FLAGS,
5237 MR_RES_POISON,
5238 0, 10, MONS_PLANT, MONS_GIANT_SPORE, MH_PLANT, -3,
5239 { {AT_HIT, AF_PLAIN, 1}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5240 { 1, 0, 0, 1 },
5241 0, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5242 I_PLANT, HT_LAND, FL_LEVITATE, 15, DEFAULT_ENERGY,
5243 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
5247 MONS_ORB_OF_FIRE, '*', RED, "orb of fire",
5248 M_SPELLCASTER | M_SEE_INVIS | M_INSUBSTANTIAL | M_GLOWS_LIGHT
5249 | M_GLOWS_RADIATION,
5250 mrd(MR_RES_FIRE | MR_RES_HELLFIRE | MR_RES_POISON, 3) | MR_RES_COLD
5251 | MR_RES_ELEC,
5252 0, 13, MONS_ORB_OF_FIRE, MONS_ORB_OF_FIRE, MH_NONLIVING, MAG_IMMUNE,
5253 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5254 { 30, 0, 0, 150 },
5255 20, 20, MST_ORB_OF_FIRE, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5256 I_NORMAL, HT_LAND, FL_LEVITATE, 15, DEFAULT_ENERGY,
5257 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
5260 { // not an actual monster, used by a spell
5261 MONS_ORB_OF_DESTRUCTION, '*', WHITE, "orb of destruction",
5262 M_INSUBSTANTIAL | M_GLOWS_LIGHT | M_NO_EXP_GAIN | M_NO_POLY_TO,
5263 mrd(MR_RES_FIRE | MR_RES_HELLFIRE | MR_RES_POISON | MR_RES_COLD, 3)
5264 | MR_RES_ELEC | MR_RES_STICKY_FLAME | MR_RES_ACID,
5265 0, 0, MONS_ORB_OF_DESTRUCTION, MONS_ORB_OF_DESTRUCTION, MH_NONLIVING, MAG_IMMUNE,
5266 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5267 { 5, 0, 0, 1000 /* unkillable */ },
5268 0, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5269 I_PLANT, HT_LAND, FL_LEVITATE, 30, DEFAULT_ENERGY,
5270 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
5274 MONS_BLESSED_TOE, '*', YELLOW, "blessed toe",
5275 M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS | M_UNFINISHED,
5276 MR_RES_ELEC | MR_RES_POISON | MR_RES_COLD,
5277 0, 65, MONS_BLESSED_TOE, MONS_BLESSED_TOE, MH_HOLY, MAG_IMMUNE,
5278 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5279 { 14, 0, 0, 77 },
5280 50, 1, MST_BLESSED_TOE, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5281 I_HIGH, HT_LAND, FL_LEVITATE, 11, MOVE_ENERGY(20),
5282 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
5286 MONS_SILVER_STAR, '*', ETC_SILVER, "silver star",
5287 M_SPELLCASTER | M_SEE_INVIS | M_INSUBSTANTIAL | M_GLOWS_LIGHT
5288 | M_UNFINISHED,
5289 mrd(MR_RES_FIRE | MR_RES_HELLFIRE | MR_RES_POISON, 3) | MR_RES_COLD
5290 | MR_RES_ELEC,
5291 0, 13, MONS_SILVER_STAR, MONS_SILVER_STAR, MH_HOLY, MAG_IMMUNE,
5292 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5293 { 30, 0, 0, 150 },
5294 20, 20, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5295 I_NORMAL, HT_LAND, FL_LEVITATE, 15, DEFAULT_ENERGY,
5296 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
5299 // other symbols
5301 MONS_DEATH_COB, '%', YELLOW, "death cob",
5302 M_SPEAKS,
5303 MR_RES_COLD,
5304 0, 10, MONS_DEATH_COB, MONS_DEATH_COB, MH_UNDEAD, -3,
5305 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5306 { 10, 4, 5, 0 },
5307 10, 15, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_MOAN,
5308 I_NORMAL, HT_LAND, FL_NONE, 25, DEFAULT_ENERGY,
5309 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_TINY
5312 // non-human uniques
5313 // "A"ngels.
5315 MONS_MENNAS, 'A', ETC_SILVER, "Mennas",
5316 M_FIGHTER | M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_SPEAKS
5317 | M_GLOWS_LIGHT | M_UNIQUE,
5318 MR_RES_POISON | MR_RES_ELEC,
5319 0, 10, MONS_ANGEL, MONS_ANGEL, MH_HOLY, -8,
5320 { {AT_HIT, AF_PLAIN, 30}, {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK,
5321 AT_NO_ATK },
5322 { 19, 0, 0, 150 },
5323 15, 28, MST_MENNAS, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
5324 I_HIGH, HT_LAND, FL_FLY, 15, DEFAULT_ENERGY,
5325 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
5328 // "c"entaurs.
5330 MONS_NESSOS, 'c', MAGENTA, "Nessos",
5331 M_UNIQUE | M_WARM_BLOOD | M_SPELLCASTER | M_ACTUAL_SPELLS | M_SPEAKS,
5332 MR_NO_FLAGS,
5333 1500, 12, MONS_CENTAUR, MONS_CENTAUR, MH_NATURAL, -3,
5334 { {AT_HIT, AF_PLAIN, 16}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5335 { 9, 0, 0, 72 },
5336 4, 8, MST_NESSOS, CE_CLEAN, Z_NOZOMBIE, S_SHOUT,
5337 I_NORMAL, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
5338 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
5341 // "C"yclopses and giants.
5343 MONS_CHUCK, 'C', WHITE, "Chuck",
5344 M_WARM_BLOOD | M_SPEAKS | M_UNIQUE,
5345 MR_NO_FLAGS,
5346 2300, 10, MONS_HILL_GIANT, MONS_STONE_GIANT, MH_NATURAL, -4,
5347 { {AT_HIT, AF_PLAIN, 45}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5348 { 18, 0, 0, 120 },
5349 14, 2, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
5350 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5351 MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_HUGE
5355 MONS_IRON_GIANT, 'C', CYAN, "the iron giant",
5356 M_WARM_BLOOD | M_SPEAKS | M_SPELLCASTER | M_FIGHTER | M_UNIQUE,
5357 MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD,
5358 3500, 10, MONS_HILL_GIANT, MONS_IRON_GIANT, MH_NATURAL, -4,
5359 { {AT_HIT, AF_PLAIN, 60}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5360 { 22, 0, 0, 220 },
5361 18, 2, MST_IRON_GIANT, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
5362 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5363 MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_HUGE
5367 MONS_POLYPHEMUS, 'C', GREEN, "Polyphemus",
5368 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS,
5369 MR_NO_FLAGS,
5370 2200, 10, MONS_HILL_GIANT, MONS_CYCLOPS, MH_NATURAL, -3,
5371 { {AT_HIT, AF_PLAIN, 35}, {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK },
5372 { 12, 0, 0, 105 },
5373 7, 3, MST_NO_SPELLS, CE_CLEAN, Z_NOZOMBIE, S_SHOUT,
5374 I_NORMAL, HT_LAND, FL_NONE, 8, DEFAULT_ENERGY,
5375 MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_GIANT
5378 // Antaeus is now demonic so that he'll resist torment. - bwr
5380 MONS_ANTAEUS, 'C', LIGHTCYAN, "Antaeus",
5381 M_UNIQUE | M_FIGHTER | M_SPELLCASTER | M_SPEAKS,
5382 MR_RES_ELEC | MR_VUL_FIRE | mrd(MR_RES_COLD, 2),
5383 0, 15, MONS_HILL_GIANT, MONS_TITAN, MH_DEMONIC, -9,
5384 { {AT_HIT, AF_COLD, 75}, {AT_HIT, AF_COLD, 30}, AT_NO_ATK, AT_NO_ATK },
5385 { 22, 0, 0, 700 },
5386 28, 4, MST_ANTAEUS, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
5387 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5388 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_GIANT
5391 // "d"raconians.
5393 MONS_TIAMAT, 'd', BLACK, "Tiamat",
5394 M_UNIQUE | M_SEE_INVIS | M_COLD_BLOOD | M_SPEAKS,
5395 MR_RES_POISON,
5396 900, 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, -5,
5397 { {AT_HIT, AF_PLAIN, 60}, {AT_TAIL_SLAP, AF_PLAIN, 45}, AT_NO_ATK,
5398 AT_NO_ATK },
5399 { 22, 0, 0, 380 },
5400 25, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_ROAR,
5401 I_HIGH, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
5402 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
5405 // "D"ragons and hydras.
5407 MONS_XTAHUA, 'D', RED, "Xtahua",
5408 M_UNIQUE | M_SEE_INVIS | M_SPECIAL_ABILITY | M_WARM_BLOOD | M_SPEAKS,
5409 MR_RES_POISON | mrd(MR_RES_FIRE, 2) | MR_VUL_COLD,
5410 2400, 18, MONS_DRAGON, MONS_DRAGON, MH_NATURAL, -7,
5411 { {AT_BITE, AF_PLAIN, 35}, {AT_CLAW, AF_PLAIN, 17},
5412 {AT_TRAMPLE, AF_PLAIN, 20}, AT_NO_ATK },
5413 { 19, 0, 0, 133 },
5414 15, 7, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_ROAR,
5415 I_NORMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
5416 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_HUGE
5420 MONS_LERNAEAN_HYDRA, 'D', YELLOW, "the Lernaean hydra",
5421 M_UNIQUE | M_COLD_BLOOD,
5422 MR_RES_POISON,
5423 2100, 11, MONS_HYDRA, MONS_HYDRA, MH_NATURAL, -3,
5424 { {AT_BITE, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5425 { 30, 0, 0, 150 },
5426 0, 5, MST_NO_SPELLS, CE_POISON_CONTAM, Z_BIG, S_ROAR,
5427 I_INSECT, HT_AMPHIBIOUS, FL_NONE, 10, SWIM_ENERGY(6),
5428 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_GIANT
5432 MONS_SERPENT_OF_HELL, 'D', RED, "the Serpent of Hell",
5433 M_SPELLCASTER | M_SENSE_INVIS | M_UNIQUE,
5434 MR_RES_POISON,
5435 0, 18, MONS_DRAGON, MONS_DRAGON, MH_DEMONIC, -13,
5436 { {AT_BITE, AF_PLAIN, 35}, {AT_CLAW, AF_PLAIN, 15},
5437 {AT_TRAMPLE, AF_PLAIN, 15}, AT_NO_ATK },
5438 { 20, 4, 4, 0 },
5439 12, 9, MST_NO_SPELLS, CE_CLEAN, Z_NOZOMBIE, S_ROAR,
5440 I_HIGH, HT_LAND, FL_FLY, 14, DEFAULT_ENERGY,
5441 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_HUGE
5444 // "e"lves
5446 MONS_DUVESSA, 'e', BLUE, "Duvessa",
5447 M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
5448 MR_NO_FLAGS,
5449 450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
5450 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5451 { 4, 0, 0, 35 },
5452 2, 9, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
5453 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5454 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
5458 MONS_DOWAN, 'e', RED, "Dowan",
5459 M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
5460 MR_NO_FLAGS,
5461 450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
5462 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5463 { 3, 0, 0, 25 },
5464 0, 13, MST_DOWAN, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
5465 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5466 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
5469 // "F"rogs.
5471 MONS_PRINCE_RIBBIT, 'F', LIGHTCYAN, "Prince Ribbit",
5472 M_UNIQUE | M_COLD_BLOOD | M_SPELLCASTER | M_ACTUAL_SPELLS | M_SPEAKS
5473 | M_PHASE_SHIFT,
5474 MR_NO_FLAGS,
5475 450, 12, MONS_BLINK_FROG, MONS_HUMAN, MH_NATURAL, -5,
5476 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5477 { 6, 0, 0, 40 },
5478 0, 16, MST_PRINCE_RIBBIT, CE_CONTAMINATED, Z_NOZOMBIE, S_CROAK,
5479 I_NORMAL, HT_AMPHIBIOUS, FL_NONE, 14, SWIM_ENERGY(6),
5480 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
5483 // "G"oblins and gnolls.
5485 MONS_IJYB, 'g', BLUE, "Ijyb",
5486 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS,
5487 MR_NO_FLAGS,
5488 400, 5, MONS_GOBLIN, MONS_GOBLIN, MH_NATURAL, -3,
5489 { {AT_HIT, AF_PLAIN, 4}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5490 { 3, 0, 0, 28 },
5491 2, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
5492 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5493 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_SMALL
5497 MONS_GRUM, 'g', LIGHTRED, "Grum",
5498 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS,
5499 MR_NO_FLAGS,
5500 680, 19, MONS_GNOLL, MONS_GNOLL, MH_NATURAL, -3,
5501 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5502 { 4, 0, 0, 40 },
5503 2, 9, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_GROWL,
5504 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5505 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
5509 MONS_CRAZY_YIUF, 'g', BLACK, "Crazy Yiuf",
5510 M_WARM_BLOOD | M_SPEAKS | M_UNIQUE,
5511 MR_NO_FLAGS,
5512 680, 10, MONS_GNOLL, MONS_GNOLL, MH_NATURAL, -3,
5513 { {AT_HIT, AF_PLAIN, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5514 { 3, 0, 0, 20 },
5515 2, 9, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
5516 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5517 MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
5520 // Spr"i"ggans.
5522 MONS_AGNES, 'i', LIGHTCYAN, "Agnes",
5523 M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS,
5524 MR_NO_FLAGS,
5525 200, 20, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, -7,
5526 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5527 { 11, 0, 0, 100 },
5528 0, 20, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
5529 I_HIGH, HT_LAND, FL_NONE, 18, DEFAULT_ENERGY,
5530 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LITTLE
5533 // "J"ellies.
5535 MONS_ROYAL_JELLY, 'J', YELLOW, "the royal jelly",
5536 M_SENSE_INVIS | M_SPECIAL_ABILITY | M_ACID_SPLASH | M_NO_REGEN
5537 | M_UNIQUE,
5538 MR_RES_POISON | MR_RES_ASPHYX | MR_RES_ACID,
5539 0, 25, MONS_JELLY, MONS_JELLY, MH_NATURAL, -7,
5540 { {AT_HIT, AF_ACID, 50}, {AT_HIT, AF_ACID, 30}, AT_NO_ATK, AT_NO_ATK },
5541 { 21, 0, 0, 230 },
5542 8, 4, MST_NO_SPELLS, CE_CLEAN, Z_NOZOMBIE, S_SILENT,
5543 I_PLANT, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
5544 MONUSE_NOTHING, MONEAT_ITEMS, SIZE_MEDIUM
5548 MONS_DISSOLUTION, 'J', LIGHTMAGENTA, "Dissolution",
5549 M_UNIQUE | M_SENSE_INVIS | M_ACID_SPLASH | M_BURROWS | M_PRIEST | M_SPEAKS
5550 | M_SPELLCASTER,
5551 MR_RES_POISON | MR_RES_ASPHYX | mrd(MR_RES_ACID, 3),
5552 0, 11, MONS_JELLY, MONS_JELLY, MH_NATURAL, -7,
5553 { {AT_HIT, AF_ACID, 50}, {AT_HIT, AF_ACID, 30}, AT_NO_ATK, AT_NO_ATK },
5554 { 12, 0, 0, 180 },
5555 10, 1, MST_DISSOLUTION, CE_POISON_CONTAM, Z_NOZOMBIE, S_SILENT,
5556 I_NORMAL, HT_LAND, FL_NONE, 8, DEFAULT_ENERGY,
5557 MONUSE_NOTHING, MONEAT_ITEMS, SIZE_LARGE
5560 // Snails and other gastropods.
5562 MONS_GASTRONOK, 'j', LIGHTRED, "Gastronok",
5563 M_NO_SKELETON | M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS
5564 | M_SPEAKS | M_NO_WAND,
5565 MR_NO_FLAGS,
5566 1800, 10, MONS_GIANT_SLUG, MONS_ELEPHANT_SLUG, MH_NATURAL, -3,
5567 { {AT_BITE, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5568 { 20, 0, 0, 150 },
5569 2, 1, MST_GASTRONOK, CE_POISONOUS, Z_NOZOMBIE, S_GURGLE,
5570 I_NORMAL, HT_AMPHIBIOUS, FL_NONE, 5, DEFAULT_ENERGY,
5571 MONUSE_STARTING_EQUIPMENT, MONEAT_FOOD, SIZE_BIG
5574 // "K"obolds.
5576 MONS_SONJA, 'K', RED, "Sonja",
5577 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_SPELLCASTER | M_ACTUAL_SPELLS
5578 | M_SPEAKS,
5579 MR_NO_FLAGS,
5580 400, 12, MONS_KOBOLD, MONS_KOBOLD, MH_NATURAL, -1,
5581 { {AT_HIT, AF_PLAIN, 9}, {AT_HIT, AF_PLAIN, 5}, {AT_HIT, AF_PLAIN, 5},
5582 AT_NO_ATK },
5583 { 6, 0, 0, 30 },
5584 2, 24, MST_SONJA, CE_POISONOUS, Z_NOZOMBIE, S_SHOUT,
5585 I_NORMAL, HT_LAND, FL_NONE, 14, DEFAULT_ENERGY,
5586 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_SMALL
5590 // XP modifier is very high to compensate for 4 created-friendly humans
5591 MONS_PIKEL, 'K', BLUE, "Pikel",
5592 M_WARM_BLOOD | M_SPEAKS | M_UNIQUE | M_NO_WAND,
5593 MR_NO_FLAGS,
5594 500, 32, MONS_KOBOLD, MONS_BIG_KOBOLD, MH_NATURAL, -3,
5595 { {AT_HIT, AF_PLAIN, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5596 { 6, 0, 0, 40 },
5597 4, 12, MST_NO_SPELLS, CE_POISONOUS, Z_NOZOMBIE, S_SHOUT,
5598 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5599 MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
5602 // "L"iches.
5604 // May be re-spawned after his death.
5605 MONS_BORIS, 'L', RED, "Boris",
5606 M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_SPEAKS,
5607 MR_RES_COLD | MR_RES_ELEC,
5608 0, 15, MONS_LICH, MONS_LICH, MH_UNDEAD, -11,
5609 { {AT_HIT, AF_PLAIN, 25}, {AT_TOUCH, AF_DRAIN_XP, 15}, AT_NO_ATK,
5610 AT_NO_ATK },
5611 { 22, 0, 0, 154 },
5612 12, 10, MST_BORIS, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
5613 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5614 MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
5617 // "M"ummies.
5619 MONS_MENKAURE, 'M', MAGENTA, "Menkaure",
5620 M_UNIQUE | M_SPEAKS | M_SEE_INVIS | M_SPELLCASTER | M_ACTUAL_SPELLS,
5621 MR_VUL_FIRE | MR_RES_COLD,
5622 0, 48, MONS_MUMMY, MONS_MUMMY, MH_UNDEAD, -5,
5623 { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5624 { 3, 0, 0, 24 },
5625 3, 6, MST_MENKAURE, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
5626 I_NORMAL, HT_LAND, FL_NONE, 6, DEFAULT_ENERGY,
5627 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
5631 MONS_KHUFU, 'M', LIGHTRED, "Khufu",
5632 M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_SPEAKS | M_UNIQUE,
5633 MR_RES_COLD | MR_RES_ELEC,
5634 0, 20, MONS_MUMMY, MONS_MUMMY, MH_UNDEAD, MAG_IMMUNE,
5635 { {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5636 { 18, 0, 0, 240 },
5637 10, 6, MST_KHUFU, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5638 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5639 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
5642 // "M"erfolk.
5644 MONS_ILSUIW, 'm', LIGHTGREEN, "Ilsuiw",
5645 M_UNIQUE | M_WARM_BLOOD | M_SPELLCASTER | M_ACTUAL_SPELLS | M_SPEAKS,
5646 MR_NO_FLAGS,
5647 500, 10, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, -7,
5648 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5649 { 16, 0, 0, 150 },
5650 5, 18, MST_ILSUIW, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
5651 I_HIGH, HT_AMPHIBIOUS, FL_NONE, 10, SWIM_ENERGY(6),
5652 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
5655 // "O"gres.
5657 MONS_EROLCHA, 'O', LIGHTBLUE, "Erolcha",
5658 M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_WARM_BLOOD
5659 | M_SPEAKS,
5660 MR_NO_FLAGS,
5661 1300, 26, MONS_OGRE, MONS_OGRE, MH_NATURAL, -7,
5662 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5663 { 6, 0, 0, 54 },
5664 3, 7, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
5665 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5666 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
5669 // "o"rcs.
5671 MONS_BLORK_THE_ORC, 'o', BROWN, "Blork the orc",
5672 M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
5673 MR_NO_FLAGS,
5674 600, 15, MONS_ORC, MONS_ORC, MH_NATURAL, -4,
5675 { {AT_HIT, AF_PLAIN, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5676 { 3, 0, 0, 32 },
5677 0, 9, MST_ORC_WIZARD_III, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
5678 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5679 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
5683 MONS_URUG, 'o', RED, "Urug",
5684 M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
5685 MR_NO_FLAGS,
5686 600, 20, MONS_ORC, MONS_ORC, MH_NATURAL, -5,
5687 { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5688 { 6, 0, 0, 66 },
5689 0, 11, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
5690 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5691 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
5695 MONS_NERGALLE, 'o', WHITE, "Nergalle",
5696 M_UNIQUE | M_SPELLCASTER | M_SEE_INVIS | M_ACTUAL_SPELLS | M_WARM_BLOOD
5697 | M_SPEAKS,
5698 MR_RES_FIRE | MR_RES_COLD,
5699 600, 12, MONS_ORC, MONS_ORC, MH_NATURAL, -5,
5700 { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5701 { 10, 0, 0, 60 },
5702 9, 11, MST_NERGALLE, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
5703 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5704 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
5708 MONS_SAINT_ROKA, 'o', LIGHTBLUE, "Saint Roka",
5709 M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPELLCASTER | M_PRIEST | M_SPEAKS,
5710 MR_NO_FLAGS,
5711 600, 15, MONS_ORC, MONS_ORC, MH_NATURAL, -3,
5712 { {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5713 { 18, 0, 0, 200 },
5714 3, 10, MST_DAEVA, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
5715 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5716 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
5719 // "p" ghostlies.
5721 MONS_TERPSICHORE, 'p', LIGHTMAGENTA, "Terpsichore",
5722 M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS
5723 | M_SPEAKS | M_DEFLECT_MISSILES,
5724 MR_NO_FLAGS,
5725 600, 10, MONS_PHANTOM , MONS_PHANTOM, MH_UNDEAD, -6,
5726 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5727 { 18, 0, 0, 140 },
5728 7, 25, MST_TERPSICHORE, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5729 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5730 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
5733 // Dwarves
5735 MONS_WIGLAF, 'q', YELLOW, "Wiglaf",
5736 M_UNIQUE | M_SPELLCASTER | M_PRIEST | M_WARM_BLOOD | M_SPEAKS,
5737 MR_NO_FLAGS,
5738 550, 8, MONS_DWARF, MONS_DWARF, MH_NATURAL, -5,
5739 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5740 { 17, 0, 0, 140 },
5741 1, 10, MST_BK_OKAWARU, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
5742 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5743 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
5746 // Rakshasas and demons.
5748 MONS_AZRAEL, 'R', LIGHTRED, "Azrael",
5749 M_UNIQUE | M_SPELLCASTER | M_GLOWS_LIGHT | M_SPEAKS,
5750 MR_RES_POISON | mrd(MR_RES_FIRE, 3) | MR_VUL_COLD,
5751 0, 12, MONS_EFREET, MONS_EFREET, MH_DEMONIC, -3,
5752 { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5753 { 11, 0, 0, 88 },
5754 10, 5, MST_DRAC_SCORCHER, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5755 I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
5756 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
5760 MONS_MARA, 'R', LIGHTMAGENTA, "Mara",
5761 M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS | M_UNIQUE,
5762 MR_RES_POISON | mrd(MR_RES_FIRE, 2),
5763 0, 25, MONS_RAKSHASA, MONS_RAKSHASA, MH_DEMONIC, -6,
5764 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5765 { 18, 0, 0, 140 },
5766 10, 14, MST_MARA, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5767 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5768 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
5771 // Illusions of Mara. Only two ever exist at the one time; identical stats to
5772 // Mara.
5774 MONS_MARA_FAKE, 'R', LIGHTMAGENTA, "Mara",
5775 M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS,
5776 MR_RES_POISON | mrd(MR_RES_FIRE, 2),
5777 0, 20, MONS_RAKSHASA_FAKE, MONS_RAKSHASA_FAKE, MH_DEMONIC, -6,
5778 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5779 { 18, 0, 0, 140 },
5780 10, 14, MST_MARA_FAKE, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5781 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5782 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
5785 // "S"nakes and guardian serpents.
5787 MONS_AIZUL, 'S', LIGHTMAGENTA, "Aizul",
5788 M_SPELLCASTER | M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS
5789 | M_ACTUAL_SPELLS | M_UNIQUE,
5790 MR_RES_POISON,
5791 800, 10, MONS_GUARDIAN_SERPENT, MONS_GUARDIAN_SERPENT, MH_NATURAL, -6,
5792 { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5793 { 14, 0, 0, 142 },
5794 8, 18, MST_AIZUL, CE_MUTAGEN_RANDOM, Z_NOZOMBIE, S_SHOUT,
5795 I_NORMAL, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
5796 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
5799 // "T"rolls.
5801 // Snorg can go berserk.
5802 MONS_SNORG, 'T', LIGHTGREEN, "Snorg",
5803 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS,
5804 MR_NO_FLAGS,
5805 1500, 25, MONS_TROLL, MONS_TROLL, MH_NATURAL, -6,
5806 { {AT_BITE, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 15},
5807 {AT_CLAW, AF_PLAIN, 15}, AT_NO_ATK },
5808 { 8, 0, 0, 96 },
5809 0, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
5810 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5811 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
5815 MONS_PURGY, 'T', GREEN, "Purgy",
5816 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS,
5817 MR_NO_FLAGS,
5818 1100, 10, MONS_TROLL, MONS_TROLL, MH_NATURAL, -2,
5819 { {AT_BITE, AF_PLAIN, 9}, {AT_CLAW, AF_PLAIN, 4},
5820 {AT_CLAW, AF_PLAIN, 4}, AT_NO_ATK },
5821 { 5, 0, 0, 35 },
5822 1, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
5823 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5824 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
5827 // "V"ampires.
5829 MONS_JORY, 'V', LIGHTRED, "Jory",
5830 M_FIGHTER | M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_SPEAKS
5831 | M_BLOOD_SCENT | M_UNIQUE,
5832 MR_RES_COLD,
5833 0, 13, MONS_VAMPIRE, MONS_VAMPIRE, MH_UNDEAD, -7,
5834 { {AT_HIT, AF_PLAIN, 40}, {AT_BITE, AF_VAMPIRIC, 15}, AT_NO_ATK,
5835 AT_NO_ATK },
5836 { 18, 0, 0, 110 },
5837 10, 15, MST_JORY, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
5838 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5839 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
5842 // Elephants.
5844 MONS_NELLIE, 'Y', LIGHTMAGENTA, "Nellie",
5845 M_WARM_BLOOD | M_SPELLCASTER | M_UNIQUE | M_SPEAKS | M_FAKE_SPELLS,
5846 MR_NO_FLAGS,
5847 2300, 8, MONS_ELEPHANT, MONS_HELLEPHANT, MH_DEMONIC, -5,
5848 { {AT_TRAMPLE, AF_PLAIN, 45}, {AT_BITE, AF_PLAIN, 20},
5849 {AT_GORE, AF_PLAIN, 15 }, AT_NO_ATK },
5850 { 20, 0, 0, 240 },
5851 13, 10, MST_HELLEPHANT, CE_CLEAN, Z_NOZOMBIE, S_TRUMPET,
5852 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5853 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_GIANT
5856 // Skulls and "z" undead.
5858 MONS_MURRAY, 'z', LIGHTRED, "Murray",
5859 M_UNIQUE | M_SPELLCASTER | M_SEE_INVIS | M_NOISY_SPELLS | M_SPEAKS,
5860 MR_RES_ELEC | MR_RES_HELLFIRE | mrd(MR_RES_COLD, 2),
5861 0, 10, MONS_LICH, MONS_CURSE_SKULL, MH_UNDEAD, MAG_IMMUNE,
5862 { {AT_BITE, AF_PLAIN, 20}, {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK },
5863 { 14, 0, 0, 180 },
5864 30, 10, MST_CURSE_SKULL, CE_NOCORPSE, Z_NOZOMBIE, S_MOAN,
5865 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5866 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
5869 // numbers!
5871 MONS_GRINDER, '5', BLUE, "Grinder",
5872 M_UNIQUE | M_SEE_INVIS | M_SPELLCASTER | M_SPEAKS,
5873 MR_RES_POISON | mrd(MR_RES_COLD, 2),
5874 0, 11, MONS_IMP, MONS_SHADOW_IMP, MH_DEMONIC, -3,
5875 { {AT_HIT, AF_PLAIN, 11}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5876 { 6, 0, 0, 40 },
5877 3, 11, MST_GRINDER, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
5878 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5879 MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_LITTLE
5883 // Roxanne obviously can't use items, but we want to equip her with
5884 // a spellbook, so MONUSE_STARTING_EQUIPMENT is necessary.
5885 MONS_ROXANNE, '8', BLUE, "Roxanne",
5886 M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_STATIONARY | M_SPEAKS,
5887 mrd(MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 2),
5888 0, 10, MONS_STATUE, MONS_STATUE, MH_NONLIVING, MAG_IMMUNE,
5889 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5890 { 14, 0, 0, 180 },
5891 20, 0, MST_ROXANNE, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
5892 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5893 MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_LARGE
5896 // human uniques
5898 MONS_TERENCE, '@', LIGHTCYAN, "Terence",
5899 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS,
5900 MR_NO_FLAGS,
5901 550, 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -3,
5902 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5903 { 1, 0, 0, 20 },
5904 0, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
5905 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5906 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
5910 MONS_JESSICA, '@', LIGHTGREY, "Jessica",
5911 M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
5912 MR_NO_FLAGS,
5913 550, 125, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -3,
5914 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5915 { 1, 0, 0, 10 },
5916 0, 10, MST_JESSICA, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
5917 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5918 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
5922 MONS_SIGMUND, '@', YELLOW, "Sigmund",
5923 M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS| M_WARM_BLOOD | M_SPEAKS,
5924 MR_NO_FLAGS,
5925 550, 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -3,
5926 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5927 { 3, 0, 0, 30 },
5928 0, 11, MST_ORC_WIZARD_II, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
5929 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5930 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
5934 MONS_EDMUND, '@', RED, "Edmund",
5935 M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
5936 MR_NO_FLAGS,
5937 550, 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -4,
5938 { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5939 { 4, 0, 0, 44 },
5940 0, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
5941 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5942 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
5946 MONS_PSYCHE, '@', LIGHTMAGENTA, "Psyche",
5947 M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
5948 MR_NO_FLAGS,
5949 550, 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -4,
5950 { {AT_HIT, AF_PLAIN, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5951 { 5, 0, 0, 39 },
5952 0, 12, MST_ORC_WIZARD_III, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
5953 I_NORMAL, HT_LAND, FL_NONE, 13, DEFAULT_ENERGY,
5954 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
5958 MONS_DONALD, '@', BLUE, "Donald",
5959 M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
5960 MR_NO_FLAGS,
5961 550, 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
5962 { {AT_HIT, AF_PLAIN, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5963 { 14, 0, 0, 84 },
5964 3, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
5965 I_NORMAL, HT_AMPHIBIOUS, FL_NONE, 10, DEFAULT_ENERGY,
5966 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
5970 MONS_JOSEPH, '@', CYAN, "Joseph",
5971 M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
5972 MR_NO_FLAGS,
5973 550, 15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
5974 { {AT_HIT, AF_PLAIN, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5975 { 7, 0, 0, 66 },
5976 0, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
5977 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5978 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
5982 MONS_ERICA, '@', MAGENTA, "Erica",
5983 M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
5984 MR_NO_FLAGS,
5985 550, 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
5986 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5987 { 9, 0, 0, 64 },
5988 0, 11, MST_WIZARD_II, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
5989 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
5990 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
5994 MONS_JOSEPHINE, '@', WHITE, "Josephine",
5995 M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
5996 MR_NO_FLAGS,
5997 550, 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
5998 { {AT_HIT, AF_PLAIN, 11}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5999 { 9, 0, 0, 69 },
6000 0, 10, MST_NECROMANCER_I, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
6001 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
6002 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
6006 MONS_HAROLD, '@', LIGHTGREEN, "Harold",
6007 M_UNIQUE | M_FIGHTER | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD
6008 | M_SPEAKS,
6009 MR_NO_FLAGS,
6010 550, 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
6011 { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6012 { 9, 0, 0, 76 },
6013 0, 8, MST_HAROLD, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
6014 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
6015 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
6019 MONS_JOZEF, '@', LIGHTMAGENTA, "Jozef",
6020 M_UNIQUE | M_FIGHTER | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD
6021 | M_SPEAKS,
6022 MR_NO_FLAGS,
6023 550, 15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
6024 { {AT_HIT, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6025 { 11, 0, 0, 90 },
6026 0, 9, MST_GUARDIAN_SERPENT, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
6027 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
6028 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
6032 MONS_MAUD, '@', RED, "Maud",
6033 M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
6034 MR_NO_FLAGS,
6035 550, 15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
6036 { {AT_HIT, AF_PLAIN, 24}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6037 { 13, 0, 0, 118 },
6038 0, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
6039 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
6040 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
6044 MONS_LOUISE, '@', BLUE, "Louise",
6045 M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
6046 MR_NO_FLAGS,
6047 550, 15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
6048 { {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6049 { 13, 0, 0, 106 },
6050 0, 10, MST_WIZARD_IV, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
6051 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
6052 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
6056 MONS_FRANCES, '@', YELLOW, "Frances",
6057 M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SEE_INVIS
6058 | M_SPEAKS,
6059 MR_NO_FLAGS,
6060 550, 15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
6061 { {AT_HIT, AF_PLAIN, 29}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6062 { 14, 0, 0, 121 },
6063 0, 10, MST_ORC_HIGH_PRIEST, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
6064 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
6065 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
6069 MONS_RUPERT, '@', LIGHTRED, "Rupert",
6070 M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SEE_INVIS
6071 | M_SPEAKS,
6072 MR_NO_FLAGS,
6073 550, 12, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
6074 { {AT_HIT, AF_PLAIN, 21}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6075 { 16, 0, 0, 123 },
6076 0, 10, MST_RUPERT, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
6077 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
6078 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
6082 MONS_KIRKE, '@', LIGHTGREEN, "Kirke",
6083 M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SEE_INVIS
6084 | M_SPEAKS | M_DEFLECT_MISSILES,
6085 MR_NO_FLAGS,
6086 550, 15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
6087 { {AT_HIT, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6088 { 16, 0, 0, 110 },
6089 0, 10, MST_KIRKE, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
6090 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
6091 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
6095 MONS_NORRIS, '@', LIGHTRED, "Norris",
6096 M_UNIQUE | M_FIGHTER | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD
6097 | M_SEE_INVIS | M_SPEAKS,
6098 MR_NO_FLAGS,
6099 550, 10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
6100 { {AT_HIT, AF_PLAIN, 36}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6101 { 20, 0, 0, 214 },
6102 1, 9, MST_NORRIS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
6103 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
6104 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
6108 MONS_FREDERICK, '@', GREEN, "Frederick",
6109 M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SEE_INVIS
6110 | M_SPEAKS,
6111 MR_NO_FLAGS,
6112 550, 12, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
6113 { {AT_HIT, AF_PLAIN, 27}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6114 { 21, 0, 0, 159 },
6115 0, 10, MST_FREDERICK, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
6116 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
6117 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
6121 MONS_MARGERY, '@', LIGHTRED, "Margery",
6122 M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SEE_INVIS
6123 | M_SPEAKS,
6124 MR_NO_FLAGS,
6125 550, 15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
6126 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6127 { 22, 0, 0, 164 },
6128 0, 10, MST_EFREET, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
6129 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
6130 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
6134 MONS_EUSTACHIO, '@', GREEN, "Eustachio",
6135 M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
6136 MR_NO_FLAGS,
6137 550, 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
6138 { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6139 { 4, 0, 0, 40 },
6140 0, 13, MST_EUSTACHIO, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
6141 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
6142 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
6146 MONS_MAURICE, '@', GREEN, "Maurice",
6147 M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
6148 MR_NO_FLAGS,
6149 550, 24, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -4,
6150 { {AT_HIT, AF_STEAL, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6151 { 5, 0, 0, 60 },
6152 1, 13, MST_MAURICE, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
6153 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
6154 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
6158 MONS_NIKOLA, '@', LIGHTCYAN, "Nikola",
6159 M_UNIQUE | M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SEE_INVIS
6160 | M_SPEAKS,
6161 MR_NO_FLAGS, // Xom would hate MR_RES_ELEC here.
6162 550, 10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, -5,
6163 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6164 { 18, 0, 0, 190 },
6165 1, 9, MST_NIKOLA, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
6166 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
6167 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
6170 // unique major demons ('&')
6172 MONS_MNOLEG, '&', LIGHTGREEN, "Mnoleg",
6173 M_UNIQUE | M_FIGHTER | M_SEE_INVIS | M_SPELLCASTER | M_SPEAKS,
6174 MR_RES_ELEC | MR_RES_POISON | MR_RES_FIRE,
6175 0, 15, MONS_PANDEMONIUM_DEMON, MONS_PANDEMONIUM_DEMON, MH_DEMONIC, MAG_IMMUNE,
6176 { {AT_HIT, AF_PLAIN, 35}, {AT_HIT, AF_PLAIN, 23}, AT_NO_ATK, AT_NO_ATK },
6177 { 17, 0, 0, 250 },
6178 10, 25, MST_MNOLEG, CE_NOCORPSE, Z_NOZOMBIE, S_BUZZ,
6179 I_HIGH, HT_LAND, FL_NONE, 13, DEFAULT_ENERGY,
6180 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
6184 MONS_LOM_LOBON, '&', LIGHTBLUE, "Lom Lobon",
6185 M_UNIQUE | M_FIGHTER | M_SEE_INVIS | M_SPELLCASTER | M_SPEAKS,
6186 MR_RES_POISON | MR_RES_FIRE | mrd(MR_RES_COLD | MR_RES_ELEC, 3),
6187 0, 15, MONS_PANDEMONIUM_DEMON, MONS_PANDEMONIUM_DEMON, MH_DEMONIC, MAG_IMMUNE,
6188 { {AT_HIT, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6189 { 19, 0, 0, 360 },
6190 10, 20, MST_LOM_LOBON, CE_NOCORPSE, Z_NOZOMBIE, S_SCREAM,
6191 I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
6192 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
6196 MONS_CEREBOV, '&', RED, "Cerebov",
6197 M_UNIQUE | M_FIGHTER | M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS,
6198 MR_RES_POISON | MR_RES_HELLFIRE,
6199 0, 15, MONS_PANDEMONIUM_DEMON, MONS_PANDEMONIUM_DEMON, MH_DEMONIC, -6,
6200 { {AT_HIT, AF_PLAIN, 60}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6201 { 21, 0, 0, 650 },
6202 30, 8, MST_CEREBOV, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
6203 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
6204 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_GIANT
6208 MONS_GLOORX_VLOQ, '&', LIGHTGREY, "Gloorx Vloq",
6209 M_UNIQUE | M_FIGHTER | M_SEE_INVIS | M_SPELLCASTER | M_SPEAKS,
6210 MR_RES_POISON | MR_RES_COLD | MR_RES_ELEC,
6211 0, 15, MONS_PANDEMONIUM_DEMON, MONS_PANDEMONIUM_DEMON, MH_DEMONIC, -14,
6212 { {AT_HIT, AF_PLAIN, 45}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6213 { 16, 0, 0, 350 },
6214 10, 10, MST_GLOORX_VLOQ, CE_NOCORPSE, Z_NOZOMBIE, S_MOAN,
6215 I_HIGH, HT_LAND, FL_LEVITATE, 20, DEFAULT_ENERGY,
6216 MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
6220 MONS_GERYON, '&', GREEN, "Geryon",
6221 M_UNIQUE | M_FIGHTER | M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS
6222 | M_SPELL_NO_SILENT,
6223 MR_NO_FLAGS,
6224 0, 15, MONS_HELL_DEMON, MONS_HELL_DEMON, MH_DEMONIC, -6,
6225 { {AT_TAIL_SLAP, AF_REACH, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6226 { 15, 0, 0, 300 },
6227 15, 6, MST_GERYON, CE_NOCORPSE, Z_NOZOMBIE, S_ROAR,
6228 I_NORMAL, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
6229 MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_GIANT
6233 MONS_DISPATER, '&', MAGENTA, "Dispater",
6234 M_UNIQUE | M_FIGHTER | M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS,
6235 MR_RES_ELEC | MR_RES_POISON | MR_RES_HELLFIRE | MR_RES_COLD,
6236 0, 15, MONS_HELL_DEMON, MONS_HELL_DEMON, MH_DEMONIC, -10,
6237 { {AT_HIT, AF_PLAIN, 50}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6238 { 16, 0, 0, 450 },
6239 40, 3, MST_DISPATER, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
6240 I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
6241 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
6245 MONS_ASMODEUS, '&', LIGHTMAGENTA, "Asmodeus",
6246 M_UNIQUE | M_FIGHTER | M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS,
6247 MR_RES_ELEC | MR_RES_POISON | MR_RES_HELLFIRE,
6248 0, 25, MONS_HELL_DEMON, MONS_HELL_DEMON, MH_DEMONIC, -12,
6249 { {AT_HIT, AF_PLAIN, 50}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6250 { 17, 0, 0, 450 },
6251 30, 7, MST_ASMODEUS, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
6252 I_HIGH, HT_LAND, FL_FLY, 10, DEFAULT_ENERGY,
6253 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
6257 MONS_ERESHKIGAL, '&', WHITE, "Ereshkigal",
6258 M_UNIQUE | M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS,
6259 MR_RES_ELEC | MR_RES_POISON | MR_RES_COLD,
6260 0, 15, MONS_HELL_DEMON, MONS_HELL_DEMON, MH_DEMONIC, -10,
6261 { {AT_HIT, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6262 { 18, 0, 0, 250 },
6263 10, 30, MST_ERESHKIGAL, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
6264 I_HIGH, HT_LAND, FL_NONE, 14, DEFAULT_ENERGY,
6265 MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
6268 // Impossible to hit, impossible to damage, immune to everything,
6269 // unkillable, just sits there doing nothing but casting Shadow Creatures
6270 // over and over.
6272 MONS_TEST_SPAWNER, 'X', WHITE, "test spawner",
6273 M_SPELLCASTER | M_STATIONARY | M_INSUBSTANTIAL | M_NO_POLY_TO,
6274 mrd(MR_RES_ELEC | MR_RES_POISON | MR_RES_FIRE | MR_RES_HELLFIRE
6275 | MR_RES_COLD | MR_RES_ACID | MR_RES_STICKY_FLAME | MR_RES_STEAM, 127),
6276 0, 15, MONS_TEST_SPAWNER, MONS_TEST_SPAWNER, MH_NONLIVING, MAG_IMMUNE,
6277 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6278 { 1000, 1000, 0, 0 },
6279 127, 127, MST_TEST_SPAWNER, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
6280 I_PLANT, HT_AMPHIBIOUS, FL_NONE, 14, SWIM_ENERGY(6),
6281 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
6284 // an unspecified monster
6286 MONS_SENSED, '{', LIGHTRED, "sensed monster",
6287 M_NO_POLY_TO,
6288 MR_NO_FLAGS,
6289 0, 0, MONS_SENSED, MONS_SENSED, MH_NONLIVING, 0,
6290 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6291 { 1, 1, 0, 0 },
6292 0, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
6293 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
6294 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
6298 MONS_SENSED_TRIVIAL, '{', LIGHTGRAY, "trivial sensed monster",
6299 M_NO_POLY_TO,
6300 MR_NO_FLAGS,
6301 0, 0, MONS_SENSED, MONS_SENSED, MH_NONLIVING, 0,
6302 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6303 { 1, 1, 0, 0 },
6304 0, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
6305 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
6306 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
6310 MONS_SENSED_EASY, '{', BROWN, "easy sensed monster",
6311 M_NO_POLY_TO,
6312 MR_NO_FLAGS,
6313 0, 0, MONS_SENSED, MONS_SENSED, MH_NONLIVING, 0,
6314 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6315 { 1, 1, 0, 0 },
6316 0, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
6317 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
6318 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
6322 MONS_SENSED_TOUGH, '{', RED, "tough sensed monster",
6323 M_NO_POLY_TO,
6324 MR_NO_FLAGS,
6325 0, 0, MONS_SENSED, MONS_SENSED, MH_NONLIVING, 0,
6326 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6327 { 1, 1, 0, 0 },
6328 0, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
6329 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
6330 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
6334 MONS_SENSED_NASTY, '{', LIGHTRED, "nasty sensed monster",
6335 M_NO_POLY_TO,
6336 MR_NO_FLAGS,
6337 0, 0, MONS_SENSED, MONS_SENSED, MH_NONLIVING, 0,
6338 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6339 { 1, 1, 0, 0 },
6340 0, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
6341 I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
6342 MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
6346 For simplicity, here again the explanation:
6347 - row 1: monster id, display character, display colour, name
6348 - row 2: monster flags
6349 - row 3: monster resistance flags
6350 - row 4: mass, experience modifier, genus, species, holiness, resist magic
6351 - row 5: damage for each of four attacks
6352 - row 6: hit dice, described by four parameters
6353 - row 7: AC, evasion, sec(spell), corpse_thingy, zombie size, shouts
6354 - row 8: intel, habitat, flight class, speed, energy_usage
6355 - row 9: gmon_use class, gmon_eat class, body size
6357 #endif