Revert "Revert Abyss/Thrashing horror changes"
[crawl:crawl.git] / crawl-ref / source / mon-data.h
1 #define AT_NO_ATK       {AT_NONE, AF_PLAIN, 0}
2
3 #include "enum.h"
4
5 /* ******************************************************************
6
7    (see "mon-util.h" for the gory details)
8
9  - ordering does not matter, because seekmonster() searches the entire
10    array ... probably not to most efficient thing to do, but so it goes
11
12  - Here are the rows:
13     - row 1: monster id, display character, display colour, name
14     - row 2: monster flags
15     - row 3: monster resistance flags
16     - row 4: mass, experience modifier, genus, species, holiness, resist magic
17     - row 5: damage for each of four attacks
18     - row 6: hit dice, described by four parameters
19     - row 7: AC, evasion, sec(spell), corpse_thingy, zombie size, shouts
20     - row 8: intel, habitat, flight class, speed, energy_usage
21     - row 9: gmon_use class, gmon_eat class, body size
22
23
24  - Some further explanations:
25
26     - colour: if BLACK, monster uses value of mons_sec
27     - name: if an empty string, name generated automagically (see moname)
28     - mass: if zero, the monster never leaves a corpse (also corpse_thingy)
29     - genus: base monster "type" for a classed monsters (i.e. jackal as hound)
30     - species: corpse type of monster (i.e. orc for orc wizard)
31     - holiness:
32        MH_HOLY       - irritates some gods when killed, immunity from
33                         holy wrath weapons
34        MH_NATURAL    - baseline monster type
35        MH_UNDEAD     - immunity from draining, pain, torment; resistance
36                         to poison; extra damage from holy wrath;
37                         affected by holy word
38        MH_DEMONIC    - similar to undead, but no poison resistance and
39                         *no* automatic hellfire resistance
40        MH_NONLIVING  - golems and other constructs
41        MH_PLANT      - plants
42
43    exp_mod: see give_adjusted_experience() in mon-stuff.cc
44    - the experience given for killing this monster is calculated something
45    like this:
46
47     experience = (16 + maxhp) * HD * HD * exp_mod * (100 + diff. score) * speed
48                  / 100000
49     with a minimum of 1, and maximum 15000 (jpeg)
50
51    resist_magic: see mons_resist_magic() in mon-util.cc
52    - If -x calculate (-x * hit dice * 4/3), else simply x
53
54    damage [4]
55    - up to 4 different attacks
56
57    hp_dice [4]
58    - hit dice, min hp per HD, extra random hp per HD, fixed HP (unique mons)
59
60     Further explanations copied from mon-util.h:
61         hpdice[4]: [0]=HD [1]=min_hp [2]=rand_hp [3]=add_hp
62         min hp = [0]*[1] + [3]
63         max hp = [0]*([1]+[2]) + [3]
64         hp     = [0] *times_do* { [1] + random2(1+[2]) }, *then* + [3]
65         example: the Iron Golem, hpdice={15,7,4,0}
66            15*7 < hp < 15*(7+4),
67            105 < hp < 165
68         hp will be around 135 each time.
69
70    sec: if the monster has only one possible spellbook, sec is set to that book.
71      If a monster has multiple possible books, sec is set to MST_NO_SPELLS. Then
72      the function mons_spellbook_list in mon-util.cc checks for the flag
73      M_SPELLCASTER, and handles the books.
74
75    corpse_thingy
76    - err, bad name. Describes effects of eating corpses.
77      CE_NOCORPSE,        leaves no corpse (mass == 0)
78      CE_CLEAN,           can be healthily eaten by non-Ghouls
79      CE_CONTAMINATED,    occasionally causes sickness
80      CE_POISONOUS,       hazardous to characters without poison resistance
81      CE_POISON_CONTAM,   contaminated if poison-resistant, else poisonous
82      CE_ROT,             causes rotting in non-Ghouls
83      CE_MUTAGEN,         mutagenic
84      CE_ROTTEN           always causes sickness (good for Ghouls)
85
86    zombie_size
87      Z_NOZOMBIE
88      Z_SMALL    (z)
89      Z_BIG      (Z)
90
91    shouts
92    - various things monsters can do upon seeing you
93
94    intel explanation:
95    - How smart it is:
96    I_PLANT < I_INSECT < I_REPTILE < I_ANIMAL < I_NORMAL < I_HIGH.
97    So far, differences here have little effects except for monster's chance
98    of seeing you if stealthy and rudimentary trap handling; really stupid
99    monsters will walk through clouds.
100    I_REPTILE is are lower vertebrates (fish, amphibians, non-draconic reptiles),
101    smarter reptiles could be I_ANIMAL.
102
103    speed
104    - Increases the store of energy that the monster uses for doing things.
105    less = slower. 5 = half speed, 10 = normal, 20 = double speed.
106
107    energy usage
108    - How quickly the energy granted by speed is used up.  Most monsters
109    should just use DEFAULT_ENERGY, where all the different types of actions
110    use 10 energy units.
111
112    gmon_use explanation:
113      MONUSE_NOTHING,
114      MONUSE_OPEN_DOORS,
115      MONUSE_STARTING_EQUIPMENT,
116      MONUSE_WEAPONS_ARMOUR
117
118     From MONUSE_STARTING_EQUIPMENT on, monsters are capable of handling
119     items.  Contrary to what one might expect, MONUSE_WEAPONS_ARMOUR
120     also means a monster is capable of using wands and will also pick
121     them up, something that those with MONUSE_STARTING_EQUIPMENT won't
122     do.
123
124    gmon_eat explanation:
125      MONEAT_ITEMS,
126      MONEAT_CORPSES,
127      MONEAT_FOOD
128
129     Monsters with MONEAT_ITEMS are capable of eating most items,
130     monsters with MONEAT_CORPSES are capable of eating corpses, and
131     monsters with MONEAT_FOOD are capable of eating food (note that
132     corpses also count as food).
133
134    size:
135      SIZE_TINY,              // rats/bats
136      SIZE_LITTLE,            // spriggans
137      SIZE_SMALL,             // halflings/kobolds
138      SIZE_MEDIUM,            // humans/elves/dwarves
139      SIZE_LARGE,             // trolls/ogres/centaurs/nagas
140      SIZE_BIG,               // large quadrupeds
141      SIZE_GIANT,             // giants
142      SIZE_HUGE               // dragons
143
144 */
145
146 #define MOVE_ENERGY(x)     { x,  x, 10, 10, 10, 10, 10, 100}
147 #define ACTION_ENERGY(x)   {10, 10,  x,  x,  x,  x,  x, x * 10}
148 #define ATTACK_ENERGY(x)   {10, 10,  x, 10, 10, 10, 10, 100}
149 #define MISSILE_ENERGY(x)  {10, 10, 10,  x, 10, 10, 10, 100}
150 #define SPELL_ENERGY(x)    {10, 10, 10, 10,  x, 10, 10, 100}
151 #define SWIM_ENERGY(x)     {10,  x, 10, 10, 10, 10, 10, 100}
152
153
154 static monsterentry mondata[] =
155 {
156
157 // The Thing That Should Not Be(tm)
158 // NOTE: Do not remove, or seekmonster will crash on unknown mc request!
159 // It is also a good prototype for new monsters.
160 {
161     // id, glyph, colour, name
162     MONS_PROGRAM_BUG, 'B', LIGHTRED, "program bug",
163     // monster flags
164     M_NO_EXP_GAIN | M_CANT_SPAWN,
165     // resistance flags
166     MR_NO_FLAGS,
167     // mass, xp modifier, genus, species, holiness, magic resistance
168     0, 10, MONS_PROGRAM_BUG, MONS_PROGRAM_BUG, MH_NATURAL, -3,
169     // up to four attacks
170     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
171     // hit points
172     { 0, 0, 0, 0 },
173     // AC, EV, spells, corpse type, zombie size, shout type, intelligence
174     0, 0, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SILENT,
175     // intelligence, habitat, speed, energy usage, use type
176     I_PLANT, HT_LAND, FL_NONE, 0, DEFAULT_ENERGY,
177     // use type, eat type, body size
178     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
179 },
180
181
182 // Use this to replace removed monsters, to retain save compatibility.
183 // Please put it in #if (TAG_MAJOR_VERSION <= X), so they will go away
184 // after save compat is broken.
185 #define AXED_MON(id) \
186 { \
187     id, 'X', LIGHTRED, "removed "#id, \
188     M_NO_EXP_GAIN | M_CANT_SPAWN | M_UNFINISHED, \
189     MR_NO_FLAGS, \
190     0, 10, MONS_PROGRAM_BUG, MONS_PROGRAM_BUG, MH_NONLIVING, -3, \
191     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, \
192     { 0, 0, 0, 0 }, \
193     0, 0, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SILENT, \
194     I_PLANT, HT_LAND, FL_NONE, 0, DEFAULT_ENERGY, \
195     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE \
196 },
197
198 // Axed monsters.
199 // AXED_MON(MONS_MOTHER_IN_LAW)
200 #if TAG_MAJOR_VERSION == 34
201     AXED_MON(MONS_BUMBLEBEE)
202     AXED_MON(MONS_ARACHNOID)
203     AXED_MON(MONS_WOOD_GOLEM)
204     AXED_MON(MONS_ANT_LARVA)
205     AXED_MON(MONS_LABORATORY_RAT)
206     AXED_MON(MONS_WAR_DOG)
207     AXED_MON(MONS_SPIRIT)
208     AXED_MON(MONS_PALADIN)
209     AXED_MON(MONS_DEEP_ELF_SOLDIER)
210     AXED_MON(MONS_PAN)
211     AXED_MON(MONS_DEEP_DWARF_SCION)
212     AXED_MON(MONS_DEEP_DWARF_ARTIFICER)
213     AXED_MON(MONS_DEEP_DWARF_NECROMANCER)
214     AXED_MON(MONS_CHAOS_BUTTERFLY)
215     AXED_MON(MONS_POLYMOTH)
216 #endif
217
218 // Real monsters begin here {dlb}:
219
220 // ants ('a')
221 {
222     MONS_WORKER_ANT, 'a', RED, "worker ant",
223     M_NO_SKELETON,
224     MR_VUL_POISON,
225     450, 10, MONS_WORKER_ANT, MONS_WORKER_ANT, MH_NATURAL, -3,
226     { {AT_BITE, AF_POISON, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
227     { 3, 3, 5, 0 },
228     4, 10, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
229     I_INSECT, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
230     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
231 },
232
233 {
234     MONS_QUEEN_ANT, 'a', LIGHTRED, "queen ant",
235     M_NO_SKELETON | M_NO_FLAGS,
236     MR_VUL_POISON,
237     900, 10, MONS_WORKER_ANT, MONS_QUEEN_ANT, MH_NATURAL, -3,
238     { {AT_STING, AF_POISON_NASTY, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
239     { 13, 3, 5, 0 },
240     14, 3, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_SILENT,
241     I_INSECT, HT_LAND, FL_NONE, 7, DEFAULT_ENERGY,
242     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
243 },
244
245 {
246     MONS_SOLDIER_ANT, 'a', WHITE, "soldier ant",
247     M_NO_SKELETON,
248     MR_VUL_POISON,
249     600, 10, MONS_WORKER_ANT, MONS_SOLDIER_ANT, MH_NATURAL, -3,
250     { {AT_STING, AF_POISON_NASTY, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
251     { 6, 3, 5, 0 },
252     8, 10, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
253     I_INSECT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
254     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
255 },
256
257 // batty monsters ('b')
258 {
259     MONS_BAT, 'b', LIGHTGREY, "bat",
260     M_SENSE_INVIS | M_WARM_BLOOD | M_BATTY,
261     MR_NO_FLAGS,
262     150, 4, MONS_BAT, MONS_BAT, MH_NATURAL, -1,
263     { {AT_HIT, AF_PLAIN, 1}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
264     { 1, 2, 3, 0 },
265     1, 14, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
266     I_ANIMAL, HT_LAND, FL_WINGED, 30, DEFAULT_ENERGY,
267     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
268 },
269
270 {
271     MONS_BUTTERFLY, 'b', BLACK, "butterfly",
272     M_NO_SKELETON | M_CONFUSED | M_NO_EXP_GAIN,
273     MR_VUL_POISON,
274     0, 10, MONS_BUTTERFLY, MONS_BUTTERFLY, MH_NATURAL, -3,
275     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
276     { 1, 3, 5, 0 },
277     0, 25, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
278     I_INSECT, HT_LAND, FL_WINGED, 25, DEFAULT_ENERGY,
279     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
280 },
281
282 { // one vault + player transform (Vp ability)
283     MONS_VAMPIRE_BAT, 'b', MAGENTA, "vampire bat",
284     M_SENSE_INVIS | M_WARM_BLOOD | M_BATTY | M_NO_POLY_TO,
285     MR_NO_FLAGS,
286     0, 8, MONS_BAT, MONS_VAMPIRE_BAT, MH_UNDEAD, -1,
287     { {AT_BITE, AF_VAMPIRIC, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
288     { 3, 2, 3, 0 },
289     1, 14, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
290     I_ANIMAL, HT_LAND, FL_WINGED, 30, DEFAULT_ENERGY,
291     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
292 },
293
294 {
295     MONS_FIRE_BAT, 'b', ETC_FIRE, "fire bat",
296     M_SENSE_INVIS | M_WARM_BLOOD | M_BATTY,
297     MR_RES_HELLFIRE | MR_VUL_COLD | MR_VUL_WATER,
298     0, 8, MONS_BAT, MONS_FIRE_BAT, MH_NATURAL, -1,
299     { {AT_BITE, AF_FIRE, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
300     { 3, 2, 3, 0 },
301     1, 14, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
302     I_ANIMAL, HT_LAND, FL_WINGED, 30, DEFAULT_ENERGY,
303     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
304 },
305
306 {
307     MONS_RAVEN, 'b', BLUE, "raven",
308     M_SENSE_INVIS,
309     MR_NO_FLAGS,
310     250, 9, MONS_RAVEN, MONS_RAVEN, MH_NATURAL, -2,
311     { {AT_PECK, AF_PLAIN, 8}, {AT_CLAW, AF_PLAIN, 8}, AT_NO_ATK, AT_NO_ATK },
312     { 6, 4, 3, 0 },
313     1, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_CAW,
314     I_ANIMAL, HT_LAND, FL_WINGED, 20, DEFAULT_ENERGY,
315     MONUSE_NOTHING, MONEAT_CORPSES, SIZE_TINY
316 },
317
318 {
319     MONS_PHOENIX, 'b', RED, "phoenix",
320     M_WARM_BLOOD | M_ALWAYS_CORPSE,
321     MR_RES_POISON | MR_RES_HELLFIRE | MR_VUL_WATER,
322     480, 12, MONS_PHOENIX, MONS_PHOENIX, MH_HOLY, -3,
323     { {AT_CLAW, AF_HOLY, 19}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
324     { 13, 6, 5, 0 },
325     2, 10, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SCREECH,
326     I_NORMAL, HT_LAND, FL_WINGED, 12, DEFAULT_ENERGY,
327     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
328 },
329
330 // centaurs ('c')
331 {
332     MONS_CENTAUR, 'c', BROWN, "centaur",
333     M_WARM_BLOOD | M_SPEAKS,
334     MR_NO_FLAGS,
335     1500, 10, MONS_CENTAUR, MONS_CENTAUR, MH_NATURAL, -3,
336     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
337     { 4, 3, 5, 0 },
338     3, 7, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_SHOUT,
339     I_NORMAL, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
340     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
341 },
342
343 {
344     MONS_CENTAUR_WARRIOR, 'c', YELLOW, "centaur warrior",
345     M_WARM_BLOOD | M_FIGHTER | M_SPEAKS,
346     MR_NO_FLAGS,
347     1500, 12, MONS_CENTAUR, MONS_CENTAUR, MH_NATURAL, -3,
348     { {AT_HIT, AF_PLAIN, 16}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
349     { 9, 3, 5, 0 },
350     4, 8, MST_NO_SPELLS, CE_CLEAN, Z_NOZOMBIE, S_SHOUT,
351     I_NORMAL, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
352     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LARGE
353 },
354
355 {
356     MONS_YAKTAUR, 'c', RED, "yaktaur",
357     M_WARM_BLOOD | M_SPEAKS,
358     MR_NO_FLAGS,
359     1900, 9, MONS_YAKTAUR, MONS_YAKTAUR, MH_NATURAL, -3,
360     { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
361     { 8, 3, 5, 0 },
362     4, 4, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_SHOUT,
363     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
364     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_BIG
365 },
366
367 {
368     MONS_YAKTAUR_CAPTAIN, 'c', LIGHTRED, "yaktaur captain",
369     M_WARM_BLOOD | M_FIGHTER | M_SPEAKS,
370     MR_NO_FLAGS,
371     1900, 9, MONS_YAKTAUR, MONS_YAKTAUR, MH_NATURAL, -3,
372     { {AT_HIT, AF_PLAIN, 23}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
373     { 14, 3, 5, 0 },
374     5, 5, MST_NO_SPELLS, CE_CLEAN, Z_NOZOMBIE, S_SHOUT,
375     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
376     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_BIG
377 },
378
379 {
380     MONS_FAUN, 'c', GREEN, "faun",
381     M_WARM_BLOOD | M_SPEAKS | M_SPELLCASTER | M_ACTUAL_SPELLS,
382     MR_NO_FLAGS,
383     550, 10, MONS_FAUN, MONS_FAUN, MH_NATURAL, -3,
384     { {AT_HIT, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
385     { 10, 3, 5, 0 },
386     2, 10, MST_FAUN, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
387     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
388     MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
389 },
390
391 {
392     MONS_SATYR, 'c', LIGHTGREEN, "satyr",
393     M_WARM_BLOOD | M_SPEAKS | M_ARCHER | M_SPELLCASTER | M_ACTUAL_SPELLS,
394     MR_NO_FLAGS,
395     550, 10, MONS_SATYR, MONS_SATYR, MH_NATURAL, -3,
396     { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
397     { 15, 3, 5, 0 },
398     2, 15, MST_SATYR, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
399     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
400     MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
401 },
402
403 // draconians ('d')
404 {   // Base draconian - for use like MONS_HUMAN, MONS_ELF although we
405     // now store the draconian subspecies in base_monster for those
406     // listed as species MONS_DRACONIAN.
407     MONS_DRACONIAN, 'd', BROWN, "draconian",
408     M_COLD_BLOOD | M_SPEAKS,
409     MR_NO_FLAGS,
410     900, 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, -1,
411     { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
412     { 7, 6, 4, 0 },
413     9, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_ROAR,
414     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
415     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
416 },
417
418 {
419     MONS_BLACK_DRACONIAN, 'd', BLUE, "black draconian",
420     M_COLD_BLOOD | M_SPEAKS,
421     mrd(MR_RES_ELEC, 2),
422     900, 10, MONS_DRACONIAN, MONS_BLACK_DRACONIAN, MH_NATURAL, -2,
423     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
424     { 14, 5, 4, 0 },
425     9, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_ROAR,
426     I_HIGH, HT_LAND, FL_WINGED, 10, DEFAULT_ENERGY,
427     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
428 },
429
430 {
431     MONS_YELLOW_DRACONIAN, 'd', YELLOW, "yellow draconian",
432     M_COLD_BLOOD | M_SPEAKS,
433     MR_RES_ACID,
434     900, 10, MONS_DRACONIAN, MONS_YELLOW_DRACONIAN, MH_NATURAL, -2,
435     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
436     { 14, 5, 4, 0 },
437     9, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_ROAR,
438     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
439     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
440 },
441
442 {
443     // Colours are used for picking the right tile for Tiamat,
444     // so this needs to be different from the grey draconian. (jpeg)
445     MONS_PALE_DRACONIAN, 'd', CYAN, "pale draconian",
446     M_COLD_BLOOD | M_SPEAKS,
447     MR_RES_STEAM,
448     900, 10, MONS_DRACONIAN, MONS_PALE_DRACONIAN, MH_NATURAL, -2,
449     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
450     { 14, 5, 4, 0 },
451     9, 14, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_ROAR,
452     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
453     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
454 },
455
456 {
457     MONS_GREEN_DRACONIAN, 'd', GREEN, "green draconian",
458     M_COLD_BLOOD | M_SPEAKS,
459     MR_RES_POISON,
460     900, 10, MONS_DRACONIAN, MONS_GREEN_DRACONIAN, MH_NATURAL, -2,
461     { {AT_HIT, AF_PLAIN, 20}, {AT_TAIL_SLAP, AF_POISON, 15}, AT_NO_ATK,
462        AT_NO_ATK },
463     { 14, 5, 4, 0 },
464     9, 10, MST_NO_SPELLS, CE_POISON_CONTAM, Z_SMALL, S_ROAR,
465     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
466     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
467 },
468
469 {
470     MONS_PURPLE_DRACONIAN, 'd', MAGENTA, "purple draconian",
471     M_COLD_BLOOD | M_SPEAKS,
472     MR_NO_FLAGS,
473     900, 10, MONS_DRACONIAN, MONS_PURPLE_DRACONIAN, MH_NATURAL, -8,
474     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
475     { 14, 5, 4, 0 },
476     8, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_ROAR,
477     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
478     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
479 },
480
481 {
482     MONS_RED_DRACONIAN, 'd', RED, "red draconian",
483     M_COLD_BLOOD | M_SPEAKS,
484     MR_RES_FIRE,
485     900, 10, MONS_DRACONIAN, MONS_RED_DRACONIAN, MH_NATURAL, -2,
486     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
487     { 14, 5, 4, 0 },
488     9, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_ROAR,
489     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
490     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
491 },
492
493 {
494     MONS_WHITE_DRACONIAN, 'd', WHITE, "white draconian",
495     M_COLD_BLOOD | M_SPEAKS,
496     MR_RES_COLD,
497     900, 10, MONS_DRACONIAN, MONS_WHITE_DRACONIAN, MH_NATURAL, -2,
498     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
499     { 14, 5, 4, 0 },
500     9, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_ROAR,
501     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
502     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
503 },
504
505 {
506     MONS_GREY_DRACONIAN, 'd', LIGHTGREY, "grey draconian",
507     M_COLD_BLOOD | M_UNBREATHING | M_SPEAKS,
508     MR_NO_FLAGS,
509     900, 10, MONS_DRACONIAN, MONS_GREY_DRACONIAN, MH_NATURAL, -2,
510     { {AT_HIT, AF_PLAIN, 25}, {AT_TAIL_SLAP, AF_PLAIN, 15}, AT_NO_ATK,
511        AT_NO_ATK },
512     { 14, 5, 4, 0 },
513     16, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_ROAR,
514     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
515     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
516 },
517
518 {
519     MONS_MOTTLED_DRACONIAN, 'd', LIGHTMAGENTA, "mottled draconian",
520     M_COLD_BLOOD | M_SPEAKS,
521     MR_RES_FIRE | MR_RES_STICKY_FLAME,
522     900, 10, MONS_DRACONIAN, MONS_MOTTLED_DRACONIAN, MH_NATURAL, -2,
523     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
524     { 14, 5, 4, 0 },
525     9, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_ROAR,
526     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
527     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
528 },
529
530 {
531     MONS_DRACONIAN_CALLER, 'd', BROWN, "draconian caller",
532     M_SPELLCASTER | M_ACTUAL_SPELLS | M_COLD_BLOOD | M_SPEAKS,
533     MR_NO_FLAGS,
534     900, 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, -3,
535     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
536     { 16, 4, 3, 0 },
537     9, 10, MST_DRAC_CALLER, CE_CONTAMINATED, Z_NOZOMBIE, S_ROAR,
538     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
539     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
540 },
541
542 {
543     MONS_DRACONIAN_MONK, 'd', BLUE, "draconian monk",
544     M_FIGHTER | M_COLD_BLOOD | M_SPEAKS,
545     MR_NO_FLAGS,
546     900, 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, -3,
547     { {AT_HIT, AF_PLAIN, 35}, {AT_KICK, AF_PLAIN, 20},
548       {AT_TAIL_SLAP, AF_PLAIN, 15}, AT_NO_ATK },
549     { 16, 6, 3, 0 },
550     6, 20, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_ROAR,
551     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
552     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
553 },
554
555 {
556     MONS_DRACONIAN_ZEALOT, 'd', LIGHTGREEN, "draconian zealot",
557     M_SPELLCASTER | M_PRIEST | M_COLD_BLOOD | M_SPEAKS,
558     MR_NO_FLAGS,
559     900, 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, -3,
560     { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
561     { 16, 4, 2, 0 },
562     12, 10, MST_DRACONIAN_ZEALOT, CE_CONTAMINATED, Z_NOZOMBIE, S_ROAR,
563     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
564     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
565 },
566
567 {
568     MONS_DRACONIAN_SHIFTER, 'd', LIGHTCYAN, "draconian shifter",
569     M_SPELLCASTER | M_ACTUAL_SPELLS | M_COLD_BLOOD | M_SPEAKS,
570     MR_NO_FLAGS,
571     900, 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, -4,
572     { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
573     { 16, 4, 4, 0 },
574     8, 16, MST_DRAC_SHIFTER, CE_CONTAMINATED, Z_NOZOMBIE, S_ROAR,
575     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
576     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
577 },
578
579 {
580     MONS_DRACONIAN_ANNIHILATOR, 'd', LIGHTBLUE, "draconian annihilator",
581     M_SPELLCASTER | M_ACTUAL_SPELLS | M_COLD_BLOOD | M_SPEAKS,
582     MR_NO_FLAGS,
583     900, 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, -4,
584     { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
585     { 16, 4, 2, 0 },
586     8, 10, MST_DEEP_ELF_ANNIHILATOR, CE_CONTAMINATED, Z_NOZOMBIE, S_ROAR,
587     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
588     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
589 },
590
591 {
592     MONS_DRACONIAN_KNIGHT, 'd', CYAN, "draconian knight",
593     M_SPELLCASTER | M_ACTUAL_SPELLS | M_FIGHTER | M_COLD_BLOOD | M_SPEAKS,
594     MR_NO_FLAGS,
595     900, 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, -4,
596     { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
597     { 16, 6, 4, 0 },
598     12, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_ROAR,
599     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
600     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
601 },
602
603 {
604     MONS_DRACONIAN_SCORCHER, 'd', LIGHTRED, "draconian scorcher",
605     M_SPELLCASTER | M_ACTUAL_SPELLS | M_COLD_BLOOD | M_SPEAKS,
606     MR_NO_FLAGS,
607     900, 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, -4,
608     { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
609     { 16, 4, 2, 0 },
610     8, 12, MST_DRAC_SCORCHER, CE_CONTAMINATED, Z_NOZOMBIE, S_ROAR,
611     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
612     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
613 },
614
615 // elves ('e')
616 //mv: have to exist because it's (and should be) a valid polymorph target.
617 {
618     MONS_ELF, 'e', RED, "elf",
619     M_WARM_BLOOD | M_SPEAKS,
620     MR_NO_FLAGS,
621     450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -3,
622     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
623     { 7, 3, 3, 0 },
624     2, 14, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
625     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
626     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
627 },
628
629 {
630     MONS_DEEP_ELF_FIGHTER, 'e', LIGHTRED, "deep elf fighter",
631     M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_FIGHTER | M_SPEAKS,
632     MR_NO_FLAGS,
633     450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
634     { {AT_HIT, AF_PLAIN, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
635     { 6, 3, 3, 0 },
636     0, 13, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
637     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
638     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
639 },
640
641 {
642     MONS_DEEP_ELF_KNIGHT, 'e', CYAN, "deep elf knight",
643     M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_FIGHTER | M_SPEAKS,
644     MR_NO_FLAGS,
645     450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
646     { {AT_HIT, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
647     { 11, 3, 3, 0 },
648     0, 15, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
649     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
650     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
651 },
652
653 {
654     MONS_DEEP_ELF_BLADEMASTER, 'e', LIGHTCYAN, "deep elf blademaster",
655     M_WARM_BLOOD | M_FIGHTER | M_TWO_WEAPONS | M_SPEAKS,
656     MR_NO_FLAGS,
657     450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
658     { {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK },
659     { 16, 5, 3, 0 },
660     0, 25, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
661     I_HIGH, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
662     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
663 },
664
665 {
666     MONS_DEEP_ELF_MASTER_ARCHER, 'e', LIGHTGREY, "deep elf master archer",
667     M_WARM_BLOOD | M_ARCHER | M_SPEAKS,
668     MR_NO_FLAGS,
669     450, 30, MONS_ELF, MONS_ELF, MH_NATURAL, -5,
670     // Attack damage gets rolled into their ranged attacks.
671     { {AT_SHOOT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK },
672     { 15, 4, 2, 0 },
673     0, 15, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
674     I_HIGH, HT_LAND, FL_NONE, 10, MISSILE_ENERGY(6),
675     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
676 },
677
678 {
679     MONS_DEEP_ELF_MAGE, 'e', MAGENTA, "deep elf mage",
680     M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
681     MR_NO_FLAGS,
682     450, 12, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
683     { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
684     { 6, 3, 3, 0 },
685     0, 13, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
686     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
687     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
688 },
689
690 {
691     MONS_DEEP_ELF_SUMMONER, 'e', BROWN, "deep elf summoner",
692     M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
693     MR_NO_FLAGS,
694     450, 13, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
695     { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
696     { 8, 3, 3, 0 },
697     0, 13, MST_DEEP_ELF_SUMMONER, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
698     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
699     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
700 },
701
702 {
703     MONS_DEEP_ELF_CONJURER, 'e', BLUE, "deep elf conjurer",
704     M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
705     MR_NO_FLAGS,
706     450, 12, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
707     { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
708     { 9, 3, 3, 0 },
709     0, 13, MST_DEEP_ELF_CONJURER, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
710     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
711     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
712 },
713
714 {
715     MONS_DEEP_ELF_PRIEST, 'e', GREEN, "deep elf priest",
716     M_SPELLCASTER | M_PRIEST | M_WARM_BLOOD | M_SPEAKS,
717     MR_NO_FLAGS,
718     450, 11, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
719     { {AT_HIT, AF_PLAIN, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
720     { 7, 3, 3, 0 },
721     0, 13, MST_DEEP_ELF_PRIEST, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
722     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
723     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
724 },
725
726 {
727     MONS_DEEP_ELF_HIGH_PRIEST, 'e', LIGHTGREEN, "deep elf high priest",
728     M_SPELLCASTER | M_SPEAKS | M_PRIEST | M_WARM_BLOOD | M_SEE_INVIS,
729     MR_NO_FLAGS,
730     450, 15, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
731     { {AT_HIT, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
732     { 11, 3, 3, 0 },
733     3, 13, MST_DEEP_ELF_HIGH_PRIEST, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
734     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
735     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
736 },
737
738 {
739     MONS_DEEP_ELF_DEMONOLOGIST, 'e', YELLOW, "deep elf demonologist",
740     M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS,
741     MR_NO_FLAGS,
742     450, 20, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
743     { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
744     { 12, 3, 3, 0 },
745     0, 13, MST_DEEP_ELF_DEMONOLOGIST, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
746     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
747     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
748 },
749
750 {
751     MONS_DEEP_ELF_ANNIHILATOR, 'e', LIGHTBLUE, "deep elf annihilator",
752     M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS,
753     MR_NO_FLAGS,
754     450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
755     { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
756     { 15, 3, 3, 0 },
757     0, 13, MST_DEEP_ELF_ANNIHILATOR, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
758     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
759     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
760 },
761
762 {
763     MONS_DEEP_ELF_SORCERER, 'e', LIGHTMAGENTA, "deep elf sorcerer",
764     M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS,
765     MR_NO_FLAGS,
766     450, 17, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
767     { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
768     { 14, 3, 3, 0 },
769     0, 13, MST_DEEP_ELF_SORCERER, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
770     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
771     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
772 },
773
774 {
775     MONS_DEEP_ELF_DEATH_MAGE, 'e', WHITE, "deep elf death mage",
776     M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS,
777     MR_NO_FLAGS,
778     450, 10, MONS_ELF, MONS_ELF, MH_NATURAL, -6,
779     { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
780     { 15, 3, 3, 0 },
781     0, 13, MST_DEEP_ELF_DEATH_MAGE, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
782     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
783     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
784 },
785
786 // fungi ('f')
787 {
788     MONS_TOADSTOOL, 'f', BLACK, "toadstool",
789     M_NO_EXP_GAIN | M_STATIONARY,
790     MR_RES_POISON,
791     0, 10, MONS_FUNGUS, MONS_TOADSTOOL, MH_PLANT, MAG_IMMUNE,
792     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
793     { 1, 2, 2, 0 },
794     1, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
795     I_PLANT, HT_LAND, FL_NONE, 0, DEFAULT_ENERGY,
796     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
797 },
798
799 {
800     MONS_FUNGUS, 'f', LIGHTGREY, "fungus",
801     M_NO_EXP_GAIN | M_STATIONARY,
802     MR_RES_POISON,
803     0, 10, MONS_FUNGUS, MONS_FUNGUS, MH_PLANT, MAG_IMMUNE,
804     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
805     { 8, 3, 5, 0 },
806     1, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
807     I_PLANT, HT_LAND, FL_NONE, 0, DEFAULT_ENERGY,
808     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
809 },
810
811 {
812     MONS_BALLISTOMYCETE, 'f', MAGENTA, "ballistomycete",
813     M_NO_EXP_GAIN | M_STATIONARY,
814     MR_RES_POISON,
815     0, 10, MONS_FUNGUS, MONS_BALLISTOMYCETE, MH_PLANT, MAG_IMMUNE,
816     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
817     { 4, 5, 3, 0 },
818     1, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
819     I_PLANT, HT_LAND, FL_NONE, 0, DEFAULT_ENERGY,
820     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
821 },
822
823 {
824     MONS_HYPERACTIVE_BALLISTOMYCETE, 'f', LIGHTRED, "hyperactive ballistomycete",
825     M_STATIONARY | M_NO_POLY_TO,
826     MR_RES_POISON,
827     0, 10, MONS_FUNGUS, MONS_BALLISTOMYCETE, MH_PLANT, MAG_IMMUNE,
828     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
829     // expected explosion damage: 25, expected HP: 60
830     { 6, 5, 10, 0 },
831     1, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
832     I_PLANT, HT_LAND, FL_NONE, 0, DEFAULT_ENERGY,
833     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
834 },
835
836 {
837     MONS_WANDERING_MUSHROOM, 'f', BROWN, "wandering mushroom",
838     M_NO_FLAGS,
839     MR_RES_POISON,
840     0, 10, MONS_FUNGUS, MONS_WANDERING_MUSHROOM, MH_PLANT, -3,
841     { {AT_SPORE, AF_CONFUSE, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
842     { 8, 3, 5, 0 },
843     5, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
844     I_PLANT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
845     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
846 },
847
848 {
849     MONS_DEATHCAP, 'f', LIGHTMAGENTA, "deathcap",
850     M_SPELLCASTER | M_FAKE_SPELLS,
851     MR_RES_COLD,
852     0, 6, MONS_FUNGUS, MONS_WANDERING_MUSHROOM, MH_UNDEAD, -5,
853     { {AT_SPORE, AF_CONFUSE, 33}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
854     { 13, 2, 4, 0 },
855     5, 0, MST_SOUL_EATER, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
856     I_PLANT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
857     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
858 },
859
860 // goblins ('g')
861 {
862     MONS_GOBLIN, 'g', LIGHTGREY, "goblin",
863     M_WARM_BLOOD | M_SPEAKS,
864     MR_NO_FLAGS,
865     400, 10, MONS_GOBLIN, MONS_GOBLIN, MH_NATURAL, -1,
866     { {AT_HIT, AF_PLAIN, 4}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
867     { 1, 2, 4, 0 },
868     0, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
869     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
870     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_SMALL
871 },
872
873 {
874     MONS_HOBGOBLIN, 'g', BROWN, "hobgoblin",
875     M_WARM_BLOOD | M_SPEAKS,
876     MR_NO_FLAGS,
877     500, 10, MONS_GOBLIN, MONS_HOBGOBLIN, MH_NATURAL, -1,
878     { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
879     { 1, 4, 3, 0 },
880     2, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
881     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
882     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
883 },
884
885 {
886     MONS_GNOLL, 'g', YELLOW, "gnoll",
887     M_WARM_BLOOD | M_SPEAKS,
888     MR_NO_FLAGS,
889     680, 10, MONS_GNOLL, MONS_GNOLL, MH_NATURAL, -3,
890     { {AT_HIT, AF_PLAIN, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
891     { 2, 4, 5, 0 },
892     2, 9, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
893     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
894     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
895 },
896
897 {
898     MONS_GNOLL_SHAMAN, 'g', WHITE, "gnoll shaman",
899     M_SPELLCASTER | M_PRIEST | M_WARM_BLOOD | M_SPEAKS,
900     MR_NO_FLAGS,
901     680, 10, MONS_GNOLL, MONS_GNOLL, MH_NATURAL, -4,
902     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
903     { 3, 4, 5, 0 },
904     2, 9, MST_GNOLL_SHAMAN, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
905     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
906     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
907 },
908
909 {
910     MONS_GNOLL_SERGEANT, 'g', CYAN, "gnoll sergeant",
911     M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
912     MR_NO_FLAGS,
913     680, 10, MONS_GNOLL, MONS_GNOLL, MH_NATURAL, -3,
914     { {AT_HIT, AF_PLAIN, 11}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
915     { 4, 4, 5, 0 },
916     2, 9, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
917     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
918     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
919 },
920
921 {
922     MONS_BOGGART, 'g', MAGENTA, "boggart",
923     M_SPELLCASTER | M_ACTUAL_SPELLS | M_SEE_INVIS | M_WARM_BLOOD,
924     MR_NO_FLAGS,
925     0, 14, MONS_BOGGART, MONS_BOGGART, MH_NATURAL, -7,
926     { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
927     { 2, 3, 5, 0 },
928     0, 12, MST_BOGGART, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
929     I_NORMAL, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
930     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LITTLE
931 },
932
933 { // one vault.  Polymorph disabled.
934     MONS_GNOME, 'g', LIGHTBLUE, "gnome",
935     M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO,
936     MR_NO_FLAGS,
937     400, 10, MONS_GNOME, MONS_GNOME, MH_NATURAL, -3,
938     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
939     { 5, 3, 5, 0 },
940     2, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
941     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
942     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_SMALL
943 },
944
945 // hounds and hogs ('h')
946 {
947     MONS_JACKAL, 'h', BROWN, "jackal",
948     M_WARM_BLOOD | M_BLOOD_SCENT,
949     MR_NO_FLAGS,
950     360, 10, MONS_HOUND, MONS_JACKAL, MH_NATURAL, -1,
951     { {AT_BITE, AF_PLAIN, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
952     { 1, 3, 5, 0 },
953     2, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_BARK,
954     I_ANIMAL, HT_LAND, FL_NONE, 14, DEFAULT_ENERGY,
955     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
956 },
957
958 {
959     MONS_HOUND, 'h', YELLOW, "hound",
960     M_SENSE_INVIS | M_WARM_BLOOD | M_BLOOD_SCENT,
961     MR_NO_FLAGS,
962     300, 10, MONS_HOUND, MONS_HOUND, MH_NATURAL, -3,
963     { {AT_BITE, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
964     { 3, 3, 5, 0 },
965     2, 13, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_BARK,
966     I_ANIMAL, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
967     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
968 },
969
970 {
971     MONS_WARG, 'h', WHITE, "warg",
972     M_SENSE_INVIS | M_WARM_BLOOD | M_BLOOD_SCENT,
973     MR_RES_POISON,
974     750, 12, MONS_HOUND, MONS_WARG, MH_NATURAL, -6,
975     { {AT_BITE, AF_PLAIN, 12}, {AT_CLAW, AF_PLAIN, 3}, {AT_CLAW, AF_PLAIN, 3},
976        AT_NO_ATK },
977     { 4, 4, 5, 0 },
978     4, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_BARK,
979     I_ANIMAL, HT_LAND, FL_NONE, 13, DEFAULT_ENERGY,
980     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
981 },
982
983 {
984     MONS_WOLF, 'h', LIGHTGREY, "wolf",
985     M_SENSE_INVIS | M_WARM_BLOOD | M_BLOOD_SCENT,
986     MR_NO_FLAGS,
987     450, 19, MONS_HOUND, MONS_WOLF, MH_NATURAL, -3,
988     { {AT_BITE, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
989     { 4, 3, 5, 0 },
990     4, 15, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_BARK,
991     I_ANIMAL, HT_LAND, FL_NONE, 17, DEFAULT_ENERGY,
992     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
993 },
994
995 {
996     MONS_SPIRIT_WOLF, 'h', LIGHTMAGENTA, "spirit wolf",
997     M_SENSE_INVIS | M_BLOOD_SCENT | M_PHASE_SHIFT | M_GLOWS_LIGHT | M_NO_POLY_TO,
998     mrd(MR_RES_NEG | MR_RES_POISON, 3),
999     450, 3, MONS_SPIRIT_WOLF, MONS_WOLF, MH_NATURAL, -5,
1000     { {AT_BITE, AF_PLAIN, 27}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1001     { 13, 3, 2, 0 },
1002     5, 19, MST_NO_SPELLS, CE_NOCORPSE, Z_SMALL, S_BARK,
1003     I_ANIMAL, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
1004     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
1005 },
1006
1007 {
1008     MONS_HOG, 'h', RED, "hog",
1009     M_WARM_BLOOD,
1010     MR_NO_FLAGS,
1011     450, 10, MONS_HOG, MONS_HOG, MH_NATURAL, -3,
1012     { {AT_BITE, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1013     { 6, 3, 5, 0 },
1014     2, 9, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
1015     I_ANIMAL, HT_LAND, FL_NONE, 13, DEFAULT_ENERGY,
1016     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
1017 },
1018
1019 {
1020     MONS_HELL_HOUND, 'h', LIGHTCYAN, "hell hound",
1021     M_SENSE_INVIS | M_BLOOD_SCENT,
1022     MR_RES_POISON | MR_RES_HELLFIRE | MR_VUL_COLD,
1023     450, 10, MONS_HOUND, MONS_HELL_HOUND, MH_DEMONIC, -3,
1024     { {AT_BITE, AF_PLAIN, 13}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1025     { 5, 3, 5, 0 },
1026     6, 13, MST_NO_SPELLS, CE_POISON_CONTAM, Z_SMALL, S_BARK,
1027     I_ANIMAL, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
1028     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
1029 },
1030
1031 {
1032     MONS_HELL_HOG, 'h', LIGHTRED, "hell hog",
1033     M_SPELLCASTER | M_FAKE_SPELLS,
1034     MR_NO_FLAGS,
1035     450, 10, MONS_HOG, MONS_HELL_HOG, MH_DEMONIC, -3,
1036     { {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1037     { 11, 3, 5, 0 },
1038     2, 9, MST_HELL_HOG, CE_POISON_CONTAM, Z_SMALL, S_SILENT,
1039     I_ANIMAL, HT_LAND, FL_NONE, 14, DEFAULT_ENERGY,
1040     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
1041 },
1042
1043 {   // effect of porkalator cast on holies
1044     MONS_HOLY_SWINE, 'h', YELLOW, "holy swine",
1045     M_WARM_BLOOD,
1046     MR_NO_FLAGS,
1047     450, 10, MONS_HOG, MONS_HOLY_SWINE, MH_HOLY, -3,
1048     { {AT_BITE, AF_HOLY, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1049     { 11, 3, 5, 0 },
1050     2, 9, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
1051     I_ANIMAL, HT_LAND, FL_NONE, 14, DEFAULT_ENERGY,
1052     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
1053 },
1054
1055 {   // a dummy monster for recolouring
1056     MONS_FELID, 'h', DARKGREY, "felid",
1057     M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO,
1058     MR_NO_FLAGS,
1059     200, 10, MONS_FELID, MONS_FELID, MH_NATURAL, -6,
1060     { {AT_CLAW, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1061     { 5, 2, 3, 0 },
1062     2, 18, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_HISS,
1063     I_HIGH, HT_LAND, FL_NONE, 11, DEFAULT_ENERGY,
1064     MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_LITTLE
1065 },
1066
1067 // spriggans ('i')
1068 {
1069     MONS_SPRIGGAN, 'i', LIGHTGREY, "spriggan",
1070     M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS,
1071     MR_NO_FLAGS,
1072     200, 10, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, -7,
1073     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1074     { 7, 2, 2, 0 },
1075     1, 20, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
1076     I_HIGH, HT_LAND, FL_NONE, 16, DEFAULT_ENERGY,
1077     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LITTLE
1078 },
1079
1080 {
1081     MONS_SPRIGGAN_ASSASSIN, 'i', BROWN, "spriggan assassin",
1082     M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_FIGHTER | M_STABBER,
1083     MR_NO_FLAGS,
1084     200, 10, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, -7,
1085     { {AT_HIT, AF_PLAIN, 21}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1086     { 12, 2, 2, 0 },
1087     2, 25, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1088     I_NORMAL, HT_LAND, FL_NONE, 16, DEFAULT_ENERGY,
1089     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LITTLE
1090 },
1091
1092 {
1093     MONS_SPRIGGAN_ENCHANTER, 'i', MAGENTA, "spriggan enchanter",
1094     M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_SPELLCASTER | M_ACTUAL_SPELLS
1095         | M_FIGHTER | M_STABBER,
1096     MR_NO_FLAGS,
1097     200, 10, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, -7,
1098     { {AT_HIT, AF_PLAIN, 21}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1099     { 12, 2, 2, 0 },
1100     2, 20, MST_SPRIGGAN_ENCHANTER, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1101     I_NORMAL, HT_LAND, FL_NONE, 16, DEFAULT_ENERGY,
1102     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LITTLE
1103 },
1104
1105 {   // both the guy and his ride as one monster
1106     MONS_SPRIGGAN_RIDER, 'i', LIGHTBLUE, "spriggan rider",
1107     M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_FIGHTER,
1108     MR_VUL_POISON, // the mount
1109     200, 10, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, -7,
1110     { {AT_HIT, AF_PLAIN, 21}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1111     { 11, 4, 3, 0 },
1112     1, 18, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1113     I_HIGH, HT_LAND, FL_WINGED, 16, DEFAULT_ENERGY,
1114     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_SMALL
1115 },
1116
1117 {
1118     MONS_SPRIGGAN_DRUID, 'i', GREEN, "spriggan druid",
1119     M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_SPELLCASTER | M_ACTUAL_SPELLS,
1120     MR_NO_FLAGS,
1121     200, 10, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, -7,
1122     { {AT_HIT, AF_PLAIN, 16}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1123     { 12, 2, 2, 0 },
1124     1, 25, MST_SPRIGGAN_DRUID, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1125     I_HIGH, HT_LAND, FL_NONE, 16, DEFAULT_ENERGY,
1126     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LITTLE
1127 },
1128
1129 {
1130     MONS_SPRIGGAN_BERSERKER, 'i', LIGHTRED, "spriggan berserker",
1131     M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_FIGHTER | M_PRIEST,
1132     MR_NO_FLAGS,
1133     200, 10, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, -7,
1134     { {AT_HIT, AF_PLAIN, 21}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1135     { 12, 2, 2, 0 },
1136     2, 25, MST_BK_TROG, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1137     I_NORMAL, HT_LAND, FL_NONE, 16, DEFAULT_ENERGY,
1138     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LITTLE
1139 },
1140
1141 {
1142     MONS_SPRIGGAN_AIR_MAGE, 'i', LIGHTCYAN, "spriggan air mage",
1143     M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_SPELLCASTER | M_ACTUAL_SPELLS
1144         | M_DEFLECT_MISSILES,
1145     mrd(MR_RES_ELEC, 2),
1146     200, 10, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, -7,
1147     { {AT_HIT, AF_PLAIN, 16}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1148     { 14, 2, 2, 0 },
1149     1, 25, MST_SPRIGGAN_AIR_MAGE, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1150     I_HIGH, HT_LAND, FL_LEVITATE, 16, DEFAULT_ENERGY,
1151     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LITTLE
1152 },
1153
1154 {
1155     MONS_SPRIGGAN_DEFENDER, 'i', YELLOW, "spriggan defender",
1156     M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_FIGHTER,
1157     MR_NO_FLAGS,
1158     200, 10, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, -7,
1159     { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1160     { 15, 3, 2, 0 },
1161     3, 25, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1162     I_HIGH, HT_LAND, FL_NONE, 16, DEFAULT_ENERGY,
1163     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_LITTLE
1164 },
1165
1166 // slugs ('j')
1167 {
1168     MONS_GIANT_SLUG, 'j', GREEN, "giant slug",
1169     M_NO_SKELETON,
1170     MR_NO_FLAGS,
1171     850, 4, MONS_GIANT_SLUG, MONS_GIANT_SLUG, MH_NATURAL, -3,
1172     { {AT_BITE, AF_PLAIN, 23}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1173     { 10, 5, 3, 0 },
1174     0, 2, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_SILENT,
1175     I_INSECT, HT_AMPHIBIOUS, FL_NONE, 6, DEFAULT_ENERGY,
1176     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
1177 },
1178
1179 {
1180     MONS_AGATE_SNAIL, 'j', LIGHTGREEN, "agate snail",
1181     M_NO_SKELETON,
1182     MR_NO_FLAGS,
1183     950, 2, MONS_GIANT_SLUG, MONS_AGATE_SNAIL, MH_NATURAL, -3,
1184     { {AT_BITE, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1185     { 14, 5, 3, 0 },
1186     7, 2, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_SILENT,
1187     I_INSECT, HT_AMPHIBIOUS, FL_NONE, 4, DEFAULT_ENERGY,
1188     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
1189 },
1190
1191 {
1192     MONS_ELEPHANT_SLUG, 'j', LIGHTGREY, "elephant slug",
1193     M_NO_SKELETON,
1194     MR_VUL_POISON,
1195     1800, 2, MONS_GIANT_SLUG, MONS_ELEPHANT_SLUG, MH_NATURAL, -3,
1196     { {AT_BITE, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1197     { 20, 5, 3, 0 },
1198     2, 1, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_SILENT,
1199     I_INSECT, HT_LAND, FL_NONE, 4, DEFAULT_ENERGY,
1200     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
1201 },
1202
1203 // killer bees ('k')
1204 {
1205     MONS_QUEEN_BEE, 'k', YELLOW, "queen bee",
1206     M_NO_SKELETON,
1207     MR_VUL_POISON,
1208     300, 14, MONS_KILLER_BEE, MONS_QUEEN_BEE, MH_NATURAL, -3,
1209     { {AT_STING, AF_POISON_NASTY, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1210     { 7, 3, 5, 0 },
1211     10, 10, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
1212     I_INSECT, HT_LAND, FL_WINGED, 10, DEFAULT_ENERGY,
1213     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
1214 },
1215
1216 {
1217     MONS_KILLER_BEE, 'k', BROWN, "killer bee",
1218     M_NO_SKELETON,
1219     MR_VUL_POISON,
1220     150, 11, MONS_KILLER_BEE, MONS_KILLER_BEE, MH_NATURAL, -3,
1221     { {AT_STING, AF_POISON, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1222     { 3, 3, 5, 0 },
1223     2, 18, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_BUZZ,
1224     I_INSECT, HT_LAND, FL_WINGED, 20, DEFAULT_ENERGY,
1225     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
1226 },
1227
1228 {
1229     MONS_FIREFLY, 'k', LIGHTBLUE, "giant firefly",
1230     M_NO_SKELETON,
1231     MR_VUL_POISON,
1232     200, 10, MONS_FIREFLY, MONS_FIREFLY, MH_NATURAL, -7,
1233     { {AT_BITE, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1234     { 7, 3, 3, 0 },
1235     1, 18, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SILENT,
1236     I_INSECT, HT_LAND, FL_WINGED, 16, DEFAULT_ENERGY,
1237     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
1238 },
1239
1240 // lizards ('l')
1241 { // dummy for giant lizard genus
1242     MONS_GIANT_LIZARD, 'l', LIGHTGREY, "giant lizard",
1243     M_COLD_BLOOD | M_CANT_SPAWN,
1244     MR_NO_FLAGS,
1245     170, 10, MONS_GIANT_LIZARD, MONS_GIANT_LIZARD, MH_NATURAL, -3,
1246     { {AT_BITE, AF_PLAIN, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1247     { 1, 1, 2, 0 },
1248     0, 15, MST_NO_SPELLS, CE_CLEAN, Z_NOZOMBIE, S_SILENT,
1249     I_REPTILE, HT_AMPHIBIOUS, FL_NONE, 10, SWIM_ENERGY(6),
1250     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
1251 },
1252
1253 {
1254     MONS_GIANT_NEWT, 'l', GREEN, "giant newt",
1255     M_COLD_BLOOD,
1256     MR_NO_FLAGS,
1257     170, 10, MONS_GIANT_LIZARD, MONS_GIANT_NEWT, MH_NATURAL, -3,
1258     { {AT_BITE, AF_PLAIN, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1259     { 1, 1, 2, 0 },
1260     0, 15, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
1261     I_REPTILE, HT_AMPHIBIOUS, FL_NONE, 10, SWIM_ENERGY(6),
1262     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
1263 },
1264
1265 {
1266     MONS_GIANT_GECKO, 'l', YELLOW, "giant gecko",
1267     M_COLD_BLOOD,
1268     MR_NO_FLAGS,
1269     250, 16, MONS_GIANT_LIZARD, MONS_GIANT_GECKO, MH_NATURAL, -3,
1270     { {AT_BITE, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1271     { 1, 3, 5, 0 },
1272     1, 14, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
1273     I_REPTILE, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
1274     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
1275 },
1276
1277 {
1278     MONS_IGUANA, 'l', BLUE, "iguana",
1279     M_COLD_BLOOD,
1280     MR_NO_FLAGS,
1281     400, 13, MONS_GIANT_LIZARD, MONS_IGUANA, MH_NATURAL, -3,
1282     { {AT_BITE, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1283     { 3, 3, 5, 0 },
1284     5, 9, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_HISS,
1285     I_REPTILE, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1286     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
1287 },
1288
1289 {
1290     MONS_BASILISK, 'l', MAGENTA, "basilisk",
1291     M_COLD_BLOOD | M_SPELLCASTER | M_FAKE_SPELLS,
1292     MR_NO_FLAGS,
1293     450, 15, MONS_GIANT_LIZARD, MONS_BASILISK, MH_NATURAL, -3,
1294     { {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1295     { 6, 4, 4, 0 },
1296     3, 12, MST_BASILISK, CE_POISON_CONTAM, Z_SMALL, S_HISS,
1297     I_REPTILE, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1298     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
1299 },
1300
1301 {
1302     MONS_KOMODO_DRAGON, 'l', LIGHTRED, "komodo dragon",
1303     M_COLD_BLOOD,
1304     MR_NO_FLAGS,
1305     800, 10, MONS_GIANT_LIZARD, MONS_KOMODO_DRAGON, MH_NATURAL, -3,
1306     { {AT_BITE, AF_DISEASE, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1307     { 8, 3, 5, 0 },
1308     7, 8, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_HISS,
1309     I_REPTILE, HT_AMPHIBIOUS, FL_NONE, 10, SWIM_ENERGY(6),
1310     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
1311 },
1312
1313 // drakes (also 'l', but dragon-like)
1314 { // dummy for drake genus
1315     MONS_DRAKE, 'l', WHITE, "drake",
1316     M_WARM_BLOOD | M_FLEES | M_CANT_SPAWN,
1317     MR_RES_POISON,
1318     900, 16, MONS_DRAKE, MONS_DRAKE, MH_NATURAL, -3,
1319     { {AT_BITE, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1320     { 4, 5, 5, 0 },
1321     3, 11, MST_NO_SPELLS, CE_POISON_CONTAM, Z_NOZOMBIE, S_ROAR,
1322     I_ANIMAL, HT_LAND, FL_WINGED, 11, DEFAULT_ENERGY,
1323     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
1324 },
1325
1326 {
1327     MONS_SWAMP_DRAKE, 'l', BROWN, "swamp drake",
1328     M_SPELLCASTER | M_WARM_BLOOD | M_FAKE_SPELLS | M_FLEES,
1329     MR_RES_POISON,
1330     900, 20, MONS_DRAKE, MONS_SWAMP_DRAKE, MH_NATURAL, -3,
1331     { {AT_BITE, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1332     { 4, 5, 5, 0 },
1333     3, 11, MST_SWAMP_DRAKE, CE_POISON_CONTAM, Z_BIG, S_ROAR,
1334     I_ANIMAL, HT_LAND, FL_WINGED, 11, DEFAULT_ENERGY,
1335     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
1336 },
1337
1338 {
1339     MONS_FIRE_DRAKE, 'l', RED, "fire drake",
1340     M_WARM_BLOOD | M_FAKE_SPELLS | M_FLEES,
1341     MR_RES_FIRE,
1342     1000, 20, MONS_DRAKE, MONS_FIRE_DRAKE, MH_NATURAL, -3,
1343     { {AT_BITE, AF_PLAIN, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1344     { 6, 3, 5, 0 },
1345     3, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SILENT,
1346     I_ANIMAL, HT_LAND, FL_WINGED, 12, DEFAULT_ENERGY,
1347     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
1348 },
1349
1350 {
1351     MONS_WIND_DRAKE, 'l', WHITE, "wind drake",
1352     M_SPELLCASTER | M_WARM_BLOOD | M_FAKE_SPELLS | M_FLEES | M_DEFLECT_MISSILES,
1353     MR_NO_FLAGS,
1354     1000, 6, MONS_DRAKE, MONS_WIND_DRAKE, MH_NATURAL, -3,
1355     { {AT_BITE, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1356     { 8, 5, 5, 0 },
1357     3, 12, MST_WIND_DRAKE, CE_CONTAMINATED, Z_BIG, S_SILENT,
1358     I_ANIMAL, HT_LAND, FL_WINGED, 12, DEFAULT_ENERGY,
1359     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
1360 },
1361
1362 {
1363     MONS_LINDWURM, 'l', LIGHTCYAN, "lindwurm",
1364     M_WARM_BLOOD | M_GLOWS_LIGHT | M_FLEES,
1365     MR_NO_FLAGS,
1366     950, 13, MONS_DRAKE, MONS_LINDWURM, MH_NATURAL, -3,
1367     { {AT_BITE, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 10},
1368       {AT_CLAW, AF_PLAIN, 10}, AT_NO_ATK },
1369     { 9, 3, 5, 0 },
1370     8, 6, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_ROAR,
1371     I_REPTILE, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1372     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
1373 },
1374
1375 {
1376     MONS_DEATH_DRAKE, 'l', LIGHTGREY, "death drake",
1377     M_SPELLCASTER | M_COLD_BLOOD | M_FAKE_SPELLS | M_FLEES,
1378     MR_RES_POISON | MR_RES_ROTTING,
1379     900, 10, MONS_DRAKE, MONS_DEATH_DRAKE, MH_NATURAL, -3,
1380     { {AT_BITE, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1381     { 9, 5, 7, 0 },
1382     6, 14, MST_DEATH_DRAKE, CE_ROT, Z_BIG, S_ROAR,
1383     I_ANIMAL, HT_LAND, FL_WINGED, 13, DEFAULT_ENERGY,
1384     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
1385 },
1386
1387 // merfolk ('m')
1388 {
1389     MONS_MERFOLK, 'm', LIGHTRED, "merfolk",
1390     M_WARM_BLOOD | M_SPEAKS,
1391     MR_NO_FLAGS,
1392     500, 4, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, -3,
1393     { {AT_HIT, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1394     { 9, 2, 4, 0 },
1395     4, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
1396     I_NORMAL, HT_AMPHIBIOUS, FL_NONE, 10, SWIM_ENERGY(6),
1397     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1398 },
1399
1400 {
1401     MONS_MERFOLK_IMPALER, 'm', YELLOW, "merfolk impaler",
1402     M_WARM_BLOOD | M_SPEAKS,
1403     MR_NO_FLAGS,
1404     500, 13, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, -3,
1405     { {AT_HIT, AF_PLAIN, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1406     { 12, 5, 4, 0 },
1407     // Impalers prefer light armour, and are dodging experts.
1408     0, 18, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1409     I_NORMAL, HT_AMPHIBIOUS, FL_NONE, 10, {10, 6, 6, 10, 10, 10, 10, 100},
1410     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1411 },
1412
1413 {
1414     MONS_MERFOLK_JAVELINEER, 'm', WHITE, "merfolk javelineer",
1415     M_WARM_BLOOD | M_ARCHER | M_SPEAKS,
1416     MR_NO_FLAGS,
1417     500, 12, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, -4,
1418     { {AT_SHOOT, AF_PLAIN, 16}, {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK },
1419     { 13, 5, 2, 0 },
1420     0, 14, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1421     I_NORMAL, HT_AMPHIBIOUS, FL_NONE, 10, SWIM_ENERGY(6),
1422     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1423 },
1424
1425 {
1426     MONS_MERFOLK_AQUAMANCER, 'm', GREEN, "merfolk aquamancer",
1427     M_WARM_BLOOD | M_SPELLCASTER | M_ACTUAL_SPELLS | M_SPEAKS,
1428     MR_NO_FLAGS,
1429     500, 8, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, -4,
1430     { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1431     { 15, 3, 3, 0 },
1432     0, 12, MST_MERFOLK_AQUAMANCER, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1433     I_NORMAL, HT_AMPHIBIOUS, FL_NONE, 10, SWIM_ENERGY(6),
1434     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1435 },
1436
1437 {
1438     MONS_MERMAID, 'm', CYAN, "mermaid",
1439     M_SPELLCASTER | M_WARM_BLOOD | M_SPEAKS | M_FAKE_SPELLS,
1440     MR_NO_FLAGS,
1441     500, 10, MONS_MERMAID, MONS_MERMAID, MH_NATURAL, -5,
1442     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1443     { 8, 3, 3, 0 },
1444     4, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
1445     I_NORMAL, HT_AMPHIBIOUS, FL_NONE, 10, SWIM_ENERGY(6),
1446     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1447 },
1448
1449 {
1450     MONS_SIREN, 'm', LIGHTCYAN, "siren",
1451     M_SPELLCASTER | M_WARM_BLOOD | M_SPEAKS | M_FAKE_SPELLS,
1452     MR_NO_FLAGS,
1453     500, 10, MONS_MERMAID, MONS_SIREN, MH_NATURAL, -7,
1454     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1455     { 13, 5, 3, 0 },
1456     4, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
1457     I_NORMAL, HT_AMPHIBIOUS, FL_NONE, 10, SWIM_ENERGY(6),
1458     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1459 },
1460
1461 {
1462     MONS_WATER_NYMPH, 'm', MAGENTA, "water nymph",
1463     M_SPELLCASTER | M_WARM_BLOOD | M_SPEAKS | M_ACTUAL_SPELLS,
1464     MR_NO_FLAGS,
1465     500, 10, MONS_WATER_NYMPH, MONS_WATER_NYMPH, MH_NATURAL, -7,
1466     { {AT_HIT, AF_PLAIN, 16}, {AT_TOUCH, AF_WATERPORT, 0}, AT_NO_ATK, AT_NO_ATK },
1467     { 11, 3, 4, 0 },
1468     4, 13, MST_WATER_NYMPH, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
1469     I_NORMAL, HT_AMPHIBIOUS, FL_NONE, 10, DEFAULT_ENERGY,
1470     MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
1471 },
1472
1473
1474 // rotting monsters ('n')
1475 {
1476     MONS_BOG_BODY, 'n', GREEN, "bog body",
1477     M_NO_ZOMBIE | M_SPELLCASTER | M_ACTUAL_SPELLS,
1478     MR_RES_FIRE | MR_RES_COLD,
1479     500, 16, MONS_GHOUL, MONS_BOG_BODY, MH_UNDEAD, -5,
1480     { {AT_HIT, AF_PLAIN, 25}, {AT_TOUCH, AF_COLD, 4}, AT_NO_ATK, AT_NO_ATK },
1481     { 6, 5, 3, 0 },
1482     1, 9, MST_BOG_BODY, CE_ROT, Z_SMALL, S_SILENT,
1483     I_NORMAL, HT_AMPHIBIOUS, FL_NONE, 10, SWIM_ENERGY(14),
1484     MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
1485 },
1486
1487 {
1488     MONS_NECROPHAGE, 'n', LIGHTGREY, "necrophage",
1489     M_NO_ZOMBIE,
1490     MR_RES_COLD,
1491     500, 12, MONS_GHOUL, MONS_NECROPHAGE, MH_UNDEAD, -5,
1492     { {AT_HIT, AF_ROT, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1493     { 5, 3, 5, 0 },
1494     2, 10, MST_NO_SPELLS, CE_ROT, Z_SMALL, S_SILENT,
1495     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1496     MONUSE_WEAPONS_ARMOUR, MONEAT_CORPSES, SIZE_MEDIUM
1497 },
1498
1499 {
1500     MONS_GHOUL, 'n', RED, "ghoul",
1501     M_NO_ZOMBIE,
1502     MR_RES_COLD,
1503     500, 10, MONS_GHOUL, MONS_GHOUL, MH_UNDEAD, -5,
1504     { {AT_HIT, AF_ROT, 30}, {AT_CLAW, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK },
1505     { 14, 8, 5, 0 },
1506     4, 10, MST_NO_SPELLS, CE_ROT, Z_SMALL, S_SILENT,
1507     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1508     MONUSE_WEAPONS_ARMOUR, MONEAT_CORPSES, SIZE_MEDIUM
1509 },
1510
1511 {
1512     MONS_PLAGUE_SHAMBLER, 'n', BROWN, "plague shambler",
1513     M_NO_ZOMBIE,
1514     MR_RES_COLD,
1515     780, 10, MONS_GHOUL, MONS_PLAGUE_SHAMBLER, MH_UNDEAD, -5,
1516     { {AT_HIT, AF_PLAGUE, 34}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1517     { 11, 5, 5, 0 },
1518     5, 7, MST_NO_SPELLS, CE_ROT, Z_BIG, S_SILENT,
1519     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1520     MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
1521 },
1522
1523 // orcs ('o')
1524 {
1525     MONS_ORC, 'o', LIGHTRED, "orc",
1526     M_WARM_BLOOD | M_SPEAKS,
1527     MR_NO_FLAGS,
1528     600, 15, MONS_ORC, MONS_ORC, MH_NATURAL, -3,
1529     { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1530     { 1, 4, 6, 0 },
1531     0, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
1532     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1533     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1534 },
1535
1536 {
1537     MONS_ORC_WIZARD, 'o', MAGENTA, "orc wizard",
1538     M_SPELLCASTER | M_ACTUAL_SPELLS | M_WARM_BLOOD | M_SPEAKS,
1539     MR_NO_FLAGS,
1540     600, 10, MONS_ORC, MONS_ORC, MH_NATURAL, -5,
1541     { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1542     { 3, 3, 4, 0 },
1543     1, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1544     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1545     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1546 },
1547
1548 {
1549     MONS_ORC_PRIEST, 'o', GREEN, "orc priest",
1550     M_SPELLCASTER | M_PRIEST | M_WARM_BLOOD | M_SPEAKS,
1551     MR_NO_FLAGS,
1552     600, 10, MONS_ORC, MONS_ORC, MH_NATURAL, -4,
1553     { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1554     { 3, 3, 4, 0 },
1555     1, 10, MST_ORC_PRIEST, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1556     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1557     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1558 },
1559
1560 {
1561     MONS_ORC_WARRIOR, 'o', YELLOW, "orc warrior",
1562     M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
1563     MR_NO_FLAGS,
1564     600, 16, MONS_ORC, MONS_ORC, MH_NATURAL, -3,
1565     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1566     { 4, 4, 6, 0 },
1567     0, 13, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1568     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1569     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1570 },
1571
1572 {
1573     MONS_ORC_KNIGHT, 'o', CYAN, "orc knight",
1574     M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
1575     MR_NO_FLAGS,
1576     600, 9, MONS_ORC, MONS_ORC, MH_NATURAL, -3,
1577     { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1578     { 9, 4, 7, 0 },
1579     2, 13, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1580     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1581     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1582 },
1583
1584 {
1585     MONS_ORC_WARLORD, 'o', LIGHTCYAN, "orc warlord",
1586     M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
1587     MR_NO_FLAGS,
1588     600, 11, MONS_ORC, MONS_ORC, MH_NATURAL, -3,
1589     { {AT_HIT, AF_PLAIN, 32}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1590     { 15, 4, 7, 0 },
1591     3, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1592     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1593     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1594 },
1595
1596 {
1597     MONS_ORC_SORCERER, 'o', LIGHTMAGENTA, "orc sorcerer",
1598     M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS | M_ACTUAL_SPELLS
1599         | M_WARM_BLOOD,
1600     MR_NO_FLAGS,
1601     600, 12, MONS_ORC, MONS_ORC, MH_NATURAL, -3,
1602     { {AT_HIT, AF_PLAIN, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1603     { 9, 2, 3, 0 },
1604     5, 12, MST_ORC_SORCERER, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1605     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1606     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1607 },
1608
1609 {
1610     MONS_ORC_HIGH_PRIEST, 'o', LIGHTGREEN, "orc high priest",
1611     M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS | M_PRIEST | M_WARM_BLOOD,
1612     MR_NO_FLAGS,
1613     600, 10, MONS_ORC, MONS_ORC, MH_NATURAL, -4,
1614     { {AT_HIT, AF_PLAIN, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1615     { 11, 3, 4, 0 },
1616     1, 12, MST_ORC_HIGH_PRIEST, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1617     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1618     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1619 },
1620
1621 {
1622     MONS_LAVA_ORC, 'o', RED, "lava orc",
1623     M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO,
1624     mrd(MR_RES_FIRE, 3),
1625     600, 15, MONS_ORC, MONS_LAVA_ORC, MH_NATURAL, -3,
1626     { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1627     { 1, 4, 6, 0 },
1628     0, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
1629     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1630     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1631 },
1632
1633 // phantoms and ghosts ('p')
1634
1635 // Dummy monster, just for the genus.
1636 { // never spawns
1637     MONS_GHOST, 'p', LIGHTGREY, "ghost",
1638     M_INSUBSTANTIAL | M_NO_POLY_TO,
1639     MR_NO_FLAGS,
1640     0, 0, MONS_GHOST, MONS_GHOST, MH_UNDEAD, 0,
1641     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1642     { 1, 1, 0, 0 },
1643     0, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
1644     I_NORMAL, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
1645     MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
1646 },
1647
1648 // XP modifier is 5 for these, because they really aren't all that
1649 // dangerous, but still come out at 200+ XP
1650 {
1651     MONS_PHANTOM, 'p', BLUE, "phantom",
1652     M_INSUBSTANTIAL,
1653     mrd(MR_RES_COLD, 2),
1654     0, 5, MONS_GHOST, MONS_PHANTOM, MH_UNDEAD, -4,
1655     { {AT_HIT, AF_BLINK, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1656     { 7, 3, 5, 0 },
1657     3, 13, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
1658     I_NORMAL, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
1659     MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
1660 },
1661
1662 {
1663     MONS_HUNGRY_GHOST, 'p', GREEN, "hungry ghost",
1664     M_SENSE_INVIS | M_INSUBSTANTIAL | M_SPEAKS,
1665     mrd(MR_RES_COLD, 2),
1666     0, 8, MONS_GHOST, MONS_HUNGRY_GHOST, MH_UNDEAD, -4,
1667     { {AT_HIT, AF_HUNGER, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1668     { 7, 3, 5, 0 },
1669     0, 17, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
1670     I_NORMAL, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
1671     MONUSE_OPEN_DOORS, MONEAT_CORPSES, SIZE_MEDIUM
1672 },
1673
1674 {
1675     MONS_FLAYED_GHOST, 'p', RED, "flayed ghost",
1676     M_INSUBSTANTIAL | M_SPEAKS,
1677     MR_NO_FLAGS,
1678     0, 10, MONS_GHOST, MONS_FLAYED_GHOST, MH_UNDEAD, -4,
1679     { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1680     { 11, 3, 5, 0 },
1681     0, 14, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
1682     I_NORMAL, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
1683     MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
1684 },
1685
1686 // player ghost - stats are stored in ghost struct
1687 {
1688     MONS_PLAYER_GHOST, 'p', WHITE, "player ghost",
1689     M_FIGHTER | M_SPEAKS | M_SPELLCASTER | M_ACTUAL_SPELLS
1690         | M_INSUBSTANTIAL | M_NO_POLY_TO,
1691     MR_NO_FLAGS,
1692     0, 15, MONS_GHOST, MONS_PLAYER_GHOST, MH_UNDEAD, -5,
1693     { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1694     { 4, 2, 3, 0 },
1695     1, 2, MST_GHOST, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
1696     I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
1697     MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
1698 },
1699
1700 // player illusion (Mara) - stats are stored in ghost struct. Undead/demonic
1701 // flags are set based on the current player's species!
1702 {
1703     MONS_PLAYER_ILLUSION, '@', WHITE, "player illusion",
1704     M_FIGHTER | M_SPEAKS | M_SPELLCASTER | M_ACTUAL_SPELLS | M_INSUBSTANTIAL
1705         | M_NO_POLY_TO,
1706     MR_RES_POISON,
1707     0, 15, MONS_PLAYER_ILLUSION, MONS_PLAYER_ILLUSION, MH_NATURAL, -5,
1708     { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1709     { 4, 2, 3, 0 },
1710     1, 2, MST_GHOST, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
1711     I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
1712     MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
1713 },
1714
1715 {
1716     MONS_SHADOW, 'p', MAGENTA, "shadow",
1717     M_SEE_INVIS | M_INSUBSTANTIAL,
1718     mrd(MR_RES_COLD, 3),
1719     0, 18, MONS_WRAITH, MONS_SHADOW, MH_UNDEAD, -5,
1720     { {AT_HIT, AF_SHADOWSTAB, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1721     { 6, 2, 4, 0 },
1722     7, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
1723     I_ANIMAL, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
1724     MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_SMALL
1725 },
1726
1727 {
1728     MONS_SILENT_SPECTRE, 'p', CYAN, "silent spectre",
1729     M_SPEAKS /* uh... */ | M_SEE_INVIS | M_INSUBSTANTIAL,
1730     mrd(MR_RES_COLD, 3),
1731     0, 10, MONS_WRAITH, MONS_SILENT_SPECTRE, MH_UNDEAD, -4,
1732     { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1733     { 8, 3, 5, 0 },
1734     5, 15, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
1735     I_NORMAL, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
1736     MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
1737 },
1738
1739 // never spawned as a monster.
1740 {
1741     MONS_PLAYER, '@', LIGHTGREY, "player",
1742     M_SPEAKS | M_CANT_SPAWN,
1743     MR_NO_FLAGS,
1744     0, 15, MONS_PLAYER_ILLUSION, MONS_PLAYER_ILLUSION, MH_NATURAL, -5,
1745     { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1746     { 4, 2, 3, 0 },
1747     0, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
1748     I_HIGH /*uh huh, sure sure*/, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1749     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1750 },
1751
1752 // dwarves ('q')
1753 { // Another dummy monster.  Zombies and poly allowed.
1754     MONS_DWARF, 'q', LIGHTGREY, "dwarf",
1755     M_WARM_BLOOD | M_SPEAKS,
1756     MR_NO_FLAGS,
1757     550, 10, MONS_DWARF, MONS_DWARF, MH_NATURAL, -3,
1758     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1759     { 5, 3, 5, 0 },
1760     2, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
1761     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1762     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1763 },
1764
1765 {
1766     MONS_DEEP_DWARF, 'q', BROWN, "deep dwarf",
1767     M_WARM_BLOOD | M_SPEAKS | M_NO_REGEN,
1768     MR_NO_FLAGS,
1769     600, 10, MONS_DWARF, MONS_DEEP_DWARF, MH_NATURAL, -6,
1770     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1771     { 5, 3, 5, 0 },
1772     2, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SHOUT,
1773     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1774     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1775 },
1776
1777 {
1778     MONS_DEEP_DWARF_BERSERKER, 'q', LIGHTRED, "deep dwarf berserker",
1779     M_WARM_BLOOD | M_SPELLCASTER | M_PRIEST | M_SPEAKS | M_NO_REGEN,
1780     MR_NO_FLAGS,
1781     600, 10, MONS_DWARF, MONS_DEEP_DWARF, MH_NATURAL, -6,
1782     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1783     { 8, 5, 7, 0 },
1784     2, 12, MST_BK_TROG, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1785     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1786     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1787 },
1788
1789 {
1790     MONS_DEEP_DWARF_DEATH_KNIGHT, 'q', GREEN, "deep dwarf death knight",
1791     M_WARM_BLOOD | M_FIGHTER | M_SPELLCASTER | M_PRIEST | M_SPEAKS | M_NO_REGEN,
1792     MR_NO_FLAGS,
1793     600, 12, MONS_DWARF, MONS_DEEP_DWARF, MH_NATURAL, -6,
1794     { {AT_HIT, AF_PLAIN, 28}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1795     { 10, 5, 6, 0 },
1796     2, 12, MST_BK_YREDELEMNUL, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
1797     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1798     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
1799 },
1800
1801 // rodents ('r')
1802 {
1803     MONS_RAT, 'r', BROWN, "rat",
1804     M_WARM_BLOOD,
1805     MR_NO_FLAGS,
1806     200, 1, MONS_RAT, MONS_RAT, MH_NATURAL, -1,
1807     { {AT_BITE, AF_PLAIN, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1808     { 1, 1, 3, 0 },
1809     1, 10, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
1810     I_ANIMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1811     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
1812 },
1813
1814 {
1815     MONS_QUOKKA, 'r', WHITE, "quokka",
1816     M_WARM_BLOOD,
1817     MR_NO_FLAGS,
1818     300, 10, MONS_QUOKKA, MONS_QUOKKA, MH_NATURAL, -1,
1819     { {AT_BITE, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1820     { 1, 3, 5, 0 },
1821     2, 13, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
1822     I_ANIMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1823     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
1824 },
1825
1826 {
1827     MONS_GREY_RAT, 'r', LIGHTGREY, "grey rat",
1828     M_WARM_BLOOD,
1829     MR_NO_FLAGS,
1830     220, 26, MONS_RAT, MONS_GREY_RAT, MH_NATURAL, -3,
1831     { {AT_BITE, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1832     { 1, 3, 6, 0 },
1833     2, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SILENT,
1834     I_ANIMAL, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
1835     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
1836 },
1837
1838 {
1839     MONS_GREEN_RAT, 'r', LIGHTGREEN, "green rat",
1840     M_WARM_BLOOD,
1841     MR_NO_FLAGS,
1842     220, 13, MONS_RAT, MONS_GREEN_RAT, MH_NATURAL, -3,
1843     { {AT_BITE, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1844     { 2, 3, 5, 0 },
1845     5, 11, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
1846     I_ANIMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1847     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
1848 },
1849
1850 {
1851     MONS_ORANGE_RAT, 'r', LIGHTRED, "orange rat",
1852     M_WARM_BLOOD | M_GLOWS_LIGHT,
1853     MR_NO_FLAGS,
1854     300, 10, MONS_RAT, MONS_ORANGE_RAT, MH_NATURAL, -3,
1855     { {AT_BITE, AF_DRAIN_XP, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1856     { 3, 3, 5, 0 },
1857     7, 10, MST_NO_SPELLS, CE_POISON_CONTAM, Z_SMALL, S_ROAR,
1858     I_ANIMAL, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
1859     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
1860 },
1861
1862 {
1863     MONS_PORCUPINE, 'r', BLUE, "porcupine",
1864     M_WARM_BLOOD,
1865     MR_NO_FLAGS,
1866     220, 26, MONS_RAT, MONS_PORCUPINE, MH_NATURAL, -3,
1867     { {AT_BITE, AF_PLAIN, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1868     { 4, 2, 4, 0 },
1869     2, 12, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
1870     I_ANIMAL, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
1871     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
1872 },
1873
1874 // spiders and insects ('s')
1875 {
1876     MONS_GIANT_COCKROACH, 's', BROWN, "giant cockroach",
1877     M_NO_SKELETON,
1878     MR_VUL_POISON,
1879     250, 10, MONS_GIANT_COCKROACH, MONS_GIANT_COCKROACH, MH_NATURAL, -1,
1880     { {AT_BITE, AF_PLAIN, 2}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1881     { 1, 3, 4, 0 },
1882     3, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SILENT,
1883     I_INSECT, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
1884     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
1885 },
1886
1887 {
1888     MONS_GIANT_MITE, 's', LIGHTRED, "giant mite",
1889     M_NO_SKELETON,
1890     MR_VUL_POISON,
1891     300, 10, MONS_GIANT_MITE, MONS_GIANT_MITE, MH_NATURAL, -1,
1892     { {AT_BITE, AF_POISON, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1893     { 2, 3, 5, 0 },
1894     1, 7, MST_NO_SPELLS, CE_POISON_CONTAM, Z_SMALL, S_SILENT,
1895     I_INSECT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1896     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
1897 },
1898
1899 {
1900     MONS_GIANT_CENTIPEDE, 's', GREEN, "giant centipede",
1901     M_NO_SKELETON,
1902     MR_VUL_POISON,
1903     250, 10, MONS_GIANT_CENTIPEDE, MONS_GIANT_CENTIPEDE, MH_NATURAL, -3,
1904     { {AT_STING, AF_POISON_NASTY, 2}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1905     { 2, 3, 3, 0 },
1906     2, 14, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
1907     I_INSECT, HT_LAND, FL_NONE, 13, DEFAULT_ENERGY,
1908     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
1909 },
1910
1911 {
1912     MONS_SCORPION, 's', YELLOW, "scorpion",
1913     M_NO_SKELETON,
1914     MR_VUL_POISON,
1915     320, 13, MONS_SCORPION, MONS_SCORPION, MH_NATURAL, -3,
1916     { {AT_STING, AF_POISON_MEDIUM, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1917     { 3, 3, 5, 0 },
1918     5, 10, MST_NO_SPELLS, CE_POISON_CONTAM, Z_SMALL, S_SILENT,
1919     I_INSECT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1920     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
1921 },
1922
1923 {
1924     MONS_EMPEROR_SCORPION, 's', LIGHTGREY, "emperor scorpion",
1925     M_NO_SKELETON,
1926     MR_RES_POISON,
1927     900, 13, MONS_SCORPION, MONS_EMPEROR_SCORPION, MH_NATURAL, -3,
1928     { {AT_STING, AF_POISON_NASTY, 30}, {AT_CLAW, AF_PLAIN, 15},
1929       {AT_CLAW, AF_PLAIN, 15}, AT_NO_ATK },
1930     { 14, 6, 5, 0 },
1931     20, 12, MST_NO_SPELLS, CE_POISON_CONTAM, Z_BIG, S_SILENT,
1932     I_INSECT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
1933     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_GIANT
1934 },
1935
1936 {
1937     MONS_SPIDER, 's', CYAN, "spider",
1938     M_NO_SKELETON | M_WEB_SENSE,
1939     MR_VUL_POISON,
1940     250, 10, MONS_SPIDER, MONS_SPIDER, MH_NATURAL, -2,
1941     { {AT_BITE, AF_POISON_MEDIUM, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1942     { 3, 3, 5, 0 },
1943     3, 10, MST_NO_SPELLS, CE_POISON_CONTAM, Z_SMALL, S_HISS,
1944     I_INSECT, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
1945     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
1946 },
1947
1948 {
1949     MONS_TARANTELLA, 's', LIGHTMAGENTA, "tarantella",
1950     M_NO_SKELETON | M_WEB_SENSE,
1951     MR_VUL_POISON,
1952     300, 6, MONS_SPIDER, MONS_TARANTELLA, MH_NATURAL, -2,
1953     { {AT_BITE, AF_CONFUSE, 19}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1954     { 8, 2, 3, 0 },
1955     3, 14, MST_NO_SPELLS, CE_POISON_CONTAM, Z_SMALL, S_HISS,
1956     I_INSECT, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
1957     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
1958 },
1959
1960 {
1961     MONS_JUMPING_SPIDER, 's', LIGHTBLUE, "jumping spider",
1962     M_NO_SKELETON | M_SPELLCASTER | M_FAKE_SPELLS | M_WEB_SENSE | M_SENSE_INVIS,
1963     MR_VUL_POISON,
1964     300, 8, MONS_SPIDER, MONS_JUMPING_SPIDER, MH_NATURAL, -2,
1965     { {AT_POUNCE, AF_ENSNARE, 20}, {AT_BITE, AF_POISON_MEDIUM, 5}, AT_NO_ATK,
1966        AT_NO_ATK },
1967     { 8, 2, 4, 0 },
1968     6, 12, MST_JUMPING_SPIDER, CE_POISON_CONTAM, Z_SMALL, S_HISS,
1969     I_INSECT, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
1970     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
1971 },
1972
1973 {
1974     MONS_WOLF_SPIDER, 's', WHITE, "wolf spider",
1975     M_NO_SKELETON | M_WEB_SENSE,
1976     MR_VUL_POISON,
1977     900, 4, MONS_SPIDER, MONS_WOLF_SPIDER, MH_NATURAL, -2,
1978     { {AT_BITE, AF_POISON, 25}, {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK,
1979        AT_NO_ATK },
1980     { 11, 3, 4, 0 },
1981     3, 10, MST_NO_SPELLS, CE_POISON_CONTAM, Z_SMALL, S_HISS,
1982     I_INSECT, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
1983     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
1984 },
1985
1986 {
1987     MONS_TRAPDOOR_SPIDER, 's', LIGHTCYAN, "trapdoor spider",
1988     M_NO_SKELETON | M_SUBMERGES | M_WEB_SENSE,
1989     MR_VUL_POISON,
1990     240, 5, MONS_SPIDER, MONS_TRAPDOOR_SPIDER, MH_NATURAL, -2,
1991     { {AT_BITE, AF_POISON_MEDIUM, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1992     { 8, 3, 4, 0 },
1993     3, 10, MST_NO_SPELLS, CE_POISON_CONTAM, Z_SMALL, S_HISS,
1994     I_INSECT, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
1995     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
1996 },
1997
1998 {
1999     MONS_REDBACK, 's', RED, "redback",
2000     M_NO_SKELETON | M_WEB_SENSE,
2001     MR_VUL_POISON,
2002     130, 5, MONS_SPIDER, MONS_REDBACK, MH_NATURAL, -2,
2003     { {AT_BITE, AF_POISON_STRONG, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2004     { 9, 2, 2, 0 },
2005     2, 12, MST_NO_SPELLS, CE_POISON_CONTAM, Z_SMALL, S_SILENT,
2006     I_INSECT, HT_LAND, FL_NONE, 15, DEFAULT_ENERGY,
2007     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
2008 },
2009
2010 {
2011     MONS_DEMONIC_CRAWLER, 's', LIGHTGREEN, "demonic crawler",
2012     M_NO_SKELETON | M_SEE_INVIS,
2013     MR_RES_ELEC | MR_RES_POISON | MR_RES_COLD | MR_RES_FIRE,
2014     900, 4, MONS_DEMONIC_CRAWLER, MONS_DEMONIC_CRAWLER, MH_DEMONIC, -8,
2015     { {AT_HIT, AF_PLAIN, 13}, {AT_HIT, AF_PLAIN, 13}, {AT_HIT, AF_PLAIN, 13},
2016        AT_NO_ATK },
2017     { 9, 4, 5, 0 },
2018     10, 6, MST_NO_SPELLS, CE_POISON_CONTAM, Z_BIG, S_SCREAM,
2019     I_INSECT, HT_LAND, FL_NONE, 13, DEFAULT_ENERGY,
2020     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
2021 },
2022
2023 {
2024     MONS_ORB_SPIDER, 's', MAGENTA, "orb spider",
2025     M_NO_SKELETON | M_SPELLCASTER | M_FAKE_SPELLS | M_WEB_SENSE
2026         | M_MAINTAIN_RANGE,
2027     MR_VUL_POISON,
2028     300, 20, MONS_SPIDER, MONS_ORB_SPIDER, MH_NATURAL, -4,
2029     { {AT_BITE, AF_POISON_MEDIUM, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2030     { 5, 4, 5, 0 },
2031     3, 10, MST_ORB_SPIDER, CE_POISON_CONTAM, Z_SMALL, S_HISS,
2032     I_INSECT, HT_LAND, FL_NONE, 12, SPELL_ENERGY(20),
2033     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
2034 },
2035
2036 // testudines and crocodiles ('t')
2037 {
2038     MONS_CROCODILE, 't', BROWN, "crocodile",
2039     M_COLD_BLOOD | M_SUBMERGES,
2040     MR_NO_FLAGS,
2041     800, 10, MONS_CROCODILE, MONS_CROCODILE, MH_NATURAL, -3,
2042     { {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2043     { 5, 3, 5, 0 },
2044     4, 10, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_SILENT,
2045     I_REPTILE, HT_AMPHIBIOUS, FL_NONE, 10, SWIM_ENERGY(6),
2046     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
2047 },
2048
2049 {
2050     MONS_BABY_ALLIGATOR, 't', BLUE, "baby alligator",
2051     M_COLD_BLOOD | M_SPELLCASTER | M_SUBMERGES | M_FAKE_SPELLS,
2052     MR_NO_FLAGS,
2053     300, 10, MONS_CROCODILE, MONS_BABY_ALLIGATOR, MH_NATURAL, -3,
2054     { {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2055     { 7, 3, 5, 0 },
2056     1, 11, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
2057     I_REPTILE, HT_AMPHIBIOUS, FL_NONE, 12, SWIM_ENERGY(6),
2058     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
2059 },
2060
2061 {
2062     MONS_ALLIGATOR, 't', LIGHTBLUE, "alligator",
2063     M_COLD_BLOOD | M_SPELLCASTER | M_SUBMERGES | M_FAKE_SPELLS,
2064     MR_NO_FLAGS,
2065     850, 10, MONS_CROCODILE, MONS_ALLIGATOR, MH_NATURAL, -3,
2066     { {AT_BITE, AF_PLAIN, 30}, {AT_TAIL_SLAP, AF_PLAIN, 15}, AT_NO_ATK,
2067        AT_NO_ATK },
2068     { 12, 3, 6, 0 },
2069     5, 9, MST_ALLIGATOR, CE_CLEAN, Z_BIG, S_SILENT,
2070     I_REPTILE, HT_AMPHIBIOUS, FL_NONE, 10, {10, 6, 8, 8, 8, 8, 8, 80},
2071     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
2072 },
2073
2074 {
2075     MONS_SNAPPING_TURTLE, 't', GREEN, "snapping turtle",
2076     M_COLD_BLOOD,
2077     MR_NO_FLAGS,
2078     600, 10, MONS_SNAPPING_TURTLE, MONS_SNAPPING_TURTLE, MH_NATURAL, -3,
2079     { {AT_BITE, AF_REACH, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2080     { 10, 3, 6, 0 },
2081     16, 5, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_HISS,
2082     I_REPTILE, HT_AMPHIBIOUS, FL_NONE, 8, {10, 6, 8, 8, 8, 8, 8, 80},
2083     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
2084 },
2085
2086 {
2087     MONS_ALLIGATOR_SNAPPING_TURTLE, 't', LIGHTGREEN, "alligator snapping turtle",
2088     M_COLD_BLOOD,
2089     MR_NO_FLAGS,
2090     1100, 10, MONS_SNAPPING_TURTLE, MONS_ALLIGATOR_SNAPPING_TURTLE,
2091         MH_NATURAL, -3,
2092     { {AT_BITE, AF_REACH, 50}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2093     { 16, 7, 4, 0 },
2094     19, 1, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_HISS,
2095     I_REPTILE, HT_AMPHIBIOUS, FL_NONE, 8, SWIM_ENERGY(6),
2096     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
2097 },
2098
2099 {
2100     MONS_FIRE_CRAB, 't', LIGHTRED, "fire crab",
2101     M_NO_SKELETON | M_FLEES,
2102     MR_VUL_POISON | mrd(MR_RES_FIRE, 3),
2103     320, 25, MONS_FIRE_CRAB, MONS_FIRE_CRAB, MH_NATURAL, -4,
2104     { {AT_BITE, AF_FIRE, 15}, {AT_CLAW, AF_FIRE, 15}, AT_NO_ATK, AT_NO_ATK },
2105     { 8, 4, 5, 0 },
2106     9, 6, MST_NO_SPELLS, CE_POISON_CONTAM, Z_SMALL, S_SILENT,
2107     I_INSECT, HT_LAND, FL_NONE, 11, DEFAULT_ENERGY,
2108     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
2109 },
2110
2111 {
2112     MONS_APOCALYPSE_CRAB, 't', WHITE, "apocalypse crab",
2113     M_NO_SKELETON | M_FLEES | M_SEE_INVIS,
2114     MR_VUL_POISON | mrd(MR_RES_FIRE | MR_RES_COLD, 2),
2115     320, 13, MONS_APOCALYPSE_CRAB, MONS_APOCALYPSE_CRAB, MH_DEMONIC, -5,
2116     { {AT_BITE, AF_CHAOS, 15}, {AT_CLAW, AF_CHAOS, 15}, AT_NO_ATK, AT_NO_ATK },
2117     { 8, 4, 5, 0 },
2118     11, 6, MST_NO_SPELLS, CE_MUTAGEN, Z_SMALL, S_SILENT,
2119     I_INSECT, HT_LAND, FL_NONE, 11, DEFAULT_ENERGY,
2120     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
2121 },
2122
2123 // ugly things ('u')
2124 {
2125     MONS_UGLY_THING, 'u', BLACK, "ugly thing",
2126     M_WARM_BLOOD | M_GLOWS_RADIATION | M_HERD | M_NO_GEN_DERIVED,
2127     MR_NO_FLAGS,
2128     600, 6, MONS_UGLY_THING, MONS_UGLY_THING, MH_NATURAL, -3,
2129     { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2130     { 8, 3, 5, 0 },
2131     3, 10, MST_NO_SPELLS, CE_MUTAGEN, Z_SMALL, S_GURGLE,
2132     I_ANIMAL, HT_LAND, FL_NONE, 11, ACTION_ENERGY(11),
2133     MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_MEDIUM
2134 },
2135
2136 {
2137     MONS_VERY_UGLY_THING, 'u', BLACK, "very ugly thing",
2138     M_WARM_BLOOD | M_GLOWS_RADIATION | M_HERD | M_NO_GEN_DERIVED,
2139     MR_NO_FLAGS,
2140     830, 10, MONS_UGLY_THING, MONS_VERY_UGLY_THING, MH_NATURAL, -3,
2141     { {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2142     { 12, 3, 5, 0 },
2143     4, 10, MST_NO_SPELLS, CE_MUTAGEN, Z_BIG, S_GURGLE,
2144     I_ANIMAL, HT_LAND, FL_NONE, 11, ACTION_ENERGY(11),
2145     MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_LARGE
2146 },
2147
2148 // vortices ('v')
2149 {
2150     MONS_FIRE_VORTEX, 'v', RED, "fire vortex",
2151     M_CONFUSED | M_INSUBSTANTIAL | M_GLOWS_LIGHT,
2152     MR_RES_POISON | mrd(MR_RES_FIRE, 3) | MR_VUL_COLD | MR_RES_ELEC,
2153     0, 5, MONS_FIRE_VORTEX, MONS_FIRE_VORTEX, MH_NONLIVING, MAG_IMMUNE,
2154     { {AT_HIT, AF_PURE_FIRE, 0}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2155     { 10, 2, 2, 0 },
2156     0, 5, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2157     I_PLANT, HT_LAND, FL_LEVITATE, 15, DEFAULT_ENERGY,
2158     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
2159 },
2160
2161 {
2162     MONS_SPATIAL_VORTEX, 'v', BLACK, "spatial vortex",
2163     M_CONFUSED | M_INSUBSTANTIAL | M_GLOWS_LIGHT,
2164     MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
2165     0, 5, MONS_FIRE_VORTEX, MONS_SPATIAL_VORTEX, MH_NONLIVING, MAG_IMMUNE,
2166     { {AT_HIT, AF_DISTORT, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2167     { 6, 6, 6, 0 },
2168     0, 5, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2169     I_PLANT, HT_LAND, FL_LEVITATE, 15, DEFAULT_ENERGY,
2170     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
2171 },
2172
2173 {
2174     MONS_SPATIAL_MAELSTROM, 'v', YELLOW, "spatial maelstrom",
2175     M_BATTY | M_INSUBSTANTIAL | M_GLOWS_LIGHT,
2176     MR_RES_POISON | mrd(MR_RES_FIRE, 2) | mrd(MR_RES_COLD, 2) | MR_RES_ELEC,
2177     0, 5, MONS_SPATIAL_MAELSTROM, MONS_SPATIAL_MAELSTROM,
2178         MH_NONLIVING, MAG_IMMUNE,
2179     { {AT_HIT, AF_DISTORT, 20}, {AT_HIT, AF_DISTORT, 20}, AT_NO_ATK,
2180        AT_NO_ATK },
2181     { 10, 6, 3, 0 },
2182     0, 5, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2183     I_PLANT, HT_INCORPOREAL, FL_LEVITATE, 16, DEFAULT_ENERGY,
2184     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
2185 },
2186
2187 {
2188     MONS_VAPOUR, 'v', LIGHTCYAN, "vapour",
2189     M_SPELLCASTER | M_SEE_INVIS | M_INVIS | M_CONFUSED | M_INSUBSTANTIAL,
2190     mrd(MR_RES_ELEC, 3) | MR_RES_POISON,
2191     0, 10, MONS_VAPOUR, MONS_VAPOUR, MH_NONLIVING, MAG_IMMUNE,
2192     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2193     { 9, 2, 3, 0 },
2194     0, 12, MST_VAPOUR, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2195     I_PLANT, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
2196     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
2197 },
2198
2199 {
2200     MONS_INSUBSTANTIAL_WISP, 'v', LIGHTGREY, "insubstantial wisp",
2201     M_INSUBSTANTIAL,
2202     mrd(MR_RES_ELEC | MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD, 2),
2203     0, 8, MONS_INSUBSTANTIAL_WISP, MONS_INSUBSTANTIAL_WISP,
2204         MH_NONLIVING, MAG_IMMUNE,
2205     { {AT_HIT, AF_BLINK, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2206     { 6, 1, 2, 0 },
2207     5, 20, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_MOAN,
2208     I_PLANT, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
2209     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
2210 },
2211
2212 { // miscast only
2213     MONS_TWISTER, 'v', ETC_AIR, "twister",
2214     M_CONFUSED | M_INSUBSTANTIAL | M_BATTY | M_NO_EXP_GAIN | M_NO_POLY_TO,
2215     MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | mrd(MR_RES_ELEC, 3),
2216     0, 5, MONS_FIRE_VORTEX, MONS_TWISTER, MH_NONLIVING, MAG_IMMUNE,
2217     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2218     { 12, 0, 0, 10000 },
2219     0, 5, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2220     I_PLANT, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
2221     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
2222 },
2223
2224 // worms ('w')
2225 {
2226     MONS_WORM, 'w', LIGHTRED, "worm",
2227     M_NO_SKELETON,
2228     MR_NO_FLAGS,
2229     400, 3, MONS_WORM, MONS_WORM, MH_NATURAL, -2,
2230     { {AT_BITE, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2231     { 5, 3, 5, 0 },
2232     1, 5, MST_NO_SPELLS, CE_CLEAN, Z_SMALL, S_SILENT,
2233     I_PLANT, HT_LAND, FL_NONE, 6, DEFAULT_ENERGY,
2234     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
2235 },
2236
2237 {
2238     MONS_BRAIN_WORM, 'w', LIGHTMAGENTA, "brain worm",
2239     M_NO_SKELETON | M_SPELLCASTER,
2240     MR_NO_FLAGS,
2241     280, 10, MONS_WORM, MONS_BRAIN_WORM, MH_NATURAL, -3,
2242     { {AT_BITE, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2243     { 5, 3, 3, 0 },
2244     1, 5, MST_BRAIN_WORM, CE_POISONOUS, Z_SMALL, S_SILENT,
2245     I_INSECT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
2246     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
2247 },
2248
2249 {
2250     MONS_SWAMP_WORM, 'w', BROWN, "swamp worm",
2251     M_NO_SKELETON | M_SUBMERGES,
2252     MR_NO_FLAGS,
2253     450, 3, MONS_WORM, MONS_SWAMP_WORM, MH_NATURAL, -1,
2254     { {AT_BITE, AF_PLAIN, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2255     { 10, 2, 3, 0 },
2256     3, 12, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SILENT,
2257     I_PLANT, HT_WATER, FL_NONE, 12, DEFAULT_ENERGY,
2258     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
2259 },
2260
2261 {
2262     MONS_SPINY_WORM, 'w', LIGHTGREEN, "spiny worm",
2263     M_NO_SKELETON,
2264     MR_VUL_POISON | mrd(MR_RES_ACID, 3),
2265     1650, 13, MONS_WORM, MONS_SPINY_WORM, MH_NATURAL, -3,
2266     { {AT_STING, AF_ACID, 32}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2267     { 12, 3, 5, 0 },
2268     10, 6, MST_NO_SPELLS, CE_POISON_CONTAM, Z_BIG, S_SILENT,
2269     I_PLANT, HT_LAND, FL_NONE, 8, DEFAULT_ENERGY,
2270     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
2271 },
2272
2273 {
2274     MONS_GIANT_LEECH, 'w', RED, "giant leech",
2275     M_NO_SKELETON | M_BLOOD_SCENT,
2276     MR_NO_FLAGS,
2277     1000, 8, MONS_GIANT_LEECH, MONS_GIANT_LEECH, MH_NATURAL, -2,
2278     { {AT_BITE, AF_VAMPIRIC, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2279     { 12, 3, 4, 0 },
2280     5, 15, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SILENT,
2281     I_PLANT, HT_AMPHIBIOUS, FL_NONE, 8, SWIM_ENERGY(6),
2282     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
2283 },
2284
2285 // small abominations ('x')
2286 {
2287     MONS_UNSEEN_HORROR, 'x', MAGENTA, "unseen horror",
2288     M_SEE_INVIS | M_INVIS | M_BATTY,
2289     MR_NO_FLAGS,
2290     0, 12, MONS_UNSEEN_HORROR, MONS_UNSEEN_HORROR, MH_NATURAL, -3,
2291     { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2292     { 7, 3, 5, 0 },
2293     5, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2294     I_ANIMAL, HT_LAND, FL_NONE, 30, DEFAULT_ENERGY,
2295     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
2296 },
2297
2298 {
2299     // A demonically controlled mass of undead flesh theme-wise, this makes
2300     // them MH_DEMONIC|MH_UNDEAD, but this is mostly the same as just
2301     // MH_UNDEAD (save for some god interactions).
2302     MONS_ABOMINATION_SMALL, 'x', LIGHTRED, "small abomination",
2303     M_NO_FLAGS,
2304     MR_NO_FLAGS,
2305     0, 10, MONS_ABOMINATION_SMALL, MONS_ABOMINATION_SMALL, MH_UNDEAD, -5,
2306     { {AT_HIT, AF_PLAIN, 23}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2307     { 6, 2, 5, 0 },
2308     0, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2309     I_PLANT, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
2310     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
2311 },
2312
2313 {
2314     // See comment under MONS_ABOMINATION_SMALL regarding holiness.
2315     MONS_CRAWLING_CORPSE, 'x', BROWN, "crawling corpse",
2316     M_NO_EXP_GAIN | M_NO_REGEN,
2317     mrd(MR_RES_COLD, 2),
2318     0, 8, MONS_MACABRE_MASS, MONS_CRAWLING_CORPSE, MH_UNDEAD, MAG_IMMUNE,
2319     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2320     { 1, 1, 0, 0 },
2321     1, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2322     I_PLANT, HT_LAND, FL_NONE, 8, DEFAULT_ENERGY,
2323     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
2324 },
2325
2326 {
2327     // See comment under MONS_ABOMINATION_SMALL regarding holiness.
2328     MONS_MACABRE_MASS, 'x', BROWN, "macabre mass",
2329     M_NO_EXP_GAIN | M_NO_REGEN,
2330     mrd(MR_RES_COLD, 2),
2331     0, 8, MONS_MACABRE_MASS, MONS_MACABRE_MASS, MH_UNDEAD, MAG_IMMUNE,
2332     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2333     { 1, 2, 2, 0 },
2334     1, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2335     I_PLANT, HT_LAND, FL_NONE, 5, DEFAULT_ENERGY,
2336     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
2337 },
2338
2339 {
2340     MONS_ANCIENT_ZYME, 'x', GREEN, "ancient zyme",
2341     M_SEE_INVIS,
2342     MR_RES_POISON,
2343     0, 8, MONS_ANCIENT_ZYME, MONS_ANCIENT_ZYME, MH_NONLIVING, -5,
2344     { {AT_HIT, AF_DRAIN_STR, 16}, {AT_HIT, AF_DRAIN_DEX, 16}, AT_NO_ATK,
2345        AT_NO_ATK },
2346     { 8, 4, 5, 0 },
2347     6, 6, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2348     I_ANIMAL, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
2349     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
2350 },
2351
2352 // flying insects ('y')
2353 {
2354     MONS_YELLOW_WASP, 'y', YELLOW, "yellow wasp",
2355     M_NO_SKELETON,
2356     MR_VUL_POISON,
2357     170, 15, MONS_YELLOW_WASP, MONS_YELLOW_WASP, MH_NATURAL, -3,
2358     { {AT_STING, AF_PARALYSE, 13}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2359     { 4, 3, 5, 0 },
2360     5, 14, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
2361     I_INSECT, HT_LAND, FL_WINGED, 15, DEFAULT_ENERGY,
2362     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
2363 },
2364
2365 {
2366     MONS_VAMPIRE_MOSQUITO, 'y', BROWN, "vampire mosquito",
2367     M_NO_SKELETON | M_BLOOD_SCENT,
2368     MR_NO_FLAGS,
2369     200, 10, MONS_VAMPIRE_MOSQUITO, MONS_VAMPIRE_MOSQUITO, MH_UNDEAD, -3,
2370     { {AT_BITE, AF_VAMPIRIC, 13}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2371     { 5, 3, 5, 0 },
2372     2, 15, MST_NO_SPELLS, CE_ROT, Z_SMALL, S_BUZZ,
2373     I_INSECT, HT_LAND, FL_WINGED, 19, DEFAULT_ENERGY,
2374     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LITTLE
2375 },
2376
2377 {
2378     MONS_RED_WASP, 'y', RED, "red wasp",
2379     M_NO_SKELETON,
2380     MR_VUL_POISON,
2381     180, 12, MONS_RED_WASP, MONS_RED_WASP, MH_NATURAL, -3,
2382     { {AT_STING, AF_PARALYSE, 23}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2383     { 8, 3, 5, 0 },
2384     7, 14, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_BUZZ,
2385     I_INSECT, HT_LAND, FL_WINGED, 15, DEFAULT_ENERGY,
2386     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
2387 },
2388
2389 {   // dummy for moth genus
2390     MONS_MOTH, 'y', WHITE, "moth",
2391     M_NO_SKELETON | M_CANT_SPAWN,
2392     MR_NO_FLAGS,
2393     300, 10, MONS_MOTH, MONS_MOTH, MH_NATURAL, -3,
2394     { {AT_BITE, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2395     { 9, 3, 5, 0 },
2396     0, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SILENT,
2397     I_INSECT, HT_LAND, FL_WINGED, 12, DEFAULT_ENERGY,
2398     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
2399 },
2400
2401 {
2402     MONS_GHOST_MOTH, 'y', MAGENTA, "ghost moth",
2403     M_NO_SKELETON | M_INVIS,
2404     MR_RES_POISON | MR_RES_COLD,
2405     600, 18, MONS_MOTH, MONS_GHOST_MOTH, MH_NATURAL, -6,
2406     { {AT_HIT, AF_DRAIN_STAT, 18}, {AT_HIT, AF_DRAIN_STAT, 18},
2407       {AT_STING, AF_POISON_NASTY, 12}, AT_NO_ATK },
2408     { 13, 3, 5, 0 },
2409     8, 10, MST_NO_SPELLS, CE_MUTAGEN, Z_BIG, S_SILENT,
2410     I_INSECT, HT_LAND, FL_WINGED, 12, DEFAULT_ENERGY,
2411     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
2412 },
2413
2414 {
2415     MONS_MOTH_OF_WRATH, 'y', LIGHTRED, "moth of wrath",
2416     M_NO_SKELETON,
2417     MR_NO_FLAGS,
2418     300, 10, MONS_MOTH, MONS_MOTH_OF_WRATH, MH_NATURAL, -3,
2419     { {AT_BITE, AF_RAGE, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2420     { 9, 3, 5, 0 },
2421     0, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SILENT,
2422     I_INSECT, HT_LAND, FL_WINGED, 12, DEFAULT_ENERGY,
2423     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
2424 },
2425
2426 {
2427     MONS_MOTH_OF_SUPPRESSION, 'y', LIGHTGREEN, "moth of suppression",
2428     // The gigantic aura makes shapeshifters weird, hence M_NO_POLY_TO
2429     M_NO_SKELETON | M_NO_POLY_TO,
2430     MR_NO_FLAGS,
2431     300, 6, MONS_MOTH, MONS_MOTH_OF_SUPPRESSION, MH_NATURAL, -3,
2432     { {AT_BITE, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2433     { 9, 3, 5, 0 },
2434     0, 14, MST_NO_SPELLS, CE_CONTAMINATED, Z_SMALL, S_SILENT,
2435     I_INSECT, HT_LAND, FL_WINGED, 15, DEFAULT_ENERGY,
2436     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
2437 },
2438
2439 // small zombies, etc. ('z')
2440 // zombie, skeleton and simulacra species depend on corpse species,
2441 // or else are chosen randomly
2442 {
2443     MONS_ZOMBIE, 'z', BROWN, "zombie",
2444     M_NO_REGEN,
2445     mrd(MR_RES_COLD, 2),
2446     0, 9, MONS_ZOMBIE, MONS_ZOMBIE, MH_UNDEAD, -1,
2447     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2448     { 1, 5, 5, 0 },
2449     0, 4, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2450     I_PLANT, HT_LAND, FL_NONE, 5, DEFAULT_ENERGY,
2451     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
2452 },
2453
2454 {
2455     MONS_SKELETON, 'z', LIGHTGREY, "skeleton",
2456     M_NO_REGEN,
2457     mrd(MR_RES_COLD, 2),
2458     0, 9, MONS_SKELETON, MONS_SKELETON, MH_UNDEAD, -1,
2459     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2460     { 0, 0, 0, 0 },
2461     0, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2462     I_PLANT, HT_LAND, FL_NONE, 5, DEFAULT_ENERGY,
2463     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
2464 },
2465
2466 {
2467     MONS_SIMULACRUM, 'z', ETC_ICE, "simulacrum",
2468     M_NO_REGEN,
2469     MR_VUL_FIRE | mrd(MR_RES_COLD, 3),
2470     0, 9, MONS_SIMULACRUM, MONS_SIMULACRUM, MH_UNDEAD, -1,
2471     { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2472     { 2, 3, 5, 0 },
2473     10, 4, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2474     I_PLANT, HT_LAND, FL_NONE, 7, DEFAULT_ENERGY,
2475     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
2476 },
2477
2478 {
2479     MONS_ZOMBIE_SMALL, 'z', BROWN, "small zombie",
2480     M_NO_REGEN,
2481     mrd(MR_RES_COLD, 2),
2482     0, 9, MONS_ZOMBIE, MONS_ZOMBIE, MH_UNDEAD, -1,
2483     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2484     { 1, 5, 5, 0 },
2485     0, 4, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2486     I_PLANT, HT_LAND, FL_NONE, 5, DEFAULT_ENERGY,
2487     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
2488 },
2489
2490 {
2491     MONS_SKELETON_SMALL, 'z', LIGHTGREY, "small skeleton",
2492     M_NO_REGEN,
2493     mrd(MR_RES_COLD, 2),
2494     0, 9, MONS_SKELETON, MONS_SKELETON, MH_UNDEAD, -1,
2495     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2496     { 0, 0, 0, 0 },
2497     0, 0, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2498     I_PLANT, HT_LAND, FL_NONE, 5, DEFAULT_ENERGY,
2499     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
2500 },
2501
2502 {
2503     MONS_SIMULACRUM_SMALL, 'z', ETC_ICE, "small simulacrum",
2504     M_NO_REGEN,
2505     MR_VUL_FIRE | mrd(MR_RES_COLD, 3),
2506     0, 9, MONS_SIMULACRUM, MONS_SIMULACRUM, MH_UNDEAD, -1,
2507     { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2508     { 2, 3, 5, 0 },
2509     10, 4, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2510     I_PLANT, HT_LAND, FL_NONE, 7, DEFAULT_ENERGY,
2511     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_SMALL
2512 },
2513
2514 {
2515     MONS_WIGHT, 'z', GREEN, "wight",
2516     M_NO_FLAGS,
2517     mrd(MR_RES_COLD, 2),
2518     0, 16, MONS_WIGHT, MONS_WIGHT, MH_UNDEAD, -4,
2519     { {AT_HIT, AF_DRAIN_XP, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2520     { 3, 3, 5, 0 },
2521     4, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2522     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
2523     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
2524 },
2525
2526 {
2527     MONS_SKELETAL_WARRIOR, 'z', CYAN, "skeletal warrior",
2528     M_FIGHTER,
2529     MR_RES_COLD,
2530     0, 10, MONS_SKELETAL_WARRIOR, MONS_SKELETAL_WARRIOR, MH_UNDEAD, -7,
2531     { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2532     { 10, 5, 3, 0 },
2533     15, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2534     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
2535     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
2536 },
2537
2538 {
2539     MONS_ANCIENT_CHAMPION, 'z', ETC_GOLD, "ancient champion",
2540     M_FIGHTER | M_SPELLCASTER | M_ACTUAL_SPELLS,
2541     MR_RES_COLD,
2542     0, 24, MONS_ANCIENT_CHAMPION, MONS_ANCIENT_CHAMPION, MH_UNDEAD, -7,
2543     { {AT_HIT, AF_PLAIN, 32}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2544     { 14, 4, 2, 0 },
2545     15, 10, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2546     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
2547     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
2548 },
2549
2550 {
2551     MONS_FLYING_SKULL, 'z', WHITE, "flying skull",
2552     M_NO_FLAGS,
2553     MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
2554     0, 10, MONS_FLYING_SKULL, MONS_FLYING_SKULL, MH_UNDEAD, -3,
2555     { {AT_HIT, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2556     { 7, 2, 2, 0 },
2557     10, 17, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SCREAM,
2558     I_ANIMAL, HT_LAND, FL_LEVITATE, 15, DEFAULT_ENERGY,
2559     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
2560 },
2561
2562 {
2563     MONS_FLAMING_CORPSE, 'z', RED, "flaming corpse",
2564     M_SENSE_INVIS | M_GLOWS_LIGHT,
2565     MR_RES_HELLFIRE | MR_RES_STICKY_FLAME | MR_VUL_WATER,
2566     0, 17, MONS_FLAMING_CORPSE, MONS_FLAMING_CORPSE, MH_UNDEAD, -4,
2567     { {AT_HIT, AF_NAPALM, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2568     { 8, 3, 5, 0 },
2569     12, 13, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SCREAM,
2570     I_ANIMAL, HT_LAND, FL_NONE, 12, DEFAULT_ENERGY,
2571     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
2572 },
2573
2574 // These nasties are never randomly generated, only sometimes specially
2575 // placed in the Crypt.
2576 {
2577     MONS_CURSE_SKULL, 'z', LIGHTCYAN, "curse skull",
2578     M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS | M_NOISY_SPELLS | M_MAINTAIN_RANGE
2579     | M_VIGILANT,
2580     mrd(MR_RES_ELEC | MR_RES_COLD, 2) | MR_RES_HELLFIRE,
2581     0, 20, MONS_CURSE_SKULL, MONS_CURSE_SKULL, MH_UNDEAD, MAG_IMMUNE,
2582     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2583     { 13, 0, 0, 55 },
2584     25, 3, MST_CURSE_SKULL, CE_NOCORPSE, Z_NOZOMBIE, S_MOAN,
2585     I_HIGH, HT_LAND, FL_LEVITATE, 15, ACTION_ENERGY(15),
2586     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
2587 },
2588
2589 {
2590     MONS_CURSE_TOE, 'z', YELLOW, "curse toe",
2591     M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS,
2592     mrd(MR_RES_ELEC, 2) | MR_RES_HELLFIRE | MR_RES_COLD,
2593     0, 60, MONS_LICH, MONS_CURSE_TOE, MH_UNDEAD, MAG_IMMUNE,
2594     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2595     { 14, 0, 0, 100 },
2596     25, 1, MST_CURSE_TOE, CE_NOCORPSE, Z_NOZOMBIE, S_MOAN,
2597     I_HIGH, HT_LAND, FL_LEVITATE, 7, ACTION_ENERGY(7),
2598     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_TINY
2599 },
2600
2601 // angelic beings ('A')
2602 {
2603     MONS_ANGEL, 'A', WHITE, "angel",
2604     M_FIGHTER | M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS | M_GLOWS_LIGHT,
2605     MR_RES_POISON | mrd(MR_RES_ELEC, 2),
2606     0, 10, MONS_ANGEL, MONS_ANGEL, MH_HOLY, -8,
2607     { {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK,
2608        AT_NO_ATK },
2609     { 12, 6, 5, 0 },
2610     10, 20, MST_ANGEL, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
2611     I_HIGH, HT_LAND, FL_WINGED, 15, DEFAULT_ENERGY,
2612     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
2613 },
2614
2615 {
2616     MONS_CHERUB, 'A', LIGHTBLUE, "cherub",
2617     M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_GLOWS_LIGHT,
2618     MR_RES_POISON | MR_RES_ELEC | MR_RES_FIRE,
2619     0, 10, MONS_ANGEL, MONS_CHERUB, MH_HOLY, -8,
2620     { {AT_HIT, AF_PLAIN, 15}, {AT_CHERUB, AF_PLAIN, 8}, AT_NO_ATK,
2621        AT_NO_ATK },
2622     { 9, 6, 5, 0 },
2623     10, 20, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_CHERUB,
2624     I_HIGH, HT_LAND, FL_WINGED, 10, DEFAULT_ENERGY,
2625     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
2626 },
2627
2628 {
2629     MONS_SERAPH, 'A', LIGHTMAGENTA, "seraph",
2630     M_FIGHTER | M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS | M_GLOWS_LIGHT,
2631     MR_RES_POISON | MR_RES_ELEC | mrd(MR_RES_FIRE, 3),
2632     0, 10, MONS_ANGEL, MONS_SERAPH, MH_HOLY, MAG_IMMUNE,
2633     { {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK,
2634        AT_NO_ATK },
2635     { 25, 6, 5, 0 },
2636     10, 20, MST_ANGEL, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
2637     I_HIGH, HT_LAND, FL_WINGED, 10, DEFAULT_ENERGY,
2638     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
2639 },
2640
2641 {
2642     MONS_DAEVA, 'A', YELLOW, "daeva",
2643     M_FIGHTER | M_SPELLCASTER | M_SEE_INVIS | M_SPEAKS | M_GLOWS_LIGHT,
2644     MR_RES_POISON,
2645     0, 12, MONS_ANGEL, MONS_DAEVA, MH_HOLY, -8,
2646     { {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK,
2647        AT_NO_ATK },
2648     { 14, 6, 5, 0 },
2649     10, 13, MST_DAEVA, CE_NOCORPSE, Z_NOZOMBIE, S_SHOUT,
2650     I_HIGH, HT_LAND, FL_LEVITATE, 10, DEFAULT_ENERGY,
2651     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_MEDIUM
2652 },
2653
2654 {
2655     MONS_PROFANE_SERVITOR, 'A', ETC_BLOOD, "profane servitor",
2656     M_FIGHTER | M_SPELLCASTER | M_PRIEST | M_SEE_INVIS | M_SPEAKS,
2657     MR_RES_COLD | mrd(MR_RES_ELEC, 2),
2658     0, 10, MONS_ANGEL, MONS_PROFANE_SERVITOR, MH_UNDEAD, -8,
2659     { {AT_HIT, AF_VAMPIRIC, 25}, {AT_HIT, AF_DRAIN_XP, 10}, AT_NO_ATK,
2660        AT_NO_ATK },
2661     { 18, 6, 5, 0 },
2662     10, 20, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2663     I_HIGH, HT_LAND, FL_WINGED, 15, DEFAULT_ENERGY,
2664     MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_MEDIUM
2665 },
2666
2667 // beetles ('B')
2668 {
2669     MONS_GOLIATH_BEETLE, 'B', BLUE, "goliath beetle",
2670     M_NO_SKELETON,
2671     MR_VUL_POISON,
2672     800, 12, MONS_GOLIATH_BEETLE, MONS_GOLIATH_BEETLE, MH_NATURAL, -3,
2673     { {AT_BITE, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2674     { 5, 7, 6, 0 },
2675     10, 3, MST_NO_SPELLS, CE_POISONOUS, Z_SMALL, S_SILENT,
2676     I_INSECT, HT_LAND, FL_NONE, 5, DEFAULT_ENERGY,
2677     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_MEDIUM
2678 },
2679
2680 {
2681     MONS_BOULDER_BEETLE, 'B', LIGHTGREY, "boulder beetle",
2682     M_NO_SKELETON,
2683     MR_VUL_POISON,
2684     2050, 14, MONS_GOLIATH_BEETLE, MONS_BOULDER_BEETLE, MH_NATURAL, -3,
2685     { {AT_BITE, AF_PLAIN, 45}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2686     { 9, 6, 5, 0 },
2687     20, 2, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_SILENT,
2688     I_INSECT, HT_LAND, FL_NONE, 6, DEFAULT_ENERGY,
2689     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
2690 },
2691
2692 {
2693     MONS_BORING_BEETLE, 'B', BROWN, "boring beetle",
2694     M_NO_SKELETON | M_BURROWS,
2695     MR_VUL_POISON,
2696     1300, 10, MONS_GOLIATH_BEETLE, MONS_BORING_BEETLE, MH_NATURAL, -3,
2697     { {AT_BITE, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2698     { 8, 3, 5, 0 },
2699     13, 4, MST_NO_SPELLS, CE_POISONOUS, Z_BIG, S_SILENT,
2700     I_INSECT, HT_LAND, FL_NONE, 6, DEFAULT_ENERGY,
2701     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
2702 },
2703
2704 // cyclopes and giants ('C')
2705 { // dummy for the genus, never spawns
2706     MONS_GIANT, 'C', LIGHTGREY, "giant",
2707     M_WARM_BLOOD | M_SPEAKS | M_CANT_SPAWN,
2708     MR_NO_FLAGS,
2709     1700, 7, MONS_GIANT, MONS_GIANT, MH_NATURAL, -3,
2710     { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2711     { 11, 3, 5, 0 },
2712     3, 4, MST_NO_SPELLS, CE_CONTAMINATED, Z_NOZOMBIE, S_SHOUT,
2713     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
2714     MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_GIANT
2715 },
2716
2717 {
2718     MONS_HILL_GIANT, 'C', LIGHTRED, "hill giant",
2719     M_WARM_BLOOD | M_SPEAKS,
2720     MR_NO_FLAGS,
2721     1700, 7, MONS_GIANT, MONS_HILL_GIANT, MH_NATURAL, -3,
2722     { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2723     { 11, 3, 5, 0 },
2724     3, 4, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SHOUT,
2725     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
2726     MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_GIANT
2727 },
2728
2729 {
2730     MONS_CYCLOPS, 'C', YELLOW, "cyclops",
2731     M_WARM_BLOOD | M_SPEAKS,
2732     MR_NO_FLAGS,
2733     2200, 14, MONS_GIANT, MONS_CYCLOPS, MH_NATURAL, -3,
2734     { {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2735     { 9, 3, 5, 0 },
2736     5, 3, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_SHOUT,
2737     I_NORMAL, HT_LAND, FL_NONE, 7, DEFAULT_ENERGY,
2738     MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_GIANT
2739 },
2740
2741 {
2742     MONS_ETTIN, 'C', BROWN, "ettin",
2743     M_WARM_BLOOD | M_TWO_WEAPONS | M_SPEAKS,
2744     MR_NO_FLAGS,
2745     2500, 12, MONS_GIANT, MONS_ETTIN, MH_NATURAL, -3,
2746     { {AT_HIT, AF_PLAIN, 45}, {AT_HIT, AF_PLAIN, 45}, AT_NO_ATK, AT_NO_ATK },
2747     { 12, 3, 5, 0 },
2748     9, 4, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SHOUT2,
2749     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
2750     MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_GIANT
2751 },
2752
2753 {
2754     MONS_FIRE_GIANT, 'C', RED, "fire giant",
2755     M_FIGHTER | M_SPELLCASTER | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS
2756         | M_ACTUAL_SPELLS,
2757     mrd(MR_RES_FIRE, 2),
2758     2000, 13, MONS_GIANT, MONS_FIRE_GIANT, MH_NATURAL, -4,
2759     { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2760     { 16, 3, 6, 0 },
2761     8, 4, MST_EFREET, CE_CONTAMINATED, Z_BIG, S_SHOUT,
2762     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
2763     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_GIANT
2764 },
2765
2766 {
2767     MONS_FROST_GIANT, 'C', LIGHTBLUE, "frost giant",
2768     M_FIGHTER | M_SPELLCASTER | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS
2769         | M_ACTUAL_SPELLS,
2770     mrd(MR_RES_COLD, 2),
2771     2100, 11, MONS_GIANT, MONS_FROST_GIANT, MH_NATURAL, -4,
2772     { {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2773     { 16, 4, 5, 0 },
2774     9, 3, MST_FROST_GIANT, CE_CONTAMINATED, Z_BIG, S_SHOUT,
2775     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
2776     MONUSE_WEAPONS_ARMOUR, MONEAT_NOTHING, SIZE_GIANT
2777 },
2778
2779 {
2780     MONS_STONE_GIANT, 'C', LIGHTGREY, "stone giant",
2781     M_WARM_BLOOD | M_SPEAKS,
2782     MR_NO_FLAGS,
2783     2700, 9, MONS_GIANT, MONS_STONE_GIANT, MH_NATURAL, -4,
2784     { {AT_HIT, AF_PLAIN, 45}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2785     { 16, 3, 5, 0 },
2786     12, 2, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SHOUT,
2787     I_NORMAL, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
2788     MONUSE_STARTING_EQUIPMENT, MONEAT_NOTHING, SIZE_GIANT
2789 },
2790
2791 {
2792     MONS_TITAN, 'C', MAGENTA, "titan",
2793     M_FIGHTER | M_SPELLCASTER | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS
2794         | M_ACTUAL_SPELLS,
2795     mrd(MR_RES_ELEC, 2),
2796     3200, 12, MONS_GIANT, MONS_TITAN, MH_NATURAL, -7,
2797     { {AT_HIT, AF_PLAIN, 55}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2798     { 20, 3, 5, 0 },
2799     10, 3, MST_TITAN, CE_CLEAN, Z_BIG, S_SHOUT,
2800     I_HIGH, HT_LAND, FL_NONE, 10, DEFAULT_ENERGY,
2801     MONUSE_OPEN_DOORS, MONEAT_NOTHING, SIZE_GIANT
2802 },
2803
2804 // dragons ('D')
2805 {
2806     MONS_WYVERN, 'D', LIGHTRED, "wyvern",
2807     M_WARM_BLOOD,
2808     MR_NO_FLAGS,
2809     1200, 15, MONS_WYVERN, MONS_WYVERN, MH_NATURAL, -3,
2810     { {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2811     { 5, 3, 5, 0 },
2812     5, 10, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_SILENT,
2813     I_ANIMAL, HT_LAND, FL_WINGED, 15, DEFAULT_ENERGY,
2814     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_LARGE
2815 },
2816
2817 {
2818     MONS_DRAGON, 'D', GREEN, "dragon",
2819     M_WARM_BLOOD | M_FLEES,
2820     MR_RES_POISON | mrd(MR_RES_FIRE, 2) | MR_VUL_COLD,
2821     2400, 12, MONS_DRAGON, MONS_DRAGON, MH_NATURAL, -4,
2822     { {AT_BITE, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 13},
2823       {AT_TRAMPLE, AF_PLAIN, 13}, AT_NO_ATK },
2824     { 12, 5, 5, 0 },
2825     10, 8, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_SILENT,
2826     I_ANIMAL, HT_LAND, FL_WINGED, 10, DEFAULT_ENERGY,
2827     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
2828 },
2829
2830 {
2831     MONS_HYDRA, 'D', LIGHTGREEN, "hydra",
2832     M_COLD_BLOOD | M_FAST_REGEN,
2833     MR_RES_POISON,
2834     1800, 11, MONS_HYDRA, MONS_HYDRA, MH_NATURAL, -3,
2835     { {AT_BITE, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2836     { 13, 3, 5, 0 },
2837     0, 5, MST_NO_SPELLS, CE_POISON_CONTAM, Z_BIG, S_ROAR,
2838     I_REPTILE, HT_AMPHIBIOUS, FL_NONE, 10, SWIM_ENERGY(6),
2839     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
2840 },
2841
2842 {
2843     MONS_ICE_DRAGON, 'D', WHITE, "ice dragon",
2844     M_COLD_BLOOD | M_FLEES,
2845     MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 2),
2846     2400, 10, MONS_DRAGON, MONS_ICE_DRAGON, MH_NATURAL, -3,
2847     { {AT_BITE, AF_PLAIN, 17}, {AT_CLAW, AF_PLAIN, 17},
2848       {AT_TRAMPLE, AF_PLAIN, 17}, AT_NO_ATK },
2849     { 12, 5, 5, 0 },
2850     10, 8, MST_NO_SPELLS, CE_CLEAN, Z_BIG, S_SILENT,
2851     I_ANIMAL, HT_LAND, FL_WINGED, 10, DEFAULT_ENERGY,
2852     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
2853 },
2854
2855 {
2856     MONS_STEAM_DRAGON, 'D', BLUE, "steam dragon",
2857     M_SPELLCASTER | M_WARM_BLOOD | M_FAKE_SPELLS | M_FLEES,
2858     MR_RES_STEAM,
2859     1500, 29, MONS_DRAGON, MONS_STEAM_DRAGON, MH_NATURAL, -3,
2860     { {AT_BITE, AF_PLAIN, 12}, {AT_CLAW, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK },
2861     { 4, 5, 5, 0 },
2862     5, 10, MST_STEAM_DRAGON, CE_CLEAN, Z_BIG, S_SILENT,
2863     I_ANIMAL, HT_LAND, FL_WINGED, 10, DEFAULT_ENERGY,
2864     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
2865 },
2866
2867 {
2868     MONS_SWAMP_DRAGON, 'D', BROWN, "swamp dragon",
2869     M_SPELLCASTER | M_WARM_BLOOD | M_FAKE_SPELLS | M_FLEES,
2870     MR_RES_POISON,
2871     2200, 11, MONS_DRAGON, MONS_SWAMP_DRAGON, MH_NATURAL, -3,
2872     { {AT_BITE, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 11},
2873       {AT_TRAMPLE, AF_PLAIN, 11}, AT_NO_ATK },
2874     { 9, 5, 5, 0 },
2875     7, 7, MST_SWAMP_DRAGON, CE_POISON_CONTAM, Z_BIG, S_ROAR,
2876     I_ANIMAL, HT_LAND, FL_WINGED, 10, DEFAULT_ENERGY,
2877     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
2878 },
2879
2880 {
2881     MONS_MOTTLED_DRAGON, 'D', LIGHTMAGENTA, "mottled dragon",
2882     M_SPELLCASTER | M_WARM_BLOOD | M_FAKE_SPELLS | M_FLEES,
2883     MR_RES_POISON | MR_RES_FIRE | MR_RES_STICKY_FLAME,
2884     1300, 16, MONS_DRAGON, MONS_MOTTLED_DRAGON, MH_NATURAL, -3,
2885     { {AT_BITE, AF_PLAIN, 15}, {AT_CLAW, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK },
2886     { 5, 3, 5, 0 },
2887     5, 10, MST_MOTTLED_DRAGON, CE_POISON_CONTAM, Z_BIG, S_SILENT,
2888     I_ANIMAL, HT_LAND, FL_WINGED, 10, DEFAULT_ENERGY,
2889     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
2890 },
2891
2892 {
2893     MONS_QUICKSILVER_DRAGON, 'D', LIGHTCYAN, "quicksilver dragon",
2894     M_SPELLCASTER | M_SEE_INVIS | M_WARM_BLOOD | M_FAKE_SPELLS | M_FLEES,
2895     MR_NO_FLAGS,
2896     1900, 14, MONS_DRAGON, MONS_QUICKSILVER_DRAGON, MH_NATURAL, -7,
2897     { {AT_BITE, AF_PLAIN, 25}, {AT_CLAW, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK },
2898     { 16, 3, 5, 0 },
2899     10, 15, MST_QUICKSILVER_DRAGON, CE_CONTAMINATED, Z_BIG, S_ROAR,
2900     I_ANIMAL, HT_LAND, FL_WINGED, 15, DEFAULT_ENERGY,
2901     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_GIANT
2902 },
2903
2904 {
2905     MONS_IRON_DRAGON, 'D', CYAN, "iron dragon",
2906     M_SPELLCASTER | M_SEE_INVIS | M_WARM_BLOOD | M_FAKE_SPELLS | M_FLEES
2907         | M_UNBREATHING,
2908     MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD,
2909     2800, 14, MONS_DRAGON, MONS_IRON_DRAGON, MH_NATURAL, -7,
2910     { {AT_BITE, AF_PLAIN, 25}, {AT_CLAW, AF_PLAIN, 25},
2911       {AT_TRAMPLE, AF_PLAIN, 25}, AT_NO_ATK },
2912     { 18, 5, 3, 0 },
2913     20, 6, MST_IRON_DRAGON, CE_CONTAMINATED, Z_BIG, S_ROAR,
2914     I_ANIMAL, HT_LAND, FL_NONE, 8, DEFAULT_ENERGY,
2915     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
2916 },
2917
2918 {
2919     MONS_STORM_DRAGON, 'D', LIGHTBLUE, "storm dragon",
2920     M_SPELLCASTER | M_WARM_BLOOD | M_FAKE_SPELLS | M_FLEES,
2921     mrd(MR_RES_ELEC, 3) | MR_RES_COLD,
2922     2700, 13, MONS_DRAGON, MONS_STORM_DRAGON, MH_NATURAL, -5,
2923     { {AT_BITE, AF_PLAIN, 25}, {AT_CLAW, AF_PLAIN, 15},
2924       {AT_TRAMPLE, AF_PLAIN, 15}, AT_NO_ATK },
2925     { 14, 5, 5, 0 },
2926     13, 10, MST_STORM_DRAGON, CE_CLEAN, Z_BIG, S_ROAR,
2927     I_ANIMAL, HT_LAND, FL_WINGED, 12, DEFAULT_ENERGY,
2928     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
2929 },
2930
2931 {
2932     MONS_GOLDEN_DRAGON, 'D', YELLOW, "golden dragon",
2933     M_SPELLCASTER | M_SEE_INVIS | M_WARM_BLOOD | M_FAKE_SPELLS | M_FLEES,
2934     MR_RES_ELEC | MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD,
2935     3000, 26, MONS_DRAGON, MONS_GOLDEN_DRAGON, MH_NATURAL, -8,
2936     { {AT_BITE, AF_PLAIN, 40}, {AT_CLAW, AF_PLAIN, 20},
2937       {AT_TRAMPLE, AF_PLAIN, 20}, AT_NO_ATK },
2938     { 18, 4, 4, 0 },
2939     15, 7, MST_GOLDEN_DRAGON, CE_POISONOUS, Z_BIG, S_ROAR,
2940     I_ANIMAL, HT_LAND, FL_WINGED, 10, DEFAULT_ENERGY,
2941     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
2942 },
2943
2944 {
2945     MONS_SHADOW_DRAGON, 'D', MAGENTA, "shadow dragon",
2946     M_SPELLCASTER | M_SEE_INVIS | M_COLD_BLOOD | M_FAKE_SPELLS | M_FLEES,
2947     MR_RES_POISON | mrd(MR_RES_COLD, 2) | mrd(MR_RES_NEG, 3),
2948     1800, 12, MONS_DRAGON, MONS_SHADOW_DRAGON, MH_NATURAL, -5,
2949     { {AT_BITE, AF_DRAIN_XP, 20}, {AT_CLAW, AF_PLAIN, 15},
2950       {AT_CLAW, AF_PLAIN, 15}, AT_NO_ATK },
2951     { 17, 5, 5, 0 },
2952     15, 10, MST_SHADOW_DRAGON, CE_ROT, Z_BIG, S_ROAR,
2953     I_ANIMAL, HT_LAND, FL_WINGED, 10, DEFAULT_ENERGY,
2954     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_GIANT
2955 },
2956
2957 {
2958     MONS_BONE_DRAGON, 'D', LIGHTGREY, "bone dragon",
2959     M_SENSE_INVIS,
2960     MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
2961     0, 12, MONS_DRAGON, MONS_BONE_DRAGON, MH_UNDEAD, -4,
2962     { {AT_BITE, AF_PLAIN, 30}, {AT_CLAW, AF_PLAIN, 20},
2963       {AT_TRAMPLE, AF_PLAIN, 20}, AT_NO_ATK },
2964     { 20, 6, 6, 0 },
2965     20, 4, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2966     I_ANIMAL, HT_LAND, FL_WINGED, 10, DEFAULT_ENERGY,
2967     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_HUGE
2968 },
2969
2970 {
2971     MONS_PEARL_DRAGON, 'D', ETC_HOLY, "pearl dragon",
2972     M_SPELLCASTER | M_SEE_INVIS | M_WARM_BLOOD | M_GLOWS_LIGHT | M_FLEES,
2973     MR_NO_FLAGS,
2974     1900, 16, MONS_DRAGON, MONS_PEARL_DRAGON, MH_HOLY, -7,
2975     { {AT_BITE, AF_HOLY, 35}, {AT_CLAW, AF_HOLY, 20}, AT_NO_ATK, AT_NO_ATK },
2976     { 18, 4, 5, 0 },
2977     10, 15, MST_PEARL_DRAGON, CE_CLEAN, Z_BIG, S_ROAR,
2978     I_ANIMAL, HT_LAND, FL_WINGED, 12, DEFAULT_ENERGY,
2979     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_GIANT
2980 },
2981
2982
2983 // elementals (E)
2984 { // dummy for the genus, never spawns
2985     MONS_ELEMENTAL, 'E', LIGHTGREY, "elemental",
2986     M_CANT_SPAWN,
2987     mrd(MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 3),
2988     0, 13, MONS_ELEMENTAL, MONS_ELEMENTAL, MH_NONLIVING, MAG_IMMUNE,
2989     { {AT_HIT, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2990     { 6, 5, 5, 0 },
2991     14, 4, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
2992     I_PLANT, HT_LAND, FL_NONE, 6, DEFAULT_ENERGY,
2993     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
2994 },
2995
2996 {
2997     MONS_EARTH_ELEMENTAL, 'E', ETC_EARTH, "earth elemental",
2998     M_NO_FLAGS,
2999     mrd(MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 3),
3000     0, 13, MONS_ELEMENTAL, MONS_EARTH_ELEMENTAL, MH_NONLIVING, MAG_IMMUNE,
3001     { {AT_HIT, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3002     { 6, 5, 5, 0 },
3003     14, 4, MST_NO_SPELLS, CE_NOCORPSE, Z_NOZOMBIE, S_SILENT,
3004     I_PLANT, HT_LAND, FL_NONE, 6, DEFAULT_ENERGY,
3005     MONUSE_NOTHING, MONEAT_NOTHING, SIZE_BIG
3006 },
3007
3008 {
3009     MONS_FIRE_ELEMENTAL, 'E', ETC_FIRE, "fire elemental",
3010     M_INSUBSTANTIAL | M_GLOWS_LIGHT,
3011     MR_RES_POISON | MR_RES_HELLFIRE | MR_VUL_COLD | MR_RES_ELEC | MR_VUL_WATER,
3012     0, 10, MONS_ELEMENTAL, MONS_FIRE_ELEMENTAL, MH_NONLIVING, MAG_IMMUNE,