1 #pragma once
2 
3 #define AT_NO_ATK       {AT_NONE, AF_PLAIN, 0}
4 
5 #include "enum.h"
6 #include "tag-version.h"
7 
8 /* ******************************************************************
9 
10    (see "mon-util.h" for the gory details)
11 
12  - ordering does not matter, because seekmonster() searches the entire
13    array ... probably not to most efficient thing to do, but so it goes
14 
15  - Here are the rows:
16     - row 1: monster id, display character, display colour, name
17     - row 2: monster flags
18     - row 3: monster resistance flags
19     - row 4: experience modifier, genus, species, holiness, willpower
20     - row 5: damage for each of four attacks
21     - row 6: hit dice, hit points
22     - row 7: AC, evasion, spells, corpse, shouts
23     - row 8: intel, habitat, speed, energy_usage
24     - row 9: gmon_use class, body size, body shape
25     - row 10: tile, corpse
26 
27  - Some further explanations:
28 
29     - colour: if COLOUR_UNDEF, a random colour will be chosen upon
30               creation. Some monsters set their colour during initialization,
31               and if a default colour isn't meaningful, they should also use
32               COLOUR_UNDEF.
33     - name: if an empty string, name generated automagically (see moname)
34     - genus: base monster "type" for a classed monsters (i.e. jackal as hound)
35     - species: corpse type of monster (i.e. orc for orc wizard)
36     - holiness: a bitwise OR of one or more of:
37        MH_HOLY       - irritates some gods when killed, immunity from
38                         holy wrath weapons. Includes good priests.
39        MH_NATURAL    - baseline monster type
40        MH_UNDEAD     - immunity from draining, pain, torment; resistance
41                         to poison; extra damage from holy wrath;
42                         affected by holy word
43        MH_DEMONIC    - similar to undead, but no poison resistance
44                         *no* automatic damnation resistance
45        MH_NONLIVING  - golems and other constructs
46        MH_PLANT      - plants
47 
48       along with optional flags that affect some god conducts and abilities:
49        MH_EVIL       - inherently evil (and not MH_UNDEAD or MH_DEMONIC)
50 
51    exp_mod: multiplies xp value after most other calculations.
52             see exper_value() in mon-util.cc
53 
54    willpower: see mons_willpower() in mon-util.cc
55    - If -x calculate (-x * hit dice * 4/3), else simply x.
56 
57    damage [4]
58    - up to 4 different attacks
59 
60    HD: like player level, used for misc things
61    avg_hp_10x: average hp for the monster, * 10 for precision
62                (see hit_points() for details)
63 
64    sec: the monster's spellbook. If a monster has no spells, MST_NO_SPELLS.
65 
66    corpse: whether the monster leaves a corpse or not
67 
68    shouts
69    - various things monsters can do upon seeing you
70 
71    intel explanation:
72    - How smart it is:
73    I_BRAINLESS < I_ANIMAL < I_HUMAN.
74    Differences here have a wide variety of small effects; tracking distance,
75    behaviour around dangerous clouds, co-operation with allies, etc.
76 
77    speed
78    - Increases the store of energy that the monster uses for doing things.
79    less = slower. 5 = half speed, 10 = normal, 20 = double speed.
80 
81    energy usage
82    - How quickly the energy granted by speed is used up. Most monsters
83    should just use DEFAULT_ENERGY, where all the different types of actions
84    use 10 energy units.
85 
86    gmon_use explanation:
87      MONUSE_NOTHING,
88      MONUSE_OPEN_DOORS,
89      MONUSE_STARTING_EQUIPMENT,
90      MONUSE_WEAPONS_ARMOUR
91 
92     From MONUSE_STARTING_EQUIPMENT on, monsters are capable of handling
93     items. Contrary to what one might expect, MONUSE_WEAPONS_ARMOUR
94     also means a monster is capable of using wands and will also pick
95     them up, something that those with MONUSE_STARTING_EQUIPMENT won't
96     do.
97 
98    size:
99      SIZE_TINY,              // rats/bats
100      SIZE_LITTLE,            // spriggans
101      SIZE_SMALL,             // halflings/kobolds
102      SIZE_MEDIUM,            // humans/elves/dwarves
103      SIZE_LARGE,             // trolls/ogres/centaurs/nagas
104      SIZE_BIG,               // large quadrupeds
105      SIZE_GIANT,             // giants
106 
107    tile:
108     - a struct with up to two elements.
109       - the first is the enum for the corresponding sprite in tiles builds;
110         TILEP_MONS_PROGRAM_BUG for special cases.
111       - the second is the way in which the tile may vary; e.g. over time,
112         per-monster-instance, etc.
113 
114    corpse:
115      - The enum for the corresponding sprite in tiles builds;
116        TILE_ERROR for monsters without corpses. Only relevant for species mons.
117 */
118 
119 #define MOVE_ENERGY(x)     { x,  x, 10, 10, 10, 10, 10, 100}
120 #define ACTION_ENERGY(x)   {10, 10,  x,  x,  x,  x,  x, x * 10}
121 #define ATTACK_ENERGY(x)   {10, 10,  x, 10, 10, 10, 10, 100}
122 #define MISSILE_ENERGY(x)  {10, 10, 10,  x, 10, 10, 10, 100}
123 #define SPELL_ENERGY(x)    {10, 10, 10, 10,  x, 10, 10, 100}
124 #define SWIM_ENERGY(x)     {10,  x, 10, 10, 10, 10, 10, 100}
125 
126 #define M_NOT_DANGEROUS (M_NO_EXP_GAIN | M_NO_THREAT)
127 
128 static monsterentry mondata[] =
129 {
130 
131 // The Thing That Should Not Be(tm)
132 // NOTE: Do not remove, or seekmonster will crash on unknown mc request!
133 // It is also a good prototype for new monsters.
134 {
135     // id, glyph, colour, name
136     MONS_PROGRAM_BUG, 'B', LIGHTRED, "program bug",
137     // monster flags
138     M_NOT_DANGEROUS | M_CANT_SPAWN,
139     // resistance flags
140     MR_NO_FLAGS,
141     // xp modifier, genus, species, holiness, willpower
142     10, MONS_PROGRAM_BUG, MONS_PROGRAM_BUG, MH_NATURAL, 10,
143     // up to four attacks
144     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
145     // hit points
146     0, 0,
147     // AC, EV, spells, corpse type, shout type
148     0, 0, MST_NO_SPELLS, true, S_SILENT,
149     // intelligence, habitat, speed, energy usage
150     I_BRAINLESS, HT_LAND, 0, DEFAULT_ENERGY,
151     // use type, body size, body shape
152     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_MISC,
153     {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR
154 },
155 
156 // Use this to replace removed monsters, to retain save compatibility.
157 // Please put it in #if TAG_MAJOR_VERSION == X, so they will go away
158 // after save compat is broken.
159 #define AXED_MON(id, name) \
160 { \
161     id, 'X', LIGHTRED, "removed " name, \
162     M_NO_EXP_GAIN | M_CANT_SPAWN | M_UNFINISHED, \
163     MR_NO_FLAGS, \
164     10, MONS_PROGRAM_BUG, MONS_PROGRAM_BUG, MH_NONLIVING, 0, \
165     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, \
166     0, 0, \
167     0, 0, MST_NO_SPELLS, true, S_SILENT, \
168     I_BRAINLESS, HT_LAND, 0, DEFAULT_ENERGY, \
169     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_MISC, \
170     {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR \
171 },
172 
173 // Axed monsters.
174 // AXED_MON(MONS_AXE_MURDERER, "Jason")
175 #if TAG_MAJOR_VERSION == 34
176     AXED_MON(MONS_BUMBLEBEE, "bumblebee")
177     AXED_MON(MONS_WOOD_GOLEM, "wood golem")
178     AXED_MON(MONS_ANT_LARVA, "ant larva")
179     AXED_MON(MONS_LABORATORY_RAT, "laboratory rat")
180     AXED_MON(MONS_WAR_DOG, "war dog")
181     AXED_MON(MONS_SPIRIT, "spirit")
182     AXED_MON(MONS_PALADIN, "paladin")
183     AXED_MON(MONS_DEEP_ELF_SOLDIER, "deep elf soldier")
184     AXED_MON(MONS_PAN, "pan")
185     AXED_MON(MONS_LAMIA, "lamia")
186     AXED_MON(MONS_DEEP_DWARF_SCION, "deep dwarf scion")
187     AXED_MON(MONS_DEEP_DWARF_ARTIFICER, "deep dwarf artificer")
188     AXED_MON(MONS_DEEP_DWARF_NECROMANCER, "deep dwarf necromancer")
189     AXED_MON(MONS_CHAOS_BUTTERFLY, "chaos butterfly")
190     AXED_MON(MONS_POLYMOTH, "polymoth")
191     AXED_MON(MONS_MOTH_OF_SUPPRESSION, "moth of suppression")
192     AXED_MON(MONS_ROCK_WORM, "rock worm")
193     AXED_MON(MONS_FORMICID_DRONE, "formicid drone")
194     AXED_MON(MONS_SPIRIT_WOLF, "spirit wolf")
195     AXED_MON(MONS_LAVA_FISH, "lava fish")
196     AXED_MON(MONS_JELLYFISH, "jellyfish")
197     AXED_MON(MONS_GREY_RAT, "grey rat")
198     AXED_MON(MONS_SPINY_WORM, "spiny worm")
199     AXED_MON(MONS_ROCK_TROLL, "rock troll")
200     AXED_MON(MONS_MONSTROUS_ITEM_MIMIC, "monstrous item mimic")
201     AXED_MON(MONS_GIANT_AMOEBA, "giant amoeba")
202     AXED_MON(MONS_DEEP_DWARF_BERSERKER, "deep dwarf berserker")
203     AXED_MON(MONS_AGATE_SNAIL, "agate snail")
204     AXED_MON(MONS_GIANT_CENTIPEDE, "giant centipede")
205     AXED_MON(MONS_ANCIENT_BEAR, "ancient bear")
206     AXED_MON(MONS_ROTTING_DEVIL, "rotting devil")
207     AXED_MON(MONS_IGNIS, "ignis")
208     AXED_MON(MONS_RAKSHASA_FAKE, "rakshasa fake")
209     AXED_MON(MONS_MARA_FAKE, "mara fake")
210     // GNOME_NO_MORE
211     AXED_MON(MONS_GNOME, "gnome")
212     // GOLEM_NO_MORE
213     AXED_MON(MONS_CLAY_GOLEM, "clay golem")
214     AXED_MON(MONS_STONE_GOLEM, "stone golem")
215     AXED_MON(MONS_FORMICID_VENOM_MAGE, "formicid venom mage")
216     AXED_MON(MONS_SPRIGGAN_ASSASSIN, "spriggan assassin")
217     AXED_MON(MONS_VAPOUR, "vapour")
218     AXED_MON(MONS_THORN_LOTUS, "thorn lotus")
219     AXED_MON(MONS_GIANT_GOLDFISH, "giant goldfish")
220     AXED_MON(MONS_SILVER_STAR, "silver star")
221     AXED_MON(MONS_FLAMING_CORPSE, "flaming corpse")
222     AXED_MON(MONS_GRIZZLY_BEAR, "grizzly bear")
223     AXED_MON(MONS_SPRIGGAN_ENCHANTER, "spriggan enchanter")
224     AXED_MON(MONS_PHOENIX, "phoenix")
225     AXED_MON(MONS_SHEDU, "shedu")
226     AXED_MON(MONS_PLAGUE_SHAMBLER, "plague shambler")
227     AXED_MON(MONS_GIANT_SLUG, "giant slug")
228     AXED_MON(MONS_FIREFLY, "firefly")
229     AXED_MON(MONS_BROWN_OOZE, "brown ooze")
230     AXED_MON(MONS_PULSATING_LUMP, "pulsating lump")
231     AXED_MON(MONS_BIG_FISH, "big fish")
232     AXED_MON(MONS_LAVA_WORM, "lava worm")
233     AXED_MON(MONS_SHARK, "shark")
234     AXED_MON(MONS_INEPT_ITEM_MIMIC, "inept item mimic")
235     AXED_MON(MONS_ITEM_MIMIC, "item mimic")
236     AXED_MON(MONS_RAVENOUS_ITEM_MIMIC, "ravenous item mimic")
237     AXED_MON(MONS_INEPT_FEATURE_MIMIC, "inept feature mimic")
238     AXED_MON(MONS_FEATURE_MIMIC, "feature mimic")
239     AXED_MON(MONS_RAVENOUS_FEATURE_MIMIC, "ravenous feature mimic")
240     AXED_MON(MONS_MNOLEG_TENTACLE, "mnoleg tentacle")
241     AXED_MON(MONS_MNOLEG_TENTACLE_SEGMENT, "mnoleg tentacle segment")
242     AXED_MON(MONS_UNBORN, "unborn")
243     AXED_MON(MONS_GIANT_MITE, "giant mite")
244     AXED_MON(MONS_BABY_ALLIGATOR, "baby alligator")
245     AXED_MON(MONS_BORING_BEETLE, "boring beetle")
246     AXED_MON(MONS_CHIMERA, "chimera")
247     AXED_MON(MONS_RAVEN, "raven")
248     AXED_MON(MONS_SINGULARITY, "singularity")
249     AXED_MON(MONS_GRAND_AVATAR, "grand avatar")
250     AXED_MON(MONS_SALAMANDER_FIREBRAND, "salamander firebrand")
251     AXED_MON(MONS_OCTOPODE_CRUSHER, "octopode crusher")
252     AXED_MON(MONS_BLUE_DEVIL, "blue devil")
253     AXED_MON(MONS_BRAIN_WORM, "brain worm")
254     AXED_MON(MONS_DEEP_ELF_SUMMONER, "deep elf summoner")
255     AXED_MON(MONS_DEEP_ELF_CONJURER, "deep elf conjurer")
256     AXED_MON(MONS_DEEP_ELF_PRIEST, "deep elf priest")
257     AXED_MON(MONS_DEEP_ELF_FIGHTER, "deep elf fighter")
258     AXED_MON(MONS_TRAPDOOR_SPIDER, "trapdoor spider")
259     AXED_MON(MONS_SALAMANDER_STORMCALLER, "salamander stormcaller")
260     AXED_MON(MONS_NORRIS, "norris")
261     AXED_MON(MONS_MAUD, "maud")
262     AXED_MON(MONS_WIGLAF, "wiglaf")
263     AXED_MON(MONS_SHEEP, "sheep")
264     AXED_MON(MONS_ANUBIS_GUARD, "anubis guard")
265     AXED_MON(MONS_GRIFFON, "griffon")
266     AXED_MON(MONS_BEETLE, "beetle")
267     AXED_MON(MONS_PUTRID_DEMONSPAWN, "putrid demonspawn")
268     AXED_MON(MONS_CHAOS_CHAMPION, "chaos champion")
269     AXED_MON(MONS_WASP, "wasp")
270     AXED_MON(MONS_MOTTLED_DRACONIAN, "mottled draconian")
271     AXED_MON(MONS_DRACONIAN_ZEALOT, "draconian zealot")
272     AXED_MON(MONS_HILL_GIANT, "hill giant")
273     AXED_MON(MONS_BULTUNGIN, "bultungin")
274     AXED_MON(MONS_HYPERACTIVE_BALLISTOMYCETE, "hyperactive ballistomycete")
275     AXED_MON(MONS_HOMUNCULUS, "homunculus")
276     AXED_MON(MONS_SOUPLING, "soupling")
277     AXED_MON(MONS_BLESSED_TOE, "blessed toe")
278     AXED_MON(MONS_LAVA_ORC, "lava orc")
279     AXED_MON(MONS_MONSTROUS_FEATURE_MIMIC, "monstrous feature mimic")
280     AXED_MON(MONS_SLAVE, "slave")
281     AXED_MON(MONS_HUNGRY_GHOST, "hungry ghost")
282     AXED_MON(MONS_CROCODILE, "crocodile")
283     AXED_MON(MONS_HIPPOGRIFF, "hippogriff")
284     AXED_MON(MONS_PORCUPINE, "porcupine")
285     AXED_MON(MONS_CRAWLING_CORPSE, "crawling corpse")
286     AXED_MON(MONS_MACABRE_MASS, "macabre mass")
287     AXED_MON(MONS_EYE_OF_DRAINING, "eye of draining")
288     AXED_MON(MONS_DEATH_OOZE, "death ooze")
289     AXED_MON(MONS_LEOPARD_GECKO, "leopard gecko")
290     AXED_MON(MONS_WORKER_ANT, "worker ant")
291     AXED_MON(MONS_QUEEN_ANT, "queen ant")
292     AXED_MON(MONS_SOLDIER_ANT, "soldier ant")
293 #endif
294 
295 // Used for genus monsters (which are used for grouping monsters by how they
296 // work and in comes-into-view messages).
297 #define DUMMY(id, glyph, colour, name, tile) \
298 { \
299     (id), (glyph), (colour), (name), \
300     M_CANT_SPAWN, \
301     MR_NO_FLAGS, \
302     10, (id), (id), MH_NONLIVING, 10, \
303     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, \
304     0, 0, \
305     0, 0, MST_NO_SPELLS, true, S_SILENT, \
306     I_BRAINLESS, HT_LAND, 0, DEFAULT_ENERGY, \
307     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_MISC, \
308     {(tile)}, TILE_ERROR \
309 },
310 
311 
312 // Real monsters begin here {dlb}:
313 
314 // ancients ('a')
315 {
316     MONS_IMPERIAL_MYRMIDON, 'a', LIGHTCYAN, "imperial myrmidon",
317     M_WARM_BLOOD | M_SPEAKS,
318     MR_NO_FLAGS,
319     12, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 60,
320     { {AT_HIT, AF_VULN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
321     16, 750,
322     1, 22, MST_IMPERIAL_MYRMIDON, true, S_SHOUT,
323     I_HUMAN, HT_LAND, 12, DEFAULT_ENERGY,
324     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
325     {TILEP_MONS_IMPERIAL_MYRMIDON}, TILE_ERROR
326 },
327 
328 {
329     MONS_SERVANT_OF_WHISPERS, 'a', BROWN, "servant of whispers",
330     M_SPEAKS | M_WARM_BLOOD,
331     MR_NO_FLAGS,
332     10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 60,
333     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
334     12, 800,
335     1, 12, MST_SERVANT_OF_WHISPERS, true, S_SHOUT,
336     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
337     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
338     {TILEP_MONS_SERVANT_OF_WHISPERS}, TILE_ERROR
339 },
340 
341 {
342     MONS_RAGGED_HIEROPHANT, 'a', LIGHTMAGENTA, "ragged hierophant",
343     M_SPEAKS | M_WARM_BLOOD | M_SEE_INVIS,
344     MR_NO_FLAGS,
345     15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 40,
346     { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
347     9, 1200,
348     0, 10, MST_RAGGED_HIEROPHANT, true, S_SHOUT,
349     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
350     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
351     {TILEP_MONS_RAGGED_HIEROPHANT}, TILE_ERROR
352 },
353 
354 // batty monsters ('b')
355 {
356     MONS_BAT, 'b', LIGHTGREY, "bat",
357     M_SEE_INVIS | M_UNBLINDABLE | M_WARM_BLOOD | M_BATTY | M_FLIES,
358     MR_NO_FLAGS,
359     4, MONS_BAT, MONS_BAT, MH_NATURAL, 0,
360     { {AT_HIT, AF_PLAIN, 1}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
361     1, 35,
362     1, 14, MST_NO_SPELLS, true, S_SILENT,
363     I_ANIMAL, HT_LAND, 30, DEFAULT_ENERGY,
364     MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_BAT,
365     {TILEP_MONS_BAT}, TILE_CORPSE_BAT
366 },
367 
368 {
369     MONS_BUTTERFLY, 'b', ETC_JEWEL, "butterfly",
370     M_CONFUSED | M_NOT_DANGEROUS | M_FLIES,
371     MR_VUL_POISON,
372     10, MONS_BUTTERFLY, MONS_BUTTERFLY, MH_NATURAL, 10,
373     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
374     1, 10,
375     0, 25, MST_NO_SPELLS, false, S_SILENT,
376     I_BRAINLESS, HT_LAND, 25, DEFAULT_ENERGY,
377     MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_INSECT_WINGED,
378     {TILEP_MONS_BUTTERFLY, TVARY_MOD}, TILE_ERROR
379 },
380 
381 { // one vault + player transform (Vp ability)
382     MONS_VAMPIRE_BAT, 'b', MAGENTA, "vampire bat",
383     M_SEE_INVIS | M_WARM_BLOOD | M_BATTY | M_NO_POLY_TO | M_FLIES,
384     MR_NO_FLAGS,
385     8, MONS_BAT, MONS_VAMPIRE_BAT, MH_UNDEAD, 10,
386     { {AT_BITE, AF_VAMPIRIC, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
387     3, 105,
388     1, 14, MST_NO_SPELLS, false, S_SILENT,
389     I_ANIMAL, HT_LAND, 30, DEFAULT_ENERGY,
390     MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_BAT,
391     {TILEP_MONS_VAMPIRE_BAT}, TILE_ERROR
392 },
393 
394 {
395     MONS_FIRE_BAT, 'b', LIGHTRED, "fire bat",
396     M_SEE_INVIS | M_UNBLINDABLE | M_WARM_BLOOD | M_BATTY | M_FLIES,
397     mrd(MR_RES_FIRE, 3) | MR_VUL_COLD | MR_VUL_WATER,
398     8, MONS_BAT, MONS_FIRE_BAT, MH_NATURAL, 10,
399     { {AT_BITE, AF_FIRE, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
400     5, 225,
401     1, 14, MST_NO_SPELLS, false, S_SILENT,
402     I_ANIMAL, HT_LAND, 30, DEFAULT_ENERGY,
403     MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_BAT,
404     {TILEP_MONS_FIRE_BAT}, TILE_ERROR
405 },
406 
407 {
408     MONS_BENNU, 'b', YELLOW, "bennu",
409     M_SEE_INVIS | M_WARM_BLOOD | M_FAST_REGEN | M_NO_POLY_TO | M_SPEAKS
410         | M_FLIES,
411     mrd(MR_RES_FIRE | MR_RES_NEG, 3) | MR_RES_POISON |
412         MR_RES_MIASMA | MR_VUL_WATER,
413     6, MONS_BENNU, MONS_BENNU, MH_NATURAL, 140,
414     { {AT_PECK, AF_HOLY, 27}, {AT_CLAW, AF_PLAIN, 24},
415       {AT_CLAW, AF_PLAIN, 24}, AT_NO_ATK },
416     14, 770,
417     6, 16, MST_NO_SPELLS, false, S_SCREECH,
418     I_HUMAN, HT_LAND, 16, DEFAULT_ENERGY,
419     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_BIRD,
420     {TILEP_MONS_BENNU}, TILE_ERROR
421 },
422 
423 {
424     MONS_CAUSTIC_SHRIKE, 'b', LIGHTGREEN, "caustic shrike",
425     M_SEE_INVIS | M_UNBLINDABLE | M_WARM_BLOOD | M_FLIES,
426     MR_RES_COLD | MR_RES_FIRE,
427     15, MONS_CAUSTIC_SHRIKE, MONS_CAUSTIC_SHRIKE, MH_NATURAL, 80,
428     { {AT_CLAW, AF_ACID, 36}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
429     18, 1080,
430     8, 18, MST_NO_SPELLS, true, S_SCREECH,
431     I_ANIMAL, HT_LAND, 20, DEFAULT_ENERGY,
432     MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_BIRD,
433     {TILEP_MONS_CAUSTIC_SHRIKE}, TILE_CORPSE_CAUSTIC_SHRIKE
434 },
435 
436 {
437     MONS_SHARD_SHRIKE, 'b', LIGHTBLUE, "shard shrike",
438     M_SEE_INVIS | M_UNBLINDABLE | M_WARM_BLOOD | M_BATTY | M_FLIES,
439     mrd(MR_RES_COLD, 2),
440     12, MONS_SHARD_SHRIKE, MONS_SHARD_SHRIKE, MH_NATURAL, 80,
441     { {AT_CLAW, AF_COLD, 21}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
442     21, 1050,
443     2, 18, MST_SHARD_SHRIKE, true, S_SCREECH,
444     I_ANIMAL, HT_LAND, 30, DEFAULT_ENERGY,
445     MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_BIRD,
446     {TILEP_MONS_SHARD_SHRIKE}, TILE_CORPSE_SHARD_SHRIKE
447 },
448 
449 // centaurs ('c')
450 {
451     MONS_CENTAUR, 'c', BROWN, "centaur",
452     M_WARM_BLOOD | M_ARCHER | M_SPEAKS,
453     MR_NO_FLAGS,
454     10, MONS_CENTAUR, MONS_CENTAUR, MH_NATURAL, 20,
455     { {AT_HIT, AF_PLAIN, 7}, {AT_KICK, AF_PLAIN, 3}, AT_NO_ATK, AT_NO_ATK },
456     4, 220,
457     3, 7, MST_NO_SPELLS, true, S_SHOUT,
458     I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY,
459     MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_CENTAUR,
460     {TILEP_MONS_CENTAUR}, TILE_CORPSE_CENTAUR
461 },
462 
463 {
464     MONS_CENTAUR_WARRIOR, 'c', YELLOW, "centaur warrior",
465     M_WARM_BLOOD | M_FIGHTER | M_ARCHER | M_SPEAKS,
466     MR_NO_FLAGS,
467     12, MONS_CENTAUR, MONS_CENTAUR, MH_NATURAL, 40,
468     { {AT_HIT, AF_PLAIN, 16}, {AT_KICK, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK },
469     10, 550,
470     4, 8, MST_NO_SPELLS, true, S_SHOUT,
471     I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY,
472     MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_CENTAUR,
473     {TILEP_MONS_CENTAUR_WARRIOR}, TILE_ERROR
474 },
475 
476 {
477     MONS_YAKTAUR, 'c', RED, "yaktaur",
478     M_WARM_BLOOD | M_ARCHER | M_SPEAKS,
479     MR_NO_FLAGS,
480     9, MONS_YAKTAUR, MONS_YAKTAUR, MH_NATURAL, 40,
481     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
482     8, 440,
483     4, 4, MST_NO_SPELLS, true, S_SHOUT,
484     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
485     MONUSE_WEAPONS_ARMOUR, SIZE_BIG, MON_SHAPE_CENTAUR,
486     {TILEP_MONS_YAKTAUR}, TILE_CORPSE_YAKTAUR
487 },
488 
489 {
490     MONS_YAKTAUR_CAPTAIN, 'c', LIGHTRED, "yaktaur captain",
491     M_WARM_BLOOD | M_FIGHTER | M_ARCHER | M_SPEAKS,
492     MR_NO_FLAGS,
493     9, MONS_YAKTAUR, MONS_YAKTAUR, MH_NATURAL, 60,
494     { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
495     14, 770,
496     5, 5, MST_NO_SPELLS, true, S_SHOUT,
497     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
498     MONUSE_WEAPONS_ARMOUR, SIZE_BIG, MON_SHAPE_CENTAUR,
499     {TILEP_MONS_YAKTAUR_CAPTAIN}, TILE_ERROR
500 },
501 
502 {
503     MONS_FAUN, 'c', GREEN, "faun",
504     M_WARM_BLOOD | M_SPEAKS,
505     MR_NO_FLAGS,
506     8, MONS_FAUN, MONS_FAUN, MH_NATURAL, 40,
507     { {AT_HIT, AF_PLAIN, 23}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
508     10, 500,
509     2, 10, MST_FAUN, true, S_SHOUT,
510     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
511     MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM,
512         MON_SHAPE_HUMANOID_TAILED,
513     {TILEP_MONS_FAUN}, TILE_CORPSE_FAUN
514 },
515 
516 {
517     MONS_SATYR, 'c', LIGHTGREEN, "satyr",
518     M_WARM_BLOOD | M_SPEAKS | M_ARCHER | M_PREFER_RANGED,
519     MR_NO_FLAGS,
520     10, MONS_FAUN, MONS_SATYR, MH_NATURAL, 40,
521     { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
522     12, 660,
523     2, 12, MST_SATYR, true, S_SHOUT,
524     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
525     MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM,
526         MON_SHAPE_HUMANOID_TAILED,
527     {TILEP_MONS_SATYR}, TILE_CORPSE_SATYR
528 },
529 
530 // draconians ('d')
531 {   // Base draconian.
532     MONS_DRACONIAN, 'd', BROWN, "draconian",
533     M_COLD_BLOOD | M_SPEAKS | M_NO_POLY_TO,
534     MR_NO_FLAGS,
535     10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, 10,
536     { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
537     8, 640,
538     10, 11, MST_NO_SPELLS, true, S_ROAR, I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
539     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM,
540         MON_SHAPE_HUMANOID_TAILED,
541     {TILEP_DRACO_BASE}, TILE_CORPSE_DRACONIAN_BROWN
542 },
543 
544 {
545     MONS_BLACK_DRACONIAN, 'd', BLUE, "black draconian",
546     M_COLD_BLOOD | M_SPEAKS | M_FLIES,
547     mrd(MR_RES_ELEC, 3),
548     10, MONS_DRACONIAN, MONS_BLACK_DRACONIAN, MH_NATURAL, 40,
549     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
550     14, 980,
551     9, 10, MST_NO_SPELLS, true, S_ROAR,
552     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
553     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM,
554         MON_SHAPE_HUMANOID_WINGED_TAILED,
555     {TILEP_MONS_PROGRAM_BUG}, TILE_CORPSE_DRACONIAN_BLACK
556 },
557 
558 {
559     MONS_YELLOW_DRACONIAN, 'd', YELLOW, "yellow draconian",
560     M_COLD_BLOOD | M_SPEAKS,
561     MR_RES_ACID,
562     10, MONS_DRACONIAN, MONS_YELLOW_DRACONIAN, MH_NATURAL, 40,
563     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
564     14, 980,
565     9, 10, MST_NO_SPELLS, true, S_ROAR,
566     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
567     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM,
568         MON_SHAPE_HUMANOID_TAILED,
569     {TILEP_MONS_PROGRAM_BUG}, TILE_CORPSE_DRACONIAN_YELLOW
570 },
571 
572 {
573     // Colours are used for picking the right tile for Tiamat,
574     // so this needs to be different from the grey draconian. (jpeg)
575     MONS_PALE_DRACONIAN, 'd', CYAN, "pale draconian",
576     M_COLD_BLOOD | M_SPEAKS | M_NO_POLY_TO,
577     MR_RES_STEAM,
578     10, MONS_DRACONIAN, MONS_PALE_DRACONIAN, MH_NATURAL, 40,
579     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
580     14, 980,
581     9, 14, MST_NO_SPELLS, true, S_ROAR,
582     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
583     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM,
584         MON_SHAPE_HUMANOID_TAILED,
585     {TILEP_MONS_PROGRAM_BUG}, TILE_CORPSE_DRACONIAN_PALE
586 },
587 
588 {
589     MONS_GREEN_DRACONIAN, 'd', GREEN, "green draconian",
590     M_COLD_BLOOD | M_SPEAKS,
591     MR_RES_POISON,
592     10, MONS_DRACONIAN, MONS_GREEN_DRACONIAN, MH_NATURAL, 40,
593     { {AT_HIT, AF_PLAIN, 20}, {AT_TAIL_SLAP, AF_POISON, 15}, AT_NO_ATK,
594        AT_NO_ATK },
595     14, 980,
596     9, 10, MST_NO_SPELLS, true, S_ROAR,
597     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
598     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM,
599         MON_SHAPE_HUMANOID_TAILED,
600     {TILEP_MONS_PROGRAM_BUG}, TILE_CORPSE_DRACONIAN_GREEN
601 },
602 
603 {
604     MONS_PURPLE_DRACONIAN, 'd', MAGENTA, "purple draconian",
605     M_COLD_BLOOD | M_SPEAKS,
606     MR_NO_FLAGS,
607     10, MONS_DRACONIAN, MONS_PURPLE_DRACONIAN, MH_NATURAL, 140,
608     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
609     14, 980,
610     9, 10, MST_NO_SPELLS, true, S_ROAR,
611     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
612     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM,
613         MON_SHAPE_HUMANOID_TAILED,
614     {TILEP_MONS_PROGRAM_BUG}, TILE_CORPSE_DRACONIAN_PURPLE
615 },
616 
617 {
618     MONS_RED_DRACONIAN, 'd', LIGHTRED, "red draconian",
619     M_COLD_BLOOD | M_SPEAKS,
620     MR_RES_FIRE,
621     10, MONS_DRACONIAN, MONS_RED_DRACONIAN, MH_NATURAL, 40,
622     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
623     14, 980,
624     9, 10, MST_NO_SPELLS, true, S_ROAR,
625     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
626     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM,
627         MON_SHAPE_HUMANOID_TAILED,
628     {TILEP_MONS_PROGRAM_BUG}, TILE_CORPSE_DRACONIAN_RED
629 },
630 
631 {
632     MONS_WHITE_DRACONIAN, 'd', WHITE, "white draconian",
633     M_COLD_BLOOD | M_SPEAKS,
634     MR_RES_COLD,
635     10, MONS_DRACONIAN, MONS_WHITE_DRACONIAN, MH_NATURAL, 40,
636     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
637     14, 980,
638     9, 10, MST_NO_SPELLS, true, S_ROAR,
639     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
640     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM,
641         MON_SHAPE_HUMANOID_TAILED,
642     {TILEP_MONS_PROGRAM_BUG}, TILE_CORPSE_DRACONIAN_WHITE
643 },
644 
645 {
646     MONS_GREY_DRACONIAN, 'd', LIGHTGREY, "grey draconian",
647     M_COLD_BLOOD | M_SPEAKS | M_NO_POLY_TO,
648     MR_NO_FLAGS,
649     10, MONS_DRACONIAN, MONS_GREY_DRACONIAN, MH_NATURAL, 40,
650     { {AT_HIT, AF_PLAIN, 25}, {AT_TAIL_SLAP, AF_PLAIN, 15}, AT_NO_ATK,
651        AT_NO_ATK },
652     14, 980,
653     16, 10, MST_NO_SPELLS, true, S_ROAR,
654     I_HUMAN, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY,
655     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM,
656         MON_SHAPE_HUMANOID_TAILED,
657     {TILEP_MONS_PROGRAM_BUG}, TILE_CORPSE_DRACONIAN_GREY
658 },
659 
660 // nonbase draconians ('q')
661 // Nonbase draconian AC and EV is additive with the base type.
662 {
663     MONS_DRACONIAN_STORMCALLER, 'q', BROWN, "draconian stormcaller",
664     M_COLD_BLOOD | M_SPEAKS,
665     MR_NO_FLAGS,
666     10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, 40,
667     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
668     16, 880,
669     0, 0, MST_DRACONIAN_STORMCALLER, true, S_ROAR,
670     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
671     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM,
672         MON_SHAPE_HUMANOID_TAILED,
673     {TILEP_DRACO_STORMCALLER}, TILE_ERROR
674 },
675 
676 {
677     MONS_DRACONIAN_MONK, 'q', BLUE, "draconian monk",
678     M_FIGHTER | M_COLD_BLOOD | M_SPEAKS,
679     MR_NO_FLAGS,
680     10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, 40,
681     { {AT_HIT, AF_PLAIN, 35}, {AT_KICK, AF_PLAIN, 20},
682       {AT_TAIL_SLAP, AF_PLAIN, 15}, AT_NO_ATK },
683     16, 1200,
684     -3, 10, MST_NO_SPELLS, true, S_ROAR,
685     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
686     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM,
687         MON_SHAPE_HUMANOID_TAILED,
688     {TILEP_DRACO_MONK}, TILE_ERROR
689 },
690 
691 {
692     MONS_DRACONIAN_SHIFTER, 'q', LIGHTCYAN, "draconian shifter",
693     M_COLD_BLOOD | M_SPEAKS,
694     MR_NO_FLAGS,
695     10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, 40,
696     { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
697     16, 960,
698     -1, 6, MST_DRACONIAN_SHIFTER, true, S_ROAR,
699     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
700     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM,
701         MON_SHAPE_HUMANOID_TAILED,
702     {TILEP_DRACO_SHIFTER}, TILE_ERROR
703 },
704 
705 {
706     MONS_DRACONIAN_ANNIHILATOR, 'q', LIGHTBLUE, "draconian annihilator",
707     M_COLD_BLOOD | M_SPEAKS,
708     MR_NO_FLAGS,
709     10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, 40,
710     { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
711     16, 800,
712     -1, 0, MST_ANNIHILATOR, true, S_ROAR,
713     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
714     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM,
715         MON_SHAPE_HUMANOID_TAILED,
716     {TILEP_DRACO_ANNIHILATOR}, TILE_ERROR
717 },
718 
719 {
720     MONS_DRACONIAN_KNIGHT, 'q', CYAN, "draconian knight",
721     M_FIGHTER | M_COLD_BLOOD | M_SPEAKS,
722     MR_NO_FLAGS,
723     10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, 40,
724     { {AT_HIT, AF_PLAIN, 27}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
725     16, 1120,
726     9, 2, MST_DRACONIAN_KNIGHT, true, S_ROAR,
727     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
728     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM,
729         MON_SHAPE_HUMANOID_TAILED,
730     {TILEP_DRACO_KNIGHT}, TILE_ERROR
731 },
732 
733 {
734     MONS_DRACONIAN_SCORCHER, 'q', LIGHTRED, "draconian scorcher",
735     M_COLD_BLOOD | M_SPEAKS,
736     MR_NO_FLAGS,
737     10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL | MH_EVIL, 40,
738     { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
739     16, 800,
740     -1, 2, MST_DRACONIAN_SCORCHER, true, S_ROAR,
741     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
742     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM,
743         MON_SHAPE_HUMANOID_TAILED,
744     {TILEP_DRACO_SCORCHER}, TILE_ERROR
745 },
746 
747 // elves ('e')
748 {
749     MONS_ELF, 'e', LIGHTRED, "elf",
750     M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO,
751     MR_NO_FLAGS,
752     10, MONS_ELF, MONS_ELF, MH_NATURAL, 40,
753     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
754     8, 360,
755     3, 15, MST_NO_SPELLS, true, S_SHOUT,
756     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
757     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
758     {TILEP_MONS_ELF}, TILE_CORPSE_ELF
759 },
760 
761 {
762     MONS_DEEP_ELF_KNIGHT, 'e', BLUE, "deep elf knight",
763     M_WARM_BLOOD | M_FIGHTER | M_SPEAKS,
764     MR_NO_FLAGS,
765     10, MONS_ELF, MONS_ELF, MH_NATURAL, 80,
766     { {AT_HIT, AF_PLAIN, 21}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
767     11, 495,
768     0, 17, MST_DEEP_ELF_KNIGHT, true, S_SHOUT,
769     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
770     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
771     {TILEP_MONS_DEEP_ELF_KNIGHT}, TILE_ERROR
772 },
773 
774 {
775     MONS_DEEP_ELF_ARCHER, 'e', BROWN, "deep elf archer",
776     M_WARM_BLOOD | M_ARCHER | M_SPEAKS,
777     MR_NO_FLAGS,
778     10, MONS_ELF, MONS_ELF, MH_NATURAL, 80,
779     { {AT_HIT, AF_PLAIN, 21}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
780     10, 500,
781     0, 15, MST_DEEP_ELF_ARCHER, true, S_SHOUT,
782     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
783     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
784     {TILEP_MONS_DEEP_ELF_ARCHER}, TILE_ERROR
785 },
786 
787 {
788     MONS_DEEP_ELF_BLADEMASTER, 'e', LIGHTCYAN, "deep elf blademaster",
789     M_WARM_BLOOD | M_FIGHTER | M_TWO_WEAPONS | M_SPEAKS,
790     MR_NO_FLAGS,
791     10, MONS_ELF, MONS_ELF, MH_NATURAL, 120,
792     { {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK },
793     16, 1040,
794     0, 25, MST_NO_SPELLS, true, S_SHOUT,
795     I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY,
796     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
797     {TILEP_MONS_DEEP_ELF_BLADEMASTER}, TILE_ERROR
798 },
799 
800 {
801     MONS_DEEP_ELF_MASTER_ARCHER, 'e', LIGHTGREY, "deep elf master archer",
802     M_WARM_BLOOD | M_ARCHER | M_PREFER_RANGED | M_SPEAKS,
803     MR_NO_FLAGS,
804     30, MONS_ELF, MONS_ELF, MH_NATURAL, 100,
805     // Attack damage gets rolled into their ranged attacks.
806     { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
807     15, 750,
808     0, 15, MST_NO_SPELLS, true, S_SHOUT,
809     I_HUMAN, HT_LAND, 10, MISSILE_ENERGY(5),
810     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
811     {TILEP_MONS_DEEP_ELF_MASTER_ARCHER}, TILE_ERROR
812 },
813 
814 {
815     MONS_DEEP_ELF_AIR_MAGE, 'e', CYAN, "deep elf zephyrmancer",
816     M_WARM_BLOOD | M_SPEAKS,
817     MR_NO_FLAGS,
818     12, MONS_ELF, MONS_ELF, MH_NATURAL, 40,
819     { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
820     9, 405,
821     0, 13, MST_DEEP_ELF_AIR_MAGE, true, S_SHOUT,
822     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
823     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
824     {TILEP_MONS_DEEP_ELF_AIR_MAGE}, TILE_ERROR
825 },
826 
827 {
828     MONS_DEEP_ELF_FIRE_MAGE, 'e', RED, "deep elf pyromancer",
829     M_WARM_BLOOD | M_SPEAKS,
830     MR_NO_FLAGS,
831     12, MONS_ELF, MONS_ELF, MH_NATURAL, 40,
832     { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
833     9, 405,
834     0, 13, MST_DEEP_ELF_FIRE_MAGE, true, S_SHOUT,
835     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
836     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
837     {TILEP_MONS_DEEP_ELF_FIRE_MAGE}, TILE_ERROR
838 },
839 
840 {
841     MONS_DEEP_ELF_HIGH_PRIEST, 'e', LIGHTGREEN, "deep elf high priest",
842     M_SPEAKS | M_WARM_BLOOD | M_SEE_INVIS,
843     MR_NO_FLAGS,
844     15, MONS_ELF, MONS_ELF, MH_NATURAL | MH_EVIL, 80,
845     { {AT_HIT, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
846     11, 495,
847     3, 13, MST_DEEP_ELF_HIGH_PRIEST, true, S_SHOUT,
848     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
849     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
850     {TILEP_MONS_DEEP_ELF_HIGH_PRIEST}, TILE_ERROR
851 },
852 
853 {
854     MONS_DEEP_ELF_DEMONOLOGIST, 'e', YELLOW, "deep elf demonologist",
855     M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS,
856     MR_NO_FLAGS,
857     20, MONS_ELF, MONS_ELF, MH_NATURAL | MH_EVIL, 100,
858     { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
859     12, 540,
860     0, 13, MST_DEEP_ELF_DEMONOLOGIST, true, S_SHOUT,
861     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
862     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
863     {TILEP_MONS_DEEP_ELF_DEMONOLOGIST}, TILE_ERROR
864 },
865 
866 {
867     MONS_DEEP_ELF_ANNIHILATOR, 'e', LIGHTBLUE, "deep elf annihilator",
868     M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS,
869     MR_NO_FLAGS,
870     10, MONS_ELF, MONS_ELF, MH_NATURAL, 120,
871     { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
872     15, 675,
873     0, 13, MST_ANNIHILATOR, true, S_SHOUT,
874     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
875     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
876     {TILEP_MONS_DEEP_ELF_ANNIHILATOR}, TILE_ERROR
877 },
878 
879 {
880     MONS_DEEP_ELF_SORCERER, 'e', LIGHTMAGENTA, "deep elf sorcerer",
881     M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS,
882     MR_NO_FLAGS,
883     17, MONS_ELF, MONS_ELF, MH_NATURAL | MH_EVIL, 120,
884     { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
885     14, 630,
886     0, 13, MST_DEEP_ELF_SORCERER, true, S_SHOUT,
887     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
888     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
889     {TILEP_MONS_DEEP_ELF_SORCERER}, TILE_ERROR
890 },
891 
892 {
893     MONS_DEEP_ELF_DEATH_MAGE, 'e', WHITE, "deep elf death mage",
894     M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS,
895     MR_NO_FLAGS,
896     10, MONS_ELF, MONS_ELF, MH_NATURAL | MH_EVIL, 120,
897     { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
898     15, 675,
899     0, 13, MST_DEEP_ELF_DEATH_MAGE, true, S_SHOUT,
900     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
901     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
902     {TILEP_MONS_DEEP_ELF_DEATH_MAGE}, TILE_ERROR
903 },
904 
905 {
906     MONS_DEEP_ELF_ELEMENTALIST, 'e', LIGHTRED, "deep elf elementalist",
907     M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS,
908     MR_NO_FLAGS,
909     17, MONS_ELF, MONS_ELF, MH_NATURAL, 120,
910     { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
911     14, 630,
912     0, 13, MST_DEEP_ELF_ELEMENTALIST, true, S_SHOUT,
913     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
914     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
915     {TILEP_MONS_DEEP_ELF_ELEMENTALIST, TVARY_CYCLE}, TILE_ERROR
916 },
917 
918 // Mobile plants and fungi ('f')
919 {
920     MONS_WANDERING_MUSHROOM, 'f', BROWN, "wandering mushroom",
921     M_NO_FLAGS,
922     MR_RES_POISON,
923     10, MONS_FUNGUS, MONS_WANDERING_MUSHROOM, MH_PLANT, 40,
924     { {AT_SPORE, AF_CONFUSE, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
925     8, 440,
926     5, 0, MST_NO_SPELLS, false, S_SILENT,
927     I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY,
928     MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_FUNGUS,
929     {TILEP_MONS_WANDERING_MUSHROOM}, TILE_ERROR
930 },
931 
932 {
933     MONS_DEATHCAP, 'f', LIGHTMAGENTA, "deathcap",
934     M_NO_FLAGS,
935     MR_RES_COLD,
936     6, MONS_FUNGUS, MONS_WANDERING_MUSHROOM, MH_UNDEAD, 80,
937     { {AT_SPORE, AF_CONFUSE, 33}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
938     13, 520,
939     5, 0, MST_DEATHCAP, false, S_SILENT,
940     I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY,
941     MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_FUNGUS,
942     {TILEP_MONS_DEATHCAP}, TILE_ERROR
943 },
944 
945 {
946     MONS_THORN_HUNTER, 'f', WHITE, "thorn hunter",
947     M_SEE_INVIS,
948     MR_RES_POISON | MR_VUL_FIRE,
949     14, MONS_PLANT, MONS_THORN_HUNTER, MH_PLANT, 100,
950     { {AT_HIT, AF_PLAIN, 27}, {AT_HIT, AF_PLAIN, 23}, AT_NO_ATK,
951        AT_NO_ATK },
952     15, 975,
953     9, 9, MST_THORN_HUNTER, false, S_SILENT,
954     I_ANIMAL, HT_AMPHIBIOUS, 12, SWIM_ENERGY(12),
955     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_PLANT,
956     {TILEP_MONS_THORN_HUNTER}, TILE_ERROR
957 },
958 
959 {
960     MONS_SHAMBLING_MANGROVE, 'f', LIGHTRED, "shambling mangrove",
961     M_NO_FLAGS,
962     MR_RES_POISON,
963     15, MONS_SHAMBLING_MANGROVE, MONS_SHAMBLING_MANGROVE, MH_PLANT, 100,
964     { {AT_HIT, AF_PLAIN, 41}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
965     13, 910,
966     13, 3, MST_SHAMBLING_MANGROVE, false, S_SILENT,
967     I_HUMAN, HT_AMPHIBIOUS, 8, DEFAULT_ENERGY,
968     MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_PLANT,
969     {TILEP_MONS_TREANT}, TILE_ERROR
970 },
971 
972 {
973     MONS_VINE_STALKER, 'f', GREEN, "vine stalker",
974     M_SPEAKS | M_NO_POLY_TO | M_FAST_REGEN,
975     MR_NO_FLAGS,
976     10, MONS_VINE_STALKER, MONS_VINE_STALKER, MH_NATURAL, 40,
977     { {AT_HIT, AF_PLAIN, 10}, {AT_BITE, AF_ANTIMAGIC, 10}, AT_NO_ATK,
978        AT_NO_ATK },
979     8, 360,
980     2, 12, MST_NO_SPELLS, false, S_SHOUT,
981     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
982     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
983     {TILEP_MONS_VINE_STALKER}, TILE_ERROR
984 },
985 
986 // goblins and other small humanoids ('g')
987 {
988     MONS_GOBLIN, 'g', LIGHTGREY, "goblin",
989     M_WARM_BLOOD | M_SPEAKS,
990     MR_NO_FLAGS,
991     10, MONS_GOBLIN, MONS_GOBLIN, MH_NATURAL, 0,
992     { {AT_HIT, AF_PLAIN, 1}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
993     1, 40,
994     0, 12, MST_NO_SPELLS, true, S_SHOUT,
995     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
996     MONUSE_WEAPONS_ARMOUR, SIZE_SMALL, MON_SHAPE_HUMANOID,
997     {TILEP_MONS_GOBLIN}, TILE_CORPSE_GOBLIN
998 },
999 
1000 {
1001     MONS_HOBGOBLIN, 'g', BROWN, "hobgoblin",
1002     M_WARM_BLOOD | M_SPEAKS,
1003     MR_NO_FLAGS,
1004     10, MONS_GOBLIN, MONS_HOBGOBLIN, MH_NATURAL, 0,
1005     { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1006     1, 55,
1007     2, 10, MST_NO_SPELLS, true, S_SHOUT,
1008     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1009     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1010     {TILEP_MONS_HOBGOBLIN}, TILE_CORPSE_HOBGOBLIN
1011 },
1012 
1013 {
1014     MONS_GNOLL, 'g', YELLOW, "gnoll",
1015     M_WARM_BLOOD | M_SPEAKS,
1016     MR_NO_FLAGS,
1017     10, MONS_GNOLL, MONS_GNOLL, MH_NATURAL, 10,
1018     { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1019     2, 130,
1020     2, 9, MST_NO_SPELLS, true, S_SHOUT,
1021     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1022     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1023     {TILEP_MONS_GNOLL}, TILE_CORPSE_GNOLL
1024 },
1025 
1026 {
1027     MONS_GNOLL_SHAMAN, 'g', WHITE, "gnoll shaman",
1028     M_WARM_BLOOD | M_SPEAKS,
1029     MR_NO_FLAGS,
1030     10, MONS_GNOLL, MONS_GNOLL, MH_NATURAL, 20,
1031     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1032     3, 195,
1033     2, 9, MST_GNOLL_SHAMAN, true, S_SHOUT,
1034     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1035     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1036     {TILEP_MONS_GNOLL_SHAMAN}, TILE_ERROR
1037 },
1038 
1039 {
1040     MONS_GNOLL_SERGEANT, 'g', CYAN, "gnoll sergeant",
1041     M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
1042     MR_NO_FLAGS,
1043     10, MONS_GNOLL, MONS_GNOLL, MH_NATURAL, 20,
1044     { {AT_HIT, AF_PLAIN, 11}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1045     4, 260,
1046     2, 9, MST_NO_SPELLS, true, S_SHOUT,
1047     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1048     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1049     {TILEP_MONS_GNOLL_SERGEANT}, TILE_ERROR
1050 },
1051 
1052 {
1053     MONS_BOGGART, 'g', MAGENTA, "boggart",
1054     M_SEE_INVIS | M_WARM_BLOOD,
1055     MR_NO_FLAGS,
1056     14, MONS_BOGGART, MONS_BOGGART, MH_NATURAL, 40,
1057     { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1058     4, 200,
1059     0, 12, MST_BOGGART, false, S_SHOUT,
1060     I_HUMAN, HT_LAND, 12, DEFAULT_ENERGY,
1061     MONUSE_WEAPONS_ARMOUR, SIZE_LITTLE, MON_SHAPE_HUMANOID,
1062     {TILEP_MONS_BOGGART}, TILE_ERROR
1063 },
1064 
1065 { // Another dummy monster.
1066     MONS_DWARF, 'g', GREEN, "dwarf",
1067     M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO,
1068     MR_NO_FLAGS,
1069     10, MONS_DWARF, MONS_DWARF, MH_NATURAL, 20,
1070     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1071     5, 275,
1072     2, 12, MST_NO_SPELLS, true, S_SHOUT,
1073     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1074     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1075     {TILEP_MONS_DWARF}, TILE_CORPSE_DWARF
1076 },
1077 
1078 {
1079     MONS_DEEP_DWARF, 'g', LIGHTBLUE, "deep dwarf",
1080     M_WARM_BLOOD | M_SPEAKS | M_NO_REGEN | M_NO_POLY_TO,
1081     MR_NO_FLAGS,
1082     10, MONS_DWARF, MONS_DEEP_DWARF, MH_NATURAL, 40,
1083     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1084     5, 275,
1085     2, 12, MST_NO_SPELLS, true, S_SHOUT,
1086     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1087     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1088     {TILEP_MONS_DEEP_DWARF}, TILE_CORPSE_DEEP_DWARF
1089 },
1090 
1091 // carnivorous quadrupeds ('h')
1092 {
1093     MONS_JACKAL, 'h', BROWN, "jackal",
1094     M_WARM_BLOOD,
1095     MR_NO_FLAGS,
1096     10, MONS_HOUND, MONS_JACKAL, MH_NATURAL, 0,
1097     { {AT_BITE, AF_PLAIN, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1098     1, 55,
1099     2, 12, MST_NO_SPELLS, true, S_BARK,
1100     I_ANIMAL, HT_LAND, 14, DEFAULT_ENERGY,
1101     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_QUADRUPED,
1102     {TILEP_MONS_JACKAL}, TILE_CORPSE_JACKAL
1103 },
1104 
1105 {
1106     MONS_HOUND, 'h', YELLOW, "hound",
1107     M_SEE_INVIS | M_UNBLINDABLE | M_WARM_BLOOD,
1108     MR_NO_FLAGS,
1109     10, MONS_HOUND, MONS_HOUND, MH_NATURAL, 10,
1110     { {AT_BITE, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1111     3, 165,
1112     2, 13, MST_NO_SPELLS, true, S_BARK,
1113     I_ANIMAL, HT_LAND, 15, DEFAULT_ENERGY,
1114     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_QUADRUPED,
1115     {TILEP_MONS_HOUND}, TILE_CORPSE_HOUND
1116 },
1117 
1118 {
1119     MONS_HOWLER_MONKEY, 'h', LIGHTGREEN, "howler monkey",
1120     M_WARM_BLOOD,
1121     MR_NO_FLAGS,
1122     15, MONS_HOWLER_MONKEY, MONS_HOWLER_MONKEY, MH_NATURAL, 10,
1123     { {AT_HIT, AF_PLAIN, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1124     3, 185,
1125     1, 11, MST_HOWLER_MONKEY, true, S_HOWL,
1126     I_ANIMAL, HT_LAND, 12, DEFAULT_ENERGY,
1127     MONUSE_OPEN_DOORS, SIZE_SMALL, MON_SHAPE_HUMANOID_TAILED,
1128     {TILEP_MONS_HOWLER_MONKEY}, TILE_CORPSE_HOWLER_MONKEY
1129 },
1130 
1131 {
1132     MONS_WARG, 'h', WHITE, "warg",
1133     M_SEE_INVIS | M_UNBLINDABLE | M_WARM_BLOOD,
1134     MR_RES_POISON,
1135     12, MONS_HOUND, MONS_WARG, MH_NATURAL, 40,
1136     { {AT_BITE, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1137     5, 325,
1138     4, 12, MST_NO_SPELLS, true, S_HOWL,
1139     I_ANIMAL, HT_LAND, 13, DEFAULT_ENERGY,
1140     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED,
1141     {TILEP_MONS_WARG}, TILE_CORPSE_WARG
1142 },
1143 
1144 {
1145     MONS_WOLF, 'h', LIGHTGREY, "wolf",
1146     M_SEE_INVIS | M_UNBLINDABLE | M_WARM_BLOOD,
1147     MR_NO_FLAGS,
1148     12, MONS_HOUND, MONS_WOLF, MH_NATURAL, 20,
1149     { {AT_BITE, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1150     4, 220,
1151     4, 15, MST_NO_SPELLS, true, S_HOWL,
1152     I_ANIMAL, HT_LAND, 17, DEFAULT_ENERGY,
1153     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED,
1154     {TILEP_MONS_WOLF}, TILE_CORPSE_WOLF
1155 },
1156 
1157 {
1158     MONS_HOG, 'h', LIGHTMAGENTA, "hog",
1159     M_WARM_BLOOD,
1160     MR_NO_FLAGS,
1161     10, MONS_HOG, MONS_HOG, MH_NATURAL, 20,
1162     { {AT_BITE, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1163     6, 330,
1164     2, 9, MST_NO_SPELLS, true, S_SQUEAL,
1165     I_ANIMAL, HT_LAND, 13, DEFAULT_ENERGY,
1166     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_QUADRUPED,
1167     {TILEP_MONS_HOG}, TILE_CORPSE_HOG
1168 },
1169 
1170 {
1171     MONS_HELL_HOUND, 'h', CYAN, "hell hound",
1172     M_SEE_INVIS | M_UNBLINDABLE,
1173     MR_RES_POISON | mrd(MR_RES_FIRE, 3) | MR_VUL_COLD,
1174     10, MONS_HOUND, MONS_HELL_HOUND, MH_DEMONIC, 20,
1175     { {AT_BITE, AF_PLAIN, 13}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1176     5, 275,
1177     6, 13, MST_HELL_HOUND, true, S_BARK,
1178     I_ANIMAL, HT_LAND, 15, DEFAULT_ENERGY,
1179     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED,
1180     {TILEP_MONS_HELL_HOUND}, TILE_CORPSE_HELL_HOUND
1181 },
1182 
1183 {
1184     MONS_DOOM_HOUND, 'h', GREEN, "doom hound",
1185     M_SEE_INVIS | M_UNBLINDABLE,
1186     MR_NO_FLAGS,
1187     10, MONS_HOUND, MONS_DOOM_HOUND, MH_DEMONIC, 20,
1188     { {AT_BITE, AF_PLAIN, 45}, {AT_CLAW, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK },
1189     20, 1100,
1190     6, 13, MST_DOOM_HOUND, true, S_BARK,
1191     I_ANIMAL, HT_LAND, 13, DEFAULT_ENERGY,
1192     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED,
1193     {TILEP_MONS_DOOM_HOUND}, TILE_CORPSE_DOOM_HOUND
1194 },
1195 
1196 {
1197     MONS_RAIJU, 'h', LIGHTCYAN, "raiju",
1198     M_SEE_INVIS | M_UNBLINDABLE,
1199     mrd(MR_RES_ELEC, 3),
1200     12, MONS_HOUND, MONS_RAIJU, MH_NATURAL, 20,
1201     { {AT_BITE, AF_ELEC, 11}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1202     7, 385,
1203     4, 14, MST_RAIJU, true, S_BARK,
1204     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
1205     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED,
1206     {TILEP_MONS_RAIJU}, TILE_CORPSE_RAIJU
1207 },
1208 
1209 {
1210     MONS_HELL_HOG, 'h', LIGHTRED, "hell hog",
1211     M_NO_FLAGS,
1212     mrd(MR_RES_FIRE, 2),
1213     10, MONS_HOG, MONS_HELL_HOG, MH_DEMONIC, 40,
1214     { {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1215     11, 595,
1216     2, 9, MST_HELL_HOG, true, S_SQUEAL,
1217     I_ANIMAL, HT_LAND, 14, DEFAULT_ENERGY,
1218     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED,
1219     {TILEP_MONS_HELL_HOG}, TILE_CORPSE_HELL_HOG
1220 },
1221 
1222 {   // effect of porkalator cast on holies
1223     MONS_HOLY_SWINE, 'h', YELLOW, "holy swine",
1224     M_FLIES,
1225     MR_NO_FLAGS,
1226     10, MONS_HOG, MONS_HOLY_SWINE, MH_HOLY, 40,
1227     { {AT_BITE, AF_HOLY, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1228     11, 605,
1229     2, 9, MST_NO_SPELLS, false, S_SQUEAL,
1230     I_ANIMAL, HT_LAND, 14, DEFAULT_ENERGY,
1231     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_QUADRUPED,
1232     {TILEP_MONS_HOLY_SWINE,}, TILE_ERROR
1233 },
1234 
1235 { // a dummy monster for recolouring
1236     MONS_FELID, 'h', MAGENTA, "felid",
1237     M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO,
1238     MR_NO_FLAGS,
1239     10, MONS_FELID, MONS_FELID, MH_NATURAL, 40,
1240     { {AT_CLAW, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1241     5, 175,
1242     2, 18, MST_NO_SPELLS, true, S_HISS,
1243     I_HUMAN, HT_LAND, 10, MOVE_ENERGY(8),
1244     MONUSE_STARTING_EQUIPMENT, SIZE_LITTLE, MON_SHAPE_QUADRUPED,
1245     {TILEP_MONS_FELID}, TILE_CORPSE_FELID
1246 },
1247 
1248 DUMMY(MONS_BEAR, 'h', LIGHTGREY, "bear", TILEP_MONS_BLACK_BEAR)
1249 
1250 {
1251     MONS_POLAR_BEAR, 'h', LIGHTBLUE, "polar bear",
1252     M_WARM_BLOOD,
1253     MR_RES_COLD,
1254     12, MONS_BEAR, MONS_POLAR_BEAR, MH_NATURAL, 20,
1255     { {AT_BITE, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 5}, {AT_CLAW, AF_PLAIN, 5},
1256        AT_NO_ATK },
1257     7, 455,
1258     7, 8, MST_BEAR, true, S_GROWL,
1259     I_ANIMAL, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY,
1260     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED_TAILLESS,
1261     {TILEP_MONS_POLAR_BEAR}, TILE_CORPSE_POLAR_BEAR
1262 },
1263 
1264 {
1265     MONS_BLACK_BEAR, 'h', BLUE, "black bear",
1266     M_WARM_BLOOD,
1267     MR_NO_FLAGS,
1268     9, MONS_BEAR, MONS_BLACK_BEAR, MH_NATURAL, 20,
1269     { {AT_BITE, AF_PLAIN, 9}, {AT_CLAW, AF_PLAIN, 5}, {AT_CLAW, AF_PLAIN, 5},
1270        AT_NO_ATK },
1271     6, 270,
1272     2, 8, MST_BEAR, true, S_GROWL,
1273     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
1274     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED_TAILLESS,
1275     {TILEP_MONS_BLACK_BEAR}, TILE_CORPSE_BLACK_BEAR
1276 },
1277 
1278 // spriggans ('i')
1279 {
1280     MONS_SPRIGGAN, 'i', LIGHTGREY, "spriggan",
1281     M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS,
1282     MR_NO_FLAGS,
1283     10, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, 60,
1284     { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1285     7, 245,
1286     1, 18, MST_NO_SPELLS, true, S_SHOUT,
1287     I_HUMAN, HT_LAND, 10, MOVE_ENERGY(6),
1288     MONUSE_WEAPONS_ARMOUR, SIZE_LITTLE, MON_SHAPE_HUMANOID,
1289     {TILEP_MONS_SPRIGGAN}, TILE_CORPSE_SPRIGGAN
1290 },
1291 
1292 {   // both the guy and his ride as one monster
1293     MONS_SPRIGGAN_RIDER, 'i', LIGHTBLUE, "spriggan rider",
1294     M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_FIGHTER | M_FLIES,
1295     MR_VUL_POISON, // the mount
1296     8, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, 100,
1297     { {AT_HIT, AF_PLAIN, 27}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1298     11, 605,
1299     1, 18, MST_NO_SPELLS, true, S_SHOUT,
1300     I_HUMAN, HT_LAND, 10, MOVE_ENERGY(6),
1301     MONUSE_WEAPONS_ARMOUR, SIZE_SMALL, MON_SHAPE_HUMANOID, // ??
1302     {TILEP_MONS_SPRIGGAN_RIDER}, TILE_ERROR
1303 },
1304 
1305 {
1306     MONS_SPRIGGAN_DRUID, 'i', GREEN, "spriggan druid",
1307     M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS,
1308     MR_NO_FLAGS,
1309     10, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, 100,
1310     { {AT_HIT, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1311     11, 440,
1312     1, 18, MST_SPRIGGAN_DRUID, true, S_SHOUT,
1313     I_HUMAN, HT_LAND, 10, MOVE_ENERGY(6),
1314     MONUSE_WEAPONS_ARMOUR, SIZE_LITTLE, MON_SHAPE_HUMANOID,
1315     {TILEP_MONS_SPRIGGAN_DRUID}, TILE_ERROR
1316 },
1317 
1318 {
1319     MONS_SPRIGGAN_BERSERKER, 'i', LIGHTRED, "spriggan berserker",
1320     M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_FIGHTER,
1321     MR_NO_FLAGS,
1322     10, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, 120,
1323     { {AT_HIT, AF_PLAIN, 27}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1324     12, 540,
1325     2, 18, MST_SPRIGGAN_BERSERKER, true, S_SHOUT,
1326     I_HUMAN, HT_LAND, 10, MOVE_ENERGY(6),
1327     MONUSE_WEAPONS_ARMOUR, SIZE_LITTLE, MON_SHAPE_HUMANOID,
1328     {TILEP_MONS_SPRIGGAN_BERSERKER}, TILE_ERROR
1329 },
1330 
1331 {
1332     MONS_SPRIGGAN_AIR_MAGE, 'i', LIGHTCYAN, "spriggan air mage",
1333     M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_FLIES,
1334     MR_NO_FLAGS,
1335     10, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, 140,
1336     { {AT_HIT, AF_PLAIN, 16}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1337     14, 490,
1338     1, 24, MST_SPRIGGAN_AIR_MAGE, true, S_SHOUT,
1339     I_HUMAN, HT_LAND, 10, MOVE_ENERGY(6),
1340     MONUSE_WEAPONS_ARMOUR, SIZE_LITTLE, MON_SHAPE_HUMANOID,
1341     {TILEP_MONS_SPRIGGAN_AIR_MAGE}, TILE_ERROR
1342 },
1343 
1344 {
1345     MONS_SPRIGGAN_DEFENDER, 'i', YELLOW, "spriggan defender",
1346     M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_FIGHTER,
1347     MR_NO_FLAGS,
1348     10, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, 140,
1349     { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1350     15, 675,
1351     3, 22, MST_NO_SPELLS, true, S_SHOUT,
1352     I_HUMAN, HT_LAND, 16, DEFAULT_ENERGY,
1353     MONUSE_WEAPONS_ARMOUR, SIZE_LITTLE, MON_SHAPE_HUMANOID,
1354     {TILEP_MONS_SPRIGGAN_DEFENDER}, TILE_ERROR
1355 },
1356 
1357 // drakes ('k')
1358 DUMMY(MONS_DRAKE, 'k', LIGHTGREY, "drake", TILEP_MONS_SWAMP_DRAKE)
1359 
1360 {
1361     MONS_SWAMP_DRAKE, 'k', BROWN, "swamp drake",
1362     M_WARM_BLOOD | M_FLIES,
1363     MR_RES_POISON,
1364     20, MONS_DRAKE, MONS_SWAMP_DRAKE, MH_NATURAL, 20,
1365     { {AT_BITE, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1366     4, 300,
1367     3, 11, MST_SWAMP_DRAKE, true, S_ROAR,
1368     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
1369     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED_WINGED,
1370     {TILEP_MONS_SWAMP_DRAKE}, TILE_CORPSE_SWAMP_DRAKE
1371 },
1372 
1373 {
1374     MONS_RIME_DRAKE, 'k', BLUE, "rime drake",
1375     M_WARM_BLOOD | M_FLIES,
1376     MR_RES_COLD,
1377     22, MONS_DRAKE, MONS_RIME_DRAKE, MH_NATURAL, 20,
1378     { {AT_BITE, AF_PLAIN, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1379     6, 330,
1380     3, 12, MST_RIME_DRAKE, true, S_HISS,
1381     I_ANIMAL, HT_LAND, 12, DEFAULT_ENERGY,
1382     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED_WINGED,
1383     {TILEP_MONS_RIME_DRAKE}, TILE_CORPSE_RIME_DRAKE
1384 },
1385 
1386 {
1387     MONS_WIND_DRAKE, 'k', WHITE, "wind drake",
1388     M_WARM_BLOOD | M_FLIES,
1389     MR_NO_FLAGS,
1390     6, MONS_DRAKE, MONS_WIND_DRAKE, MH_NATURAL, 40,
1391     { {AT_BITE, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1392     8, 600,
1393     3, 14, MST_WIND_DRAKE, true, S_HISS,
1394     I_ANIMAL, HT_LAND, 12, DEFAULT_ENERGY,
1395     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED_WINGED,
1396     {TILEP_MONS_WIND_DRAKE}, TILE_CORPSE_WIND_DRAKE
1397 },
1398 
1399 {
1400     MONS_LINDWURM, 'k', LIGHTRED, "lindwurm",
1401     M_WARM_BLOOD,
1402     MR_NO_FLAGS,
1403     13, MONS_DRAKE, MONS_LINDWURM, MH_NATURAL, 40,
1404     { {AT_BITE, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 10},
1405       {AT_CLAW, AF_PLAIN, 10}, AT_NO_ATK },
1406     9, 495,
1407     8, 6, MST_LINDWURM, true, S_ROAR,
1408     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
1409     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED,
1410     {TILEP_MONS_LINDWURM}, TILE_CORPSE_LINDWURM
1411 },
1412 
1413 {
1414     MONS_DEATH_DRAKE, 'k', LIGHTGREY, "death drake",
1415     M_COLD_BLOOD | M_FLIES,
1416     MR_RES_POISON | MR_RES_MIASMA,
1417     10, MONS_DRAKE, MONS_DEATH_DRAKE, MH_NATURAL, 40,
1418     { {AT_BITE, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1419     9, 765,
1420     6, 14, MST_DEATH_DRAKE, true, S_HISS,
1421     I_ANIMAL, HT_LAND, 13, DEFAULT_ENERGY,
1422     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED_WINGED,
1423     {TILEP_MONS_DEATH_DRAKE}, TILE_CORPSE_DEATH_DRAKE
1424 },
1425 
1426 // lizards ('l')
1427 DUMMY(MONS_GIANT_LIZARD, 'l', LIGHTGREY, "giant lizard", TILEP_MONS_IGUANA)
1428 
1429 {
1430     MONS_FRILLED_LIZARD, 'l', GREEN, "frilled lizard",
1431     M_COLD_BLOOD,
1432     MR_NO_FLAGS,
1433     10, MONS_GIANT_LIZARD, MONS_FRILLED_LIZARD, MH_NATURAL, 0,
1434     { {AT_BITE, AF_PLAIN, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1435     1, 20,
1436     0, 15, MST_NO_SPELLS, true, S_HISS,
1437     I_ANIMAL, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY,
1438     MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_QUADRUPED,
1439     {TILEP_MONS_FRILLED_LIZARD}, TILE_CORPSE_FRILLED_LIZARD
1440 },
1441 
1442 {
1443     MONS_IGUANA, 'l', BLUE, "iguana",
1444     M_COLD_BLOOD,
1445     MR_NO_FLAGS,
1446     13, MONS_GIANT_LIZARD, MONS_IGUANA, MH_NATURAL, 10,
1447     { {AT_BITE, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1448     3, 165,
1449     5, 9, MST_NO_SPELLS, true, S_HISS,
1450     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
1451     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_QUADRUPED,
1452     {TILEP_MONS_IGUANA}, TILE_CORPSE_IGUANA
1453 },
1454 
1455 {
1456     MONS_BASILISK, 'l', MAGENTA, "basilisk",
1457     M_COLD_BLOOD,
1458     MR_NO_FLAGS,
1459     10, MONS_GIANT_LIZARD, MONS_BASILISK, MH_NATURAL, 20,
1460     { {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1461     6, 360,
1462     3, 12, MST_BASILISK, true, S_HISS,
1463     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
1464     MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_QUADRUPED,
1465     {TILEP_MONS_BASILISK}, TILE_CORPSE_BASILISK
1466 },
1467 
1468 {
1469     MONS_WYVERN, 'l', LIGHTGREEN, "wyvern",
1470     M_WARM_BLOOD | M_FLIES,
1471     MR_NO_FLAGS,
1472     15, MONS_WYVERN, MONS_WYVERN, MH_NATURAL, 20,
1473     { {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1474     5, 275,
1475     5, 10, MST_NO_SPELLS, true, S_HISS,
1476     I_ANIMAL, HT_LAND, 15, DEFAULT_ENERGY,
1477     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED_WINGED,
1478     {TILEP_MONS_WYVERN}, TILE_CORPSE_WYVERN
1479 },
1480 
1481 {
1482     MONS_KOMODO_DRAGON, 'l', LIGHTRED, "komodo dragon",
1483     M_COLD_BLOOD,
1484     MR_NO_FLAGS,
1485     10, MONS_GIANT_LIZARD, MONS_KOMODO_DRAGON, MH_NATURAL, 40,
1486     { {AT_BITE, AF_PLAIN, 34}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1487     8, 440,
1488     7, 8, MST_NO_SPELLS, true, S_HISS,
1489     I_ANIMAL, HT_AMPHIBIOUS, 10, SWIM_ENERGY(6),
1490     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED,
1491     {TILEP_MONS_KOMODO_DRAGON}, TILE_CORPSE_KOMODO_DRAGON
1492 },
1493 
1494 // merfolk ('m')
1495 {
1496     MONS_MERFOLK, 'm', LIGHTRED, "merfolk",
1497     M_WARM_BLOOD | M_SPEAKS,
1498     MR_NO_FLAGS,
1499     4, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, 40,
1500     { {AT_HIT, AF_PLAIN, 22}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1501     10, 550,
1502     4, 12, MST_NO_SPELLS, true, S_SHOUT,
1503     I_HUMAN, HT_AMPHIBIOUS, 10, SWIM_ENERGY(6),
1504     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1505     {TILEP_MONS_MERFOLK, TVARY_WATER}, TILE_CORPSE_MERFOLK
1506 },
1507 
1508 {
1509     MONS_MERFOLK_IMPALER, 'm', YELLOW, "merfolk impaler",
1510     M_WARM_BLOOD | M_SPEAKS,
1511     MR_NO_FLAGS,
1512     13, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, 40,
1513     { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1514     12, 780,
1515     // Impalers prefer light armour, and are dodging experts.
1516     0, 18, MST_NO_SPELLS, true, S_SHOUT,
1517     I_HUMAN, HT_AMPHIBIOUS, 10, {10, 6, 6, 10, 10, 10, 10, 100},
1518     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1519     {TILEP_MONS_MERFOLK_IMPALER, TVARY_WATER}, TILE_ERROR
1520 },
1521 
1522 {
1523     MONS_MERFOLK_JAVELINEER, 'm', WHITE, "merfolk javelineer",
1524     M_WARM_BLOOD | M_ARCHER | M_PREFER_RANGED | M_SPEAKS,
1525     MR_NO_FLAGS,
1526     12, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, 60,
1527     { {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1528     13, 780,
1529     0, 14, MST_NO_SPELLS, true, S_SHOUT,
1530     I_HUMAN, HT_AMPHIBIOUS, 10, SWIM_ENERGY(6),
1531     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1532     {TILEP_MONS_MERFOLK_JAVELINEER, TVARY_WATER}, TILE_ERROR
1533 },
1534 
1535 {
1536     MONS_MERFOLK_AQUAMANCER, 'm', GREEN, "merfolk aquamancer",
1537     M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS,
1538     MR_NO_FLAGS,
1539     8, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, 80,
1540     { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1541     14, 630,
1542     0, 12, MST_MERFOLK_AQUAMANCER, true, S_SHOUT,
1543     I_HUMAN, HT_AMPHIBIOUS, 10, SWIM_ENERGY(6),
1544     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1545     {TILEP_MONS_MERFOLK_AQUAMANCER, TVARY_WATER}, TILE_ERROR
1546 },
1547 
1548 {
1549     MONS_MERFOLK_SIREN, 'm', CYAN, "merfolk siren",
1550     M_WARM_BLOOD | M_SPEAKS,
1551     MR_NO_FLAGS,
1552     10, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, 60,
1553     { {AT_HIT, AF_PLAIN, 19}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1554     9, 405,
1555     4, 12, MST_MERFOLK_SIREN, true, S_SHOUT,
1556     I_HUMAN, HT_AMPHIBIOUS, 10, SWIM_ENERGY(6),
1557     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1558     {TILEP_MONS_MERFOLK_SIREN, TVARY_WATER}, TILE_ERROR
1559 },
1560 
1561 {
1562     MONS_MERFOLK_AVATAR, 'm', LIGHTCYAN, "merfolk avatar",
1563     M_WARM_BLOOD | M_SPEAKS | M_NO_GEN_DERIVED,
1564     MR_NO_FLAGS,
1565     10, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, 120,
1566     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1567     13, 845,
1568     4, 12, MST_MERFOLK_AVATAR, true, S_SHOUT,
1569     I_HUMAN, HT_AMPHIBIOUS, 10, SWIM_ENERGY(6),
1570     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1571     {TILEP_MONS_MERFOLK_AVATAR, TVARY_WATER}, TILE_ERROR
1572 },
1573 
1574 {
1575     MONS_WATER_NYMPH, 'm', MAGENTA, "water nymph",
1576     M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_FEMALE,
1577     MR_NO_FLAGS,
1578     10, MONS_WATER_NYMPH, MONS_WATER_NYMPH, MH_NATURAL, 100,
1579     { {AT_TOUCH, AF_DROWN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1580     10, 400,
1581     2, 13, MST_WATER_NYMPH, true, S_SHOUT,
1582     I_HUMAN, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY,
1583     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1584     {TILEP_MONS_WATER_NYMPH}, TILE_CORPSE_WATER_NYMPH
1585 },
1586 
1587 // undead corpses ('n')
1588 {
1589     MONS_BOG_BODY, 'n', GREEN, "bog body",
1590     M_NO_ZOMBIE,
1591     MR_RES_FIRE | MR_RES_COLD,
1592     16, MONS_GHOUL, MONS_BOG_BODY, MH_UNDEAD, 40,
1593     { {AT_TOUCH, AF_COLD, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1594     10, 390,
1595     1, 9, MST_BOG_BODY, true, S_SILENT,
1596     I_HUMAN, HT_AMPHIBIOUS, 10, SWIM_ENERGY(14),
1597     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1598     {TILEP_MONS_BOG_BODY}, TILE_CORPSE_BOG_BODY
1599 },
1600 
1601 {
1602     MONS_NECROPHAGE, 'n', LIGHTGREY, "necrophage",
1603     M_NO_ZOMBIE,
1604     MR_RES_COLD,
1605     12, MONS_GHOUL, MONS_NECROPHAGE, MH_UNDEAD, 40,
1606     { {AT_HIT, AF_DRAIN, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1607     5, 275,
1608     2, 10, MST_NO_SPELLS, true, S_SILENT,
1609     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1610     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1611     {TILEP_MONS_NECROPHAGE}, TILE_CORPSE_NECROPHAGE
1612 },
1613 
1614 {
1615     MONS_BLOATED_HUSK, 'n', YELLOW, "bloated husk",
1616     M_NO_ZOMBIE,
1617     MR_RES_COLD,
1618     10, MONS_GHOUL, MONS_BLOATED_HUSK, MH_UNDEAD, 40,
1619     {  {AT_HIT, AF_PLAIN, 1}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1620     8, 250,
1621     5, 5, MST_NO_SPELLS, false, S_SILENT,
1622     I_HUMAN, HT_AMPHIBIOUS, 14, DEFAULT_ENERGY,
1623     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1624     {TILEP_MONS_BLOATED_HUSK}, TILE_ERROR
1625 },
1626 
1627 {
1628     MONS_GHOUL, 'n', RED, "ghoul",
1629     M_NO_ZOMBIE,
1630     MR_RES_COLD,
1631     10, MONS_GHOUL, MONS_GHOUL, MH_UNDEAD, 80,
1632     { {AT_CLAW, AF_PLAIN, 30}, {AT_CLAW, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK },
1633     14, 1470,
1634     4, 10, MST_NO_SPELLS, true, S_SILENT,
1635     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1636     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1637     {TILEP_MONS_GHOUL}, TILE_CORPSE_GHOUL
1638 },
1639 
1640 // orcs ('o')
1641 {
1642     MONS_ORC, 'o', LIGHTRED, "orc",
1643     M_WARM_BLOOD | M_SPEAKS,
1644     MR_NO_FLAGS,
1645     15, MONS_ORC, MONS_ORC, MH_NATURAL, 0,
1646     { {AT_HIT, AF_PLAIN, 2}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1647     1, 70,
1648     0, 10, MST_NO_SPELLS, true, S_SHOUT,
1649     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1650     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1651     {TILEP_MONS_ORC}, TILE_CORPSE_ORC
1652 },
1653 
1654 {
1655     MONS_ORC_WIZARD, 'o', MAGENTA, "orc wizard",
1656     M_WARM_BLOOD | M_SPEAKS,
1657     MR_NO_FLAGS,
1658     10, MONS_ORC, MONS_ORC, MH_NATURAL, 20,
1659     { {AT_HIT, AF_PLAIN, 2}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1660     3, 150,
1661     1, 12, MST_ORC_WIZARD, true, S_SHOUT,
1662     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1663     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1664     {TILEP_MONS_ORC_WIZARD}, TILE_ERROR
1665 },
1666 
1667 {
1668     MONS_ORC_PRIEST, 'o', GREEN, "orc priest",
1669     M_WARM_BLOOD | M_SPEAKS,
1670     MR_NO_FLAGS,
1671     10, MONS_ORC, MONS_ORC, MH_NATURAL | MH_EVIL, 20,
1672     { {AT_HIT, AF_PLAIN, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1673     3, 150,
1674     1, 10, MST_ORC_PRIEST, true, S_SHOUT,
1675     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1676     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1677     {TILEP_MONS_ORC_PRIEST}, TILE_ERROR
1678 },
1679 
1680 {
1681     MONS_ORC_WARRIOR, 'o', YELLOW, "orc warrior",
1682     M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
1683     MR_NO_FLAGS,
1684     16, MONS_ORC, MONS_ORC, MH_NATURAL, 20,
1685     { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1686     4, 280,
1687     0, 13, MST_NO_SPELLS, true, S_SHOUT,
1688     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1689     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1690     {TILEP_MONS_ORC_WARRIOR}, TILE_ERROR
1691 },
1692 
1693 {
1694     MONS_ORC_KNIGHT, 'o', CYAN, "orc knight",
1695     M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
1696     MR_NO_FLAGS,
1697     9, MONS_ORC, MONS_ORC, MH_NATURAL, 40,
1698     { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1699     9, 675,
1700     2, 13, MST_ORC_KNIGHT, true, S_SHOUT,
1701     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1702     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1703     {TILEP_MONS_ORC_KNIGHT}, TILE_ERROR
1704 },
1705 
1706 {
1707     MONS_ORC_WARLORD, 'o', LIGHTCYAN, "orc warlord",
1708     M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
1709     MR_NO_FLAGS,
1710     11, MONS_ORC, MONS_ORC, MH_NATURAL, 60,
1711     { {AT_HIT, AF_PLAIN, 32}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1712     15, 1125,
1713     3, 10, MST_BATTLECRY, true, S_SHOUT,
1714     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1715     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1716     {TILEP_MONS_ORC_WARLORD}, TILE_ERROR
1717 },
1718 
1719 {
1720     MONS_ORC_SORCERER, 'o', LIGHTMAGENTA, "orc sorcerer",
1721     M_SEE_INVIS | M_SPEAKS | M_WARM_BLOOD,
1722     MR_NO_FLAGS,
1723     12, MONS_ORC, MONS_ORC, MH_NATURAL, 40,
1724     { {AT_HIT, AF_PLAIN, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1725     9, 315,
1726     5, 12, MST_ORC_SORCERER, true, S_SHOUT,
1727     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1728     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1729     {TILEP_MONS_ORC_SORCERER}, TILE_ERROR
1730 },
1731 
1732 {
1733     MONS_ORC_HIGH_PRIEST, 'o', LIGHTGREEN, "orc high priest",
1734     M_SEE_INVIS | M_SPEAKS | M_WARM_BLOOD,
1735     MR_NO_FLAGS,
1736     10, MONS_ORC, MONS_ORC, MH_NATURAL | MH_EVIL, 60,
1737     { {AT_HIT, AF_PLAIN, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1738     11, 550,
1739     1, 12, MST_ORC_HIGH_PRIEST, true, S_SHOUT,
1740     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1741     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1742     {TILEP_MONS_ORC_HIGH_PRIEST}, TILE_ERROR
1743 },
1744 
1745 // humans ('p')
1746 {
1747     MONS_HUMAN, 'p', LIGHTGREY, "human",
1748     M_WARM_BLOOD | M_SPEAKS,
1749     MR_NO_FLAGS,
1750     10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 20,
1751     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1752     6, 330,
1753     3, 13, MST_NO_SPELLS, true, S_SHOUT,
1754     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1755     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1756     {TILEP_MONS_HUMAN, TVARY_MOD}, TILE_CORPSE_HUMAN
1757 },
1758 
1759 {
1760     MONS_HELL_KNIGHT, 'p', RED, "hell knight",
1761     M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
1762     mrd(MR_RES_FIRE, 3),
1763     10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL | MH_EVIL, 40,
1764     { {AT_HIT, AF_PLAIN, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1765     10, 650,
1766     0, 10, MST_HELL_KNIGHT, true, S_SHOUT,
1767     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1768     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1769     {TILEP_MONS_HELL_KNIGHT}, TILE_ERROR
1770 },
1771 
1772 {
1773     MONS_DEATH_KNIGHT, 'p', GREEN, "death knight",
1774     M_WARM_BLOOD | M_FIGHTER | M_SPEAKS,
1775     MR_NO_FLAGS,
1776     12, MONS_HUMAN, MONS_HUMAN, MH_NATURAL | MH_EVIL, 80,
1777     { {AT_HIT, AF_PLAIN, 28}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1778     10, 800,
1779     2, 12, MST_DEATH_KNIGHT, true, S_SHOUT,
1780     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1781     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1782     {TILEP_MONS_DEATH_KNIGHT}, TILE_ERROR
1783 },
1784 
1785 {
1786     MONS_NECROMANCER, 'p', WHITE, "necromancer",
1787     M_WARM_BLOOD | M_SPEAKS,
1788     MR_NO_FLAGS,
1789     10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL | MH_EVIL, 60,
1790     { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1791     10, 400,
1792     0, 13, MST_NECROMANCER, true, S_SHOUT,
1793     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1794     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1795     {TILEP_MONS_NECROMANCER}, TILE_ERROR
1796 },
1797 
1798 {
1799     MONS_WIZARD, 'p', MAGENTA, "wizard",
1800     M_SPEAKS | M_WARM_BLOOD,
1801     MR_NO_FLAGS,
1802     10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL | MH_EVIL, 60,
1803     { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1804     10, 400,
1805     0, 13, MST_WIZARD, true, S_SHOUT,
1806     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1807     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1808     {TILEP_MONS_WIZARD}, TILE_ERROR
1809 },
1810 
1811 {
1812     MONS_VAULT_GUARD, 'p', CYAN, "vault guard",
1813     M_FIGHTER | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS,
1814     MR_NO_FLAGS,
1815     10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 60,
1816     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1817     13, 715,
1818     1, 13, MST_NO_SPELLS, true, S_SHOUT,
1819     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1820     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1821     {TILEP_MONS_VAULT_GUARD}, TILE_ERROR
1822 },
1823 
1824 {
1825     MONS_VAULT_SENTINEL, 'p', LIGHTBLUE, "vault sentinel",
1826     M_FIGHTER | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS,
1827     MR_NO_FLAGS,
1828     10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 40,
1829     { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1830     8, 520,
1831     1, 13, MST_VAULT_SENTINEL, true, S_SHOUT,
1832     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1833     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1834     {TILEP_MONS_VAULT_SENTINEL}, TILE_ERROR
1835 },
1836 
1837 {
1838     MONS_VAULT_WARDEN, 'p', LIGHTRED, "vault warden",
1839     M_FIGHTER | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS,
1840     MR_NO_FLAGS,
1841     12, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 60,
1842     { {AT_HIT, AF_PLAIN, 36}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1843     16, 880,
1844     1, 13, MST_VAULT_WARDEN, true, S_SHOUT,
1845     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1846     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1847     {TILEP_MONS_VAULT_WARDEN}, TILE_ERROR
1848 },
1849 
1850 {
1851     MONS_IRONBOUND_CONVOKER, 'p', YELLOW, "ironbound convoker",
1852     M_WARM_BLOOD | M_SPEAKS,
1853     MR_NO_FLAGS,
1854     12, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 40,
1855     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1856     9, 495,
1857     0, 10, MST_IRONBOUND_CONVOKER, true, S_SHOUT,
1858     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1859     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1860     {TILEP_MONS_IRONBOUND_CONVOKER}, TILE_ERROR
1861 },
1862 
1863 {
1864     MONS_IRONBOUND_FROSTHEART, 'p', BLUE, "ironbound frostheart",
1865     M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS,
1866     MR_RES_COLD,
1867     12, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 40,
1868     { {AT_TOUCH, AF_COLD, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1869     12, 600,
1870     0, 10, MST_IRONBOUND_FROSTHEART, true, S_SHOUT,
1871     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1872     MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1873     {TILEP_MONS_IRONBOUND_FROSTHEART}, TILE_ERROR
1874 },
1875 
1876 {
1877     MONS_IRONBOUND_PRESERVER, 'p', LIGHTGREEN, "ironbound preserver",
1878     M_WARM_BLOOD | M_SPEAKS,
1879     MR_NO_FLAGS,
1880     12, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 40,
1881     { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1882     14, 1120,
1883     0, 6, MST_IRONBOUND_PRESERVER, true, S_SHOUT,
1884     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1885     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1886     {TILEP_MONS_IRONBOUND_PRESERVER}, TILE_ERROR
1887 },
1888 
1889 {
1890     MONS_IRONBOUND_BEASTMASTER, 'p', BROWN, "ironbound beastmaster",
1891     M_WARM_BLOOD | M_SPEAKS | M_REQUIRE_BAND,
1892     MR_NO_FLAGS,
1893     10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 40,
1894     { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1895     12, 550,
1896     0, 14, MST_IRONBOUND_BEASTMASTER, true, S_SHOUT,
1897     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1898     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1899     {TILEP_MONS_IRONBOUND_BEASTMASTER}, TILE_ERROR
1900 },
1901 
1902 {
1903     MONS_SHAPESHIFTER, 'p', LIGHTRED, "shapeshifter",
1904     M_NO_SKELETON | M_NO_ZOMBIE,
1905     MR_NO_FLAGS,
1906     10, MONS_SHAPESHIFTER, MONS_SHAPESHIFTER, MH_NATURAL, 40,
1907     { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1908     7, 385,
1909     0, 10, MST_NO_SPELLS, true, S_SILENT,
1910     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1911     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1912     {TILEP_MONS_SHAPESHIFTER}, TILE_CORPSE_SHAPESHIFTER
1913 },
1914 
1915 {
1916     MONS_GLOWING_SHAPESHIFTER, 'p', LIGHTRED, "glowing shapeshifter",
1917     M_NO_SKELETON | M_NO_ZOMBIE,
1918     MR_NO_FLAGS,
1919     10, MONS_SHAPESHIFTER, MONS_GLOWING_SHAPESHIFTER, MH_NATURAL, 80,
1920     { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1921     10, 550,
1922     0, 10, MST_NO_SPELLS, true, S_SILENT,
1923     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1924     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1925     {TILEP_MONS_GLOWING_SHAPESHIFTER}, TILE_CORPSE_GLOWING_SHAPESHIFTER
1926 },
1927 
1928 {
1929     MONS_KILLER_KLOWN, 'p', ETC_RANDOM, "Killer Klown",
1930     M_SEE_INVIS | M_SPEAKS | M_WARM_BLOOD | M_NO_POLY_TO | M_NO_GEN_DERIVED,
1931     MR_NO_FLAGS,
1932     17, MONS_HUMAN, MONS_KILLER_KLOWN, MH_NATURAL, 160,
1933     { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1934     20, 1500,
1935     10, 15, MST_KILLER_KLOWN, true, S_SHOUT,
1936     I_HUMAN, HT_LAND, 13, DEFAULT_ENERGY,
1937     MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1938     {TILEP_MONS_KILLER_KLOWN, TVARY_RANDOM}, TILE_CORPSE_KILLER_KLOWN
1939 },
1940 
1941 { // dummy; spawns in a single vault.
1942     MONS_DEMIGOD, 'p', YELLOW, "demigod",
1943     M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO,
1944     MR_NO_FLAGS,
1945     10, MONS_HUMAN, MONS_DEMIGOD, MH_NATURAL, 20,
1946     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1947     5, 375,
1948     2, 12, MST_NO_SPELLS, true, S_SHOUT,
1949     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1950     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
1951     {TILEP_MONS_DEMIGOD}, TILE_CORPSE_HUMAN
1952 },
1953 
1954 { // dummy... literally; single vault
1955     MONS_HALFLING, 'p', LIGHTGREY, "halfling",
1956     M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO,
1957     MR_NO_FLAGS,
1958     10, MONS_HALFLING, MONS_HALFLING, MH_NATURAL, 10,
1959     { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1960     3, 105,
1961     2, 12, MST_NO_SPELLS, true, S_SHOUT,
1962     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
1963     MONUSE_WEAPONS_ARMOUR, SIZE_SMALL, MON_SHAPE_HUMANOID,
1964     {TILEP_MONS_HALFLING}, TILE_CORPSE_HALFLING
1965 },
1966 
1967 // rodents ('r')
1968 {
1969     MONS_RAT, 'r', BROWN, "rat",
1970     M_WARM_BLOOD,
1971     MR_NO_FLAGS,
1972     1, MONS_RAT, MONS_RAT, MH_NATURAL, 0,
1973     { {AT_BITE, AF_PLAIN, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1974     1, 25,
1975     1, 10, MST_NO_SPELLS, true, S_SILENT,
1976     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
1977     MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_QUADRUPED,
1978     {TILEP_MONS_RAT}, TILE_CORPSE_RAT
1979 },
1980 
1981 {
1982     MONS_QUOKKA, 'r', WHITE, "quokka",
1983     M_WARM_BLOOD,
1984     MR_NO_FLAGS,
1985     10, MONS_QUOKKA, MONS_QUOKKA, MH_NATURAL, 0,
1986     { {AT_BITE, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
1987     1, 55,
1988     2, 13, MST_NO_SPELLS, true, S_SILENT,
1989     I_ANIMAL, HT_LAND, 12, DEFAULT_ENERGY,
1990     MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_QUADRUPED,
1991     {TILEP_MONS_QUOKKA}, TILE_CORPSE_QUOKKA
1992 },
1993 
1994 {
1995     MONS_RIVER_RAT, 'r', LIGHTGREEN, "river rat",
1996     M_WARM_BLOOD,
1997     MR_NO_FLAGS,
1998     13, MONS_RAT, MONS_RIVER_RAT, MH_NATURAL, 10,
1999     { {AT_BITE, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2000     2, 110,
2001     5, 11, MST_NO_SPELLS, true, S_SILENT,
2002     I_ANIMAL, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY,
2003     MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_QUADRUPED,
2004     {TILEP_MONS_RIVER_RAT}, TILE_CORPSE_GREEN_RAT
2005 },
2006 
2007 {
2008     MONS_HELL_RAT, 'r', LIGHTRED, "hell rat",
2009     M_WARM_BLOOD,
2010     MR_NO_FLAGS,
2011     10, MONS_RAT, MONS_HELL_RAT, MH_DEMONIC, 20,
2012     { {AT_BITE, AF_DRAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2013     3, 165,
2014     7, 10, MST_NO_SPELLS, true, S_LOUD_ROAR,
2015     I_ANIMAL, HT_LAND, 12, DEFAULT_ENERGY,
2016     MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_QUADRUPED,
2017     {TILEP_MONS_ORANGE_RAT}, TILE_CORPSE_ORANGE_RAT
2018 },
2019 
2020 // arachnids ('s')
2021 {
2022     MONS_SCORPION, 's', YELLOW, "scorpion",
2023     M_NO_SKELETON,
2024     MR_VUL_POISON,
2025     13, MONS_SCORPION, MONS_SCORPION, MH_NATURAL, 20,
2026     { {AT_STING, AF_POISON, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2027     4, 180,
2028     5, 10, MST_NO_SPELLS, true, S_SILENT,
2029     I_ANIMAL, HT_LAND, 12, DEFAULT_ENERGY,
2030     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_ARACHNID,
2031     {TILEP_MONS_SCORPION}, TILE_CORPSE_SCORPION
2032 },
2033 
2034 {
2035     MONS_EMPEROR_SCORPION, 's', LIGHTGREY, "emperor scorpion",
2036     M_NO_SKELETON,
2037     MR_RES_POISON,
2038     13, MONS_SCORPION, MONS_EMPEROR_SCORPION, MH_NATURAL, 60,
2039     { {AT_STING, AF_POISON, 30}, {AT_CLAW, AF_PLAIN, 15},
2040       {AT_CLAW, AF_PLAIN, 15}, AT_NO_ATK },
2041     14, 1190,
2042     20, 12, MST_NO_SPELLS, true, S_SILENT,
2043     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
2044     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_ARACHNID,
2045     {TILEP_MONS_EMPEROR_SCORPION}, TILE_CORPSE_EMPEROR_SCORPION
2046 },
2047 
2048 DUMMY(MONS_SPIDER, 's', CYAN, "spider", TILEP_MONS_REDBACK)
2049 
2050 {
2051     MONS_TARANTELLA, 's', LIGHTMAGENTA, "tarantella",
2052     M_NO_SKELETON,
2053     MR_VUL_POISON,
2054     6, MONS_SPIDER, MONS_TARANTELLA, MH_NATURAL, 20,
2055     { {AT_BITE, AF_CONFUSE, 19}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2056     8, 280,
2057     3, 14, MST_NO_SPELLS, true, S_HISS,
2058     I_ANIMAL, HT_LAND, 15, DEFAULT_ENERGY,
2059     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_ARACHNID,
2060     {TILEP_MONS_TARANTELLA}, TILE_CORPSE_TARANTELLA
2061 },
2062 
2063 {
2064     MONS_JUMPING_SPIDER, 's', LIGHTBLUE, "jumping spider",
2065     M_NO_SKELETON,
2066     MR_VUL_POISON,
2067     8, MONS_SPIDER, MONS_JUMPING_SPIDER, MH_NATURAL, 20,
2068     { {AT_POUNCE, AF_ENSNARE, 20}, {AT_BITE, AF_PLAIN, 8}, AT_NO_ATK,
2069        AT_NO_ATK },
2070     8, 320,
2071     6, 12, MST_JUMPING_SPIDER, true, S_HISS,
2072     I_ANIMAL, HT_LAND, 15, DEFAULT_ENERGY,
2073     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_ARACHNID,
2074     {TILEP_MONS_JUMPING_SPIDER}, TILE_CORPSE_JUMPING_SPIDER
2075 },
2076 
2077 {
2078     MONS_WOLF_SPIDER, 's', WHITE, "wolf spider",
2079     M_NO_SKELETON,
2080     MR_VUL_POISON,
2081     4, MONS_SPIDER, MONS_WOLF_SPIDER, MH_NATURAL, 20,
2082     { {AT_HIT, AF_PLAIN, 25}, {AT_BITE, AF_POISON, 15}, AT_NO_ATK,
2083        AT_NO_ATK },
2084     11, 550,
2085     3, 10, MST_NO_SPELLS, true, S_HISS,
2086     I_ANIMAL, HT_LAND, 15, DEFAULT_ENERGY,
2087     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_ARACHNID,
2088     {TILEP_MONS_WOLF_SPIDER}, TILE_CORPSE_WOLF_SPIDER
2089 },
2090 
2091 {
2092     MONS_REDBACK, 's', LIGHTRED, "redback",
2093     M_NO_SKELETON,
2094     MR_VUL_POISON,
2095     5, MONS_SPIDER, MONS_REDBACK, MH_NATURAL, 20,
2096     { {AT_BITE, AF_POISON_STRONG, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2097     9, 270,
2098     2, 12, MST_NO_SPELLS, true, S_SILENT,
2099     I_ANIMAL, HT_LAND, 15, DEFAULT_ENERGY,
2100     MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_ARACHNID,
2101     {TILEP_MONS_REDBACK}, TILE_CORPSE_REDBACK
2102 },
2103 
2104 {
2105     MONS_DEMONIC_CRAWLER, 's', LIGHTGREEN, "demonic crawler",
2106     M_NO_SKELETON | M_SEE_INVIS,
2107     MR_RES_ELEC | MR_RES_POISON | MR_RES_COLD | MR_RES_FIRE,
2108     4, MONS_DEMONIC_CRAWLER, MONS_DEMONIC_CRAWLER, MH_DEMONIC, 100,
2109     { {AT_HIT, AF_PLAIN, 13}, {AT_HIT, AF_PLAIN, 13}, {AT_HIT, AF_PLAIN, 13},
2110        AT_NO_ATK },
2111     9, 585,
2112     10, 6, MST_NO_SPELLS, true, S_SCREAM,
2113     I_ANIMAL, HT_LAND, 13, DEFAULT_ENERGY,
2114     MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_CENTIPEDE,
2115     {TILEP_MONS_DEMONIC_CRAWLER}, TILE_CORPSE_DEMONIC_CRAWLER
2116 },
2117 
2118 {
2119     MONS_ORB_SPIDER, 's', MAGENTA, "orb spider",
2120     M_NO_SKELETON | M_MAINTAIN_RANGE,
2121     MR_VUL_POISON,
2122     20, MONS_SPIDER, MONS_ORB_SPIDER, MH_NATURAL, 40,
2123     { {AT_BITE, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2124     7, 420,
2125     3, 10, MST_ORB_SPIDER, true, S_HISS,
2126     I_ANIMAL, HT_LAND, 12, SPELL_ENERGY(20),
2127     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_ARACHNID,
2128     {TILEP_MONS_ORB_SPIDER}, TILE_CORPSE_ORB_SPIDER
2129 },
2130 
2131 // alligators, testudines, and crabs ('t')
2132 {
2133     MONS_ALLIGATOR, 't', LIGHTBLUE, "alligator",
2134     M_COLD_BLOOD,
2135     MR_NO_FLAGS,
2136     10, MONS_GIANT_LIZARD, MONS_ALLIGATOR, MH_NATURAL, 40,
2137     { {AT_BITE, AF_PLAIN, 30}, {AT_TAIL_SLAP, AF_PLAIN, 15}, AT_NO_ATK,
2138        AT_NO_ATK },
2139     12, 720,
2140     5, 9, MST_ALLIGATOR, true, S_SILENT,
2141     I_ANIMAL, HT_AMPHIBIOUS, 10, {10, 6, 8, 8, 8, 8, 8, 80},
2142     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED,
2143     {TILEP_MONS_ALLIGATOR}, TILE_CORPSE_ALLIGATOR
2144 },
2145 
2146 {
2147     MONS_SNAPPING_TURTLE, 't', GREEN, "snapping turtle",
2148     M_COLD_BLOOD,
2149     MR_NO_FLAGS,
2150     10, MONS_SNAPPING_TURTLE, MONS_SNAPPING_TURTLE, MH_NATURAL, 40,
2151     { {AT_BITE, AF_REACH, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2152     10, 600,
2153     16, 5, MST_NO_SPELLS, true, S_HISS,
2154     I_ANIMAL, HT_AMPHIBIOUS, 8, {10, 6, 8, 8, 8, 8, 8, 80},
2155     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED_TAILLESS,
2156     {TILEP_MONS_SNAPPING_TURTLE}, TILE_CORPSE_SNAPPING_TURTLE
2157 },
2158 
2159 {
2160     MONS_ALLIGATOR_SNAPPING_TURTLE, 't', LIGHTGREEN, "alligator snapping turtle",
2161     M_COLD_BLOOD,
2162     MR_NO_FLAGS,
2163     10, MONS_SNAPPING_TURTLE, MONS_ALLIGATOR_SNAPPING_TURTLE,
2164         MH_NATURAL, 60,
2165     { {AT_BITE, AF_REACH, 50}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2166     16, 1440,
2167     19, 1, MST_NO_SPELLS, true, S_HISS,
2168     I_ANIMAL, HT_AMPHIBIOUS, 8, SWIM_ENERGY(6),
2169     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED_TAILLESS,
2170     {TILEP_MONS_ALLIGATOR_SNAPPING_TURTLE}, TILE_CORPSE_ALLIGATOR_SNAPPING_TURTLE
2171 },
2172 
2173 DUMMY(MONS_CRAB, 't', LIGHTGREY, "crab", TILEP_MONS_FIRE_CRAB)
2174 
2175 {
2176     MONS_FIRE_CRAB, 't', LIGHTRED, "fire crab",
2177     M_NO_SKELETON,
2178     MR_VUL_POISON | mrd(MR_RES_FIRE, 3),
2179     25, MONS_CRAB, MONS_FIRE_CRAB, MH_NATURAL, 40,
2180     { {AT_BITE, AF_FIRE, 15}, {AT_CLAW, AF_FIRE, 15}, AT_NO_ATK, AT_NO_ATK },
2181     8, 520,
2182     9, 6, MST_FIRE_CRAB, true, S_SILENT,
2183     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
2184     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_QUADRUPED, // ??
2185     {TILEP_MONS_FIRE_CRAB}, TILE_CORPSE_FIRE_CRAB
2186 },
2187 
2188 {
2189     MONS_GHOST_CRAB, 't', LIGHTGREY, "ghost crab",
2190     M_NO_SKELETON,
2191     MR_NO_FLAGS,
2192     25, MONS_CRAB, MONS_GHOST_CRAB, MH_UNDEAD, 40,
2193     { {AT_BITE, AF_DRAIN, 20}, {AT_CLAW, AF_DRAIN, 15}, AT_NO_ATK, AT_NO_ATK },
2194     9, 585,
2195     9, 6, MST_GHOST_CRAB, true, S_SILENT,
2196     I_ANIMAL, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY,
2197     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_QUADRUPED,
2198     {TILEP_MONS_GHOST_CRAB}, TILE_CORPSE_GHOST_CRAB
2199 },
2200 
2201 {
2202     MONS_APOCALYPSE_CRAB, 't', WHITE, "apocalypse crab",
2203     M_NO_SKELETON | M_SEE_INVIS,
2204     MR_VUL_POISON | mrd(MR_RES_FIRE | MR_RES_COLD, 2),
2205     13, MONS_CRAB, MONS_APOCALYPSE_CRAB, MH_DEMONIC, 60,
2206     { {AT_BITE, AF_CHAOTIC, 15}, {AT_CLAW, AF_CHAOTIC, 15}, AT_NO_ATK, AT_NO_ATK },
2207     8, 520,
2208     11, 6, MST_APOCALYPSE_CRAB, true, S_SILENT,
2209     I_ANIMAL, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY,
2210     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_QUADRUPED,
2211     {TILEP_MONS_APOCALYPSE_CRAB}, TILE_CORPSE_APOCALYPSE_CRAB
2212 },
2213 
2214 // ugly things ('u')
2215 // NOTE: ugly things are ghost demons and thus their stats vary treacherously
2216 // from those below. beware!
2217 {
2218     MONS_UGLY_THING, 'u', COLOUR_UNDEF, "ugly thing",
2219     M_WARM_BLOOD | M_HERD | M_NO_GEN_DERIVED | M_GHOST_DEMON,
2220     MR_NO_FLAGS,
2221     6, MONS_UGLY_THING, MONS_UGLY_THING, MH_NATURAL, 40,
2222     { {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2223     12, 660,
2224     4, 10, MST_NO_SPELLS, true, S_GURGLE,
2225     I_ANIMAL, HT_LAND, 10, MOVE_ENERGY(9),
2226     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_MISC,
2227     {TILEP_MONS_PROGRAM_BUG}, TILE_CORPSE_UGLY_THING
2228 },
2229 
2230 {
2231     MONS_VERY_UGLY_THING, 'u', COLOUR_UNDEF, "very ugly thing",
2232     M_WARM_BLOOD | M_HERD | M_NO_GEN_DERIVED | M_GHOST_DEMON,
2233     MR_NO_FLAGS,
2234     10, MONS_UGLY_THING, MONS_VERY_UGLY_THING, MH_NATURAL, 40,
2235     { {AT_HIT, AF_PLAIN, 27}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2236     18, 990,
2237     6, 10, MST_NO_SPELLS, true, S_GURGLE,
2238     I_ANIMAL, HT_LAND, 10, MOVE_ENERGY(9),
2239     MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_MISC,
2240     {TILEP_MONS_PROGRAM_BUG}, TILE_CORPSE_VERY_UGLY_THING
2241 },
2242 
2243 // vortices ('v')
2244 {
2245     MONS_FIRE_VORTEX, 'v', RED, "fire vortex",
2246     M_CONFUSED | M_INSUBSTANTIAL | M_CONJURED | M_FLIES | M_NO_EXP_GAIN,
2247     mrd(MR_RES_FIRE, 3) | MR_VUL_COLD | MR_RES_ELEC,
2248     5, MONS_FIRE_VORTEX, MONS_FIRE_VORTEX, MH_NONLIVING, WILL_INVULN,
2249     { {AT_HIT, AF_PURE_FIRE, 0}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2250     10, 300,
2251     0, 5, MST_NO_SPELLS, false, S_SILENT,
2252     I_BRAINLESS, HT_LAND, 15, DEFAULT_ENERGY,
2253     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_MISC,
2254     {TILEP_MONS_FIRE_VORTEX, TVARY_CYCLE}, TILE_ERROR
2255 },
2256 
2257 {
2258     MONS_SPATIAL_VORTEX, 'v', ETC_RANDOM, "spatial vortex",
2259     M_CONFUSED | M_INSUBSTANTIAL | M_CONJURED | M_FLIES,
2260     MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
2261     5, MONS_FIRE_VORTEX, MONS_SPATIAL_VORTEX, MH_NONLIVING, WILL_INVULN,
2262     { {AT_HIT, AF_DISTORT, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2263     6, 540,
2264     0, 5, MST_NO_SPELLS, false, S_SILENT,
2265     I_BRAINLESS, HT_LAND, 15, DEFAULT_ENERGY,
2266     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_MISC,
2267     {TILEP_MONS_SPATIAL_VORTEX, TVARY_CYCLE}, TILE_ERROR
2268 },
2269 
2270 {
2271     MONS_SPATIAL_MAELSTROM, 'v', YELLOW, "spatial maelstrom",
2272     M_BATTY | M_INSUBSTANTIAL | M_FLIES,
2273     mrd(MR_RES_FIRE | MR_RES_COLD, 2) | MR_RES_ELEC,
2274     5, MONS_SPATIAL_MAELSTROM, MONS_SPATIAL_MAELSTROM,
2275         MH_NONLIVING, WILL_INVULN,
2276     { {AT_HIT, AF_DISTORT, 20}, {AT_HIT, AF_DISTORT, 20}, AT_NO_ATK,
2277        AT_NO_ATK },
2278     10, 750,
2279     0, 5, MST_NO_SPELLS, false, S_SILENT,
2280     I_BRAINLESS, HT_LAND, 16, DEFAULT_ENERGY,
2281     MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_MISC,
2282     {TILEP_MONS_SPATIAL_MAELSTROM, TVARY_CYCLE}, TILE_ERROR
2283 },
2284 
2285 // wisp-form
2286 DUMMY(MONS_INSUBSTANTIAL_WISP, 'v', LIGHTGREY, "insubstantial wisp",
2287       TILEP_MONS_WILL_O_THE_WISP)
2288 
2289 {
2290     MONS_WILL_O_THE_WISP, 'v', GREEN, "will-o-the-wisp",
2291     M_INSUBSTANTIAL | M_FLIES | M_SEE_INVIS,
2292     MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
2293     10, MONS_WILL_O_THE_WISP, MONS_WILL_O_THE_WISP, MH_NONLIVING, WILL_INVULN,
2294     { {AT_ENGULF, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2295     11, 400,
2296     4, 10, MST_WILL_O_THE_WISP, false, S_MOAN,
2297     I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY,
2298     MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_MISC,
2299     {TILEP_MONS_WILL_O_THE_WISP}, TILE_ERROR
2300 },
2301 
2302 { // miscast only
2303     MONS_TWISTER, 'v', ETC_AIR, "twister",
2304     M_CONFUSED | M_INSUBSTANTIAL | M_BATTY | M_NO_EXP_GAIN | M_NO_POLY_TO
2305         | M_FLIES,
2306     MR_RES_FIRE | mrd(MR_RES_COLD, 3) | mrd(MR_RES_ELEC, 3) | MR_RES_VORTEX,
2307     5, MONS_FIRE_VORTEX, MONS_TWISTER, MH_NONLIVING, WILL_INVULN,
2308     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2309     12, 120000,
2310     0, 5, MST_NO_SPELLS, false, S_SILENT,
2311     I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY,
2312     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_MISC,
2313     {TILEP_MONS_TWISTER, TVARY_CYCLE}, TILE_ERROR
2314 },
2315 
2316 // worms and slugs ('w')
2317 {
2318     MONS_WORM, 'w', LIGHTRED, "worm",
2319     M_NO_SKELETON | M_FAST_REGEN,
2320     MR_NO_FLAGS,
2321     3, MONS_WORM, MONS_WORM, MH_NATURAL, 10,
2322     { {AT_BITE, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2323     4, 180,
2324     1, 5, MST_NO_SPELLS, true, S_SILENT,
2325     I_ANIMAL, HT_LAND, 6, DEFAULT_ENERGY,
2326     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_SNAKE,
2327     {TILEP_MONS_WORM}, TILE_CORPSE_WORM
2328 },
2329 
2330 {
2331     MONS_SWAMP_WORM, 'w', BROWN, "swamp worm",
2332     M_NO_SKELETON,
2333     MR_NO_FLAGS,
2334     3, MONS_WORM, MONS_SWAMP_WORM, MH_NATURAL, 10,
2335     { {AT_BITE, AF_PLAIN, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2336     10, 350,
2337     3, 12, MST_SWAMP_WORM, true, S_SILENT,
2338     I_ANIMAL, HT_AMPHIBIOUS, 12, MOVE_ENERGY(12),
2339     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_SNAKE,
2340     {TILEP_MONS_SWAMP_WORM, TVARY_WATER}, TILE_CORPSE_SWAMP_WORM
2341 },
2342 
2343 {
2344     MONS_TYRANT_LEECH, 'w', RED, "tyrant leech",
2345     M_NO_SKELETON,
2346     MR_NO_FLAGS,
2347     8, MONS_TYRANT_LEECH, MONS_TYRANT_LEECH, MH_NATURAL, 40,
2348     { {AT_BITE, AF_VAMPIRIC, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2349     12, 600,
2350     5, 15, MST_NO_SPELLS, true, S_SILENT,
2351     I_ANIMAL, HT_AMPHIBIOUS, 8, SWIM_ENERGY(6),
2352     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_SNAKE,
2353     {TILEP_MONS_TYRANT_LEECH}, TILE_CORPSE_TYRANT_LEECH
2354 },
2355 
2356 {
2357     MONS_DART_SLUG, 'w', CYAN, "dart slug",
2358     M_NO_SKELETON,
2359     MR_VUL_POISON,
2360     40, MONS_ELEPHANT_SLUG, MONS_DART_SLUG, MH_NATURAL, 0,
2361     { {AT_BITE, AF_PLAIN, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2362     1, 100,
2363     1, 1, MST_DART_SLUG, true, S_SILENT,
2364     I_ANIMAL, HT_LAND, 7, DEFAULT_ENERGY,
2365     MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_SNAIL,
2366     {TILEP_MONS_DART_SLUG}, TILE_CORPSE_DART_SLUG
2367 },
2368 
2369 {
2370     MONS_TORPOR_SNAIL, 'w', GREEN, "torpor snail",
2371     M_NO_SKELETON,
2372     MR_NO_FLAGS,
2373     20, MONS_ELEPHANT_SLUG, MONS_TORPOR_SNAIL, MH_NATURAL, 40,
2374     { {AT_BITE, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2375     10, 600,
2376     8, 1, MST_NO_SPELLS, true, S_SILENT,
2377     I_ANIMAL, HT_AMPHIBIOUS, 7, DEFAULT_ENERGY,
2378     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_SNAIL,
2379     {TILEP_MONS_TORPOR_SNAIL}, TILE_CORPSE_TORPOR_SNAIL
2380 },
2381 
2382 // dummy genus monster; not using DUMMY since it's also a dummy species
2383 {
2384     MONS_ELEPHANT_SLUG, 'w', WHITE, "elephant slug",
2385     M_NO_SKELETON | M_CANT_SPAWN,
2386     MR_VUL_POISON,
2387     2, MONS_ELEPHANT_SLUG, MONS_ELEPHANT_SLUG, MH_NATURAL, 80,
2388     { {AT_BITE, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2389     20, 1300,
2390     2, 1, MST_NO_SPELLS, true, S_SILENT,
2391     I_ANIMAL, HT_LAND, 4, DEFAULT_ENERGY,
2392     MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_SNAIL,
2393     {TILEP_MONS_DART_SLUG}, TILE_CORPSE_ELEPHANT_SLUG
2394 },
2395 
2396 // small abominations ('x')
2397 {
2398     MONS_UNSEEN_HORROR, 'x', MAGENTA, "unseen horror",
2399     M_SEE_INVIS | M_INVIS | M_BATTY,
2400     MR_NO_FLAGS,
2401     6, MONS_UNSEEN_HORROR, MONS_UNSEEN_HORROR, MH_NATURAL, 20,
2402     { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2403     7, 385,
2404     5, 10, MST_NO_SPELLS, false, S_SILENT,
2405     I_ANIMAL, HT_LAND, 30, DEFAULT_ENERGY,
2406     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_MISC,
2407     {TILEP_MONS_UNSEEN_HORROR}, TILE_ERROR
2408 },
2409 
2410 {
2411     MONS_ABOMINATION_SMALL, 'x', LIGHTRED, "small abomination",
2412     M_NO_REGEN,
2413     MR_NO_FLAGS,
2414     10, MONS_ABOMINATION_SMALL, MONS_ABOMINATION_SMALL, MH_UNDEAD, 40,
2415     { {AT_HIT, AF_PLAIN, 23}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2416     6, 270,
2417     0, 0, MST_NO_SPELLS, false, S_SILENT,
2418     I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY,
2419     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_MISC,
2420     {TILEP_MONS_ABOMINATION_SMALL, TVARY_MOD}, TILE_ERROR
2421 },
2422 
2423 {
2424     MONS_ANCIENT_ZYME, 'x', GREEN, "ancient zyme",
2425     M_SEE_INVIS | M_FLIES,
2426     MR_NO_FLAGS,
2427     8, MONS_ANCIENT_ZYME, MONS_ANCIENT_ZYME, MH_NONLIVING, 60,
2428     { {AT_HIT, AF_PLAIN, 16}, {AT_HIT, AF_PLAIN, 16}, AT_NO_ATK, AT_NO_ATK },
2429     8, 520,
2430     6, 6, MST_NO_SPELLS, false, S_SILENT,
2431     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
2432     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_MISC,
2433     {TILEP_MONS_ANCIENT_ZYME}, TILE_ERROR
2434 },
2435 
2436 {
2437     MONS_WORLDBINDER, 'x', CYAN, "worldbinder",
2438     M_SEE_INVIS | M_FLIES,
2439     MR_NO_FLAGS,
2440     13, MONS_WORLDBINDER, MONS_WORLDBINDER, MH_NONLIVING, 60,
2441     { {AT_HIT, AF_PLAIN, 8}, {AT_HIT, AF_PLAIN, 8},
2442        AT_NO_ATK, AT_NO_ATK },
2443     8, 400,
2444     12, 4, MST_WORLDBINDER, false, S_SILENT,
2445     I_ANIMAL, HT_LAND, 14, DEFAULT_ENERGY,
2446     MONUSE_OPEN_DOORS, SIZE_SMALL, MON_SHAPE_MISC,
2447     {TILEP_MONS_WORLDBINDER}, TILE_ERROR
2448 },
2449 
2450 {
2451     MONS_BUNYIP, 'x', YELLOW, "bunyip",
2452     M_WARM_BLOOD,
2453     MR_RES_POISON,
2454     7, MONS_BUNYIP, MONS_BUNYIP, MH_NATURAL, 60,
2455     { {AT_CLAW, AF_PLAIN, 40}, {AT_CLAW, AF_PLAIN, 40}, {AT_CLAW, AF_PLAIN, 40}, AT_NO_ATK },
2456     12, 800,
2457     6, 10, MST_BUNYIP, true, S_SCREAM,
2458     I_ANIMAL, HT_AMPHIBIOUS, 15, ATTACK_ENERGY(45),
2459     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED /*close enough*/,
2460     {TILEP_MONS_BUNYIP}, TILE_CORPSE_BUNYIP
2461 },
2462 
2463 // flying insects ('y')
2464 {
2465     MONS_KILLER_BEE, 'y', BROWN, "killer bee",
2466     M_NO_SKELETON | M_FLIES,
2467     MR_VUL_POISON,
2468     11, MONS_KILLER_BEE, MONS_KILLER_BEE, MH_NATURAL, 10,
2469     { {AT_STING, AF_POISON, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2470     3, 165,
2471     2, 18, MST_NO_SPELLS, true, S_BUZZ,
2472     I_ANIMAL, HT_LAND, 20, DEFAULT_ENERGY,
2473     MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_INSECT_WINGED,
2474     {TILEP_MONS_KILLER_BEE}, TILE_CORPSE_KILLER_BEE
2475 },
2476 
2477 {
2478     MONS_QUEEN_BEE, 'y', LIGHTMAGENTA, "queen bee",
2479     M_NO_SKELETON | M_FLIES,
2480     MR_VUL_POISON,
2481     14, MONS_KILLER_BEE, MONS_QUEEN_BEE, MH_NATURAL, 20,
2482     { {AT_STING, AF_POISON, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2483     7, 385,
2484     10, 10, MST_QUEEN_BEE, true, S_BUZZ,
2485     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
2486     MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_INSECT_WINGED,
2487     {TILEP_MONS_QUEEN_BEE}, TILE_CORPSE_QUEEN_BEE
2488 },
2489 
2490 {
2491     MONS_VAMPIRE_MOSQUITO, 'y', LIGHTGREY, "vampire mosquito",
2492     M_NO_SKELETON | M_FLIES,
2493     MR_NO_FLAGS,
2494     10, MONS_VAMPIRE_MOSQUITO, MONS_VAMPIRE_MOSQUITO, MH_UNDEAD, 20,
2495     { {AT_BITE, AF_VAMPIRIC, 13}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2496     5, 275,
2497     2, 15, MST_NO_SPELLS, true, S_BUZZ,
2498     I_ANIMAL, HT_LAND, 19, DEFAULT_ENERGY,
2499     MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_INSECT_WINGED,
2500     {TILEP_MONS_VAMPIRE_MOSQUITO}, TILE_CORPSE_VAMPIRE_MOSQUITO
2501 },
2502 
2503 {
2504     MONS_HORNET, 'y', YELLOW, "hornet",
2505     M_NO_SKELETON | M_FLIES,
2506     MR_VUL_POISON,
2507     13, MONS_HORNET, MONS_HORNET, MH_NATURAL, 30,
2508     { {AT_STING, AF_POISON_PARALYSE, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2509     6, 330,
2510     6, 14, MST_NO_SPELLS, true, S_BUZZ,
2511     I_ANIMAL, HT_LAND, 15, DEFAULT_ENERGY,
2512     MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_INSECT_WINGED,
2513     {TILEP_MONS_HORNET}, TILE_CORPSE_HORNET
2514 },
2515 
2516 {
2517     MONS_MELIAI, 'y', GREEN, "meliai",
2518     M_NO_SKELETON | M_FLIES,
2519     MR_VUL_POISON,
2520     6, MONS_KILLER_BEE, MONS_MELIAI, MH_NATURAL, 20,
2521     { {AT_HIT, AF_PLAIN, 14}, {AT_STING, AF_POISON, 12}, AT_NO_ATK, AT_NO_ATK },
2522     7, 245,
2523     2, 14, MST_MELIAI, true, S_BUZZ,
2524     I_HUMAN, HT_LAND, 20, DEFAULT_ENERGY,
2525     MONUSE_WEAPONS_ARMOUR, SIZE_SMALL, MON_SHAPE_INSECT_WINGED,
2526     {TILEP_MONS_MELIAI}, TILE_CORPSE_MELIAI
2527 },
2528 
2529 {
2530     MONS_SPARK_WASP, 'y', LIGHTCYAN, "spark wasp",
2531     M_NO_SKELETON | M_FLIES,
2532     mrd(MR_RES_ELEC, 3) | MR_VUL_POISON,
2533     12, MONS_SPARK_WASP, MONS_SPARK_WASP, MH_NATURAL, 40,
2534     { {AT_STING, AF_ELEC, 33}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2535     12, 660,
2536     9, 14, MST_SPARK_WASP, true, S_BUZZ,
2537     I_ANIMAL, HT_LAND, 15, DEFAULT_ENERGY,
2538     MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_INSECT_WINGED,
2539     {TILEP_MONS_SPARK_WASP}, TILE_CORPSE_SPARK_WASP
2540 },
2541 
2542 DUMMY(MONS_MOTH, 'y', WHITE, "moth", TILEP_MONS_MOTH_OF_WRATH)
2543 
2544 {
2545     MONS_GHOST_MOTH, 'y', MAGENTA, "ghost moth",
2546     M_NO_SKELETON | M_INVIS | M_FLIES,
2547     MR_RES_POISON | MR_RES_COLD,
2548     18, MONS_MOTH, MONS_GHOST_MOTH, MH_NATURAL, 100,
2549     { {AT_HIT, AF_DRAIN_STAT, 18}, {AT_HIT, AF_DRAIN_STAT, 18},
2550       {AT_STING, AF_POISON_STRONG, 12}, AT_NO_ATK },
2551     13, 715,
2552     8, 10, MST_DRAIN_GAZE, true, S_SILENT,
2553     I_ANIMAL, HT_LAND, 12, DEFAULT_ENERGY,
2554     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_INSECT_WINGED,
2555     {TILEP_MONS_GHOST_MOTH}, TILE_CORPSE_GHOST_MOTH
2556 },
2557 
2558 {
2559     MONS_MOTH_OF_WRATH, 'y', LIGHTRED, "moth of wrath",
2560     M_NO_SKELETON | M_FLIES,
2561     MR_NO_FLAGS,
2562     10, MONS_MOTH, MONS_MOTH_OF_WRATH, MH_NATURAL, 40,
2563     { {AT_BITE, AF_RAGE, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2564     9, 495,
2565     0, 10, MST_MOTH_OF_WRATH, true, S_SILENT,
2566     I_ANIMAL, HT_LAND, 12, DEFAULT_ENERGY,
2567     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_INSECT_WINGED,
2568     {TILEP_MONS_MOTH_OF_WRATH}, TILE_CORPSE_MOTH_OF_WRATH
2569 },
2570 
2571 // corporeal (semi-)humanoid undead ('z')
2572 {
2573     MONS_WIGHT, 'z', GREEN, "wight",
2574     M_NO_FLAGS,
2575     mrd(MR_RES_COLD, 2),
2576     16, MONS_WIGHT, MONS_WIGHT, MH_UNDEAD, 20,
2577     { {AT_HIT, AF_DRAIN, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2578     3, 165,
2579     4, 10, MST_NO_SPELLS, false, S_SILENT,
2580     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
2581     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
2582     {TILEP_MONS_WIGHT}, TILE_ERROR
2583 },
2584 
2585 {
2586     MONS_SKELETAL_WARRIOR, 'z', CYAN, "skeletal warrior",
2587     M_FIGHTER,
2588     MR_RES_COLD,
2589     10, MONS_SKELETAL_WARRIOR, MONS_SKELETAL_WARRIOR, MH_UNDEAD, 100,
2590     { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2591     10, 650,
2592     15, 10, MST_NO_SPELLS, false, S_SILENT,
2593     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
2594     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
2595     {TILEP_MONS_SKELETAL_WARRIOR}, TILE_ERROR
2596 },
2597 
2598 {
2599     MONS_ANCIENT_CHAMPION, 'z', LIGHTCYAN, "ancient champion",
2600     M_FIGHTER,
2601     MR_RES_COLD,
2602     24, MONS_ANCIENT_CHAMPION, MONS_ANCIENT_CHAMPION, MH_UNDEAD, 120,
2603     { {AT_HIT, AF_PLAIN, 32}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2604     14, 700,
2605     15, 10, MST_ANCIENT_CHAMPION, false, S_SILENT,
2606     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
2607     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
2608     {TILEP_MONS_ANCIENT_CHAMPION}, TILE_ERROR
2609 },
2610 
2611 {
2612     MONS_FLYING_SKULL, 'z', WHITE, "flying skull",
2613     M_NO_FLAGS | M_FLIES, // duh
2614     MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
2615     10, MONS_FLYING_SKULL, MONS_FLYING_SKULL, MH_UNDEAD, 20,
2616     { {AT_HIT, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2617     7, 210,
2618     10, 17, MST_NO_SPELLS, false, S_SCREAM,
2619     I_ANIMAL, HT_LAND, 15, DEFAULT_ENERGY,
2620     MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_MISC,
2621     {TILEP_MONS_FLYING_SKULL}, TILE_ERROR
2622 },
2623 
2624 {
2625     MONS_CURSE_SKULL, 'z', LIGHTMAGENTA, "curse skull",
2626     M_SEE_INVIS | M_SPEAKS | M_FLIES,
2627     mrd(MR_RES_FIRE | MR_RES_COLD, 2) | MR_RES_ELEC,
2628     20, MONS_CURSE_SKULL, MONS_CURSE_SKULL, MH_UNDEAD, WILL_INVULN,
2629     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2630     13, 520,
2631     35, 3, MST_CURSE_SKULL, false, S_MOAN,
2632     I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY,
2633     MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_MISC,
2634     {TILEP_MONS_CURSE_SKULL}, TILE_ERROR
2635 },
2636 
2637 {
2638     MONS_CURSE_TOE, 'z', LIGHTGREEN, "curse toe",
2639     M_SEE_INVIS | M_SPEAKS | M_FLIES,
2640     MR_RES_ELEC | mrd(MR_RES_FIRE, 3) | MR_RES_COLD,
2641     60, MONS_LICH, MONS_CURSE_TOE, MH_UNDEAD, WILL_INVULN,
2642     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2643     14, 980,
2644     25, 1, MST_CURSE_TOE, false, S_MOAN,
2645     I_HUMAN, HT_LAND, 10, MOVE_ENERGY(14),
2646     MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_MISC,
2647     {TILEP_MONS_CURSE_TOE}, TILE_ERROR
2648 },
2649 
2650 // angelic beings ('A')
2651 {
2652     MONS_ANGEL, 'A', WHITE, "angel",
2653     M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_FLIES,
2654     MR_RES_POISON | MR_RES_ELEC,
2655     10, MONS_ANGEL, MONS_ANGEL, MH_HOLY, 120,
2656     { {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK,
2657        AT_NO_ATK },
2658     12, 1020,
2659     10, 20, MST_ANGEL, false, S_SHOUT,
2660     I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY,
2661     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM,
2662         MON_SHAPE_HUMANOID_WINGED,
2663     {TILEP_MONS_ANGEL}, TILE_ERROR
2664 },
2665 
2666 {
2667     MONS_CHERUB, 'A', LIGHTBLUE, "cherub",
2668     M_FIGHTER | M_ARCHER | M_SEE_INVIS | M_SPEAKS | M_FLIES,
2669     MR_RES_POISON | MR_RES_ELEC | MR_RES_FIRE,
2670     10, MONS_ANGEL, MONS_CHERUB, MH_HOLY, 100,
2671     { {AT_HIT, AF_PLAIN, 15}, {AT_CHERUB, AF_PLAIN, 8}, AT_NO_ATK,
2672        AT_NO_ATK },
2673     9, 765,
2674     10, 20, MST_BATTLECRY, false, S_CHERUB,
2675     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
2676     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM,
2677         MON_SHAPE_HUMANOID_WINGED,
2678     {TILEP_MONS_CHERUB}, TILE_ERROR
2679 },
2680 
2681 {
2682     MONS_SERAPH, 'A', LIGHTMAGENTA, "seraph",
2683     M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_FLIES | M_TALL_TILE,
2684     MR_RES_POISON | MR_RES_ELEC | mrd(MR_RES_FIRE, 3),
2685     10, MONS_ANGEL, MONS_SERAPH, MH_HOLY, 160,
2686     { {AT_HIT, AF_PLAIN, 50}, {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK,
2687        AT_NO_ATK },
2688     25, 2125,
2689     10, 20, MST_SERAPH, false, S_SHOUT,
2690     I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY,
2691     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM,
2692         MON_SHAPE_HUMANOID_WINGED,
2693     {TILEP_MONS_SERAPH}, TILE_ERROR
2694 },
2695 
2696 {
2697     MONS_DAEVA, 'A', YELLOW, "daeva",
2698     M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_FLIES,
2699     MR_RES_POISON,
2700     12, MONS_ANGEL, MONS_DAEVA, MH_HOLY, 140,
2701     { {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK,
2702        AT_NO_ATK },
2703     14, 1190,
2704     10, 13, MST_DAEVA, false, S_SHOUT,
2705     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
2706     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM,
2707         MON_SHAPE_HUMANOID_WINGED,
2708     {TILEP_MONS_DAEVA}, TILE_ERROR
2709 },
2710 
2711 {
2712     MONS_PROFANE_SERVITOR, 'A', RED, "profane servitor",
2713     M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_FLIES,
2714     MR_RES_COLD | MR_RES_ELEC,
2715     10, MONS_ANGEL, MONS_PROFANE_SERVITOR, MH_UNDEAD, 140,
2716     { {AT_HIT, AF_VAMPIRIC, 25}, {AT_HIT, AF_DRAIN, 10}, AT_NO_ATK,
2717        AT_NO_ATK },
2718     18, 1530,
2719     10, 20, MST_NO_SPELLS, false, S_SILENT,
2720     I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY,
2721     MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM,
2722         MON_SHAPE_HUMANOID_WINGED,
2723     {TILEP_MONS_PROFANE_SERVITOR}, TILE_ERROR
2724 },
2725 
2726 // beetles and other insects ('B')
2727 
2728 {
2729     MONS_GIANT_COCKROACH, 'B', BROWN, "giant cockroach",
2730     M_NO_SKELETON,
2731     MR_VUL_POISON,
2732     10, MONS_GIANT_COCKROACH, MONS_GIANT_COCKROACH, MH_NATURAL, 0,
2733     { {AT_BITE, AF_PLAIN, 2}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2734     1, 50,
2735     3, 10, MST_NO_SPELLS, true, S_SILENT,
2736     I_ANIMAL, HT_LAND, 12, DEFAULT_ENERGY,
2737     MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_INSECT,
2738     {TILEP_MONS_GIANT_COCKROACH}, TILE_CORPSE_GIANT_COCKROACH
2739 },
2740 
2741 // dummy for recolouring
2742 {
2743     MONS_FORMICID, 'B', GREEN, "formicid",
2744     M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS | M_NO_SKELETON | M_NO_POLY_TO
2745         | M_NO_GEN_DERIVED,
2746     MR_NO_FLAGS,
2747     10, MONS_FORMICID, MONS_FORMICID, MH_NATURAL, 40,
2748     { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2749     6, 420,
2750     3, 10, MST_NO_SPELLS, true, S_SHOUT,
2751     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
2752     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
2753     {TILEP_MONS_FORMICID}, TILE_CORPSE_FORMICID
2754 },
2755 
2756 {
2757     MONS_ENTROPY_WEAVER, 'B', LIGHTCYAN, "entropy weaver",
2758     M_WARM_BLOOD | M_NO_SKELETON | M_FIGHTER | M_SEE_INVIS | M_SPEAKS,
2759     MR_NO_FLAGS,
2760     10, MONS_ENTROPY_WEAVER, MONS_ENTROPY_WEAVER, MH_NATURAL, 60,
2761     { {AT_HIT, AF_PLAIN, 17}, {AT_HIT, AF_PLAIN, 17}, {AT_HIT, AF_PLAIN, 17}, {AT_HIT, AF_PLAIN, 17} },
2762     13, 715,
2763     7, 13, MST_ENTROPY_WEAVER, true, S_SHOUT,
2764     I_HUMAN, HT_LAND, 12, DEFAULT_ENERGY,
2765     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
2766     {TILEP_MONS_ENTROPY_WEAVER}, TILE_CORPSE_ENTROPY_WEAVER
2767 },
2768 
2769 {
2770     MONS_BOULDER_BEETLE, 'B', LIGHTGREY, "boulder beetle",
2771     M_NO_SKELETON,
2772     MR_VUL_POISON,
2773     12, MONS_BOULDER_BEETLE, MONS_BOULDER_BEETLE, MH_NATURAL, 40,
2774     { {AT_BITE, AF_PLAIN, 32}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2775     12, 765,
2776     20, 2, MST_BOULDER_BEETLE, true, S_SILENT,
2777     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
2778     MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_INSECT,
2779     {TILEP_MONS_BOULDER_BEETLE}, TILE_CORPSE_BOULDER_BEETLE
2780 },
2781 
2782 {
2783     MONS_DEATH_SCARAB, 'B', BLUE, "death scarab",
2784     M_NO_SKELETON | M_BATTY,
2785     MR_NO_FLAGS,
2786     12, MONS_DEATH_SCARAB, MONS_DEATH_SCARAB, MH_UNDEAD, 60,
2787     { {AT_BITE, AF_SCARAB, 33}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2788     8, 320,
2789     7, 14, MST_NO_SPELLS, true, S_SILENT,
2790     I_ANIMAL, HT_LAND, 30, DEFAULT_ENERGY,
2791     MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_INSECT,
2792     {TILEP_MONS_DEATH_SCARAB}, TILE_CORPSE_DEATH_SCARAB
2793 },
2794 
2795 // cyclopes and giants ('C')
2796 DUMMY(MONS_GIANT, 'C', LIGHTGREY, "giant", TILEP_MONS_STONE_GIANT)
2797 
2798 {
2799     MONS_CYCLOPS, 'C', YELLOW, "cyclops",
2800     M_WARM_BLOOD | M_SPEAKS,
2801     MR_NO_FLAGS,
2802     14, MONS_GIANT, MONS_CYCLOPS, MH_NATURAL, 40,
2803     { {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2804     9, 495,
2805     5, 3, MST_NO_SPELLS, true, S_SHOUT,
2806     I_HUMAN, HT_LAND, 7, DEFAULT_ENERGY,
2807     MONUSE_STARTING_EQUIPMENT, SIZE_GIANT, MON_SHAPE_HUMANOID,
2808     {TILEP_MONS_CYCLOPS}, TILE_CORPSE_CYCLOPS
2809 },
2810 
2811 {
2812     MONS_ETTIN, 'C', BROWN, "ettin",
2813     M_WARM_BLOOD | M_TWO_WEAPONS | M_SPEAKS,
2814     MR_NO_FLAGS,
2815     12, MONS_GIANT, MONS_ETTIN, MH_NATURAL, 40,
2816     { {AT_HIT, AF_PLAIN, 40}, {AT_HIT, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK },
2817     12, 660,
2818     9, 4, MST_NO_SPELLS, true, S_SHOUT2,
2819     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
2820     MONUSE_STARTING_EQUIPMENT, SIZE_GIANT, MON_SHAPE_HUMANOID,
2821     {TILEP_MONS_ETTIN}, TILE_CORPSE_ETTIN
2822 },
2823 
2824 {
2825     MONS_FIRE_GIANT, 'C', RED, "fire giant",
2826     M_FIGHTER | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS,
2827     mrd(MR_RES_FIRE, 2),
2828     13, MONS_GIANT, MONS_FIRE_GIANT, MH_NATURAL, 80,
2829     { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2830     16, 960,
2831     8, 4, MST_FIRE_GIANT, true, S_SHOUT,
2832     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
2833     MONUSE_WEAPONS_ARMOUR, SIZE_GIANT, MON_SHAPE_HUMANOID,
2834     {TILEP_MONS_FIRE_GIANT}, TILE_CORPSE_FIRE_GIANT
2835 },
2836 
2837 {
2838     MONS_FROST_GIANT, 'C', LIGHTBLUE, "frost giant",
2839     M_FIGHTER | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS,
2840     mrd(MR_RES_COLD, 2),
2841     11, MONS_GIANT, MONS_FROST_GIANT, MH_NATURAL, 80,
2842     { {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2843     16, 1040,
2844     9, 3, MST_FROST_GIANT, true, S_SHOUT,
2845     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
2846     MONUSE_WEAPONS_ARMOUR, SIZE_GIANT, MON_SHAPE_HUMANOID,
2847     {TILEP_MONS_FROST_GIANT}, TILE_CORPSE_FROST_GIANT
2848 },
2849 
2850 {
2851     MONS_STONE_GIANT, 'C', LIGHTGREY, "stone giant",
2852     M_WARM_BLOOD | M_SPEAKS,
2853     MR_NO_FLAGS,
2854     9, MONS_GIANT, MONS_STONE_GIANT, MH_NATURAL, 80,
2855     { {AT_HIT, AF_PLAIN, 45}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2856     16, 880,
2857     12, 2, MST_NO_SPELLS, true, S_SHOUT,
2858     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
2859     MONUSE_STARTING_EQUIPMENT, SIZE_GIANT, MON_SHAPE_HUMANOID,
2860     {TILEP_MONS_STONE_GIANT}, TILE_CORPSE_STONE_GIANT
2861 },
2862 
2863 {
2864     MONS_TITAN, 'C', MAGENTA, "titan",
2865     M_FIGHTER | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS,
2866     mrd(MR_RES_ELEC, 3),
2867     12, MONS_GIANT, MONS_TITAN, MH_NATURAL, 180,
2868     { {AT_HIT, AF_PLAIN, 55}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2869     20, 1100,
2870     10, 3, MST_TITAN, true, S_SHOUT,
2871     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
2872     MONUSE_OPEN_DOORS, SIZE_GIANT, MON_SHAPE_HUMANOID,
2873     {TILEP_MONS_TITAN}, TILE_CORPSE_TITAN
2874 },
2875 
2876 {
2877     MONS_JUGGERNAUT, 'C', LIGHTGREEN, "juggernaut",
2878     M_FIGHTER | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS,
2879     MR_NO_FLAGS,
2880     12, MONS_GIANT, MONS_JUGGERNAUT, MH_NATURAL, 120,
2881     { {AT_HIT, AF_PLAIN, 80}, {AT_HIT, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK },
2882     20, 1700,
2883     20, 5, MST_NO_SPELLS, true, S_SHOUT,
2884     I_HUMAN, HT_LAND, 15, ATTACK_ENERGY(45),
2885     MONUSE_OPEN_DOORS, SIZE_GIANT, MON_SHAPE_HUMANOID,
2886     {TILEP_MONS_JUGGERNAUT}, TILE_CORPSE_JUGGERNAUT
2887 },
2888 
2889 {
2890     MONS_IRON_GIANT, 'C', CYAN, "iron giant",
2891     M_WARM_BLOOD | M_SPEAKS | M_FIGHTER | M_SEE_INVIS,
2892     MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD,
2893     10, MONS_GIANT, MONS_IRON_GIANT, MH_NATURAL, 120,
2894     { {AT_HIT, AF_PLAIN, 65}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2895     18, 1800,
2896     18, 2, MST_IRON_GIANT, true, S_SHOUT,
2897     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
2898     MONUSE_STARTING_EQUIPMENT, SIZE_GIANT, MON_SHAPE_HUMANOID,
2899     {TILEP_MONS_IRON_GIANT}, TILE_CORPSE_IRON_GIANT
2900 },
2901 
2902 // dragons ('D')
2903 DUMMY(MONS_DRAGON, 'D', GREEN, "dragon", TILEP_MONS_FIRE_DRAGON)
2904 
2905 {
2906     MONS_FIRE_DRAGON, 'D', LIGHTRED, "fire dragon",
2907     M_WARM_BLOOD | M_FLIES,
2908     MR_RES_POISON | mrd(MR_RES_FIRE, 2) | MR_VUL_COLD,
2909     12, MONS_DRAGON, MONS_FIRE_DRAGON, MH_NATURAL, 60,
2910     { {AT_BITE, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 13},
2911       {AT_TRAMPLE, AF_TRAMPLE, 13}, AT_NO_ATK },
2912     12, 900,
2913     10, 8, MST_FIRE_DRAGON_BREATH, true, S_LOUD_ROAR,
2914     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
2915     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED,
2916     {TILEP_MONS_FIRE_DRAGON}, TILE_CORPSE_FIRE_DRAGON
2917 },
2918 
2919 {
2920     MONS_HYDRA, 'D', LIGHTGREEN, "hydra",
2921     M_COLD_BLOOD | M_FAST_REGEN,
2922     MR_RES_POISON,
2923     11, MONS_HYDRA, MONS_HYDRA, MH_NATURAL, 60,
2924     { {AT_BITE, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
2925     13, 715,
2926     0, 5, MST_NO_SPELLS, true, S_ROAR,
2927     I_ANIMAL, HT_AMPHIBIOUS, 10, SWIM_ENERGY(6),
2928     MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_QUADRUPED,
2929     {TILEP_MONS_PROGRAM_BUG}, TILE_CORPSE_HYDRA
2930 },
2931 
2932 {
2933     MONS_ICE_DRAGON, 'D', WHITE, "ice dragon",
2934     M_COLD_BLOOD | M_FLIES,
2935     MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 2),
2936     10, MONS_DRAGON, MONS_ICE_DRAGON, MH_NATURAL, 40,
2937     { {AT_BITE, AF_PLAIN, 17}, {AT_CLAW, AF_PLAIN, 17},
2938       {AT_TRAMPLE, AF_TRAMPLE, 17}, AT_NO_ATK },
2939     12, 900,
2940     10, 8, MST_ICE_DRAGON_BREATH, true, S_LOUD_ROAR,
2941     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
2942     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED,
2943     {TILEP_MONS_ICE_DRAGON}, TILE_CORPSE_ICE_DRAGON
2944 },
2945 
2946 {
2947     MONS_STEAM_DRAGON, 'D', BLUE, "steam dragon",
2948     M_WARM_BLOOD | M_FLIES,
2949     MR_RES_STEAM,
2950     29, MONS_DRAGON, MONS_STEAM_DRAGON, MH_NATURAL, 20,
2951     { {AT_BITE, AF_PLAIN, 12}, {AT_CLAW, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK },
2952     4, 300,
2953     5, 10, MST_STEAM_DRAGON, true, S_HISS, // just for the pun
2954     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
2955     MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_QUADRUPED_WINGED,
2956     {TILEP_MONS_STEAM_DRAGON}, TILE_CORPSE_STEAM_DRAGON
2957 },
2958 
2959 {
2960     MONS_SWAMP_DRAGON, 'D', BROWN, "swamp dragon",
2961     M_WARM_BLOOD | M_FLIES,
2962     MR_RES_POISON,
2963     11, MONS_DRAGON, MONS_SWAMP_DRAGON, MH_NATURAL, 40,
2964     { {AT_BITE, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 11},
2965       {AT_TRAMPLE, AF_TRAMPLE, 11}, AT_NO_ATK },
2966     9, 675,
2967     7, 7, MST_SWAMP_DRAGON, true, S_LOUD_ROAR,
2968     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
2969     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED,
2970     {TILEP_MONS_SWAMP_DRAGON}, TILE_CORPSE_SWAMP_DRAGON
2971 },
2972 
2973 {
2974     MONS_ACID_DRAGON, 'D', GREEN, "acid dragon",
2975     M_WARM_BLOOD | M_FLIES,
2976     MR_RES_POISON | MR_RES_ACID,
2977     16, MONS_DRAGON, MONS_ACID_DRAGON, MH_NATURAL, 20,
2978     { {AT_BITE, AF_PLAIN, 15}, {AT_CLAW, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK },
2979     5, 275,
2980     5, 10, MST_ACID_DRAGON, true, S_ROAR,
2981     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
2982     MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_QUADRUPED_WINGED,
2983     {TILEP_MONS_ACID_DRAGON}, TILE_CORPSE_ACID_DRAGON
2984 },
2985 
2986 {
2987     MONS_QUICKSILVER_DRAGON, 'D', LIGHTCYAN, "quicksilver dragon",
2988     M_SEE_INVIS | M_WARM_BLOOD | M_FLIES,
2989     MR_NO_FLAGS,
2990     14, MONS_DRAGON, MONS_QUICKSILVER_DRAGON, MH_NATURAL, 140,
2991     { {AT_BITE, AF_PLAIN, 25}, {AT_CLAW, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK },
2992     16, 880,
2993     10, 15, MST_QUICKSILVER_DRAGON, true, S_LOUD_ROAR,
2994     I_ANIMAL, HT_LAND, 15, DEFAULT_ENERGY,
2995     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED,
2996     {TILEP_MONS_QUICKSILVER_DRAGON}, TILE_CORPSE_QUICKSILVER_DRAGON
2997 },
2998 
2999 {
3000     MONS_IRON_DRAGON, 'D', CYAN, "iron dragon",
3001     M_SEE_INVIS | M_WARM_BLOOD,
3002     MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD,
3003     14, MONS_DRAGON, MONS_IRON_DRAGON, MH_NATURAL, 160,
3004     { {AT_BITE, AF_PLAIN, 25}, {AT_CLAW, AF_PLAIN, 25},
3005       {AT_TRAMPLE, AF_TRAMPLE, 25}, AT_NO_ATK },
3006     18, 1170,
3007     20, 6, MST_SPLINTER_BREATH, true, S_LOUD_ROAR,
3008     I_ANIMAL, HT_LAND, 8, DEFAULT_ENERGY,
3009     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED,
3010     {TILEP_MONS_IRON_DRAGON}, TILE_CORPSE_IRON_DRAGON
3011 },
3012 
3013 {
3014     MONS_STORM_DRAGON, 'D', LIGHTBLUE, "storm dragon",
3015     M_WARM_BLOOD | M_FLIES,
3016     mrd(MR_RES_ELEC, 3) | MR_RES_COLD,
3017     13, MONS_DRAGON, MONS_STORM_DRAGON, MH_NATURAL, 100,
3018     { {AT_BITE, AF_PLAIN, 25}, {AT_CLAW, AF_PLAIN, 15},
3019       {AT_TRAMPLE, AF_TRAMPLE, 15}, AT_NO_ATK },
3020     14, 1050,
3021     13, 10, MST_STORM_DRAGON, true, S_LOUD_ROAR,
3022     I_ANIMAL, HT_LAND, 12, DEFAULT_ENERGY,
3023     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED,
3024     {TILEP_MONS_STORM_DRAGON}, TILE_CORPSE_STORM_DRAGON
3025 },
3026 
3027 {
3028     MONS_GOLDEN_DRAGON, 'D', YELLOW, "golden dragon",
3029     M_SEE_INVIS | M_WARM_BLOOD | M_FLIES,
3030     MR_RES_ELEC | MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD,
3031     26, MONS_DRAGON, MONS_GOLDEN_DRAGON, MH_NATURAL, 180,
3032     { {AT_BITE, AF_PLAIN, 40}, {AT_CLAW, AF_PLAIN, 20},
3033       {AT_TRAMPLE, AF_TRAMPLE, 20}, AT_NO_ATK },
3034     18, 1080,
3035     15, 7, MST_GOLDEN_DRAGON, true, S_LOUD_ROAR,
3036     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
3037     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED,
3038     {TILEP_MONS_GOLDEN_DRAGON}, TILE_CORPSE_GOLDEN_DRAGON
3039 },
3040 
3041 {
3042     MONS_SHADOW_DRAGON, 'D', MAGENTA, "shadow dragon",
3043     M_SEE_INVIS | M_COLD_BLOOD | M_FLIES,
3044     MR_RES_POISON | mrd(MR_RES_COLD, 2) | mrd(MR_RES_NEG, 3),
3045     12, MONS_DRAGON, MONS_SHADOW_DRAGON, MH_NATURAL, 120,
3046     { {AT_BITE, AF_DRAIN, 20}, {AT_CLAW, AF_PLAIN, 15},
3047       {AT_CLAW, AF_PLAIN, 15}, AT_NO_ATK },
3048     17, 1275,
3049     15, 10, MST_SHADOW_DRAGON, true, S_SILENT, // stealth dragon
3050     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
3051     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED,
3052     {TILEP_MONS_SHADOW_DRAGON}, TILE_CORPSE_SHADOW_DRAGON
3053 },
3054 
3055 {
3056     MONS_BONE_DRAGON, 'D', LIGHTGREY, "bone dragon",
3057     M_SEE_INVIS | M_FLIES,
3058     MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
3059     12, MONS_DRAGON, MONS_BONE_DRAGON, MH_UNDEAD, 100,
3060     { {AT_BITE, AF_PLAIN, 30}, {AT_CLAW, AF_PLAIN, 20},
3061       {AT_TRAMPLE, AF_TRAMPLE, 20}, AT_NO_ATK },
3062     20, 1800,
3063     20, 4, MST_NO_SPELLS, false, S_SILENT,
3064     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
3065     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED,
3066     {TILEP_MONS_BONE_DRAGON}, TILE_ERROR
3067 },
3068 
3069 {
3070     MONS_PEARL_DRAGON, 'D', ETC_HOLY, "pearl dragon",
3071     M_SEE_INVIS | M_WARM_BLOOD | M_FLIES,
3072     MR_NO_FLAGS,
3073     16, MONS_DRAGON, MONS_PEARL_DRAGON, MH_HOLY, 160,
3074     { {AT_BITE, AF_HOLY, 35}, {AT_CLAW, AF_HOLY, 20}, AT_NO_ATK, AT_NO_ATK },
3075     18, 1170,
3076     10, 15, MST_PEARL_DRAGON, true, S_LOUD_ROAR,
3077     I_ANIMAL, HT_LAND, 12, DEFAULT_ENERGY,
3078     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED,
3079     {TILEP_MONS_PEARL_DRAGON}, TILE_CORPSE_PEARL_DRAGON
3080 },
3081 
3082 // elementals (E)
3083 DUMMY(MONS_ELEMENTAL, 'E', LIGHTGREY, "elemental", TILEP_MONS_WATER_ELEMENTAL)
3084 
3085 {
3086     MONS_EARTH_ELEMENTAL, 'E', ETC_EARTH, "earth elemental",
3087     M_NO_FLAGS,
3088     mrd(MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 3)
3089         | MR_RES_PETRIFY,
3090     13, MONS_ELEMENTAL, MONS_EARTH_ELEMENTAL, MH_NONLIVING, WILL_INVULN,
3091     { {AT_HIT, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3092     6, 450,
3093     14, 4, MST_NO_SPELLS, false, S_SILENT,
3094     I_BRAINLESS, HT_LAND, 6, DEFAULT_ENERGY,
3095     MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_MISC,
3096     {TILEP_MONS_EARTH_ELEMENTAL}, TILE_ERROR
3097 },
3098 
3099 {
3100     MONS_FIRE_ELEMENTAL, 'E', ETC_FIRE, "fire elemental",
3101     M_INSUBSTANTIAL,
3102     mrd(MR_RES_FIRE, 3) | MR_VUL_COLD | MR_RES_ELEC
3103         | MR_VUL_WATER,
3104     10, MONS_ELEMENTAL, MONS_FIRE_ELEMENTAL, MH_NONLIVING, WILL_INVULN,
3105     { {AT_HIT, AF_PURE_FIRE, 0}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3106     6, 330,
3107     4, 12, MST_NO_SPELLS, false, S_SILENT,
3108     I_BRAINLESS, HT_AMPHIBIOUS_LAVA, 13, DEFAULT_ENERGY,
3109     MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_MISC,
3110     {TILEP_MONS_FIRE_ELEMENTAL}, TILE_ERROR
3111 },
3112 
3113 {
3114     MONS_WATER_ELEMENTAL, 'E', ETC_WATER, "water elemental",
3115     M_NO_FLAGS,
3116     MR_VUL_FIRE | MR_RES_ELEC,
3117     12, MONS_ELEMENTAL, MONS_WATER_ELEMENTAL, MH_NONLIVING, WILL_INVULN,
3118     { {AT_HIT, AF_ENGULF, 22}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3119     6, 420,
3120     4, 7, MST_NO_SPELLS, false, S_SILENT,
3121     I_BRAINLESS, HT_AMPHIBIOUS, 10, SWIM_ENERGY(6),
3122     MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_MISC,
3123     {TILEP_MONS_WATER_ELEMENTAL}, TILE_ERROR
3124 },
3125 
3126 {
3127     MONS_AIR_ELEMENTAL, 'E', ETC_AIR, "air elemental",
3128     M_SEE_INVIS | M_INSUBSTANTIAL | M_FLIES,
3129     mrd(MR_RES_ELEC, 3),
3130     6, MONS_ELEMENTAL, MONS_AIR_ELEMENTAL, MH_NONLIVING, WILL_INVULN,
3131     { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3132     6, 330,
3133     2, 18, MST_AIR_ELEMENTAL, false, S_SILENT,
3134     I_BRAINLESS, HT_LAND, 25, DEFAULT_ENERGY,
3135     MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_MISC,
3136     {TILEP_MONS_AIR_ELEMENTAL}, TILE_ERROR
3137 },
3138 
3139 {
3140     MONS_IRON_ELEMENTAL, 'E', ETC_IRON, "iron elemental",
3141     M_NO_FLAGS,
3142     mrd(MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 3),
3143     13, MONS_ELEMENTAL, MONS_IRON_ELEMENTAL, MH_NONLIVING, WILL_INVULN,
3144     { {AT_HIT, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3145     12, 1080,
3146     20, 2, MST_IRON_ELEMENTAL, false, S_SILENT,
3147     I_BRAINLESS, HT_LAND, 6, DEFAULT_ENERGY,
3148     MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_MISC,
3149     {TILEP_MONS_IRON_ELEMENTAL}, TILE_ERROR
3150 },
3151 
3152 {
3153     MONS_ELEMENTAL_WELLSPRING, 'E', LIGHTCYAN, "elemental wellspring",
3154     M_NO_FLAGS,
3155     MR_RES_ELEC,
3156     13, MONS_ELEMENTAL, MONS_ELEMENTAL_WELLSPRING, MH_NONLIVING, WILL_INVULN,
3157     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3158     18, 620,
3159     8, 8, MST_ELEMENTAL_WELLSPRING, false, S_SILENT,
3160     I_BRAINLESS, HT_WATER, 10, DEFAULT_ENERGY,
3161     MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_MISC,
3162     {TILEP_MONS_ELEMENTAL_WELLSPRING}, TILE_ERROR
3163 },
3164 
3165 // frogs ('F')
3166 DUMMY(MONS_FROG, 'F', LIGHTGREEN, "giant frog", TILEP_MONS_BULLFROG)
3167 
3168 {
3169     MONS_BULLFROG, 'F', GREEN, "bullfrog",
3170     M_COLD_BLOOD,
3171     MR_NO_FLAGS,
3172     10, MONS_FROG, MONS_BULLFROG, MH_NATURAL, 20,
3173     { {AT_HIT, AF_PLAIN, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3174     4, 220,
3175     0, 12, MST_NO_SPELLS, true, S_CROAK,
3176     I_ANIMAL, HT_AMPHIBIOUS, 15, SWIM_ENERGY(6),
3177     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED_TAILLESS,
3178     {TILEP_MONS_BULLFROG}, TILE_CORPSE_BULLFROG
3179 },
3180 
3181 {
3182     MONS_CANE_TOAD, 'F', YELLOW, "cane toad",
3183     M_COLD_BLOOD,
3184     MR_RES_POISON,
3185     16, MONS_FROG, MONS_CANE_TOAD, MH_NATURAL, 20,
3186     { {AT_STING, AF_POISON, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3187     7, 385,
3188     6, 9, MST_NO_SPELLS, true, S_CROAK,
3189     I_ANIMAL, HT_AMPHIBIOUS, 12, SWIM_ENERGY(6),
3190     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED_TAILLESS,
3191     {TILEP_MONS_CANE_TOAD}, TILE_CORPSE_CANE_TOAD
3192 },
3193 
3194 {
3195     MONS_BLINK_FROG, 'F', LIGHTGREEN, "blink frog",
3196     M_COLD_BLOOD,
3197     MR_NO_FLAGS,
3198     13, MONS_FROG, MONS_BLINK_FROG, MH_NATURAL, 40,
3199     { {AT_HIT, AF_BLINK, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3200     6, 330,
3201     0, 16, MST_BLINKER, true, S_CROAK,
3202     I_ANIMAL, HT_AMPHIBIOUS, 14, SWIM_ENERGY(6),
3203     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED_TAILLESS,
3204     {TILEP_MONS_BLINK_FROG}, TILE_CORPSE_BLINK_FROG
3205 },
3206 
3207 {
3208     MONS_GOLIATH_FROG, 'F', LIGHTGREY, "goliath frog",
3209     M_COLD_BLOOD,
3210     MR_NO_FLAGS, // it's tough out there for a frog.
3211     10, MONS_FROG, MONS_GOLIATH_FROG, MH_NATURAL, 60,
3212     { { AT_HIT, AF_REACH_TONGUE, 27 }, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3213     12, 420,
3214     3, 16, MST_NO_SPELLS, true, S_SILENT, // IRL, goliath frogs have no vocals!
3215     I_ANIMAL, HT_AMPHIBIOUS, 12, SWIM_ENERGY(6),
3216     MONUSE_NOTHING, SIZE_LITTLE /* ~13" */, MON_SHAPE_QUADRUPED_TAILLESS,
3217     {TILEP_MONS_GOLIATH_FROG}, TILE_CORPSE_GOLIATH_FROG
3218 },
3219 
3220 // dummy for recolouring
3221 {
3222     MONS_BARACHI, 'F', LIGHTCYAN, "barachi",
3223     M_SPEAKS | M_NO_POLY_TO,
3224     MR_NO_FLAGS,
3225     10, MONS_FROG, MONS_BARACHI, MH_NATURAL, 10,
3226     { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3227     3, 180,
3228     0, 10, MST_NO_SPELLS, true, S_SHOUT,
3229     I_HUMAN, HT_AMPHIBIOUS, 8, DEFAULT_ENERGY,
3230     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
3231     {TILEP_MONS_BULLFROG}, TILE_CORPSE_BULLFROG
3232 },
3233 
3234 // eyes ('G')
3235 {
3236     MONS_FLOATING_EYE, 'G', WHITE, "floating eye",
3237     M_SEE_INVIS | M_FLIES,
3238     MR_NO_FLAGS,
3239     6, MONS_FLOATING_EYE, MONS_FLOATING_EYE, MH_NATURAL, 10,
3240     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3241     9, 165,
3242     0, 1, MST_FLOATING_EYE, false, S_SILENT,
3243     I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY,
3244     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_ORB,
3245     {TILEP_MONS_FLOATING_EYE}, TILE_ERROR
3246 },
3247 
3248 {
3249     MONS_GLOWING_ORANGE_BRAIN, 'G', LIGHTRED, "glowing orange brain",
3250     M_WARM_BLOOD | M_SEE_INVIS | M_FLIES,
3251     MR_NO_FLAGS,
3252     13, MONS_GLOWING_ORANGE_BRAIN, MONS_GLOWING_ORANGE_BRAIN, MH_NATURAL, 100,
3253     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3254     10, 550,
3255     2, 4, MST_GLOWING_ORANGE_BRAIN, false, S_SILENT,
3256     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
3257     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_ORB,
3258     {TILEP_MONS_GLOWING_ORANGE_BRAIN}, TILE_ERROR
3259 },
3260 
3261 {
3262     MONS_GREAT_ORB_OF_EYES, 'G', LIGHTGREEN, "great orb of eyes",
3263     M_SEE_INVIS | M_FLIES,
3264     MR_RES_POISON,
3265     13, MONS_FLOATING_EYE, MONS_GREAT_ORB_OF_EYES, MH_NATURAL, 120,
3266     { {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3267     12, 660,
3268     10, 3, MST_GREAT_ORB_OF_EYES, false, S_SILENT,
3269     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
3270     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_ORB,
3271     {TILEP_MONS_GREAT_ORB_OF_EYES}, TILE_ERROR
3272 },
3273 
3274 {
3275     MONS_SHINING_EYE, 'G', LIGHTMAGENTA, "shining eye",
3276     M_SEE_INVIS | M_FLIES,
3277     MR_NO_FLAGS,
3278     14, MONS_FLOATING_EYE, MONS_SHINING_EYE, MH_NATURAL, 100,
3279     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3280     10, 550,
3281     3, 1, MST_SHINING_EYE, false, S_SILENT,
3282     I_BRAINLESS, HT_LAND, 7, DEFAULT_ENERGY,
3283     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_ORB,
3284     {TILEP_MONS_SHINING_EYE}, TILE_ERROR
3285 },
3286 
3287 {
3288     MONS_EYE_OF_DEVASTATION, 'G', YELLOW, "eye of devastation",
3289     M_SEE_INVIS | M_FLIES,
3290     MR_NO_FLAGS,
3291     11, MONS_FLOATING_EYE, MONS_EYE_OF_DEVASTATION,
3292         MH_NATURAL, 100,
3293     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3294     10, 550,
3295     12, 1, MST_EYE_OF_DEVASTATION, false, S_SILENT,
3296     I_BRAINLESS, HT_LAND, 7, DEFAULT_ENERGY,
3297     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_ORB,
3298     {TILEP_MONS_EYE_OF_DEVASTATION}, TILE_ERROR
3299 },
3300 
3301 {
3302     MONS_GOLDEN_EYE, 'G', ETC_GOLD, "golden eye",
3303     M_SEE_INVIS | M_BATTY | M_FLIES,
3304     MR_NO_FLAGS,
3305     17, MONS_FLOATING_EYE, MONS_GOLDEN_EYE, MH_NATURAL, 60,
3306     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3307     6, 120,
3308     0, 20, MST_GOLDEN_EYE, false, S_SILENT,
3309     I_BRAINLESS, HT_LAND, 13, DEFAULT_ENERGY,
3310     MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_ORB,
3311     {TILEP_MONS_GOLDEN_EYE}, TILE_ERROR
3312 },
3313 
3314 {
3315     MONS_OPHAN, 'G', RED, "ophan",
3316     M_SEE_INVIS | M_FLIES,
3317     MR_NO_FLAGS,
3318     14, MONS_ANGEL, MONS_OPHAN, MH_HOLY, 140,
3319     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3320     15, 975,
3321     10, 10, MST_OPHAN, false, S_SILENT,
3322     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
3323     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_ORB,
3324     {TILEP_MONS_OPHAN}, TILE_ERROR
3325 },
3326 
3327 // hybrids ('H')
3328 {
3329     MONS_MANTICORE, 'H', RED, "manticore",
3330     M_WARM_BLOOD | M_FLIES,
3331     MR_NO_FLAGS,
3332     10, MONS_MANTICORE, MONS_MANTICORE, MH_NATURAL, 40,
3333     { {AT_BITE, AF_PLAIN, 26}, {AT_CLAW, AF_PLAIN, 14}, {AT_CLAW, AF_PLAIN, 14},
3334        AT_NO_ATK },
3335     9, 495,
3336     5, 7, MST_MANTICORE, true, S_SILENT,
3337     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
3338     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED,
3339     {TILEP_MONS_MANTICORE}, TILE_CORPSE_MANTICORE
3340 },
3341 
3342 {
3343     MONS_MINOTAUR, 'H', LIGHTRED, "minotaur",
3344     M_FIGHTER | M_WARM_BLOOD | M_SPEAKS,
3345     MR_NO_FLAGS,
3346     10, MONS_MINOTAUR, MONS_MINOTAUR, MH_NATURAL, 100,
3347     { {AT_HIT, AF_PLAIN, 35}, {AT_GORE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK },
3348     14, 780,
3349     6, 9, MST_NO_SPELLS, true, S_BELLOW,
3350     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
3351     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
3352     {TILEP_MONS_MINOTAUR}, TILE_CORPSE_MINOTAUR
3353 },
3354 
3355 {
3356     MONS_FENSTRIDER_WITCH, 'H', LIGHTMAGENTA, "fenstrider witch",
3357     M_SPEAKS | M_WARM_BLOOD | M_SEE_INVIS,
3358     MR_RES_POISON | MR_RES_NEG,
3359     10, MONS_FENSTRIDER_WITCH, MONS_FENSTRIDER_WITCH, MH_NATURAL | MH_EVIL, 100,
3360     { { AT_HIT, AF_PLAIN, 25 }, { AT_KICK, AF_PLAIN, 25 }, AT_NO_ATK, AT_NO_ATK },
3361     16, 666,
3362     3, 15, MST_FENSTRIDER_WITCH, true, S_SHOUT,
3363     I_HUMAN, HT_LAND, 13, DEFAULT_ENERGY,
3364     MONUSE_WEAPONS_ARMOUR, SIZE_GIANT, MON_SHAPE_HUMANOID,
3365     { TILEP_MONS_FENSTRIDER_WITCH }, TILE_CORPSE_FENSTRIDER_WITCH
3366 },
3367 
3368 {
3369     MONS_SPHINX, 'H', LIGHTGREY, "sphinx",
3370     M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS | M_FLIES,
3371     MR_NO_FLAGS,
3372     12, MONS_SPHINX, MONS_SPHINX, MH_NATURAL, 60,
3373     { {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 12}, {AT_HIT, AF_PLAIN, 12},
3374        AT_NO_ATK },
3375     16, 880,
3376     5, 5, MST_SPHINX, true, S_SHOUT,
3377     I_HUMAN, HT_LAND, 11, DEFAULT_ENERGY,
3378     MONUSE_OPEN_DOORS, SIZE_BIG, MON_SHAPE_QUADRUPED_WINGED,
3379     {TILEP_MONS_SPHINX}, TILE_CORPSE_SPHINX
3380 },
3381 
3382 {
3383     MONS_HARPY, 'H', GREEN, "harpy",
3384     M_WARM_BLOOD | M_BATTY | M_FEMALE | M_FLIES,
3385     MR_RES_POISON,
3386     9, MONS_HARPY, MONS_HARPY, MH_NATURAL, 20,
3387     { {AT_CLAW, AF_PLAIN, 19}, {AT_CLAW, AF_PLAIN, 14}, AT_NO_ATK,
3388        AT_NO_ATK },
3389     7, 385,
3390     2, 10, MST_NO_SPELLS, true, S_SCREECH,
3391     I_HUMAN, HT_LAND, 25, DEFAULT_ENERGY,
3392     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_HUMANOID_WINGED,
3393     {TILEP_MONS_HARPY}, TILE_CORPSE_HARPY
3394 },
3395 
3396 // dummy, though it's rude to say so
3397 {
3398     MONS_PALENTONGA, 'H', YELLOW, "palentonga",
3399     M_SPEAKS | M_NO_POLY_TO,
3400     MR_NO_FLAGS,
3401     10, MONS_PALENTONGA, MONS_PALENTONGA, MH_NATURAL, 10,
3402     { {AT_HIT, AF_PLAIN, 18}, {AT_TAIL_SLAP, AF_PLAIN, 12}, AT_NO_ATK,
3403         AT_NO_ATK },
3404     8, 450,
3405     15, 5, MST_NO_SPELLS, true, S_SHOUT,
3406     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
3407     MONUSE_WEAPONS_ARMOUR, SIZE_BIG, MON_SHAPE_HUMANOID,
3408     {TILEP_MONS_BOULDER_BEETLE}, TILE_CORPSE_BOULDER_BEETLE
3409 },
3410 
3411 // Mutant beasts - variable traits
3412 {
3413     MONS_MUTANT_BEAST, 'H', MAGENTA, "mutant beast",
3414     M_NO_POLY_TO | M_NO_GEN_DERIVED,
3415     MR_NO_FLAGS,
3416     11, MONS_MUTANT_BEAST, MONS_MUTANT_BEAST, MH_NATURAL, -3,
3417     { {AT_HIT, AF_PLAIN, 27}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3418     15, 825,
3419     8, 5, MST_NO_SPELLS, true, S_RANDOM,
3420     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
3421     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED,
3422     {TILEP_MUTANT_BEAST_BASE}, TILE_CORPSE_MUTANT_BEAST
3423 },
3424 
3425 
3426 // Hepliaklqana's ancestor - variable traits
3427 {
3428     MONS_ANCESTOR, 'R', LIGHTCYAN, "ancestor",
3429     M_ANCESTOR | M_NO_POLY_TO | M_NO_GEN_DERIVED | M_FLIES | M_FAST_REGEN | M_INSUBSTANTIAL | M_SEE_INVIS,
3430     MR_RES_FIRE | MR_RES_COLD,
3431     1, MONS_ANCESTOR, MONS_ANCESTOR, MH_NONLIVING, -5,
3432     { {AT_HIT, AF_PLAIN, 27}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3433     1, 1,
3434     5, 10, MST_NO_SPELLS, false, S_SHOUT,
3435     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
3436     MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
3437     {TILEP_MONS_ANCESTOR}, TILE_ERROR
3438 },
3439 
3440 {
3441     MONS_ANCESTOR_KNIGHT, 'R', LIGHTCYAN, "knight",
3442     M_ANCESTOR | M_NO_POLY_TO | M_NO_GEN_DERIVED | M_FLIES | M_FAST_REGEN | M_INSUBSTANTIAL | M_SEE_INVIS,
3443     MR_RES_FIRE | MR_RES_COLD,
3444     1, MONS_ANCESTOR, MONS_ANCESTOR_KNIGHT, MH_NONLIVING, -5,
3445     { {AT_HIT, AF_PLAIN, 27}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3446     1, 1,
3447     5, 10, MST_NO_SPELLS, false, S_SHOUT,
3448     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
3449     MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
3450     {TILEP_MONS_ANCESTOR_KNIGHT}, TILE_ERROR
3451 },
3452 {
3453     MONS_ANCESTOR_BATTLEMAGE, 'R', LIGHTCYAN, "battlemage",
3454     M_ANCESTOR | M_NO_POLY_TO | M_NO_GEN_DERIVED | M_FLIES | M_FAST_REGEN | M_INSUBSTANTIAL | M_SEE_INVIS,
3455     MR_RES_FIRE | MR_RES_COLD,
3456     1, MONS_ANCESTOR, MONS_ANCESTOR_BATTLEMAGE, MH_NONLIVING, -5,
3457     { {AT_HIT, AF_PLAIN, 27}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3458     1, 1,
3459     5, 10, MST_NO_SPELLS, false, S_SHOUT,
3460     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
3461     MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
3462     {TILEP_MONS_ANCESTOR_BATTLEMAGE}, TILE_ERROR
3463 },
3464 {
3465     MONS_ANCESTOR_HEXER, 'R', LIGHTCYAN, "hexer",
3466     M_ANCESTOR | M_NO_POLY_TO | M_NO_GEN_DERIVED | M_FLIES | M_FAST_REGEN | M_INSUBSTANTIAL | M_SEE_INVIS,
3467     MR_RES_FIRE | MR_RES_COLD,
3468     1, MONS_ANCESTOR, MONS_ANCESTOR_HEXER, MH_NONLIVING, -5,
3469     { {AT_HIT, AF_PLAIN, 27}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3470     1, 1,
3471     5, 10, MST_NO_SPELLS, false, S_SHOUT,
3472     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
3473     MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
3474     {TILEP_MONS_ANCESTOR_HEXER}, TILE_ERROR
3475     },
3476 
3477 // jellies ('J')
3478 {
3479     MONS_ENDOPLASM, 'J', LIGHTGREY, "endoplasm",
3480     M_SEE_INVIS | M_UNBLINDABLE,
3481     MR_RES_POISON | mrd(MR_RES_ACID, 3),
3482     10, MONS_JELLY, MONS_ENDOPLASM, MH_NATURAL, 0,
3483     { {AT_HIT, AF_PLAIN, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3484     1, 60,
3485     1, 3, MST_ENDOPLASM, false, S_SILENT,
3486     I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY,
3487     MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_BLOB,
3488     {TILEP_MONS_ENDOPLASM}, TILE_ERROR
3489 },
3490 
3491 {
3492     MONS_JELLY, 'J', LIGHTRED, "jelly",
3493     M_SEE_INVIS | M_UNBLINDABLE | M_SPLITS | M_ACID_SPLASH | M_EAT_DOORS,
3494     MR_RES_POISON | mrd(MR_RES_ACID, 3),
3495     15, MONS_JELLY, MONS_JELLY, MH_NATURAL, 10,
3496     { {AT_HIT, AF_ACID, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3497     3, 165,
3498     0, 2, MST_NO_SPELLS, false, S_SILENT,
3499     I_BRAINLESS, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY,
3500     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_BLOB,
3501     {TILEP_MONS_JELLY}, TILE_ERROR
3502 },
3503 
3504 {
3505     MONS_SLIME_CREATURE, 'J', GREEN, "slime creature",
3506     M_FAST_REGEN | M_HERD,
3507     MR_RES_POISON,
3508     3, MONS_JELLY, MONS_SLIME_CREATURE, MH_NATURAL, 40,
3509     { {AT_HIT, AF_PLAIN, 22}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3510     11, 605,
3511     1, 4, MST_NO_SPELLS, false, S_SILENT,
3512     I_BRAINLESS, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY,
3513     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_BLOB,
3514     {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR
3515 },
3516 
3517 DUMMY(MONS_MERGED_SLIME_CREATURE, 'J', LIGHTGREEN, "merged slime creature",
3518       TILEP_MONS_PROGRAM_BUG)
3519 
3520 {
3521     MONS_ROCKSLIME, 'J', BROWN, "rockslime",
3522     M_SEE_INVIS | M_UNBLINDABLE | M_EAT_DOORS,
3523     MR_RES_POISON | MR_RES_ELEC | mrd(MR_RES_FIRE, 2),
3524     10, MONS_JELLY, MONS_ROCKSLIME, MH_NATURAL, 60,
3525     { {AT_HIT, AF_TRAMPLE, 50}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3526     20, 600,
3527     27, 2, MST_NO_SPELLS, false, S_SILENT,
3528     I_BRAINLESS, HT_LAND, 12, DEFAULT_ENERGY,
3529     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_BLOB,
3530     {TILEP_MONS_ROCKSLIME}, TILE_ERROR
3531 },
3532 
3533 {
3534     MONS_QUICKSILVER_OOZE, 'J', CYAN, "quicksilver ooze",
3535     M_SEE_INVIS | M_UNBLINDABLE | M_EAT_DOORS,
3536     MR_RES_POISON | mrd(MR_RES_ACID, 3),
3537     15, MONS_JELLY, MONS_QUICKSILVER_OOZE, MH_NATURAL, WILL_INVULN,
3538     { {AT_HIT, AF_ENGULF, 27}, {AT_HIT, AF_ANTIMAGIC, 15}, AT_NO_ATK, AT_NO_ATK },
3539     13, 500,
3540     3, 15, MST_NO_SPELLS, false, S_SILENT,
3541     I_BRAINLESS, HT_LAND, 16, DEFAULT_ENERGY,
3542     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_BLOB,
3543     {TILEP_MONS_QUICKSILVER_OOZE}, TILE_ERROR
3544 },
3545 
3546 {
3547     MONS_AZURE_JELLY, 'J', LIGHTBLUE, "azure jelly",
3548     M_SEE_INVIS | M_UNBLINDABLE | M_EAT_DOORS,
3549     MR_RES_POISON | MR_RES_COLD | MR_VUL_FIRE | mrd(MR_RES_ACID, 3),
3550     14, MONS_JELLY, MONS_AZURE_JELLY, MH_NATURAL, 80,
3551     { {AT_HIT, AF_COLD, 12}, {AT_HIT, AF_COLD, 12}, {AT_HIT, AF_PLAIN, 12},
3552       {AT_HIT, AF_PLAIN, 12} },
3553     15, 825,
3554     5, 10, MST_NO_SPELLS, false, S_SILENT,
3555     I_BRAINLESS, HT_LAND, 12, DEFAULT_ENERGY,
3556     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_BLOB,
3557     {TILEP_MONS_AZURE_JELLY}, TILE_ERROR
3558 },
3559 
3560 {
3561     MONS_ACID_BLOB, 'J', LIGHTCYAN, "acid blob",
3562     M_SEE_INVIS | M_UNBLINDABLE | M_ACID_SPLASH | M_EAT_DOORS,
3563     MR_RES_POISON | mrd(MR_RES_ACID, 3),
3564     12, MONS_JELLY, MONS_ACID_BLOB, MH_NATURAL, 160,
3565     { {AT_HIT, AF_ACID, 42}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3566     18, 990,
3567     1, 3, MST_ACID_SPIT, false, S_SILENT,
3568     I_BRAINLESS, HT_LAND, 12, DEFAULT_ENERGY,
3569     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_BLOB,
3570     {TILEP_MONS_ACID_BLOB}, TILE_ERROR
3571 },
3572 
3573 // kobolds ('K')
3574 {
3575     MONS_KOBOLD, 'K', BROWN, "kobold",
3576     M_WARM_BLOOD | M_SPEAKS,
3577     MR_NO_FLAGS,
3578     10, MONS_KOBOLD, MONS_KOBOLD, MH_NATURAL, 0,
3579     { {AT_HIT, AF_PLAIN, 1}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3580     1, 35,
3581     2, 12, MST_NO_SPELLS, true, S_SHOUT,
3582     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
3583     MONUSE_WEAPONS_ARMOUR, SIZE_SMALL, MON_SHAPE_HUMANOID,
3584     {TILEP_MONS_KOBOLD}, TILE_CORPSE_KOBOLD
3585 },
3586 
3587 {
3588     MONS_KOBOLD_BRIGAND, 'K', YELLOW, "kobold brigand",
3589     M_WARM_BLOOD | M_SPEAKS,
3590     MR_NO_FLAGS,
3591     7, MONS_KOBOLD, MONS_KOBOLD, MH_NATURAL, 20,
3592     { {AT_HIT, AF_PLAIN, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3593     5, 275,
3594     3, 12, MST_NO_SPELLS, true, S_SHOUT,
3595     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
3596     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
3597     {TILEP_MONS_KOBOLD_BRIGAND}, TILE_ERROR
3598 },
3599 
3600 {
3601     MONS_KOBOLD_DEMONOLOGIST, 'K', MAGENTA, "kobold demonologist",
3602     M_WARM_BLOOD | M_SPEAKS,
3603     MR_NO_FLAGS,
3604     18, MONS_KOBOLD, MONS_KOBOLD, MH_NATURAL | MH_EVIL, 40,
3605     { {AT_HIT, AF_PLAIN, 4}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3606     6, 390,
3607     2, 13, MST_KOBOLD_DEMONOLOGIST, true, S_SHOUT,
3608     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
3609     MONUSE_WEAPONS_ARMOUR, SIZE_SMALL, MON_SHAPE_HUMANOID,
3610     {TILEP_MONS_KOBOLD_DEMONOLOGIST}, TILE_ERROR
3611 },
3612 
3613 // liches ('L')
3614 {
3615     MONS_LICH, 'L', LIGHTGREY, "lich",
3616     M_SEE_INVIS | M_SPEAKS,
3617     mrd(MR_RES_COLD, 2),
3618     18, MONS_LICH, MONS_LICH, MH_UNDEAD, WILL_INVULN,
3619     { {AT_TOUCH, AF_DRAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3620     20, 800,
3621     10, 10, MST_LICH, false, S_SHOUT,
3622     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
3623     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
3624     {TILEP_MONS_LICH}, TILE_ERROR
3625 },
3626 
3627 {
3628     MONS_ANCIENT_LICH, 'L', WHITE, "ancient lich",
3629     M_SEE_INVIS | M_SPEAKS,
3630     mrd(MR_RES_COLD, 2) | MR_RES_FIRE | MR_RES_ELEC,
3631     24, MONS_LICH, MONS_LICH, MH_UNDEAD, WILL_INVULN,
3632     { {AT_TOUCH, AF_DRAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3633     27, 1080,
3634     20, 10, MST_ANCIENT_LICH, false, S_SHOUT,
3635     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
3636     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
3637     {TILEP_MONS_ANCIENT_LICH}, TILE_ERROR
3638 },
3639 
3640 {
3641     MONS_DREAD_LICH, 'L', LIGHTMAGENTA, "dread lich",
3642     M_SEE_INVIS | M_SPEAKS,
3643     mrd(MR_RES_COLD, 2) | MR_RES_FIRE | MR_RES_ELEC,
3644     24, MONS_LICH, MONS_LICH, MH_UNDEAD, WILL_INVULN,
3645     { {AT_TOUCH, AF_DRAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3646     27, 1080,
3647     20, 10, MST_DREAD_LICH, false, S_SHOUT,
3648     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
3649     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
3650     {TILEP_MONS_DREAD_LICH}, TILE_ERROR
3651 },
3652 
3653 {
3654     MONS_REVENANT, 'L', CYAN, "revenant",
3655     M_SEE_INVIS | M_SPEAKS,
3656     mrd(MR_RES_COLD, 2),
3657     18, MONS_REVENANT, MONS_REVENANT, MH_UNDEAD, WILL_INVULN,
3658     { {AT_HIT, AF_PLAIN, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3659     18, 810,
3660     8, 12, MST_REVENANT, false, S_SHOUT,
3661     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
3662     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
3663     {TILEP_MONS_REVENANT}, TILE_ERROR
3664 },
3665 
3666 {
3667     MONS_HALAZID_WARLOCK, 'L', GREEN, "halazid warlock",
3668     M_SEE_INVIS | M_SPEAKS,
3669     mrd(MR_RES_COLD, 2),
3670     10, MONS_LICH, MONS_LICH, MH_UNDEAD, 100,
3671     { {AT_TOUCH, AF_PAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3672     18, 750,
3673     8, 12, MST_HALAZID_WARLOCK, false, S_SHOUT,
3674     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
3675     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
3676     {TILEP_MONS_HALAZID_WARLOCK}, TILE_ERROR
3677 },
3678 
3679 // mummies ('M')
3680 {
3681     MONS_MUMMY, 'M', LIGHTGREY, "mummy",
3682     M_NO_FLAGS,
3683     MR_VUL_FIRE | MR_RES_COLD,
3684     21, MONS_MUMMY, MONS_MUMMY, MH_UNDEAD, 20,
3685     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3686     3, 195,
3687     3, 6, MST_NO_SPELLS, false, S_SILENT,
3688     I_HUMAN, HT_LAND, 6, DEFAULT_ENERGY,
3689     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
3690     {TILEP_MONS_MUMMY}, TILE_ERROR
3691 },
3692 
3693 {
3694     MONS_GUARDIAN_MUMMY, 'M', YELLOW, "guardian mummy",
3695     M_FIGHTER | M_SEE_INVIS,
3696     MR_RES_COLD,
3697     13, MONS_MUMMY, MONS_MUMMY, MH_UNDEAD, 40,
3698     { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3699     7, 455,
3700     6, 9, MST_NO_SPELLS, false, S_SILENT,
3701     I_HUMAN, HT_LAND, 8, DEFAULT_ENERGY,
3702     MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_HUMANOID,
3703     {TILEP_MONS_GUARDIAN_MUMMY}, TILE_ERROR
3704 },
3705 
3706 {
3707     MONS_ROYAL_MUMMY, 'M', WHITE, "royal mummy",
3708     M_SEE_INVIS | M_SPEAKS,
3709     MR_RES_COLD | MR_RES_ELEC,
3710     24, MONS_MUMMY, MONS_MUMMY, MH_UNDEAD, 160,
3711     { {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3712     15, 1950,
3713     10, 6, MST_ROYAL_MUMMY, false, S_SILENT,
3714     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
3715     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
3716     {TILEP_MONS_ROYAL_MUMMY}, TILE_ERROR
3717 },
3718 
3719 {
3720     MONS_MUMMY_PRIEST, 'M', RED, "mummy priest",
3721     M_SEE_INVIS | M_SPEAKS,
3722     MR_RES_COLD | MR_RES_ELEC,
3723     20, MONS_MUMMY, MONS_MUMMY, MH_UNDEAD, 120,
3724     { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3725     10, 650,
3726     8, 7, MST_MUMMY_PRIEST, false, S_SILENT,
3727     I_HUMAN, HT_LAND, 8, DEFAULT_ENERGY,
3728     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
3729     {TILEP_MONS_MUMMY_PRIEST}, TILE_ERROR
3730 },
3731 
3732 // nagas ('N')
3733 {
3734     MONS_NAGA, 'N', GREEN, "naga",
3735     M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS,
3736     MR_RES_POISON,
3737     13, MONS_NAGA, MONS_NAGA, MH_NATURAL, 40,
3738     { {AT_HIT, AF_PLAIN, 22}, {AT_CONSTRICT, AF_CRUSH, 5},
3739        AT_NO_ATK, AT_NO_ATK },
3740     5, 275,
3741     6, 10, MST_NAGA, true, S_SHOUT,
3742     I_HUMAN, HT_LAND, 10, MOVE_ENERGY(14),
3743     MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_NAGA,
3744     {TILEP_MONS_NAGA}, TILE_CORPSE_NAGA
3745 },
3746 
3747 {
3748     MONS_NAGA_MAGE, 'N', MAGENTA, "naga mage",
3749     M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS,
3750     MR_RES_POISON,
3751     14, MONS_NAGA, MONS_NAGA, MH_NATURAL, 60,
3752     { {AT_HIT, AF_PLAIN, 14}, {AT_CONSTRICT, AF_CRUSH, 4},
3753        AT_NO_ATK, AT_NO_ATK },
3754     7, 385,
3755     6, 10, MST_NAGA_MAGE, true, S_SHOUT,
3756     I_HUMAN, HT_LAND, 10, MOVE_ENERGY(14),
3757     MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_NAGA,
3758     {TILEP_MONS_NAGA_MAGE}, TILE_ERROR
3759 },
3760 
3761 {
3762     MONS_NAGA_SHARPSHOOTER, 'N', LIGHTGRAY, "naga sharpshooter",
3763     M_SEE_INVIS | M_WARM_BLOOD
3764         | M_ARCHER | M_PREFER_RANGED | M_SPEAKS,
3765     MR_RES_POISON,
3766     14, MONS_NAGA, MONS_NAGA, MH_NATURAL, 80,
3767     { {AT_HIT, AF_PLAIN, 17}, {AT_CONSTRICT, AF_CRUSH, 5}, AT_NO_ATK, AT_NO_ATK },
3768     9, 720,
3769     6, 10, MST_NAGA_SHARPSHOOTER, true, S_SHOUT,
3770     I_HUMAN, HT_LAND, 10, MOVE_ENERGY(14),
3771     MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_NAGA,
3772     {TILEP_MONS_NAGA_SHARPSHOOTER}, TILE_ERROR
3773 },
3774 
3775 {
3776     MONS_NAGA_RITUALIST, 'N', BROWN, "naga ritualist",
3777     M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS,
3778     MR_RES_POISON,
3779     14, MONS_NAGA, MONS_NAGA, MH_NATURAL, 60,
3780     { {AT_HIT, AF_PLAIN, 14}, {AT_CONSTRICT, AF_CRUSH, 4},
3781        AT_NO_ATK, AT_NO_ATK },
3782     8, 600,
3783     6, 10, MST_NAGA_RITUALIST, true, S_SHOUT,
3784     I_HUMAN, HT_LAND, 10, MOVE_ENERGY(14),
3785     MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_NAGA,
3786     {TILEP_MONS_NAGA_RITUALIST}, TILE_ERROR
3787 },
3788 
3789 {
3790     MONS_NAGA_WARRIOR, 'N', BLUE, "naga warrior",
3791     M_FIGHTER | M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS,
3792     MR_RES_POISON,
3793     11, MONS_NAGA, MONS_NAGA, MH_NATURAL, 80,
3794     { {AT_HIT, AF_PLAIN, 32}, {AT_CONSTRICT, AF_CRUSH, 6},
3795        AT_NO_ATK, AT_NO_ATK },
3796     10, 1000,
3797     6, 10, MST_NAGA_WARRIOR, true, S_SHOUT,
3798     I_HUMAN, HT_LAND, 10, MOVE_ENERGY(14),
3799     MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_NAGA,
3800     {TILEP_MONS_NAGA_WARRIOR}, TILE_ERROR
3801 },
3802 
3803 {
3804     MONS_NAGARAJA, 'N', LIGHTMAGENTA, "nagaraja",
3805     M_FIGHTER | M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS,
3806     MR_RES_POISON,
3807     15, MONS_NAGA, MONS_NAGA, MH_NATURAL, 140,
3808     { {AT_HIT, AF_PLAIN, 27}, {AT_CONSTRICT, AF_CRUSH, 7},
3809        AT_NO_ATK, AT_NO_ATK },
3810     15, 825,
3811     6, 10, MST_NAGARAJA, true, S_SHOUT,
3812     I_HUMAN, HT_LAND, 10, MOVE_ENERGY(14),
3813     MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_NAGA,
3814     {TILEP_MONS_NAGARAJA}, TILE_ERROR
3815 },
3816 
3817 // ogres ('O')
3818 {
3819     MONS_OGRE, 'O', BROWN, "ogre",
3820     M_WARM_BLOOD | M_SPEAKS,
3821     MR_NO_FLAGS,
3822     9, MONS_OGRE, MONS_OGRE, MH_NATURAL, 20,
3823     { {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3824     5, 275,
3825     1, 6, MST_NO_SPELLS, true, S_SHOUT,
3826     I_HUMAN, HT_LAND, 10, ATTACK_ENERGY(13),
3827     MONUSE_STARTING_EQUIPMENT, SIZE_LARGE, MON_SHAPE_HUMANOID,
3828     {TILEP_MONS_OGRE}, TILE_CORPSE_OGRE
3829 },
3830 
3831 // These guys get understated because the experience code can't see
3832 // that they wield two weapons... I'm raising their xp modifier. - bwr
3833 {
3834     MONS_TWO_HEADED_OGRE, 'O', LIGHTRED, "two-headed ogre",
3835     M_WARM_BLOOD | M_TWO_WEAPONS | M_SPEAKS,
3836     MR_NO_FLAGS,
3837     15, MONS_OGRE, MONS_TWO_HEADED_OGRE, MH_NATURAL, 40,
3838     { {AT_HIT, AF_PLAIN, 20}, {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK },
3839     10, 550,
3840     3, 6, MST_NO_SPELLS, true, S_SHOUT2,
3841     I_HUMAN, HT_LAND, 10, ATTACK_ENERGY(13),
3842     MONUSE_STARTING_EQUIPMENT, SIZE_LARGE, MON_SHAPE_HUMANOID,
3843     {TILEP_MONS_TWO_HEADED_OGRE}, TILE_CORPSE_TWO_HEADED_OGRE
3844 },
3845 
3846 {
3847     MONS_OGRE_MAGE, 'O', MAGENTA, "ogre mage",
3848     M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS,
3849     MR_NO_FLAGS,
3850     16, MONS_OGRE, MONS_OGRE, MH_NATURAL | MH_EVIL, 80,
3851     { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3852     10, 550,
3853     1, 7, MST_OGRE_MAGE, true, S_SHOUT,
3854     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
3855     MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_HUMANOID,
3856     {TILEP_MONS_OGRE_MAGE}, TILE_ERROR
3857 },
3858 
3859 {
3860     MONS_IRONBOUND_THUNDERHULK, 'O', LIGHTCYAN, "ironbound thunderhulk",
3861     M_WARM_BLOOD | M_SPEAKS,
3862     MR_NO_FLAGS,
3863     10, MONS_OGRE, MONS_OGRE, MH_NATURAL, 40,
3864     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3865     12, 880,
3866     1, 8, MST_IRONBOUND_THUNDERHULK, true, S_SHOUT,
3867     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
3868     MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_HUMANOID,
3869     {TILEP_MONS_IRONBOUND_THUNDERHULK}, TILE_ERROR
3870 },
3871 
3872 // immobile plants and fungi ('P')
3873 {
3874     MONS_PLANT, 'P', GREEN, "plant",
3875     M_STATIONARY | M_NOT_DANGEROUS | M_FRAGILE,
3876     MR_RES_POISON,
3877     10, MONS_PLANT, MONS_PLANT, MH_PLANT, WILL_INVULN,
3878     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3879     10, 2000,
3880     0, 0, MST_NO_SPELLS, false, S_SILENT,
3881     I_BRAINLESS, HT_LAND, 0, DEFAULT_ENERGY,
3882     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_PLANT,
3883     {TILEP_MONS_PLANT, TVARY_MOD}, TILE_ERROR
3884 },
3885 
3886 {
3887     MONS_DEMONIC_PLANT, 'P', ETC_RANDOM, "demonic plant",
3888     M_STATIONARY | M_NOT_DANGEROUS | M_FRAGILE,
3889     MR_RES_POISON,
3890     10, MONS_PLANT, MONS_DEMONIC_PLANT, MH_PLANT, WILL_INVULN,
3891     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3892     10, 2000,
3893     0, 0, MST_NO_SPELLS, false, S_SILENT,
3894     I_BRAINLESS, HT_LAND, 0, DEFAULT_ENERGY,
3895     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_PLANT,
3896     {TILEP_MONS_DEMONIC_PLANT}, TILE_ERROR
3897 },
3898 
3899 {
3900     MONS_WITHERED_PLANT, 'P', DARKGREY, "withered plant",
3901     M_STATIONARY | M_NOT_DANGEROUS | M_FRAGILE,
3902     mrd(MR_RES_POISON, 3),
3903     10, MONS_PLANT, MONS_WITHERED_PLANT, MH_PLANT, WILL_INVULN,
3904     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3905     10, 2000,
3906     0, 0, MST_NO_SPELLS, false, S_SILENT,
3907     I_BRAINLESS, HT_LAND, 0, DEFAULT_ENERGY,
3908     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_PLANT,
3909     {TILEP_MONS_WITHERED_PLANT}, TILE_ERROR
3910 },
3911 
3912 {
3913     MONS_OKLOB_SAPLING, 'P', LIGHTCYAN, "oklob sapling",
3914     M_STATIONARY,
3915     MR_RES_POISON | mrd(MR_RES_ACID, 3),
3916     10, MONS_PLANT, MONS_OKLOB_PLANT, MH_PLANT, 20,
3917     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3918     4, 220,
3919     10, 0, MST_OKLOB_SAPLING, false, S_SILENT,
3920     I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY,
3921     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_PLANT,
3922     {TILEP_MONS_OKLOB_SAPLING}, TILE_ERROR
3923 },
3924 
3925 {
3926     MONS_OKLOB_PLANT, 'P', LIGHTGREEN, "oklob plant",
3927     M_STATIONARY,
3928     MR_RES_POISON | mrd(MR_RES_ACID, 3),
3929     10, MONS_PLANT, MONS_OKLOB_PLANT, MH_PLANT, 40,
3930     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3931     10, 550,
3932     10, 0, MST_ACID_SPIT, false, S_SILENT,
3933     I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY,
3934     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_PLANT,
3935     {TILEP_MONS_OKLOB_PLANT}, TILE_ERROR
3936 },
3937 
3938 {
3939     MONS_BUSH, 'P', BROWN, "bush",
3940     M_STATIONARY | M_NOT_DANGEROUS,
3941     MR_RES_POISON | MR_VUL_FIRE,
3942     10, MONS_PLANT, MONS_BUSH, MH_PLANT, WILL_INVULN,
3943     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3944     20, 1100,
3945     15, 0, MST_NO_SPELLS, false, S_SILENT,
3946     I_BRAINLESS, HT_LAND, 0, DEFAULT_ENERGY,
3947     MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_PLANT,
3948     {TILEP_MONS_BUSH, TVARY_MOD}, TILE_ERROR
3949 },
3950 
3951 {
3952     MONS_BURNING_BUSH, 'P', RED, "burning bush",
3953     M_STATIONARY | M_SEE_INVIS,
3954     MR_RES_POISON | MR_RES_FIRE,
3955     10, MONS_PLANT, MONS_BUSH, MH_PLANT, 40,
3956     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3957     8, 440,
3958     10, 0, MST_BURNING_BUSH, false, S_SILENT,
3959     I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY,
3960     MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_PLANT,
3961     {TILEP_MONS_BUSH_BURNING}, TILE_ERROR
3962 },
3963 
3964 {
3965     MONS_TOADSTOOL, 'P', COLOUR_UNDEF, "toadstool",
3966     M_NOT_DANGEROUS | M_STATIONARY,
3967     MR_RES_POISON,
3968     10, MONS_FUNGUS, MONS_TOADSTOOL, MH_PLANT, WILL_INVULN,
3969     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3970     1, 30,
3971     1, 0, MST_NO_SPELLS, false, S_SILENT,
3972     I_BRAINLESS, HT_LAND, 0, DEFAULT_ENERGY,
3973     MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_FUNGUS,
3974     {TILEP_MONS_TOADSTOOL, TVARY_MOD}, TILE_ERROR
3975 },
3976 
3977 {
3978     MONS_FUNGUS, 'P', LIGHTGREY, "fungus",
3979     M_NOT_DANGEROUS | M_STATIONARY | M_FRAGILE,
3980     MR_RES_POISON,
3981     10, MONS_FUNGUS, MONS_FUNGUS, MH_PLANT, WILL_INVULN,
3982     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3983     8, 2000,
3984     0, 0, MST_NO_SPELLS, false, S_SILENT,
3985     I_BRAINLESS, HT_LAND, 0, DEFAULT_ENERGY,
3986     MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_FUNGUS,
3987     {TILEP_MONS_FUNGUS, TVARY_MOD}, TILE_ERROR
3988 },
3989 
3990 {
3991     MONS_BALLISTOMYCETE, 'P', MAGENTA, "ballistomycete",
3992     M_STATIONARY,
3993     MR_RES_POISON,
3994     10, MONS_FUNGUS, MONS_BALLISTOMYCETE, MH_PLANT, WILL_INVULN,
3995     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
3996     4, 260,
3997     1, 0, MST_BALLISTOMYCETE, false, S_SILENT,
3998     I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY,
3999     MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_FUNGUS,
4000     {TILEP_MONS_BALLISTOMYCETE}, TILE_ERROR
4001 },
4002 
4003 {
4004     MONS_BRIAR_PATCH, 'P', YELLOW, "briar patch",
4005     M_STATIONARY | M_NOT_DANGEROUS | M_SPINY,
4006     MR_RES_POISON | MR_VUL_FIRE,
4007     10, MONS_PLANT, MONS_BRIAR_PATCH, MH_PLANT, WILL_INVULN,
4008     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4009     10, 150,
4010     10, 0, MST_NO_SPELLS, false, S_SILENT,
4011     I_BRAINLESS, HT_AMPHIBIOUS, 0, DEFAULT_ENERGY,
4012     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_PLANT,
4013     {TILEP_MONS_BRIAR_PATCH}, TILE_ERROR
4014 },
4015 
4016 // tengu ('Q')
4017 {
4018     MONS_TENGU, 'Q', LIGHTBLUE, "tengu",
4019     M_WARM_BLOOD | M_SPEAKS | M_FLIES,
4020     MR_NO_FLAGS,
4021     10, MONS_TENGU, MONS_TENGU, MH_NATURAL, 20,
4022     { {AT_HIT, AF_PLAIN, 10}, {AT_PECK, AF_PLAIN, 5}, {AT_CLAW, AF_PLAIN, 5},
4023        AT_NO_ATK },
4024     5, 225,
4025     2, 12, MST_NO_SPELLS, true /*chicken*/, S_SHOUT,
4026     I_HUMAN, HT_LAND, 10, MOVE_ENERGY(9),
4027     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
4028     {TILEP_MONS_TENGU}, TILE_CORPSE_TENGU
4029 },
4030 
4031 {
4032     MONS_TENGU_CONJURER, 'Q', BLUE, "tengu conjurer",
4033     M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS | M_FLIES,
4034     MR_NO_FLAGS,
4035     13, MONS_TENGU, MONS_TENGU, MH_NATURAL, 20,
4036     { {AT_HIT, AF_PLAIN, 10}, {AT_PECK, AF_PLAIN, 5}, {AT_CLAW, AF_PLAIN, 5},
4037        AT_NO_ATK },
4038     7, 315,
4039     2, 17, MST_TENGU_CONJURER, true, S_SHOUT,
4040     I_HUMAN, HT_LAND, 10, MOVE_ENERGY(9),
4041     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
4042     {TILEP_MONS_TENGU_CONJURER}, TILE_ERROR
4043 },
4044 
4045 {
4046     MONS_TENGU_WARRIOR, 'Q', CYAN, "tengu warrior",
4047     M_FIGHTER | M_ARCHER | M_WARM_BLOOD | M_SPEAKS | M_FLIES,
4048     MR_NO_FLAGS,
4049     13, MONS_TENGU, MONS_TENGU, MH_NATURAL, 40,
4050     { {AT_HIT, AF_PLAIN, 16}, {AT_PECK, AF_PLAIN, 8}, {AT_CLAW, AF_PLAIN, 8},
4051        AT_NO_ATK },
4052     10, 600,
4053     2, 17, MST_NO_SPELLS, true, S_SHOUT,
4054     I_HUMAN, HT_LAND, 10, MOVE_ENERGY(9),
4055     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
4056     {TILEP_MONS_TENGU_WARRIOR}, TILE_ERROR
4057 },
4058 
4059 {
4060     MONS_TENGU_REAVER, 'Q', LIGHTMAGENTA, "tengu reaver",
4061     M_FIGHTER | M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS | M_FLIES,
4062     MR_NO_FLAGS,
4063     13, MONS_TENGU, MONS_TENGU, MH_NATURAL, 60,
4064     { {AT_HIT, AF_PLAIN, 27}, {AT_PECK, AF_PLAIN, 11}, {AT_CLAW, AF_PLAIN, 11},
4065        AT_NO_ATK },
4066     17, 850,
4067     2, 17, MST_TENGU_REAVER, true, S_SHOUT,
4068     I_HUMAN, HT_LAND, 10, MOVE_ENERGY(9),
4069     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
4070     {TILEP_MONS_TENGU_REAVER}, TILE_ERROR
4071 },
4072 
4073 // spiritual beings ('R')
4074 
4075 // Dummy species monster
4076 {
4077     MONS_DJINNI, 'R', MAGENTA, "djinni",
4078     M_SPEAKS | M_FLIES,
4079     mrd(MR_RES_FIRE, 2) | MR_VUL_COLD,
4080     10, MONS_DJINNI, MONS_DJINNI, MH_NONLIVING, 30,
4081     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4082     8, 400,
4083     5, 5, MST_NO_SPELLS, false, S_SHOUT,
4084     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
4085     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
4086     {TILEP_MONS_EFREET}, TILE_ERROR
4087 },
4088 
4089 {
4090     MONS_EFREET, 'R', RED, "efreet",
4091     M_SPEAKS | M_FLIES,
4092     MR_RES_POISON | mrd(MR_RES_FIRE, 3) | MR_VUL_COLD | MR_VUL_WATER,
4093     12, MONS_EFREET, MONS_EFREET, MH_DEMONIC, 20,
4094     { {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4095     7, 385,
4096     10, 5, MST_EFREET, false, S_SILENT,
4097     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
4098     MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_HUMANOID,
4099     {TILEP_MONS_EFREET}, TILE_ERROR
4100 },
4101 
4102 {
4103     MONS_RAKSHASA, 'R', YELLOW, "rakshasa",
4104     M_SEE_INVIS,
4105     MR_RES_POISON,
4106     15, MONS_RAKSHASA, MONS_RAKSHASA, MH_DEMONIC, 140,
4107     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4108     11, 660,
4109     6, 14, MST_RAKSHASA, false, S_SILENT,
4110     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
4111     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
4112     {TILEP_MONS_RAKSHASA}, TILE_ERROR
4113 },
4114 
4115 {
4116     MONS_DRYAD, 'R', LIGHTGREEN, "dryad",
4117     M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO | M_NO_GEN_DERIVED,
4118     MR_VUL_FIRE,
4119     10, MONS_DRYAD, MONS_DRYAD, MH_NATURAL, 80,
4120     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4121     8, 520,
4122     6, 12, MST_DRYAD, true, S_SHOUT,
4123     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
4124     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
4125     {TILEP_MONS_DRYAD}, TILE_CORPSE_DRYAD
4126 },
4127 
4128 {
4129     MONS_ELEIONOMA, 'R', GREEN, "eleionoma",
4130     M_WARM_BLOOD | M_SPEAKS,
4131     MR_NO_FLAGS,
4132     10, MONS_ELEIONOMA, MONS_ELEIONOMA, MH_NATURAL, 100,
4133     { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4134     16, 800,
4135     2, 10, MST_ELEIONOMA, true, S_SHOUT,
4136     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
4137     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
4138     {TILEP_MONS_ELEIONOMA}, TILE_CORPSE_ELEIONOMA
4139 },
4140 
4141 {
4142     MONS_SNAPLASHER_VINE, 'w', LIGHTGREEN, "snaplasher vine",
4143     M_NO_EXP_GAIN | M_STATIONARY | M_NO_POLY_TO,
4144     MR_RES_POISON,
4145     10, MONS_PLANT, MONS_SNAPLASHER_VINE, MH_PLANT, 40,
4146     { {AT_CONSTRICT, AF_CRUSH, 0}, {AT_HIT, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK },
4147     12, 240,
4148     4, 7, MST_NO_SPELLS, false, S_SILENT,
4149     I_BRAINLESS, HT_LAND, 13, DEFAULT_ENERGY,
4150     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_SNAKE,
4151     {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR
4152 },
4153 
4154 {
4155     MONS_SNAPLASHER_VINE_SEGMENT, '*', LIGHTGREEN, "snaplasher vine segment",
4156     M_NOT_DANGEROUS | M_STATIONARY | M_NO_POLY_TO,
4157     MR_RES_POISON,
4158     10, MONS_PLANT, MONS_SNAPLASHER_VINE, MH_PLANT, 40,
4159     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4160     12, 360,
4161     6, 0, MST_NO_SPELLS, false, S_SILENT,
4162     I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY,
4163     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_MISC,
4164     {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR
4165 },
4166 
4167 // snakes ('S')
4168 DUMMY(MONS_SNAKE, 'S', LIGHTGREEN, "snake", TILEP_MONS_ADDER)
4169 
4170 {
4171     MONS_BALL_PYTHON, 'S', GREEN, "ball python",
4172     M_COLD_BLOOD,
4173     MR_NO_FLAGS,
4174     13, MONS_SNAKE, MONS_BALL_PYTHON, MH_NATURAL, 0,
4175     { {AT_BITE, AF_PLAIN, 3}, {AT_CONSTRICT, AF_CRUSH, 1},
4176        AT_NO_ATK, AT_NO_ATK },
4177     1, 35,
4178     0, 11, MST_NO_SPELLS, true, S_HISS,
4179     I_ANIMAL, HT_AMPHIBIOUS, 12, SWIM_ENERGY(6),
4180     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_SNAKE,
4181     {TILEP_MONS_BALL_PYTHON}, TILE_CORPSE_BALL_PYTHON
4182 },
4183 
4184 {
4185     MONS_ADDER, 'S', LIGHTGREEN, "adder",
4186     M_COLD_BLOOD,
4187     MR_NO_FLAGS,
4188     10, MONS_SNAKE, MONS_ADDER, MH_NATURAL, 10,
4189     { {AT_BITE, AF_POISON, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4190     2, 110,
4191     1, 15, MST_NO_SPELLS, true, S_HISS,
4192     I_ANIMAL, HT_AMPHIBIOUS, 13, SWIM_ENERGY(6),
4193     MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_SNAKE,
4194     {TILEP_MONS_ADDER}, TILE_CORPSE_ADDER
4195 },
4196 
4197 {
4198     MONS_WATER_MOCCASIN, 'S', BROWN, "water moccasin",
4199     M_COLD_BLOOD,
4200     MR_RES_POISON,
4201     11, MONS_SNAKE, MONS_WATER_MOCCASIN, MH_NATURAL, 20,
4202     { {AT_BITE, AF_POISON, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4203     5, 275,
4204     2, 15, MST_NO_SPELLS, true, S_HISS,
4205     I_ANIMAL, HT_AMPHIBIOUS, 14, SWIM_ENERGY(6),
4206     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_SNAKE,
4207     {TILEP_MONS_WATER_MOCCASIN}, TILE_CORPSE_WATER_MOCCASIN
4208 },
4209 
4210 {
4211     MONS_BLACK_MAMBA, 'S', BLUE, "black mamba",
4212     M_COLD_BLOOD,
4213     MR_RES_POISON,
4214     12, MONS_SNAKE, MONS_BLACK_MAMBA, MH_NATURAL, 20,
4215     { {AT_BITE, AF_POISON, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4216     7, 385,
4217     4, 15, MST_NO_SPELLS, true, S_HISS,
4218     I_ANIMAL, HT_LAND, 18, DEFAULT_ENERGY,
4219     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_SNAKE,
4220     {TILEP_MONS_BLACK_MAMBA}, TILE_CORPSE_BLACK_MAMBA
4221 },
4222 
4223 {
4224     MONS_SEA_SNAKE, 'S', LIGHTCYAN, "sea snake",
4225     M_COLD_BLOOD,
4226     MR_NO_FLAGS,
4227     10, MONS_SNAKE, MONS_SEA_SNAKE, MH_NATURAL, 40,
4228     { {AT_BITE, AF_POISON_STRONG, 24}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4229     10, 650,
4230     2, 15, MST_NO_SPELLS, true, S_HISS,
4231     I_ANIMAL, HT_AMPHIBIOUS, 12, SWIM_ENERGY(4),
4232     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_SNAKE,
4233     {TILEP_MONS_SEA_SNAKE}, TILE_CORPSE_SEA_SNAKE
4234 },
4235 
4236 {
4237     MONS_ANACONDA, 'S', LIGHTGREY, "anaconda",
4238     M_COLD_BLOOD,
4239     MR_NO_FLAGS,
4240     10, MONS_SNAKE, MONS_ANACONDA, MH_NATURAL, 40,
4241     { {AT_CONSTRICT, AF_CRUSH, 6}, {AT_BITE, AF_PLAIN, 20},
4242        AT_NO_ATK, AT_NO_ATK },
4243     11, 605,
4244     4, 16, MST_NO_SPELLS, true, S_HISS,
4245     I_ANIMAL, HT_AMPHIBIOUS, 18, DEFAULT_ENERGY,
4246     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_SNAKE,
4247     {TILEP_MONS_ANACONDA}, TILE_CORPSE_ANACONDA
4248 },
4249 
4250 {
4251     MONS_GUARDIAN_SERPENT, 'S', WHITE, "guardian serpent",
4252     M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS,
4253     MR_RES_POISON,
4254     10, MONS_GUARDIAN_SERPENT, MONS_GUARDIAN_SERPENT, MH_NATURAL, 60,
4255     { {AT_HIT, AF_PLAIN, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4256     8, 440,
4257     6, 14, MST_GUARDIAN_SERPENT, true, S_SHOUT,
4258     I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY,
4259     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_SNAKE,
4260     {TILEP_MONS_GUARDIAN_SERPENT}, TILE_CORPSE_GUARDIAN_SERPENT
4261 },
4262 
4263 {
4264     MONS_SHOCK_SERPENT, 'S', LIGHTBLUE, "shock serpent",
4265     M_COLD_BLOOD,
4266     mrd(MR_RES_ELEC, 3),
4267     12, MONS_SNAKE, MONS_SHOCK_SERPENT, MH_NATURAL, 40,
4268     { {AT_BITE, AF_ELEC, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4269     10, 550,
4270     2, 15, MST_SHOCK_SERPENT, true, S_HISS,
4271     I_ANIMAL, HT_LAND, 15, DEFAULT_ENERGY,
4272     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_SNAKE,
4273     {TILEP_MONS_SHOCK_SERPENT}, TILE_CORPSE_SHOCK_SERPENT
4274 },
4275 
4276 {
4277     MONS_MANA_VIPER, 'S', MAGENTA, "mana viper",
4278     M_COLD_BLOOD | M_SEE_INVIS,
4279     MR_RES_POISON,
4280     10, MONS_SNAKE, MONS_MANA_VIPER, MH_NATURAL, 100,
4281     { {AT_BITE, AF_ANTIMAGIC, 23}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4282     9, 495,
4283     3, 14, MST_NO_SPELLS, false, S_HISS,
4284     I_ANIMAL, HT_LAND, 14, DEFAULT_ENERGY,
4285     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_SNAKE,
4286     {TILEP_MONS_MANA_VIPER}, TILE_ERROR
4287 },
4288 
4289 // trolls ('T')
4290 {
4291     MONS_TROLL, 'T', BROWN, "troll",
4292     M_WARM_BLOOD | M_SPEAKS | M_FAST_REGEN,
4293     MR_NO_FLAGS,
4294     10, MONS_TROLL, MONS_TROLL, MH_NATURAL, 20,
4295     { {AT_BITE, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 15},
4296       {AT_CLAW, AF_PLAIN, 15}, AT_NO_ATK },
4297     7, 385,
4298     3, 10, MST_NO_SPELLS, true, S_SHOUT,
4299     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
4300     MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID,
4301     {TILEP_MONS_TROLL}, TILE_CORPSE_TROLL
4302 },
4303 
4304 {
4305     MONS_IRON_TROLL, 'T', CYAN, "iron troll",
4306     M_WARM_BLOOD | M_SPEAKS | M_FAST_REGEN,
4307     MR_RES_FIRE | MR_RES_COLD,
4308     10, MONS_TROLL, MONS_IRON_TROLL, MH_NATURAL, 100,
4309     { {AT_BITE, AF_PLAIN, 35}, {AT_CLAW, AF_PLAIN, 25},
4310       {AT_CLAW, AF_PLAIN, 25}, AT_NO_ATK },
4311     16, 880,
4312     20, 4, MST_NO_SPELLS, true, S_SHOUT,
4313     I_HUMAN, HT_LAND, 7, DEFAULT_ENERGY,
4314     MONUSE_OPEN_DOORS, SIZE_BIG, MON_SHAPE_HUMANOID,
4315     {TILEP_MONS_IRON_TROLL}, TILE_CORPSE_IRON_TROLL
4316 },
4317 
4318 {
4319     MONS_DEEP_TROLL, 'T', YELLOW, "deep troll",
4320     M_WARM_BLOOD | M_SEE_INVIS | M_UNBLINDABLE | M_SPEAKS | M_FAST_REGEN,
4321     MR_NO_FLAGS,
4322     9, MONS_TROLL, MONS_DEEP_TROLL, MH_NATURAL, 40,
4323     { {AT_BITE, AF_PLAIN, 27}, {AT_CLAW, AF_PLAIN, 20},
4324       {AT_CLAW, AF_PLAIN, 20}, AT_NO_ATK },
4325     10, 550,
4326     6, 10, MST_NO_SPELLS, true, S_SHOUT,
4327     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
4328     MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID,
4329     {TILEP_MONS_DEEP_TROLL}, TILE_CORPSE_DEEP_TROLL
4330 },
4331 
4332 {
4333     MONS_DEEP_TROLL_EARTH_MAGE, 'T', MAGENTA, "deep troll earth mage",
4334     M_WARM_BLOOD | M_SEE_INVIS | M_UNBLINDABLE | M_SPEAKS,
4335     MR_NO_FLAGS,
4336     10, MONS_TROLL, MONS_DEEP_TROLL, MH_NATURAL, 40,
4337     { {AT_BITE, AF_PLAIN, 27}, {AT_CLAW, AF_PLAIN, 20},
4338       {AT_CLAW, AF_PLAIN, 20}, AT_NO_ATK },
4339     12, 480,
4340     // the extra AC is essentially a perma-stoneskin
4341     12, 10, MST_DEEP_TROLL_EARTH_MAGE, true, S_SHOUT,
4342     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
4343     MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID,
4344     {TILEP_MONS_DEEP_TROLL_EARTH_MAGE}, TILE_ERROR
4345 },
4346 
4347 {
4348     MONS_DEEP_TROLL_SHAMAN, 'T', WHITE, "deep troll shaman",
4349     M_WARM_BLOOD | M_SEE_INVIS | M_UNBLINDABLE | M_SPEAKS,
4350     MR_NO_FLAGS,
4351     12, MONS_TROLL, MONS_DEEP_TROLL, MH_NATURAL, 40,
4352     { {AT_BITE, AF_PLAIN, 27}, {AT_CLAW, AF_PLAIN, 20},
4353       {AT_CLAW, AF_PLAIN, 20}, AT_NO_ATK },
4354     12, 480,
4355     6, 10, MST_DEEP_TROLL_SHAMAN, true, S_SHOUT,
4356     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
4357     MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID,
4358     {TILEP_MONS_DEEP_TROLL_SHAMAN}, TILE_ERROR
4359 },
4360 
4361 // vampires ('V')
4362 {
4363     MONS_VAMPIRE, 'V', RED, "vampire",
4364     M_SEE_INVIS | M_SPEAKS | M_WARM_BLOOD,
4365     MR_RES_COLD,
4366     11, MONS_VAMPIRE, MONS_VAMPIRE, MH_UNDEAD, 40,
4367     { {AT_HIT, AF_PLAIN, 15}, {AT_BITE, AF_VAMPIRIC, 15}, AT_NO_ATK,
4368        AT_NO_ATK },
4369     6, 330,
4370     10, 10, MST_VAMPIRE, false, S_SILENT,
4371     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
4372     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
4373     {TILEP_MONS_VAMPIRE}, TILE_ERROR
4374 },
4375 
4376 {
4377     MONS_VAMPIRE_KNIGHT, 'V', CYAN, "vampire knight",
4378     M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_WARM_BLOOD,
4379     MR_RES_COLD,
4380     16, MONS_VAMPIRE, MONS_VAMPIRE, MH_UNDEAD, 80,
4381     { {AT_HIT, AF_PLAIN, 33}, {AT_BITE, AF_VAMPIRIC, 15}, AT_NO_ATK,
4382        AT_NO_ATK },
4383     11, 715,
4384     10, 10, MST_VAMPIRE_KNIGHT, false, S_SHOUT,
4385     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
4386     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
4387     {TILEP_MONS_VAMPIRE_KNIGHT}, TILE_ERROR
4388 },
4389 
4390 {
4391     MONS_VAMPIRE_MAGE, 'V', MAGENTA, "vampire mage",
4392     M_SEE_INVIS | M_SPEAKS | M_WARM_BLOOD | M_FLIES,
4393     MR_RES_COLD,
4394     15, MONS_VAMPIRE, MONS_VAMPIRE, MH_UNDEAD, 80,
4395     { {AT_HIT, AF_PLAIN, 15}, {AT_BITE, AF_VAMPIRIC, 15}, AT_NO_ATK,
4396        AT_NO_ATK },
4397     10, 550,
4398     10, 10, MST_VAMPIRE_MAGE, false, S_SILENT,
4399     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
4400     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
4401     {TILEP_MONS_VAMPIRE_MAGE}, TILE_ERROR
4402 },
4403 
4404 {
4405     MONS_JIANGSHI, 'V', YELLOW, "jiangshi",
4406     M_SEE_INVIS | M_FIGHTER,
4407     MR_RES_COLD,
4408     10, MONS_JIANGSHI, MONS_VAMPIRE, MH_UNDEAD, 80,
4409     { {AT_CLAW, AF_VAMPIRIC, 27}, {AT_CLAW, AF_VAMPIRIC, 27}, AT_NO_ATK,
4410        AT_NO_ATK },
4411     10, 650,
4412     10, 10, MST_NO_SPELLS, false, S_SILENT,
4413     I_ANIMAL, HT_LAND, 18, MOVE_ENERGY(6),
4414     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
4415     {TILEP_MONS_JIANGSHI}, TILE_ERROR
4416 },
4417 
4418 // incorporeal undead ('W')
4419 { // dummy genus monster, but also used for removed monsters
4420     MONS_GHOST, 'W', WHITE, "ghost",
4421     M_INSUBSTANTIAL | M_NO_POLY_TO | M_FLIES,
4422     MR_NO_FLAGS,
4423     0, MONS_GHOST, MONS_GHOST, MH_UNDEAD, 0,
4424     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4425     1, 10,
4426     0, 0, MST_NO_SPELLS, false, S_SILENT,
4427     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
4428     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
4429     {TILEP_MONS_GHOST}, TILE_ERROR
4430 },
4431 
4432 // XP modifier is 5 for these, because they really aren't all that
4433 // dangerous, but still come out at 200+ XP
4434 {
4435     MONS_PHANTOM, 'W', BLUE, "phantom",
4436     M_INSUBSTANTIAL | M_FLIES,
4437     mrd(MR_RES_COLD, 2),
4438     5, MONS_PHANTOM, MONS_PHANTOM, MH_UNDEAD, 40,
4439     { {AT_HIT, AF_BLINK_WITH, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4440     7, 285,
4441     3, 13, MST_NO_SPELLS, false, S_SILENT,
4442     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
4443     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
4444     {TILEP_MONS_PHANTOM}, TILE_ERROR
4445 },
4446 
4447 {
4448     MONS_FLAYED_GHOST, 'W', RED, "flayed ghost",
4449     M_INSUBSTANTIAL | M_SPEAKS | M_FLIES,
4450     MR_NO_FLAGS,
4451     10, MONS_PHANTOM, MONS_FLAYED_GHOST, MH_UNDEAD, 60,
4452     { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4453     11, 605,
4454     0, 14, MST_FLAYED_GHOST, false, S_SILENT,
4455     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
4456     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
4457     {TILEP_MONS_FLAYED_GHOST}, TILE_ERROR
4458 },
4459 
4460 // player ghost - stats are stored in ghost struct
4461 {
4462     MONS_PLAYER_GHOST, 'W', WHITE, "player ghost",
4463     M_FIGHTER | M_SPEAKS | M_INSUBSTANTIAL | M_NO_POLY_TO | M_FLIES | M_GHOST_DEMON,
4464     MR_NO_FLAGS,
4465     15, MONS_PHANTOM, MONS_PLAYER_GHOST, MH_UNDEAD, -5,
4466     { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4467     4, 140,
4468     1, 2, MST_GHOST, false, S_SHOUT,
4469     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
4470     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
4471     {TILEP_MONS_PLAYER_GHOST}, TILE_ERROR
4472 },
4473 
4474 
4475 {
4476     MONS_SHADOW, 'W', MAGENTA, "shadow",
4477     M_SEE_INVIS | M_INSUBSTANTIAL | M_FLIES,
4478     mrd(MR_RES_COLD, 3),
4479     18, MONS_WRAITH, MONS_SHADOW, MH_UNDEAD, 40,
4480     { {AT_HIT, AF_SHADOWSTAB, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4481     6, 240,
4482     7, 10, MST_SHADOW, false, S_SILENT,
4483     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
4484     MONUSE_OPEN_DOORS, SIZE_SMALL, MON_SHAPE_HUMANOID,
4485     {TILEP_MONS_SHADOW}, TILE_ERROR
4486 },
4487 
4488 {
4489     MONS_SILENT_SPECTRE, 'W', CYAN, "silent spectre",
4490     M_SPEAKS /* uh... */ | M_SEE_INVIS | M_INSUBSTANTIAL | M_FLIES,
4491     mrd(MR_RES_COLD, 3),
4492     10, MONS_WRAITH, MONS_SILENT_SPECTRE, MH_UNDEAD, 40,
4493     { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4494     8, 440,
4495     5, 15, MST_NO_SPELLS, false, S_SILENT,
4496     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
4497     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
4498     {TILEP_MONS_SILENT_SPECTRE}, TILE_ERROR
4499 },
4500 
4501 {
4502     MONS_DROWNED_SOUL, 'W', LIGHTCYAN, "drowned soul",
4503     M_SEE_INVIS | M_INSUBSTANTIAL | M_SPEAKS | M_FLIES,
4504     mrd(MR_RES_COLD, 3),
4505     8, MONS_PHANTOM, MONS_DROWNED_SOUL, MH_UNDEAD, 60,
4506     { {AT_TOUCH, AF_DROWN, 0}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4507     13, 195,
4508     0, 13, MST_NO_SPELLS, false, S_SILENT,
4509     I_HUMAN, HT_LAND, 12, DEFAULT_ENERGY,
4510     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
4511     {TILEP_MONS_DROWNED_SOUL}, TILE_ERROR
4512 },
4513 
4514 {
4515     MONS_WRAITH, 'W', LIGHTGREY, "wraith",
4516     M_SEE_INVIS | M_INSUBSTANTIAL | M_FLIES,
4517     MR_RES_COLD,
4518     14, MONS_WRAITH, MONS_WRAITH, MH_UNDEAD, 60,
4519     { {AT_HIT, AF_DRAIN_SPEED, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4520     6, 330,
4521     10, 10, MST_NO_SPELLS, false, S_SILENT,
4522     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
4523     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
4524     {TILEP_MONS_WRAITH}, TILE_ERROR
4525 },
4526 
4527 {
4528     MONS_SHADOW_WRAITH, 'W', LIGHTMAGENTA, "shadow wraith",
4529     M_SEE_INVIS | M_INVIS | M_INSUBSTANTIAL | M_FLIES,
4530     MR_NO_FLAGS,
4531     15, MONS_WRAITH, MONS_SHADOW_WRAITH, MH_UNDEAD, 100,
4532     { {AT_HIT, AF_DRAIN_SPEED, 27}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4533     10, 550,
4534     7, 7, MST_NO_SPELLS, false, S_MOAN,
4535     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
4536     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
4537     {TILEP_MONS_SHADOW_WRAITH}, TILE_ERROR
4538 },
4539 
4540 {
4541     MONS_FREEZING_WRAITH, 'W', LIGHTBLUE, "freezing wraith",
4542     M_SEE_INVIS | M_INSUBSTANTIAL | M_FLIES,
4543     MR_VUL_FIRE | mrd(MR_RES_COLD, 3),
4544     10, MONS_WRAITH, MONS_FREEZING_WRAITH, MH_UNDEAD, 40,
4545     { {AT_HIT, AF_COLD, 16}, {AT_HIT, AF_DRAIN_SPEED, 15}, AT_NO_ATK, AT_NO_ATK },
4546     8, 440,
4547     12, 10, MST_NO_SPELLS, false, S_SILENT,
4548     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
4549     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
4550     {TILEP_MONS_FREEZING_WRAITH}, TILE_ERROR
4551 },
4552 
4553 {
4554     MONS_EIDOLON, 'W', BROWN, "eidolon",
4555     M_SEE_INVIS | M_INSUBSTANTIAL | M_FLIES,
4556     MR_RES_COLD,
4557     14, MONS_WRAITH, MONS_EIDOLON, MH_UNDEAD, 140,
4558     { {AT_HIT, AF_DRAIN_SPEED, 27}, {AT_HIT, AF_DRAIN_STAT, 17}, AT_NO_ATK,
4559        AT_NO_ATK },
4560     13, 715,
4561     12, 10, MST_EIDOLON, false, S_MOAN,
4562     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
4563     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
4564     {TILEP_MONS_EIDOLON}, TILE_ERROR
4565 },
4566 
4567 {
4568     MONS_PHANTASMAL_WARRIOR, 'W', LIGHTGREEN, "phantasmal warrior",
4569     M_FIGHTER | M_SEE_INVIS | M_INSUBSTANTIAL | M_FLIES,
4570     MR_RES_COLD,
4571     13, MONS_WRAITH, MONS_PHANTASMAL_WARRIOR, MH_UNDEAD, 80,
4572     { {AT_HIT, AF_VULN, 39}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4573     9, 495,
4574     12, 10, MST_PHANTASMAL_WARRIOR, false, S_SILENT,
4575     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
4576     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
4577     {TILEP_MONS_PHANTASMAL_WARRIOR}, TILE_ERROR
4578 },
4579 
4580 // large abominations ('X')
4581 {
4582     MONS_ABOMINATION_LARGE, 'X', LIGHTRED, "large abomination",
4583     M_NO_REGEN,
4584     MR_NO_FLAGS,
4585     10, MONS_ABOMINATION_SMALL, MONS_ABOMINATION_LARGE, MH_UNDEAD, 100,
4586     { {AT_HIT, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4587     11, 495,
4588     0, 0, MST_NO_SPELLS, false, S_SILENT,
4589     I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY,
4590     MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_MISC,
4591     {TILEP_MONS_ABOMINATION_LARGE, TVARY_MOD}, TILE_ERROR
4592 },
4593 
4594 {
4595     MONS_THRASHING_HORROR, 'X', YELLOW, "thrashing horror",
4596     M_BATTY | M_NO_POLY_TO,
4597     MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
4598     10, MONS_THRASHING_HORROR, MONS_THRASHING_HORROR, MH_NONLIVING, 60,
4599     { {AT_TRAMPLE, AF_TRAMPLE, 17}, {AT_TRAMPLE, AF_TRAMPLE, 9},
4600        AT_NO_ATK, AT_NO_ATK },
4601     9, 495,
4602     5, 10, MST_THRASHING_HORROR, false, S_ROAR,
4603     I_ANIMAL, HT_LAND, 25, DEFAULT_ENERGY,
4604     MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_MISC,
4605     {TILEP_MONS_THRASHING_HORROR}, TILE_ERROR
4606 },
4607 
4608 {
4609     MONS_TENTACLED_MONSTROSITY, 'X', GREEN, "tentacled monstrosity",
4610     M_SEE_INVIS,
4611     MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
4612     10, MONS_TENTACLED_MONSTROSITY, MONS_TENTACLED_MONSTROSITY,
4613         MH_DEMONIC, 160,
4614     { {AT_TENTACLE_SLAP, AF_PLAIN, 22}, {AT_TENTACLE_SLAP, AF_PLAIN, 17},
4615       {AT_TENTACLE_SLAP, AF_PLAIN, 13}, {AT_CONSTRICT, AF_CRUSH, 9} },
4616     23, 1265,
4617     5, 5, MST_NO_SPELLS, false, S_SILENT,
4618     I_HUMAN, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY,
4619     MONUSE_OPEN_DOORS, SIZE_GIANT, MON_SHAPE_MISC,
4620     {TILEP_MONS_TENTACLED_MONSTROSITY}, TILE_ERROR
4621 },
4622 
4623 {
4624     MONS_ORB_GUARDIAN, 'X', MAGENTA, "Orb Guardian",
4625     M_FIGHTER | M_SEE_INVIS | M_NO_POLY_TO,
4626     MR_NO_FLAGS,
4627     20, MONS_ORB_GUARDIAN, MONS_ORB_GUARDIAN, MH_NATURAL, 120,
4628     { {AT_HIT, AF_PLAIN, 45}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4629     15, 825,
4630     13, 13, MST_NO_SPELLS, false, S_SILENT,
4631     I_HUMAN, HT_LAND, 14, DEFAULT_ENERGY,
4632     MONUSE_OPEN_DOORS, SIZE_GIANT, MON_SHAPE_MISC,
4633     {TILEP_MONS_ORB_GUARDIAN}, TILE_ERROR
4634 },
4635 
4636 {
4637     MONS_TENTACLED_STARSPAWN, 'X', LIGHTCYAN, "tentacled starspawn",
4638     M_SEE_INVIS,
4639     MR_NO_FLAGS,
4640     20, MONS_TENTACLED_STARSPAWN, MONS_TENTACLED_STARSPAWN, MH_NONLIVING, 120,
4641     { {AT_BITE, AF_PLAIN, 40}, {AT_TENTACLE_SLAP, AF_PLAIN, 25}, AT_NO_ATK,
4642        AT_NO_ATK },
4643     16, 880,
4644     5, 5, MST_TENTACLED_STARSPAWN, false, S_SILENT,
4645     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
4646     MONUSE_OPEN_DOORS, SIZE_GIANT, MON_SHAPE_MISC,
4647     {TILEP_MONS_TENTACLED_STARSPAWN}, TILE_ERROR
4648 },
4649 
4650 {
4651     MONS_STARSPAWN_TENTACLE, 'w', LIGHTCYAN, "starspawn tentacle",
4652     M_NO_EXP_GAIN | M_STATIONARY | M_NO_POLY_TO | M_FLIES | M_SEE_INVIS,
4653     MR_NO_FLAGS,
4654     10, MONS_TENTACLED_STARSPAWN, MONS_STARSPAWN_TENTACLE,
4655         MH_NONLIVING, WILL_INVULN,
4656     { {AT_CONSTRICT, AF_CRUSH, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4657     11, 220,
4658     8, 2, MST_NO_SPELLS, false, S_SILENT,
4659     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
4660     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_SNAKE,
4661     {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR
4662 },
4663 
4664 {
4665     MONS_STARSPAWN_TENTACLE_SEGMENT, '*', LIGHTCYAN, "starspawn tentacle segment",
4666     M_NOT_DANGEROUS | M_STATIONARY | M_NO_POLY_TO | M_FLIES | M_SEE_INVIS,
4667     MR_NO_FLAGS,
4668     10, MONS_TENTACLED_STARSPAWN, MONS_STARSPAWN_TENTACLE_SEGMENT,
4669         MH_NONLIVING, WILL_INVULN,
4670     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4671     11, 220,
4672     8, 2, MST_NO_SPELLS, false, S_SILENT,
4673     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
4674     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_MISC,
4675     {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR
4676 },
4677 
4678 {
4679     MONS_STARCURSED_MASS, 'X', BLUE, "starcursed mass",
4680     M_SEE_INVIS | M_FAST_REGEN,
4681     MR_NO_FLAGS,
4682     12, MONS_STARCURSED_MASS, MONS_STARCURSED_MASS, MH_NONLIVING, 100,
4683     { {AT_TOUCH, AF_PLAIN, 16}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4684     12, 1500,
4685     10, 0, MST_NO_SPELLS, false, S_SILENT,
4686     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
4687     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_MISC,
4688     {TILEP_MONS_STARCURSED_MASS}, TILE_ERROR
4689 },
4690 
4691 // Summoning miscast, monster is scaled based on miscast strength
4692 {
4693     MONS_NAMELESS, 'X', CYAN, "nameless horror",
4694     M_SEE_INVIS | M_NO_POLY_TO | M_NO_GEN_DERIVED,
4695     MR_NO_FLAGS,
4696     11, MONS_NAMELESS, MONS_NAMELESS, MH_NONLIVING, WILL_INVULN,
4697     { {AT_HIT, AF_ANTIMAGIC, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4698     15, 600,
4699     8, 2, MST_NAMELESS, false, S_SILENT,
4700     I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY,
4701     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_MISC,
4702     {TILEP_MONS_NAMELESS_HORROR}, TILE_ERROR
4703 },
4704 
4705 // yaks, sheep, elephants, and other beasts ('Y')
4706 {
4707     MONS_DREAM_SHEEP, 'Y', CYAN, "dream sheep",
4708     M_WARM_BLOOD | M_HERD,
4709     MR_NO_FLAGS,
4710     10, MONS_DREAM_SHEEP, MONS_DREAM_SHEEP, MH_NATURAL, 30,
4711     { {AT_BITE, AF_PLAIN, 13}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4712     9, 220,
4713     2, 10, MST_DREAM_SHEEP, true, S_BLEAT,
4714     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
4715     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED_TAILLESS,
4716     {TILEP_MONS_DREAM_SHEEP}, TILE_CORPSE_DREAM_SHEEP,
4717 },
4718 
4719 {
4720     MONS_YAK, 'Y', BROWN, "yak",
4721     M_WARM_BLOOD | M_HERD,
4722     MR_NO_FLAGS,
4723     9, MONS_YAK, MONS_YAK, MH_NATURAL, 20,
4724     { {AT_GORE, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4725     7, 385,
4726     4, 7, MST_NO_SPELLS, true, S_BELLOW,
4727     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
4728     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED,
4729     {TILEP_MONS_YAK}, TILE_CORPSE_YAK
4730 },
4731 
4732 {
4733     MONS_DEATH_YAK, 'Y', YELLOW, "death yak",
4734     M_WARM_BLOOD | M_HERD,
4735     MR_NO_FLAGS,
4736     8, MONS_YAK, MONS_DEATH_YAK, MH_NATURAL, 100,
4737     { {AT_GORE, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4738     14, 770,
4739     9, 5, MST_NO_SPELLS, true, S_BELLOW,
4740     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
4741     MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_QUADRUPED,
4742     {TILEP_MONS_DEATH_YAK}, TILE_CORPSE_DEATH_YAK
4743 },
4744 
4745 {
4746     MONS_CATOBLEPAS, 'Y', MAGENTA, "catoblepas",
4747     M_WARM_BLOOD,
4748     MR_RES_PETRIFY,
4749     8, MONS_YAK, MONS_CATOBLEPAS, MH_NATURAL, 100,
4750     { {AT_GORE, AF_PLAIN, 36}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4751     14, 770,
4752     10, 2, MST_CATOBLEPAS, true, S_BELLOW,
4753     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
4754     MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_QUADRUPED,
4755     {TILEP_MONS_CATOBLEPAS}, TILE_CORPSE_CATOBLEPAS
4756 },
4757 
4758 {
4759     MONS_ELEPHANT, 'Y', GREEN, "elephant",
4760     M_WARM_BLOOD,
4761     MR_NO_FLAGS,
4762     9, MONS_ELEPHANT, MONS_ELEPHANT, MH_NATURAL, 60,
4763     { {AT_TRAMPLE, AF_TRAMPLE, 20}, {AT_TRUNK_SLAP, AF_PLAIN, 5}, AT_NO_ATK,
4764        AT_NO_ATK },
4765     9, 675,
4766     8, 2, MST_NO_SPELLS, true, S_TRUMPET,
4767     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
4768     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED,
4769     {TILEP_MONS_ELEPHANT}, TILE_CORPSE_ELEPHANT
4770 },
4771 
4772 {
4773     MONS_DIRE_ELEPHANT, 'Y', BLUE, "dire elephant",
4774     M_WARM_BLOOD,
4775     MR_NO_FLAGS,
4776     8, MONS_ELEPHANT, MONS_DIRE_ELEPHANT, MH_NATURAL, 100,
4777     { {AT_TRAMPLE, AF_TRAMPLE, 40}, {AT_TRUNK_SLAP, AF_PLAIN, 15}, AT_NO_ATK,
4778        AT_NO_ATK },
4779     15, 1125,
4780     13, 2, MST_NO_SPELLS, true, S_TRUMPET,
4781     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
4782     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED,
4783     {TILEP_MONS_DIRE_ELEPHANT}, TILE_CORPSE_DIRE_ELEPHANT
4784 },
4785 
4786 {
4787     MONS_HELLEPHANT, 'Y', LIGHTRED, "hellephant",
4788     M_WARM_BLOOD,
4789     MR_NO_FLAGS,
4790     10, MONS_ELEPHANT, MONS_HELLEPHANT, MH_DEMONIC, 140,
4791     { {AT_TRAMPLE, AF_TRAMPLE, 45}, {AT_BITE, AF_PLAIN, 20},
4792       {AT_GORE, AF_PLAIN, 15 }, AT_NO_ATK },
4793     20, 1700,
4794     13, 10, MST_HELLEPHANT, true, S_TRUMPET,
4795     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
4796     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED,
4797     {TILEP_MONS_HELLEPHANT}, TILE_CORPSE_HELLEPHANT
4798 },
4799 
4800 {
4801     MONS_APIS, 'Y', WHITE, "apis",
4802     M_WARM_BLOOD,
4803     MR_NO_FLAGS,
4804     8, MONS_APIS, MONS_APIS, MH_HOLY, 100,
4805     { {AT_GORE, AF_HOLY, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4806     16, 1200,
4807     9, 5, MST_NO_SPELLS, true, S_SILENT,
4808     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
4809     MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_QUADRUPED,
4810     {TILEP_MONS_APIS}, TILE_CORPSE_APIS
4811 },
4812 
4813 {
4814     MONS_ICE_BEAST, 'Y', LIGHTBLUE, "ice beast",
4815     M_NO_FLAGS,
4816     MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 3),
4817     13, MONS_ICE_BEAST, MONS_ICE_BEAST, MH_NATURAL, 20,
4818     { {AT_HIT, AF_COLD, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4819     5, 275,
4820     5, 10, MST_NO_SPELLS, false, S_SILENT,
4821     I_ANIMAL, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY,
4822     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED,
4823     {TILEP_MONS_ICE_BEAST}, TILE_ERROR
4824 },
4825 
4826 {
4827     MONS_SKY_BEAST, 'Y', LIGHTCYAN, "sky beast",
4828     M_NO_SKELETON | M_FLIES,
4829     mrd(MR_RES_ELEC, 3),
4830     13, MONS_SKY_BEAST, MONS_SKY_BEAST, MH_NATURAL, 20,
4831     { {AT_HIT, AF_ELEC, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4832     5, 275,
4833     3, 13, MST_NO_SPELLS, true, S_SILENT,
4834     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
4835     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED_WINGED,
4836     {TILEP_MONS_SKY_BEAST}, TILE_CORPSE_SKY_BEAST
4837 },
4838 
4839 // zombies and derived undead ('Z')
4840 // zombie, skeleton and simulacra species depend on corpse species,
4841 // or else are chosen randomly
4842 {
4843     MONS_ZOMBIE, 'Z', BROWN, "zombie",
4844     M_NO_REGEN,
4845     mrd(MR_RES_COLD, 2),
4846     9, MONS_ZOMBIE, MONS_ZOMBIE, MH_UNDEAD, -1,
4847     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4848     1, 75,
4849     0, 4, MST_NO_SPELLS, false, S_SILENT,
4850     I_BRAINLESS, HT_LAND, 5, DEFAULT_ENERGY,
4851     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_MISC,
4852     {TILEP_MONS_ZOMBIE_SMALL}, TILE_ERROR
4853 },
4854 
4855 {
4856     MONS_SKELETON, 'Z', LIGHTGREY, "skeleton",
4857     M_NO_REGEN,
4858     mrd(MR_RES_COLD, 2),
4859     9, MONS_SKELETON, MONS_SKELETON, MH_UNDEAD, -1,
4860     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4861     0, 0,
4862     0, 0, MST_NO_SPELLS, false, S_SILENT,
4863     I_BRAINLESS, HT_LAND, 5, DEFAULT_ENERGY,
4864     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_MISC,
4865     {TILEP_MONS_SKELETON_SMALL}, TILE_ERROR
4866 },
4867 
4868 {
4869     MONS_SIMULACRUM, 'Z', LIGHTBLUE, "simulacrum",
4870     M_NO_REGEN,
4871     MR_VUL_FIRE | mrd(MR_RES_COLD, 3),
4872     9, MONS_SIMULACRUM, MONS_SIMULACRUM, MH_UNDEAD, -1,
4873     { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4874     2, 110,
4875     10, 4, MST_NO_SPELLS, false, S_SILENT,
4876     I_BRAINLESS, HT_LAND, 7, DEFAULT_ENERGY,
4877     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_MISC,
4878     {TILEP_MONS_SIMULACRUM_SMALL}, TILE_ERROR
4879 },
4880 
4881 {
4882     MONS_ZOMBIE_SMALL, 'Z', BROWN, "small zombie",
4883     M_NO_REGEN,
4884     mrd(MR_RES_COLD, 2),
4885     9, MONS_ZOMBIE, MONS_ZOMBIE, MH_UNDEAD, -1,
4886     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4887     1, 75,
4888     0, 4, MST_NO_SPELLS, false, S_SILENT,
4889     I_BRAINLESS, HT_LAND, 5, DEFAULT_ENERGY,
4890     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_MISC,
4891     {TILEP_MONS_ZOMBIE_SMALL}, TILE_ERROR
4892 },
4893 
4894 {
4895     MONS_SKELETON_SMALL, 'Z', LIGHTGREY, "small skeleton",
4896     M_NO_REGEN,
4897     mrd(MR_RES_COLD, 2),
4898     9, MONS_SKELETON, MONS_SKELETON, MH_UNDEAD, -1,
4899     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4900     0, 0,
4901     0, 0, MST_NO_SPELLS, false, S_SILENT,
4902     I_BRAINLESS, HT_LAND, 5, DEFAULT_ENERGY,
4903     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_MISC,
4904     {TILEP_MONS_SKELETON_SMALL}, TILE_ERROR
4905 },
4906 
4907 {
4908     MONS_SIMULACRUM_SMALL, 'Z', LIGHTBLUE, "small simulacrum",
4909     M_NO_REGEN,
4910     MR_VUL_FIRE | mrd(MR_RES_COLD, 3),
4911     9, MONS_SIMULACRUM, MONS_SIMULACRUM, MH_UNDEAD, -1,
4912     { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4913     2, 110,
4914     10, 4, MST_NO_SPELLS, false, S_SILENT,
4915     I_BRAINLESS, HT_LAND, 7, DEFAULT_ENERGY,
4916     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_MISC,
4917     {TILEP_MONS_SIMULACRUM_SMALL}, TILE_ERROR
4918 },
4919 
4920 {
4921     MONS_ZOMBIE_LARGE, 'Z', YELLOW, "large zombie",
4922     M_NO_REGEN,
4923     mrd(MR_RES_COLD, 2),
4924     9, MONS_ZOMBIE, MONS_ZOMBIE, MH_UNDEAD, -1,
4925     { {AT_HIT, AF_PLAIN, 23}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4926     6, 330,
4927     8, 5, MST_NO_SPELLS, false, S_SILENT,
4928     I_BRAINLESS, HT_LAND, 5, DEFAULT_ENERGY,
4929     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_MISC,
4930     {TILEP_MONS_ZOMBIE_LARGE}, TILE_ERROR
4931 },
4932 
4933 {
4934     MONS_SKELETON_LARGE, 'Z', WHITE, "large skeleton",
4935     M_NO_REGEN,
4936     mrd(MR_RES_COLD, 2),
4937     9, MONS_SKELETON, MONS_SKELETON, MH_UNDEAD, -1,
4938     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4939     0, 0,
4940     0, 0, MST_NO_SPELLS, false, S_SILENT,
4941     I_BRAINLESS, HT_LAND, 5, DEFAULT_ENERGY,
4942     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_MISC,
4943     {TILEP_MONS_SKELETON_LARGE}, TILE_ERROR
4944 },
4945 
4946 {
4947     MONS_SIMULACRUM_LARGE, 'Z', LIGHTCYAN, "large simulacrum",
4948     M_NO_REGEN,
4949     MR_VUL_FIRE | mrd(MR_RES_COLD, 3),
4950     9, MONS_SIMULACRUM, MONS_SIMULACRUM, MH_UNDEAD, -1,
4951     { {AT_HIT, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4952     5, 275,
4953     10, 5, MST_NO_SPELLS, false, S_SILENT,
4954     I_BRAINLESS, HT_LAND, 7, DEFAULT_ENERGY,
4955     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_MISC,
4956     {TILEP_MONS_SIMULACRUM_LARGE}, TILE_ERROR
4957 },
4958 
4959 // spectral thing - similar to zombies/skeletons
4960 {
4961     MONS_SPECTRAL_THING, 'Z', GREEN, "spectral thing",
4962     M_SEE_INVIS | M_INSUBSTANTIAL | M_FLIES,
4963     MR_RES_COLD,
4964     11, MONS_WRAITH, MONS_SPECTRAL_THING, MH_UNDEAD, WILL_INVULN,
4965     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4966     8, 440,
4967     8, 5, MST_NO_SPELLS, false, S_SILENT,
4968     I_BRAINLESS, HT_LAND, 7, DEFAULT_ENERGY,
4969     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_MISC,
4970     {TILEP_MONS_SPECTRAL_LARGE}, TILE_ERROR
4971 },
4972 
4973 // water monsters
4974 {
4975     MONS_ELECTRIC_EEL, ';', LIGHTBLUE, "electric eel",
4976     M_NO_GEN_DERIVED | M_COLD_BLOOD,
4977     mrd(MR_RES_ELEC, 3),
4978     19, MONS_ELECTRIC_EEL, MONS_ELECTRIC_EEL, MH_NATURAL, 10,
4979     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4980     3, 165,
4981     1, 15, MST_ZAPPER, true, S_SILENT,
4982     I_ANIMAL, HT_WATER, 10, DEFAULT_ENERGY,
4983     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_SNAKE,
4984     {TILEP_MONS_ELECTRIC_EEL}, TILE_CORPSE_ELECTRIC_EEL
4985 },
4986 
4987 // A kraken and its tentacles get a random colour from ETC_KRAKEN.
4988 {
4989     MONS_KRAKEN, 'X', LIGHTMAGENTA, "kraken",
4990     M_NO_SKELETON | M_COLD_BLOOD,
4991     MR_NO_FLAGS,
4992     6, MONS_KRAKEN, MONS_KRAKEN, MH_NATURAL, 60,
4993     { {AT_BITE, AF_PLAIN, 50}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
4994     16, 2080,
4995     20, 0, MST_KRAKEN, true, S_SILENT,
4996     I_ANIMAL, HT_WATER, 14, DEFAULT_ENERGY,
4997     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_MISC,
4998     {TILEP_MONS_KRAKEN_HEAD}, TILE_CORPSE_KRAKEN
4999 },
5000 
5001 {
5002     MONS_KRAKEN_TENTACLE, 'w', LIGHTMAGENTA, "tentacle",
5003     M_COLD_BLOOD | M_NO_EXP_GAIN | M_STATIONARY | M_NO_POLY_TO | M_FLIES,
5004     MR_NO_FLAGS,
5005     10, MONS_KRAKEN, MONS_KRAKEN_TENTACLE, MH_NATURAL, WILL_INVULN,
5006     { {AT_TENTACLE_SLAP, AF_PLAIN, 29}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5007     12, 480,
5008     5, 7, MST_NO_SPELLS, false, S_SILENT,
5009     I_ANIMAL, HT_AMPHIBIOUS, 17, DEFAULT_ENERGY,
5010     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_SNAKE,
5011     {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR
5012 },
5013 
5014 {
5015     MONS_KRAKEN_TENTACLE_SEGMENT, '*', LIGHTMAGENTA, "tentacle segment",
5016     M_COLD_BLOOD | M_NOT_DANGEROUS | M_STATIONARY | M_SUBMERGES | M_NO_POLY_TO | M_FLIES,
5017     MR_NO_FLAGS,
5018     10, MONS_KRAKEN, MONS_KRAKEN_TENTACLE_SEGMENT, MH_NATURAL, WILL_INVULN,
5019     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5020     12, 480,
5021     5, 7, MST_NO_SPELLS, false, S_SILENT,
5022     I_ANIMAL, HT_AMPHIBIOUS, 18, DEFAULT_ENERGY,
5023     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_MISC,
5024     {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR
5025 },
5026 
5027 // Octopode race, not a 'normal' octopus.
5028 // Dummy monster for recolouring.
5029 {
5030     MONS_OCTOPODE, 'x', LIGHTCYAN, "octopode",
5031     M_NO_SKELETON | M_SPEAKS | M_NO_POLY_TO,
5032     MR_NO_FLAGS,
5033     10, MONS_OCTOPODE, MONS_OCTOPODE, MH_NATURAL, 10,
5034     { {AT_TENTACLE_SLAP, AF_PLAIN, 24}, {AT_CONSTRICT, AF_CRUSH, 5},
5035        AT_NO_ATK, AT_NO_ATK },
5036     8, 560,
5037     1, 5, MST_NO_SPELLS, true, S_SHOUT,
5038     I_HUMAN, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY,
5039     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_MISC,
5040     {TILEP_MONS_OCTOPODE}, TILE_CORPSE_OCTOPODE
5041 },
5042 
5043 // lava monsters
5044 {
5045     MONS_LAVA_SNAKE, 'S', LIGHTRED, "lava snake",
5046     M_WARM_BLOOD,
5047     mrd(MR_RES_FIRE, 3) | MR_VUL_COLD,
5048     17, MONS_SNAKE, MONS_LAVA_SNAKE, MH_NATURAL, 10,
5049     { {AT_BITE, AF_FIRE, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5050     3, 165,
5051     2, 17, MST_LAVA_SNAKE, true, S_HISS,
5052     I_ANIMAL, HT_LAVA, 10, DEFAULT_ENERGY,
5053     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_SNAKE,
5054     {TILEP_MONS_LAVA_SNAKE}, TILE_CORPSE_LAVA_SNAKE
5055 },
5056 
5057 {
5058     MONS_SALAMANDER, 'N', LIGHTRED, "salamander",
5059     M_FIGHTER | M_WARM_BLOOD,
5060     mrd(MR_RES_FIRE, 3) | MR_VUL_COLD,
5061     10, MONS_NAGA, MONS_SALAMANDER, MH_NATURAL, 40,
5062     { {AT_HIT, AF_FIRE, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5063     8, 640,
5064     5, 7, MST_NO_SPELLS, true, S_SILENT,
5065     I_HUMAN, HT_AMPHIBIOUS_LAVA, 10, SWIM_ENERGY(7),
5066     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_NAGA,
5067     {TILEP_MONS_SALAMANDER}, TILE_CORPSE_SALAMANDER
5068 },
5069 
5070 {
5071     MONS_SALAMANDER_MYSTIC, 'N', YELLOW, "salamander mystic",
5072     M_WARM_BLOOD,
5073     mrd(MR_RES_FIRE, 3) | MR_VUL_COLD,
5074     10, MONS_NAGA, MONS_SALAMANDER, MH_NATURAL, 60,
5075     { {AT_HIT, AF_FIRE, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5076     10, 650,
5077     5, 7, MST_SALAMANDER_MYSTIC, true, S_SILENT,
5078     I_HUMAN, HT_AMPHIBIOUS_LAVA, 10, SWIM_ENERGY(7),
5079     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_NAGA,
5080     {TILEP_MONS_SALAMANDER_MYSTIC}, TILE_ERROR
5081 },
5082 
5083 {
5084     MONS_SALAMANDER_TYRANT, 'N', RED, "salamander tyrant",
5085     M_WARM_BLOOD,
5086     mrd(MR_RES_FIRE, 3) | MR_VUL_COLD,
5087     10, MONS_NAGA, MONS_SALAMANDER, MH_NATURAL, 60,
5088     { {AT_HIT, AF_FIRE, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5089     15, 675,
5090     5, 7, MST_SALAMANDER_TYRANT, true, S_SILENT,
5091     I_HUMAN, HT_AMPHIBIOUS_LAVA, 10, SWIM_ENERGY(7),
5092     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_NAGA,
5093     {TILEP_MONS_SALAMANDER_TYRANT}, TILE_ERROR
5094 },
5095 
5096 // Semi-unique humans ('@')
5097 {
5098     MONS_HELLBINDER, '@', ETC_FIRE, "Hellbinder",
5099     M_SPEAKS | M_WARM_BLOOD | M_SEE_INVIS,
5100     MR_NO_FLAGS,
5101     10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 100,
5102     { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5103     20, 1500,
5104     0, 13, MST_HELLBINDER, true, S_SHOUT,
5105     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5106     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
5107     {TILEP_MONS_HELLBINDER}, TILE_ERROR
5108 },
5109 
5110 {
5111     MONS_CLOUD_MAGE, '@', ETC_SILVER, "Cloud Mage",
5112     M_SPEAKS | M_WARM_BLOOD | M_SEE_INVIS | M_FLIES,
5113     MR_NO_FLAGS,
5114     10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 100,
5115     { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5116     20, 1500,
5117     0, 13, MST_CLOUD_MAGE, true, S_SHOUT,
5118     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5119     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
5120     {TILEP_MONS_CLOUD_MAGE}, TILE_ERROR
5121 },
5122 
5123 // 'dummy' a fairly accurate description
5124 DUMMY(MONS_PLAYER, '@', LIGHTGREY, "player", TILEP_MONS_PLAYER_GHOST)
5125 
5126 // player illusion (Mara) - stats are stored in ghost struct. Undead/demonic
5127 // flags are set based on the current player's species!
5128 {
5129     MONS_PLAYER_ILLUSION, '@', WHITE, "player illusion",
5130     M_FIGHTER | M_SPEAKS | M_INSUBSTANTIAL | M_NO_POLY_TO | M_FLIES | M_GHOST_DEMON,
5131     MR_RES_POISON,
5132     15, MONS_PLAYER_ILLUSION, MONS_PLAYER_ILLUSION, MH_NATURAL, -5,
5133     { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5134     4, 140,
5135     1, 2, MST_GHOST, false, S_SHOUT,
5136     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5137     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
5138     {TILEP_MONS_PLAYER_GHOST}, TILE_ERROR
5139 },
5140 
5141 {
5142     MONS_PLAYER_SHADOW, 'W', MAGENTA, "shadow",
5143     M_CANT_SPAWN | M_NO_EXP_GAIN | M_INSUBSTANTIAL | M_FLIES,
5144     MR_NO_FLAGS,
5145     10, MONS_HUMAN, MONS_HUMAN, MH_NONLIVING, -3,
5146     { {AT_HIT, AF_PLAIN, 0}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5147     1, 10,
5148     3, 13, MST_NO_SPELLS, false, S_SILENT,
5149     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5150     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
5151     {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR
5152 },
5153 // dancing weapon
5154 // These are named more explicitly when they attack, also when you use 'x'
5155 // to examine them.
5156 {
5157     MONS_DANCING_WEAPON, '(', COLOUR_UNDEF, "dancing weapon",
5158     M_FIGHTER | M_FLIES | M_PREFER_RANGED | M_GHOST_DEMON,
5159     mrd(MR_RES_FIRE | MR_RES_COLD, 2) | mrd(MR_RES_ELEC, 3),
5160     10, MONS_DANCING_WEAPON, MONS_DANCING_WEAPON, MH_NONLIVING, WILL_INVULN,
5161     { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5162     15, 150,
5163     10, 20, MST_NO_SPELLS, false, S_SILENT,
5164     I_BRAINLESS, HT_LAND, 15, DEFAULT_ENERGY,
5165     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_MISC,
5166     {TILE_UNSEEN_WEAPON}
5167 },
5168 
5169 // spectral weapon, for skalds!
5170 {
5171     MONS_SPECTRAL_WEAPON, '(', GREEN, "spectral weapon",
5172     M_INSUBSTANTIAL | M_NO_REGEN | M_AVATAR | M_NO_EXP_GAIN | M_FLIES
5173         | M_GHOST_DEMON,
5174     MR_RES_FIRE | MR_RES_COLD |  MR_RES_ELEC,
5175     11, MONS_WRAITH, MONS_SPECTRAL_WEAPON, MH_NONLIVING, WILL_INVULN,
5176     { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5177     5, 250,
5178     5, 10, MST_NO_SPELLS, false, S_SILENT,
5179     I_BRAINLESS, HT_LAND, 30, DEFAULT_ENERGY,
5180     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_MISC,
5181     {TILEP_MONS_SPECTRAL_SBL}, TILE_ERROR
5182 },
5183 
5184 // animated armour - variable traits
5185 {
5186     MONS_ANIMATED_ARMOUR, '[', GREEN, "animated armour",
5187     M_NO_FLAGS,
5188     MR_NO_FLAGS,
5189     10, MONS_ANIMATED_ARMOUR, MONS_ANIMATED_ARMOUR, MH_NONLIVING, WILL_INVULN,
5190     { {AT_HIT, AF_PLAIN, 1}, {AT_HIT, AF_PLAIN, 1}, AT_NO_ATK, AT_NO_ATK },
5191     15, 400,
5192     8, 5, MST_NO_SPELLS, false, S_SILENT,
5193     I_BRAINLESS, HT_LAND, 10, MOVE_ENERGY(30),
5194     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
5195     {TILEP_MONS_ANIMATED_ARMOUR}, TILE_ERROR
5196 },
5197 
5198 // Demonic tentacle things.
5199 {
5200     MONS_ELDRITCH_TENTACLE, 'w', COLOUR_UNDEF, "eldritch tentacle",
5201     M_NO_POLY_TO | M_STATIONARY | M_SEE_INVIS | M_FLIES,
5202     mrd(MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC
5203         | MR_RES_ACID, 3) | MR_RES_STICKY_FLAME,
5204     10, MONS_ELDRITCH_TENTACLE, MONS_ELDRITCH_TENTACLE,
5205         MH_NONLIVING, WILL_INVULN,
5206     { {AT_TENTACLE_SLAP, AF_CHAOTIC, 30}, {AT_CLAW, AF_CHAOTIC, 40}, AT_NO_ATK,
5207        AT_NO_ATK },
5208     16, 1200,
5209     13, 0, MST_NO_SPELLS, false, S_SILENT,
5210     I_ANIMAL, HT_AMPHIBIOUS, 12, DEFAULT_ENERGY,
5211     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_SNAKE,
5212     {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR
5213 },
5214 
5215 {
5216     MONS_ELDRITCH_TENTACLE_SEGMENT, '*', COLOUR_UNDEF, "eldritch tentacle segment",
5217     M_NOT_DANGEROUS | M_STATIONARY | M_NO_POLY_TO | M_SEE_INVIS | M_FLIES,
5218     mrd(MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC
5219         | MR_RES_ACID, 3) | MR_RES_STICKY_FLAME,
5220     10, MONS_ELDRITCH_TENTACLE, MONS_ELDRITCH_TENTACLE_SEGMENT,
5221         MH_NONLIVING, WILL_INVULN,
5222     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5223     16, 1200,
5224     13, 0, MST_NO_SPELLS, false, S_SILENT,
5225     I_ANIMAL, HT_AMPHIBIOUS, 12, DEFAULT_ENERGY,
5226     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_MISC,
5227     {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR
5228 },
5229 
5230 // demonspawn ('6')
5231 {
5232     MONS_DEMONSPAWN, '6', BROWN, "demonspawn",
5233     M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO,
5234     MR_NO_FLAGS,
5235     10, MONS_DEMONSPAWN, MONS_DEMONSPAWN, MH_NATURAL | MH_DEMONIC, 20,
5236     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5237     6, 330,
5238     3, 13, MST_NO_SPELLS, true, S_SHOUT,
5239     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5240     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
5241     {TILEP_MONS_DEMONSPAWN}, TILE_CORPSE_DEMONSPAWN
5242 },
5243 
5244 {
5245     MONS_MONSTROUS_DEMONSPAWN, '6', LIGHTGRAY, "monstrous demonspawn",
5246     M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_NO_POLY_TO,
5247     MR_NO_FLAGS,
5248     10, MONS_DEMONSPAWN, MONS_MONSTROUS_DEMONSPAWN, MH_NATURAL | MH_DEMONIC, 40,
5249     { {AT_HIT, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 21},
5250       {AT_GORE, AF_PLAIN, 21}, AT_NO_ATK },
5251     10, 1000,
5252     3, 10, MST_NO_SPELLS, true, S_SHOUT,
5253     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5254     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
5255     {TILEP_MONS_MONSTROUS_DEMONSPAWN}, TILE_CORPSE_MONSTROUS_DEMONSPAWN
5256 },
5257 
5258 {
5259     MONS_GELID_DEMONSPAWN, '6', BLUE, "gelid demonspawn",
5260     M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO,
5261     mrd(MR_RES_COLD, 3),
5262     10, MONS_DEMONSPAWN, MONS_GELID_DEMONSPAWN, MH_NATURAL | MH_DEMONIC, 40,
5263     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5264     10, 550,
5265     8, 12, MST_NO_SPELLS, true, S_SHOUT,
5266     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5267     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
5268     {TILEP_MONS_GELID_DEMONSPAWN}, TILE_CORPSE_GELID_DEMONSPAWN
5269 },
5270 
5271 {
5272     MONS_INFERNAL_DEMONSPAWN, '6', RED, "infernal demonspawn",
5273     M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO,
5274     mrd(MR_RES_FIRE, 3),
5275     10, MONS_DEMONSPAWN, MONS_INFERNAL_DEMONSPAWN, MH_NATURAL | MH_DEMONIC, 40,
5276     { {AT_HIT, AF_FIRE, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5277     10, 550,
5278     6, 12, MST_NO_SPELLS, true, S_SHOUT,
5279     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5280     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
5281     {TILEP_MONS_INFERNAL_DEMONSPAWN}, TILE_CORPSE_INFERNAL_DEMONSPAWN
5282 },
5283 
5284 {
5285     MONS_TORTUROUS_DEMONSPAWN, '6', MAGENTA, "torturous demonspawn",
5286     M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO,
5287     mrd(MR_RES_NEG, 3),
5288     10, MONS_DEMONSPAWN, MONS_TORTUROUS_DEMONSPAWN, MH_NATURAL | MH_DEMONIC, 40,
5289     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5290     10, 550,
5291     3, 13, MST_NO_SPELLS, true, S_SHOUT,
5292     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5293     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
5294     {TILEP_MONS_TORTUROUS_DEMONSPAWN}, TILE_CORPSE_TORTUROUS_DEMONSPAWN
5295 },
5296 
5297 // The nonbase demonspawn's hit dice HP values, AC, and EV are added to
5298 // those of the relevant base demonspawn type.
5299 {
5300     MONS_BLOOD_SAINT, '6', LIGHTBLUE, "blood saint",
5301     M_WARM_BLOOD | M_SPEAKS,
5302     MR_NO_FLAGS,
5303     10, MONS_DEMONSPAWN, MONS_DEMONSPAWN, MH_NATURAL | MH_DEMONIC, 60,
5304     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5305     15, 325,
5306     0, 0, MST_DEMONSPAWN_BLOOD_SAINT, true, S_SHOUT,
5307     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5308     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
5309     {TILEP_MONS_BLOOD_SAINT}, TILE_ERROR
5310 },
5311 
5312 {
5313     MONS_WARMONGER, '6', LIGHTCYAN, "warmonger",
5314     M_WARM_BLOOD | M_SPEAKS | M_FIGHTER,
5315     MR_NO_FLAGS,
5316     10, MONS_DEMONSPAWN, MONS_DEMONSPAWN, MH_NATURAL | MH_DEMONIC, 60,
5317     { {AT_HIT, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5318     15, 600,
5319     0, 2, MST_DEMONSPAWN_WARMONGER, true, S_SHOUT,
5320     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5321     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
5322     {TILEP_MONS_WARMONGER}, TILE_ERROR
5323 },
5324 
5325 {
5326     MONS_CORRUPTER, '6', LIGHTGREEN, "corrupter",
5327     M_WARM_BLOOD | M_SPEAKS,
5328     MR_NO_FLAGS,
5329     10, MONS_DEMONSPAWN, MONS_DEMONSPAWN, MH_NATURAL | MH_DEMONIC, 60,
5330     { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5331     15, 375,
5332     0, 0, MST_DEMONSPAWN_CORRUPTER, true, S_SHOUT,
5333     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5334     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
5335     {TILEP_MONS_CORRUPTER}, TILE_ERROR
5336 },
5337 
5338 {
5339     MONS_BLACK_SUN, '6', LIGHTMAGENTA, "black sun",
5340     M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS,
5341     MR_NO_FLAGS,
5342     10, MONS_DEMONSPAWN, MONS_DEMONSPAWN, MH_NATURAL | MH_DEMONIC, 60,
5343     { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5344     15, 375,
5345     0, 0, MST_DEMONSPAWN_BLACK_SUN, true, S_SHOUT,
5346     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5347     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
5348     {TILEP_MONS_BLACK_SUN}, TILE_ERROR
5349 },
5350 
5351 // minor demons: imps, etc. ('5')
5352 {
5353     MONS_CRIMSON_IMP, '5', RED, "crimson imp",
5354     M_SPEAKS | M_FAST_REGEN | M_FLIES,
5355     MR_RES_POISON | mrd(MR_RES_FIRE, 3) | MR_VUL_COLD,
5356     13, MONS_CRIMSON_IMP, MONS_CRIMSON_IMP, MH_DEMONIC, 40,
5357     { {AT_HIT, AF_PLAIN, 4}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5358     3, 135,
5359     3, 14, MST_BLINKER, false, S_SHOUT,
5360     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5361     MONUSE_WEAPONS_ARMOUR, SIZE_LITTLE,
5362          MON_SHAPE_HUMANOID_WINGED,
5363     {TILEP_MONS_CRIMSON_IMP}, TILE_ERROR
5364 },
5365 
5366 {
5367     MONS_QUASIT, '5', LIGHTGREY, "quasit",
5368     M_NO_FLAGS,
5369     MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD,
5370     13, MONS_QUASIT, MONS_QUASIT, MH_DEMONIC, 10,
5371     { {AT_BITE, AF_DRAIN_DEX, 3}, {AT_CLAW, AF_DRAIN_DEX, 2},
5372       {AT_CLAW, AF_DRAIN_DEX, 2}, AT_NO_ATK },
5373     3, 150,
5374     5, 17, MST_NO_SPELLS, false, S_MOAN,
5375     I_HUMAN, HT_LAND, 13, DEFAULT_ENERGY,
5376     MONUSE_OPEN_DOORS, SIZE_SMALL, MON_SHAPE_HUMANOID,
5377     {TILEP_MONS_QUASIT}, TILE_ERROR
5378 },
5379 
5380 {
5381     MONS_WHITE_IMP, '5', WHITE, "white imp",
5382     M_SPEAKS | M_FLIES,
5383     MR_RES_POISON | mrd(MR_RES_COLD, 2) | MR_VUL_FIRE,
5384     10, MONS_WHITE_IMP, MONS_WHITE_IMP, MH_DEMONIC, 10,
5385     { {AT_HIT, AF_COLD, 4}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5386     2, 110,
5387     4, 10, MST_WHITE_IMP, false, S_SHOUT,
5388     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5389     MONUSE_OPEN_DOORS, SIZE_LITTLE,
5390          MON_SHAPE_HUMANOID_WINGED,
5391     {TILEP_MONS_WHITE_IMP}, TILE_ERROR
5392 },
5393 
5394 {
5395     MONS_UFETUBUS, '5', LIGHTCYAN, "ufetubus",
5396     M_NO_FLAGS,
5397     MR_VUL_FIRE | MR_RES_COLD,
5398     28, MONS_UFETUBUS, MONS_UFETUBUS, MH_DEMONIC, 10,
5399     { {AT_HIT, AF_PLAIN, 5}, {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK },
5400     1, 70,
5401     2, 15, MST_NO_SPELLS, false, S_SHOUT,
5402     I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY,
5403     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
5404     {TILEP_MONS_UFETUBUS}, TILE_ERROR
5405 },
5406 
5407 {
5408     MONS_IRON_IMP, '5', CYAN, "iron imp",
5409     M_SPEAKS,
5410     MR_RES_POISON | MR_RES_ELEC | mrd(MR_RES_FIRE, 3) | MR_RES_COLD,
5411     14, MONS_IRON_IMP, MONS_IRON_IMP, MH_DEMONIC, 10,
5412     { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5413     3, 165,
5414     6, 8, MST_NO_SPELLS, false, S_SHOUT,
5415     I_HUMAN, HT_LAND, 8, DEFAULT_ENERGY,
5416     MONUSE_WEAPONS_ARMOUR, SIZE_SMALL, MON_SHAPE_HUMANOID,
5417     {TILEP_MONS_IRON_IMP}, TILE_ERROR
5418 },
5419 
5420 {
5421     MONS_SHADOW_IMP, '5', MAGENTA, "shadow imp",
5422     M_SEE_INVIS | M_SPEAKS,
5423     MR_RES_POISON | mrd(MR_RES_COLD, 2),
5424     11, MONS_SHADOW_IMP, MONS_SHADOW_IMP, MH_DEMONIC, 10,
5425     { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5426     2, 110,
5427     3, 11, MST_SHADOW_IMP, false, S_SHOUT,
5428     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5429     MONUSE_OPEN_DOORS, SIZE_LITTLE, MON_SHAPE_HUMANOID,
5430     {TILEP_MONS_SHADOW_IMP}, TILE_ERROR
5431 },
5432 
5433 {
5434     MONS_LEMURE, '5', YELLOW, "lemure",
5435     M_SPEAKS,
5436     MR_NO_FLAGS,
5437     10, MONS_LEMURE, MONS_LEMURE, MH_DEMONIC, 20,
5438     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5439     5, 275,
5440     4, 12, MST_NO_SPELLS, false, S_SHOUT,
5441     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5442     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
5443     {TILEP_MONS_LEMURE}, TILE_ERROR
5444 },
5445 
5446 // devils etc. ('4')
5447 {
5448     MONS_RUST_DEVIL, '4', BROWN, "rust devil",
5449     M_NO_FLAGS,
5450     MR_RES_POISON | MR_RES_ELEC | mrd(MR_RES_FIRE, 3) | MR_RES_COLD,
5451     15, MONS_RUST_DEVIL, MONS_RUST_DEVIL, MH_DEMONIC, 60,
5452     { {AT_HIT, AF_CORRODE, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5453     8, 440,
5454     10, 8, MST_NO_SPELLS, false, S_SCREECH,
5455     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5456     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
5457     {TILEP_MONS_RUST_DEVIL}, TILE_ERROR
5458 },
5459 
5460 {
5461     MONS_ORANGE_DEMON, '4', LIGHTRED, "orange demon",
5462     M_NO_FLAGS,
5463     MR_NO_FLAGS,
5464     12, MONS_ORANGE_DEMON, MONS_ORANGE_DEMON, MH_DEMONIC, 60,
5465     { {AT_STING, AF_REACH_STING, 15}, {AT_HIT, AF_WEAKNESS, 8}, AT_NO_ATK,
5466        AT_NO_ATK },
5467     8, 520,
5468     3, 7, MST_NO_SPELLS, false, S_SCREECH,
5469     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5470     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID_TAILED,
5471     {TILEP_MONS_ORANGE_DEMON}, TILE_ERROR
5472 },
5473 
5474 {
5475     MONS_RED_DEVIL, '4', RED, "red devil",
5476     M_FIGHTER | M_FLIES,
5477     MR_RES_POISON | mrd(MR_RES_FIRE, 3) | MR_VUL_COLD,
5478     13, MONS_RED_DEVIL, MONS_RED_DEVIL, MH_DEMONIC, 60,
5479     { {AT_HIT, AF_KITE, 19}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5480     7, 315,
5481     7, 13, MST_NO_SPELLS, false, S_SILENT,
5482     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5483     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM,
5484         MON_SHAPE_HUMANOID_WINGED,
5485     {TILEP_MONS_RED_DEVIL}, TILE_ERROR
5486 },
5487 
5488 {
5489     MONS_HELLWING, '4', LIGHTGREY, "hellwing",
5490     M_FAST_REGEN | M_FLIES,
5491     MR_RES_POISON,
5492     12, MONS_HELLWING, MONS_HELLWING, MH_DEMONIC, 60,
5493     { {AT_HIT, AF_SWOOP, 17}, {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK },
5494     7, 455,
5495     16, 10, MST_NO_SPELLS, false, S_MOAN,
5496     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5497     MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID_WINGED,
5498     {TILEP_MONS_HELLWING}, TILE_ERROR
5499 },
5500 
5501 {
5502     MONS_ICE_DEVIL, '4', WHITE, "ice devil",
5503     M_NO_FLAGS,
5504     MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 3),
5505     11, MONS_ICE_DEVIL, MONS_ICE_DEVIL, MH_DEMONIC, 80,
5506     { {AT_HIT, AF_COLD, 16}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5507     8, 440,
5508     12, 10, MST_NO_SPELLS, false, S_SILENT,
5509     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5510     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
5511     {TILEP_MONS_ICE_DEVIL}, TILE_ERROR
5512 },
5513 
5514 {
5515     MONS_CHAOS_SPAWN, '4', ETC_RANDOM, "chaos spawn",
5516     M_SEE_INVIS,
5517     MR_NO_FLAGS,
5518     12, MONS_CHAOS_SPAWN, MONS_CHAOS_SPAWN, MH_DEMONIC, 60,
5519     { {AT_RANDOM, AF_CHAOTIC, 19}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5520     6, 330,
5521     7, 12, MST_NO_SPELLS, false, S_RANDOM,
5522     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
5523     MONUSE_OPEN_DOORS, SIZE_BIG, MON_SHAPE_MISC,
5524     {TILEP_MONS_CHAOS_SPAWN, TVARY_RANDOM}, TILE_ERROR
5525 },
5526 
5527 // middle demons ('3')
5528 {
5529     MONS_SUN_DEMON, '3', YELLOW, "sun demon",
5530     M_SEE_INVIS | M_FLIES,
5531     MR_RES_ELEC | MR_RES_POISON | MR_VUL_COLD | mrd(MR_RES_FIRE, 3)
5532         | MR_VUL_WATER,
5533     14, MONS_SUN_DEMON, MONS_SUN_DEMON, MH_DEMONIC, 80,
5534     { {AT_HIT, AF_FIRE, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5535     10, 550,
5536     10, 12, MST_NO_SPELLS, false, S_SHOUT,
5537     I_HUMAN, HT_LAND, 12, DEFAULT_ENERGY,
5538     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
5539     {TILEP_MONS_SUN_DEMON}, TILE_ERROR
5540 },
5541 
5542 {
5543     MONS_SOUL_EATER, '3', MAGENTA, "soul eater",
5544     M_SEE_INVIS | M_FLIES,
5545     MR_RES_POISON | MR_RES_COLD,
5546     13, MONS_SOUL_EATER, MONS_SOUL_EATER, MH_DEMONIC, 140,
5547     { {AT_HIT, AF_DRAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5548     11, 605,
5549     18, 10, MST_SOUL_EATER, false, S_SILENT,
5550     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5551     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
5552     {TILEP_MONS_SOUL_EATER}, TILE_ERROR
5553 },
5554 
5555 {
5556     MONS_SMOKE_DEMON, '3', LIGHTGREY, "smoke demon",
5557     M_INSUBSTANTIAL | M_FLIES,
5558     MR_RES_POISON | mrd(MR_RES_FIRE, 2),
5559     15, MONS_SMOKE_DEMON, MONS_SMOKE_DEMON, MH_DEMONIC, 60,
5560     { {AT_HIT, AF_PLAIN, 8}, {AT_HIT, AF_PLAIN, 5}, {AT_HIT, AF_PLAIN, 5},
5561        AT_NO_ATK },
5562     7, 385,
5563     5, 9, MST_SMOKE_DEMON, false, S_ROAR,
5564     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5565     MONUSE_OPEN_DOORS, SIZE_SMALL, MON_SHAPE_HUMANOID,
5566     {TILEP_MONS_SMOKE_DEMON}, TILE_ERROR
5567 },
5568 
5569 {
5570     MONS_NEQOXEC, '3', LIGHTMAGENTA, "neqoxec",
5571     M_FLIES,
5572     MR_RES_POISON,
5573     12, MONS_NEQOXEC, MONS_NEQOXEC, MH_DEMONIC, 40,
5574     { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5575     6, 330,
5576     4, 12, MST_NEQOXEC, false, S_SHOUT,
5577     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5578     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
5579     {TILEP_MONS_NEQOXEC}, TILE_ERROR
5580 },
5581 
5582 {
5583     MONS_YNOXINUL, '3', LIGHTCYAN, "ynoxinul",
5584     M_SEE_INVIS | M_FLIES,
5585     MR_RES_ELEC | MR_RES_POISON | MR_RES_COLD,
5586     13, MONS_YNOXINUL, MONS_YNOXINUL, MH_DEMONIC, 40,
5587     { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5588     6, 330,
5589     3, 10, MST_YNOXINUL, false, S_BELLOW,
5590     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5591     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID_WINGED,
5592     {TILEP_MONS_YNOXINUL}, TILE_ERROR
5593 },
5594 
5595 {
5596     MONS_SIXFIRHY, '3', LIGHTBLUE, "sixfirhy",
5597     M_NO_FLAGS,
5598     mrd(MR_RES_ELEC, 3),
5599     6, MONS_SIXFIRHY, MONS_SIXFIRHY, MH_DEMONIC, 60,
5600     { {AT_HIT, AF_ELEC, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5601     9, 385,
5602     2, 20, MST_NO_SPELLS, false, S_SILENT,
5603     I_HUMAN, HT_LAND, 40, MOVE_ENERGY(6), // speed is cut to 1/3 later
5604     MONUSE_OPEN_DOORS, SIZE_LITTLE, MON_SHAPE_HUMANOID,
5605     {TILEP_MONS_SIXFIRHY}, TILE_ERROR
5606 },
5607 
5608 // greater demons ('2')
5609 
5610 {
5611     MONS_SHADOW_DEMON, '2', MAGENTA, "shadow demon",
5612     M_SEE_INVIS,
5613     MR_RES_POISON | mrd(MR_RES_COLD, 2),
5614     13, MONS_SHADOW_DEMON, MONS_SHADOW_DEMON, MH_DEMONIC, 100,
5615     { {AT_HIT, AF_PLAIN, 21}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5616     10, 550,
5617     7, 12, MST_SHADOW_DEMON, false, S_CROAK,
5618     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5619     MONUSE_OPEN_DOORS, SIZE_SMALL, MON_SHAPE_HUMANOID,
5620     {TILEP_MONS_SHADOW_DEMON}, TILE_ERROR
5621 },
5622 
5623 {
5624     MONS_GREEN_DEATH, '2', GREEN, "green death",
5625     M_SEE_INVIS,
5626     MR_RES_POISON,
5627     14, MONS_GREEN_DEATH, MONS_GREEN_DEATH, MH_DEMONIC, 160,
5628     { {AT_HIT, AF_PLAIN, 32}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5629     13, 715,
5630     5, 7, MST_GREEN_DEATH, false, S_ROAR,
5631     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5632     MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID,
5633     {TILEP_MONS_GREEN_DEATH}, TILE_ERROR
5634 },
5635 
5636 {
5637     MONS_BLIZZARD_DEMON, '2', LIGHTBLUE, "blizzard demon",
5638     M_SEE_INVIS | M_FLIES,
5639     MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 2) | mrd(MR_RES_ELEC, 3),
5640     16, MONS_BLIZZARD_DEMON, MONS_BLIZZARD_DEMON, MH_DEMONIC, 140,
5641     { {AT_HIT, AF_PLAIN, 20}, {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK },
5642     12, 660,
5643     10, 10, MST_BLIZZARD_DEMON, false, S_SHOUT,
5644     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5645     MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID,
5646     {TILEP_MONS_BLIZZARD_DEMON}, TILE_ERROR
5647 },
5648 
5649 {
5650     MONS_BALRUG, '2', RED, "balrug",
5651     M_FIGHTER | M_SEE_INVIS | M_FLIES,
5652     MR_RES_POISON | mrd(MR_RES_FIRE, 3) | MR_VUL_COLD | MR_VUL_WATER,
5653     12, MONS_BALRUG, MONS_BALRUG, MH_DEMONIC, 160,
5654     { {AT_HIT, AF_FIRE, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5655     14, 770,
5656     5, 12, MST_BALRUG, false, S_SHOUT,
5657     I_HUMAN, HT_LAND, 12, DEFAULT_ENERGY,
5658     MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_HUMANOID_WINGED,
5659     {TILEP_MONS_BALRUG}, TILE_ERROR
5660 },
5661 
5662 {
5663     MONS_CACODEMON, '2', YELLOW, "cacodemon",
5664     M_SEE_INVIS | M_FAST_REGEN | M_FLIES,
5665     MR_RES_POISON | MR_RES_ELEC,
5666     16, MONS_CACODEMON, MONS_CACODEMON, MH_DEMONIC, 160,
5667     { {AT_HIT, AF_PLAIN, 22}, {AT_HIT, AF_PLAIN, 22}, AT_NO_ATK, AT_NO_ATK },
5668     13, 975,
5669     11, 10, MST_CACODEMON, false, S_SHOUT,
5670     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5671     MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID,
5672     {TILEP_MONS_CACODEMON}, TILE_ERROR
5673 },
5674 
5675 {
5676     MONS_HELL_BEAST, '2', BROWN, "hell beast",
5677     M_FIGHTER,
5678     MR_NO_FLAGS,
5679     17, MONS_HELL_BEAST, MONS_HELL_BEAST, MH_DEMONIC, 20,
5680     { {AT_BITE, AF_PLAIN, 28}, {AT_TRAMPLE, AF_TRAMPLE, 20}, AT_NO_ATK,
5681        AT_NO_ATK },
5682     7, 840,
5683     5, 14, MST_NO_SPELLS, false, S_RANDOM,
5684     I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY,
5685     MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_QUADRUPED,
5686     {TILEP_MONS_HELL_BEAST}, TILE_ERROR
5687 },
5688 
5689 {
5690     MONS_HELLION, '2', LIGHTRED, "hellion",
5691     M_NO_FLAGS,
5692     MR_RES_POISON | MR_RES_DAMNATION,
5693     12, MONS_HELLION, MONS_HELLION, MH_DEMONIC, 60,
5694     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5695     7, 385,
5696     5, 10, MST_HELLION, false, S_SCREAM,
5697     I_HUMAN, HT_LAND, 12, DEFAULT_ENERGY,
5698     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
5699     {TILEP_MONS_HELLION}, TILE_ERROR
5700 },
5701 
5702 {
5703     MONS_REAPER, '2', LIGHTGREY, "reaper",
5704     M_FIGHTER | M_SEE_INVIS | M_SPEAKS,
5705     MR_RES_POISON | MR_RES_COLD,
5706     14, MONS_REAPER, MONS_REAPER, MH_DEMONIC, 100,
5707     { {AT_HIT, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5708     14, 770,
5709     15, 10, MST_NO_SPELLS, false, S_SILENT,
5710     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5711     MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
5712     {TILEP_MONS_REAPER}, TILE_ERROR
5713 },
5714 
5715 {
5716     MONS_LOROCYPROCA, '2', BLUE, "lorocyproca",
5717     M_SEE_INVIS | M_INVIS,
5718     MR_RES_POISON | MR_RES_COLD | MR_RES_FIRE | MR_RES_ELEC,
5719     14, MONS_LOROCYPROCA, MONS_LOROCYPROCA, MH_DEMONIC, 140,
5720     { {AT_HIT, AF_ANTIMAGIC, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5721     14, 770,
5722     10, 12, MST_NO_SPELLS, false, S_MOAN,
5723     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5724     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
5725     {TILEP_MONS_LOROCYPROCA}, TILE_ERROR
5726 },
5727 
5728 {
5729     MONS_TORMENTOR, '2', LIGHTMAGENTA, "tormentor",
5730     M_SPEAKS,
5731     MR_RES_POISON | MR_RES_FIRE,
5732     10, MONS_TORMENTOR, MONS_TORMENTOR, MH_DEMONIC, 60,
5733     { {AT_HIT, AF_PAIN, 8}, {AT_HIT, AF_PAIN, 8}, AT_NO_ATK, AT_NO_ATK },
5734     7, 385,
5735     12, 12, MST_TORMENTOR, false, S_ROAR,
5736     I_HUMAN, HT_LAND, 13, DEFAULT_ENERGY,
5737     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
5738     {TILEP_MONS_TORMENTOR}, TILE_ERROR
5739 },
5740 
5741 // fiends, etc. ('1')
5742 {
5743     MONS_BRIMSTONE_FIEND, '1', LIGHTRED, "Brimstone Fiend",
5744     M_SEE_INVIS | M_FLIES,
5745     MR_RES_POISON | MR_RES_DAMNATION | mrd(MR_RES_FIRE, 3) | MR_VUL_COLD
5746         | MR_VUL_WATER,
5747     17, MONS_BRIMSTONE_FIEND, MONS_BRIMSTONE_FIEND, MH_DEMONIC, WILL_INVULN,
5748     { {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 15}, {AT_HIT, AF_PLAIN, 15},
5749        AT_NO_ATK },
5750     18, 990,
5751     15, 6, MST_BRIMSTONE_FIEND, false, S_ROAR,
5752     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5753     MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID_WINGED,
5754     {TILEP_MONS_BRIMSTONE_FIEND}, TILE_ERROR
5755 },
5756 
5757 {
5758     MONS_ICE_FIEND, '1', WHITE, "Ice Fiend",
5759     M_SEE_INVIS | M_FLIES,
5760     MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 3),
5761     17, MONS_ICE_FIEND, MONS_ICE_FIEND, MH_DEMONIC, WILL_INVULN,
5762     { {AT_CLAW, AF_COLD, 25}, {AT_CLAW, AF_COLD, 25}, AT_NO_ATK, AT_NO_ATK },
5763     18, 990,
5764     15, 6, MST_ICE_FIEND, false, S_ROAR,
5765     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5766     MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID_WINGED,
5767     {TILEP_MONS_ICE_FIEND}, TILE_ERROR
5768 },
5769 
5770 {
5771     MONS_TZITZIMITL, '1', MAGENTA, "Tzitzimitl",
5772     M_SEE_INVIS | M_FLIES,
5773     MR_RES_POISON | mrd(MR_RES_COLD, 2) | MR_RES_ELEC,
5774     13, MONS_TZITZIMITL, MONS_TZITZIMITL, MH_DEMONIC, WILL_INVULN,
5775     { {AT_ENGULF, AF_DRAIN_SPEED, 25}, {AT_BITE, AF_DRAIN, 25},
5776       AT_NO_ATK, AT_NO_ATK },
5777     22, 1050,
5778     12, 16, MST_TZITZIMITL, false, S_ROAR,
5779     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5780     MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID,
5781     {TILEP_MONS_TZITZIMITL}, TILE_ERROR
5782 },
5783 
5784 {
5785     MONS_HELL_SENTINEL, '1', BROWN, "Hell Sentinel",
5786     M_SEE_INVIS,
5787     MR_RES_DAMNATION
5788         | mrd(MR_RES_FIRE | MR_RES_POISON | MR_RES_COLD | MR_RES_ELEC, 3),
5789     10, MONS_HELL_SENTINEL, MONS_HELL_SENTINEL, MH_DEMONIC, WILL_INVULN,
5790     { {AT_HIT, AF_PLAIN, 40}, {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK },
5791     19, 1425,
5792     25, 3, MST_HELL_SENTINEL, false, S_ROAR,
5793     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5794     MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID,
5795     {TILEP_MONS_HELL_SENTINEL}, TILE_ERROR
5796 },
5797 
5798 {
5799     MONS_EXECUTIONER, '1', LIGHTGREY, "Executioner",
5800     M_FIGHTER | M_SEE_INVIS,
5801     MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD | MR_RES_POISON,
5802     18, MONS_EXECUTIONER, MONS_EXECUTIONER, MH_DEMONIC, 140,
5803     { {AT_HIT, AF_PLAIN, 30}, {AT_HIT, AF_PLAIN, 10}, {AT_HIT, AF_PLAIN, 10},
5804        AT_NO_ATK },
5805     12, 660,
5806     10, 15, MST_EXECUTIONER, false, S_SCREAM,
5807     I_HUMAN, HT_LAND, 20, DEFAULT_ENERGY,
5808     MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID,
5809     {TILEP_MONS_EXECUTIONER}, TILE_ERROR
5810 },
5811 
5812 // trees and related creatures ('7')
5813 DUMMY(MONS_ANIMATED_TREE, '7', ETC_TREE, "animated tree", TILEP_MONS_TREANT)
5814 
5815 // non-living creatures
5816 // golems ('8')
5817 DUMMY(MONS_GOLEM, '8', LIGHTGREY, "golem", TILEP_MONS_IRON_GOLEM)
5818 
5819 {
5820     MONS_SALTLING, '8', WHITE, "saltling",
5821     M_NO_FLAGS,
5822     MR_NO_FLAGS,
5823     10, MONS_GOLEM, MONS_SALTLING, MH_NONLIVING, WILL_INVULN,
5824     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5825     8, 270,
5826     15, 5, MST_NO_SPELLS, false, S_SILENT,
5827     I_BRAINLESS, HT_LAND, 12, DEFAULT_ENERGY,
5828     MONUSE_OPEN_DOORS, SIZE_SMALL, MON_SHAPE_HUMANOID,
5829     {TILEP_MONS_SALTLING}, TILE_ERROR
5830 },
5831 
5832 {
5833     MONS_PEACEKEEPER, '8', YELLOW, "peacekeeper",
5834     M_SEE_INVIS,
5835     MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
5836     10, MONS_GOLEM, MONS_PEACEKEEPER, MH_NONLIVING, WILL_INVULN,
5837     { {AT_BITE, AF_PLAIN, 25}, {AT_CLAW, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK },
5838     12, 450,
5839     20, 3, MST_PEACEKEEPER, false, S_ROAR,
5840     I_BRAINLESS, HT_LAND, 15, DEFAULT_ENERGY,
5841     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED_TAILLESS,
5842     {TILEP_MONS_PEACEKEEPER}, TILE_ERROR
5843 },
5844 
5845 {
5846     MONS_IRON_GOLEM, '8', CYAN, "iron golem",
5847     M_NO_FLAGS,
5848     mrd(MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 3),
5849     10, MONS_GOLEM, MONS_IRON_GOLEM, MH_NONLIVING, WILL_INVULN,
5850     { {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5851     15, 1350,
5852     15, 3, MST_NO_SPELLS, false, S_SILENT,
5853     I_BRAINLESS, HT_LAND, 7, DEFAULT_ENERGY,
5854     MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID,
5855     {TILEP_MONS_IRON_GOLEM}, TILE_ERROR
5856 },
5857 
5858 {
5859     MONS_CRYSTAL_GUARDIAN, '8', GREEN, "crystal guardian",
5860     M_SEE_INVIS | M_SPEAKS,
5861     mrd(MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 3),
5862     10, MONS_GOLEM, MONS_CRYSTAL_GUARDIAN, MH_NONLIVING, WILL_INVULN,
5863     { {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5864     16, 640,
5865     22, 0, MST_CRYSTAL_GUARDIAN, false, S_SILENT,
5866     I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY,
5867     MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID,
5868     {TILEP_MONS_CRYSTAL_GUARDIAN}, TILE_ERROR
5869 },
5870 
5871 {
5872     MONS_TOENAIL_GOLEM, '8', RED, "toenail golem",
5873     M_NO_FLAGS,
5874     MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
5875     10, MONS_GOLEM, MONS_TOENAIL_GOLEM, MH_NONLIVING, WILL_INVULN,
5876     { {AT_HIT, AF_PLAIN, 13}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5877     9, 585,
5878     8, 5, MST_NO_SPELLS, false, S_SILENT,
5879     I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY,
5880     MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID,
5881     {TILEP_MONS_TOENAIL_GOLEM}, TILE_ERROR
5882 },
5883 
5884 {
5885     MONS_ELECTRIC_GOLEM, '8', LIGHTCYAN, "electric golem",
5886     M_SEE_INVIS | M_INSUBSTANTIAL | M_SPEAKS,
5887     mrd(MR_RES_ELEC, 3) | MR_RES_FIRE | MR_RES_COLD,
5888     12, MONS_GOLEM, MONS_ELECTRIC_GOLEM, MH_NONLIVING, WILL_INVULN,
5889     { {AT_HIT, AF_ELEC, 15}, {AT_HIT, AF_ELEC, 15}, {AT_HIT, AF_PLAIN, 15},
5890       {AT_HIT, AF_PLAIN, 15} },
5891     15, 1350,
5892     5, 20, MST_ELECTRIC_GOLEM, false, S_SILENT,
5893     I_BRAINLESS, HT_LAND, 16, DEFAULT_ENERGY,
5894     MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID,
5895     {TILEP_MONS_ELECTRIC_GOLEM}, TILE_ERROR
5896 },
5897 
5898 {
5899     MONS_USHABTI, '8', BROWN, "ushabti",
5900     M_FIGHTER | M_SEE_INVIS,
5901     MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
5902     10, MONS_GOLEM, MONS_USHABTI, MH_NONLIVING, WILL_INVULN,
5903     { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5904     7, 455,
5905     9, 6, MST_USHABTI, false, S_SILENT,
5906     I_HUMAN, HT_LAND, 8, DEFAULT_ENERGY,
5907     MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_MISC,
5908     {TILEP_MONS_USHABTI}, TILE_ERROR
5909 },
5910 
5911 {
5912     MONS_GUARDIAN_GOLEM, '8', LIGHTGREEN, "guardian golem",
5913     M_NO_EXP_GAIN,
5914     MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
5915     10, MONS_GOLEM, MONS_GUARDIAN_GOLEM, MH_NONLIVING, WILL_INVULN,
5916     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5917     5, 400,
5918     10, 2, MST_NO_SPELLS, false, S_SILENT,
5919     I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY,
5920     MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID,
5921     {TILEP_MONS_GUARDIAN_GOLEM}, TILE_ERROR
5922 },
5923 
5924 {
5925     MONS_SPELLFORGED_SERVITOR, '8', LIGHTMAGENTA, "spellforged servitor",
5926     M_NO_POLY_TO | M_FLIES | M_NO_EXP_GAIN,
5927     mrd(MR_RES_FIRE | MR_RES_COLD, 2) | MR_RES_ELEC,
5928     10, MONS_GOLEM, MONS_SPELLFORGED_SERVITOR, MH_NONLIVING, WILL_INVULN,
5929     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5930     8, 800,
5931     10, 10, MST_NO_SPELLS, false, S_SILENT,
5932     I_BRAINLESS, HT_LAND, 10, SPELL_ENERGY(18),
5933     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
5934     {TILEP_MONS_SPELLFORGED_SERVITOR}, TILE_ERROR
5935 },
5936 
5937 // statues and statue-like things (also '8')
5938 {
5939     MONS_ICE_STATUE, '8', LIGHTBLUE, "ice statue",
5940     M_STATIONARY | M_SPEAKS,
5941     MR_VUL_FIRE | mrd(MR_RES_COLD, 3) | MR_RES_ELEC | MR_RES_PETRIFY,
5942     10, MONS_STATUE, MONS_ICE_STATUE, MH_NONLIVING, WILL_INVULN,
5943     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5944     8, 720,
5945     12, 1, MST_ICE_STATUE, false, S_SILENT,
5946     I_HUMAN, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY,
5947     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_HUMANOID,
5948     {TILEP_MONS_ICE_STATUE}, TILE_ERROR
5949 },
5950 
5951 {
5952     MONS_OBSIDIAN_STATUE, '8', MAGENTA, "obsidian statue",
5953     M_STATIONARY | M_SPEAKS | M_SEE_INVIS,
5954     mrd(MR_RES_FIRE | MR_RES_COLD, 2) | MR_RES_ELEC
5955         | MR_RES_PETRIFY,
5956     10, MONS_STATUE, MONS_OBSIDIAN_STATUE, MH_NONLIVING | MH_EVIL, WILL_INVULN,
5957     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5958     10, 700,
5959     12, 1, MST_OBSIDIAN_STATUE, false, S_SILENT,
5960     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5961     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_HUMANOID,
5962     {TILEP_MONS_OBSIDIAN_STATUE}, TILE_ERROR
5963 },
5964 
5965 {
5966     MONS_ORANGE_STATUE, '8', LIGHTRED, "orange crystal statue",
5967     M_STATIONARY | M_SPEAKS | M_SEE_INVIS,
5968     mrd(MR_RES_FIRE | MR_RES_COLD, 2) | MR_RES_ELEC | MR_RES_PETRIFY,
5969     10, MONS_STATUE, MONS_ORANGE_STATUE, MH_NONLIVING, WILL_INVULN,
5970     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5971     10, 700,
5972     12, 1, MST_ORANGE_CRYSTAL_STATUE, false, S_SILENT,
5973     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5974     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_HUMANOID,
5975     {TILEP_MONS_ORANGE_STATUE}, TILE_ERROR
5976 },
5977 
5978 { // always redefined
5979     MONS_STATUE, '8', LIGHTGREY, "statue",
5980     M_STATIONARY | M_SPEAKS | M_ARCHER | M_PREFER_RANGED | M_NO_POLY_TO,
5981     mrd(MR_RES_FIRE | MR_RES_COLD, 2) | MR_RES_ELEC | MR_RES_PETRIFY,
5982     10, MONS_STATUE, MONS_STATUE, MH_NONLIVING, WILL_INVULN,
5983     { {AT_WEAP_ONLY, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5984     8, 720,
5985     12, 1, MST_NO_SPELLS, false, S_SILENT,
5986     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
5987     MONUSE_STARTING_EQUIPMENT, SIZE_LARGE, MON_SHAPE_HUMANOID,
5988     {TILEP_MONS_OBSIDIAN_STATUE}, TILE_ERROR
5989 },
5990 
5991 {
5992     MONS_TRAINING_DUMMY, '8', LIGHTGREY, "training dummy",
5993     M_STATIONARY,
5994     MR_RES_PETRIFY,
5995     10, MONS_TRAINING_DUMMY, MONS_TRAINING_DUMMY, MH_NONLIVING, WILL_INVULN,
5996     { {AT_WEAP_ONLY, AF_PLAIN, 1}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
5997     1, 60,
5998     0, 0, MST_NO_SPELLS, false, S_SILENT,
5999     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6000     MONUSE_STARTING_EQUIPMENT, SIZE_LARGE, MON_SHAPE_HUMANOID,
6001     {TILEP_MONS_TRAINING_DUMMY}, TILE_ERROR
6002 },
6003 
6004 {
6005     MONS_PILLAR_OF_SALT, '8', WHITE, "pillar of salt",
6006     M_NOT_DANGEROUS | M_STATIONARY,
6007     MR_NO_FLAGS,
6008     10, MONS_PILLAR_OF_SALT, MONS_PILLAR_OF_SALT, MH_NONLIVING, WILL_INVULN,
6009     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6010     1, 10,
6011     1, 0, MST_NO_SPELLS, false, S_SILENT,
6012     I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY,
6013     MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, MON_SHAPE_MISC,
6014     {TILEP_MONS_PILLAR_OF_SALT}, TILE_ERROR
6015 },
6016 
6017 {
6018     MONS_BLOCK_OF_ICE, '8', ETC_ICE, "block of ice",
6019     M_NOT_DANGEROUS | M_STATIONARY,
6020     mrd(MR_RES_COLD, 3) | MR_VUL_FIRE,
6021     10, MONS_BLOCK_OF_ICE, MONS_BLOCK_OF_ICE, MH_NONLIVING, WILL_INVULN,
6022     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6023     3, 285,
6024     15, 0, MST_NO_SPELLS, false, S_SILENT,
6025     I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY,
6026     MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, MON_SHAPE_MISC,
6027     {TILEP_MONS_BLOCK_OF_ICE, TVARY_MOD}, TILE_ERROR
6028 },
6029 
6030 {
6031     MONS_DIAMOND_OBELISK, '8', WHITE, "diamond obelisk",
6032     M_STATIONARY | M_NOT_DANGEROUS | M_NO_POLY_TO,
6033     MR_RES_PETRIFY,
6034     10, MONS_DIAMOND_OBELISK, MONS_DIAMOND_OBELISK, MH_NONLIVING, WILL_INVULN,
6035     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6036     8, 96000,
6037     12, 1, MST_NO_SPELLS, false, S_SILENT,
6038     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6039     MONUSE_STARTING_EQUIPMENT, SIZE_LARGE, MON_SHAPE_MISC,
6040     {TILEP_MONS_DIAMOND_OBELISK}, TILE_ERROR
6041 },
6042 
6043 {
6044     MONS_LIGHTNING_SPIRE, '8', ETC_ELECTRICITY, "lightning spire",
6045     M_STATIONARY | M_NO_POLY_TO,
6046     mrd(MR_RES_FIRE | MR_RES_COLD, 2) | mrd(MR_RES_ELEC, 3) | MR_RES_PETRIFY,
6047     10, MONS_LIGHTNING_SPIRE, MONS_LIGHTNING_SPIRE, MH_NONLIVING, WILL_INVULN,
6048     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6049     3, 210,
6050     13, 3, MST_ZAPPER, false, S_SILENT,
6051     I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY,
6052     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_MISC,
6053     {TILEP_MONS_LIGHTNING_SPIRE}, TILE_ERROR
6054 },
6055 
6056 // gargoyles ('9')
6057 {
6058     MONS_GARGOYLE, '9', LIGHTGREY, "gargoyle",
6059     M_FLIES,
6060     MR_RES_ELEC | MR_RES_PETRIFY,
6061     26, MONS_GOLEM, MONS_GARGOYLE, MH_NONLIVING, 40,
6062     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6063     6, 270,
6064     18, 6, MST_GARGOYLE, false, S_SILENT,
6065     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6066     MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM,
6067         MON_SHAPE_HUMANOID_WINGED_TAILED,
6068     {TILEP_MONS_GARGOYLE}, TILE_ERROR
6069 },
6070 
6071 {
6072     MONS_WAR_GARGOYLE, '9', CYAN, "war gargoyle",
6073     M_SEE_INVIS | M_FIGHTER | M_FLIES,
6074     MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD | MR_RES_PETRIFY,
6075     18, MONS_GOLEM, MONS_WAR_GARGOYLE, MH_NONLIVING, 100,
6076     { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6077     13, 520,
6078     22, 4, MST_SPLINTER_BREATH, false, S_SILENT,
6079     I_HUMAN, HT_LAND, 14, DEFAULT_ENERGY,
6080     MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM,
6081         MON_SHAPE_HUMANOID_WINGED_TAILED,
6082     {TILEP_MONS_WAR_GARGOYLE}, TILE_ERROR
6083 },
6084 
6085 {
6086     MONS_MOLTEN_GARGOYLE, '9', RED, "molten gargoyle",
6087     M_FLIES,
6088     MR_RES_ELEC | mrd(MR_RES_FIRE, 3) | MR_RES_PETRIFY,
6089     18, MONS_GOLEM, MONS_MOLTEN_GARGOYLE, MH_NONLIVING, 60,
6090     { {AT_HIT, AF_FIRE, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6091     7, 315,
6092     14, 7, MST_MOLTEN_GARGOYLE, false, S_SILENT,
6093     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6094     MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM,
6095         MON_SHAPE_HUMANOID_WINGED_TAILED,
6096     {TILEP_MONS_MOLTEN_GARGOYLE}, TILE_ERROR
6097 },
6098 
6099 // major demons ('&')
6100 // Random demon in pan - only one per level. Stats are stored in ghost struct.
6101 {
6102     MONS_PANDEMONIUM_LORD, '&', COLOUR_UNDEF, "pandemonium lord",
6103     // See invis is also set in ghost.cc
6104     M_FIGHTER | M_SPEAKS | M_SEE_INVIS | M_GHOST_DEMON | M_TALL_TILE,
6105     MR_RES_POISON,
6106     14, MONS_PANDEMONIUM_LORD, MONS_PANDEMONIUM_LORD, MH_DEMONIC, -5,
6107     { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6108     19, 1710,
6109     1, 2, MST_GHOST, false, S_DEMON_TAUNT,
6110     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6111     MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID,
6112     {TILEP_MONS_PANDEMONIUM_LORD}, TILE_ERROR
6113 },
6114 
6115 DUMMY(MONS_HELL_LORD, '&', COLOUR_UNDEF, "hell lord", TILEP_MONS_PROGRAM_BUG)
6116 
6117 // explodey things / orb of fire ('*')
6118 {
6119     MONS_BALL_LIGHTNING, '*', LIGHTCYAN, "ball lightning",
6120     M_INSUBSTANTIAL | M_CONJURED | M_FLIES | M_NO_EXP_GAIN,
6121     mrd(MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD, 3),
6122     20, MONS_BALL_LIGHTNING, MONS_BALL_LIGHTNING, MH_NONLIVING, WILL_INVULN,
6123     { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6124     1, 10,
6125     0, 10, MST_NO_SPELLS, false, S_SILENT,
6126     I_BRAINLESS, HT_LAND, 20, DEFAULT_ENERGY,
6127     MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_ORB,
6128     {TILEP_MONS_BALL_LIGHTNING}, TILE_ERROR
6129 },
6130 
6131 {
6132     MONS_BALLISTOMYCETE_SPORE, '*', GREEN, "ballistomycete spore",
6133     M_FLIES | M_NO_EXP_GAIN,
6134     MR_RES_POISON,
6135     10, MONS_FUNGUS, MONS_BALLISTOMYCETE_SPORE, MH_PLANT, WILL_INVULN,
6136     { {AT_HIT, AF_PLAIN, 1}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6137     1, 10,
6138     0, 10, MST_NO_SPELLS, false, S_SILENT,
6139     I_BRAINLESS, HT_LAND, 15, DEFAULT_ENERGY,
6140     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_ORB,
6141     {TILEP_MONS_BALLISTOMYCETE_SPORE}, TILE_ERROR
6142 },
6143 
6144 {
6145     MONS_LOST_SOUL, '*', LIGHTGREEN, "lost soul",
6146     M_INSUBSTANTIAL | M_MAINTAIN_RANGE | M_FLIES | M_NO_EXP_GAIN | M_SEE_INVIS,
6147     MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD,
6148     2, MONS_LOST_SOUL, MONS_LOST_SOUL, MH_UNDEAD, WILL_INVULN,
6149     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6150     10, 250,
6151     0, 10, MST_NO_SPELLS, false, S_SILENT,
6152     I_BRAINLESS, HT_LAND, 13, DEFAULT_ENERGY,
6153     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_ORB,
6154     {TILEP_MONS_LOST_SOUL}, TILE_ERROR
6155 },
6156 
6157 {
6158     MONS_LURKING_HORROR, '*', BLUE, "lurking horror",
6159     M_INSUBSTANTIAL | M_FLIES | M_NO_EXP_GAIN,
6160     MR_NO_FLAGS,
6161     10, MONS_LURKING_HORROR, MONS_LURKING_HORROR, MH_NONLIVING, 10,
6162     { {AT_HIT, AF_PLAIN, 1}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6163     1, 10,
6164     0, 10, MST_NO_SPELLS, false, S_SILENT,
6165     I_BRAINLESS, HT_LAND, 12, DEFAULT_ENERGY,
6166     MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_ORB,
6167     {TILEP_MONS_LURKING_HORROR}, TILE_ERROR
6168 },
6169 
6170 {
6171     MONS_ORB_OF_FIRE, '*', RED, "orb of fire",
6172     M_SEE_INVIS | M_INSUBSTANTIAL | M_FLIES,
6173     mrd(MR_RES_FIRE | MR_RES_ELEC, 3) | MR_RES_COLD | MR_VUL_WATER,
6174     13, MONS_ORB_OF_FIRE, MONS_ORB_OF_FIRE, MH_NONLIVING, WILL_INVULN,
6175     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6176     30, 1500,
6177     20, 20, MST_ORB_OF_FIRE, false, S_SILENT,
6178     I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY,
6179     MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_ORB,
6180     {TILEP_MONS_ORB_OF_FIRE}, TILE_ERROR
6181 },
6182 
6183 { // not an actual monster, used by a spell
6184     MONS_ORB_OF_DESTRUCTION, '*', WHITE, "orb of destruction",
6185     M_INSUBSTANTIAL | M_NOT_DANGEROUS | M_NO_POLY_TO | M_PROJECTILE | M_FLIES,
6186     mrd(MR_RES_COLD | MR_RES_ELEC | MR_RES_ACID | MR_RES_FIRE, 3)
6187         | MR_RES_DAMNATION | MR_RES_STICKY_FLAME,
6188     0, MONS_ORB_OF_DESTRUCTION, MONS_ORB_OF_DESTRUCTION,
6189         MH_NONLIVING, WILL_INVULN,
6190     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6191     5, 50000, /* unkillable */
6192     0, 10, MST_NO_SPELLS, false, S_SILENT,
6193     I_BRAINLESS, HT_LAND, 30, DEFAULT_ENERGY,
6194     MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_ORB,
6195     {TILEP_MONS_ORB_OF_DESTRUCTION, TVARY_RANDOM}, TILE_ERROR
6196 },
6197 
6198 { // not an actual monster, used by a spell
6199     MONS_FOXFIRE, 'v', LIGHTRED, "foxfire",
6200     M_SEE_INVIS | M_INSUBSTANTIAL | M_NOT_DANGEROUS | M_NO_POLY_TO
6201         | M_CONJURED | M_FLIES,
6202     mrd(MR_RES_FIRE, 3) | MR_RES_STICKY_FLAME,
6203     0, MONS_FOXFIRE, MONS_FOXFIRE, MH_NONLIVING, WILL_INVULN,
6204     { {AT_HIT, AF_PLAIN, 1}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6205     1, 10, /* unkillable */
6206     0, 10, MST_NO_SPELLS, false, S_SILENT,
6207     I_BRAINLESS, HT_LAND, 50, DEFAULT_ENERGY,
6208     MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_ORB,
6209     {TILEP_MONS_FOXFIRE}, TILE_ERROR
6210 },
6211 
6212 { // not an actual monster, used by a spell
6213     MONS_FULMINANT_PRISM, '*', ETC_MAGIC, "fulminant prism",
6214     M_NO_POLY_TO | M_STATIONARY | M_CONJURED | M_NO_EXP_GAIN
6215         | M_FLIES,
6216     MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC,
6217     0, MONS_FULMINANT_PRISM, MONS_FULMINANT_PRISM, MH_NONLIVING, WILL_INVULN,
6218     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6219     5, 150,
6220     3, 0, MST_NO_SPELLS, false, S_SILENT,
6221     I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY,
6222     MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_ORB,
6223     {TILEP_MONS_FULMINANT_PRISM, TVARY_RANDOM}, TILE_ERROR
6224 },
6225 
6226 {
6227     MONS_WRETCHED_STAR, '*', MAGENTA, "wretched star",
6228     M_SEE_INVIS | M_INSUBSTANTIAL | M_FLIES,
6229     MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD,
6230     13, MONS_WRETCHED_STAR, MONS_WRETCHED_STAR, MH_NONLIVING, WILL_INVULN,
6231     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6232     10, 700,
6233     10, 10, MST_WRETCHED_STAR, false, S_SILENT,
6234     I_HUMAN, HT_LAND, 10, MOVE_ENERGY(8),
6235     MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_ORB,
6236     {TILEP_MONS_WRETCHED_STAR}, TILE_ERROR
6237 },
6238 
6239 {
6240     MONS_BATTLESPHERE, '*', ETC_MAGIC, "battlesphere",
6241     M_SEE_INVIS | M_INSUBSTANTIAL | M_NO_EXP_GAIN | M_NO_POLY_TO
6242         | M_MAINTAIN_RANGE | M_AVATAR | M_FLIES | M_UNBLINDABLE,
6243     mrd(MR_RES_COLD | MR_RES_FIRE, 2) | mrd(MR_RES_ELEC, 3)
6244         | MR_RES_ACID | MR_RES_STICKY_FLAME,
6245     0, MONS_BATTLESPHERE, MONS_BATTLESPHERE, MH_NONLIVING, WILL_INVULN,
6246     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6247     5, 150,
6248     0, 5, MST_NO_SPELLS, false, S_SILENT,
6249     I_BRAINLESS, HT_LAND, 30, DEFAULT_ENERGY,
6250     MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_ORB,
6251     {TILEP_MONS_BATTLESPHERE}, TILE_ERROR
6252 },
6253 
6254 // other symbols
6255 {
6256     MONS_DEATH_COB, 'z', YELLOW, "death cob",
6257     M_SPEAKS,
6258     MR_RES_COLD,
6259     10, MONS_DEATH_COB, MONS_DEATH_COB, MH_UNDEAD, 40,
6260     { {AT_HIT, AF_DRAIN_SPEED, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6261     14, 910,
6262     10, 15, MST_NO_SPELLS, false, S_MOAN,
6263     I_HUMAN, HT_LAND, 25, DEFAULT_ENERGY,
6264     MONUSE_OPEN_DOORS, SIZE_TINY, MON_SHAPE_HUMANOID,
6265     {TILEP_MONS_DEATH_COB}, TILE_ERROR
6266 },
6267 
6268 // non-human uniques
6269 // "A"ngels.
6270 {
6271     MONS_MENNAS, 'A', LIGHTCYAN, "Mennas",
6272     M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_UNIQUE | M_MALE | M_FLIES,
6273     MR_RES_POISON | MR_RES_ELEC,
6274     18, MONS_ANGEL, MONS_ANGEL, MH_HOLY, 160,
6275     { {AT_HIT, AF_PLAIN, 30}, {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK,
6276        AT_NO_ATK },
6277     19, 1520,
6278     15, 28, MST_MENNAS, false, S_SILENT,
6279     I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY,
6280     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM,
6281         MON_SHAPE_HUMANOID_WINGED,
6282     {TILEP_MONS_MENNAS}, TILE_ERROR
6283 },
6284 
6285 // "c"entaurs.
6286 {
6287     MONS_NESSOS, 'c', MAGENTA, "Nessos",
6288     M_UNIQUE | M_WARM_BLOOD | M_ARCHER | M_SPEAKS | M_GENDER_NEUTRAL,
6289     MR_NO_FLAGS,
6290     18, MONS_CENTAUR, MONS_CENTAUR, MH_NATURAL, 20,
6291     { {AT_HIT, AF_PLAIN, 13}, {AT_KICK, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK },
6292     9, 720,
6293     4, 8, MST_NESSOS, true, S_SHOUT,
6294     I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY,
6295     MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_CENTAUR,
6296     {TILEP_MONS_NESSOS}, TILE_ERROR
6297 },
6298 
6299 // "C"yclopes and giants.
6300 {
6301     MONS_CHUCK, 'C', WHITE, "Chuck",
6302     M_WARM_BLOOD | M_SPEAKS | M_UNIQUE | M_MALE,
6303     MR_NO_FLAGS,
6304     10, MONS_GIANT, MONS_STONE_GIANT, MH_NATURAL, 100,
6305     { {AT_HIT, AF_PLAIN, 45}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6306     18, 1170,
6307     14, 2, MST_NO_SPELLS, true, S_SHOUT,
6308     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6309     MONUSE_STARTING_EQUIPMENT, SIZE_GIANT, MON_SHAPE_HUMANOID,
6310     {TILEP_MONS_CHUCK}, TILE_ERROR
6311 },
6312 
6313 {
6314     MONS_POLYPHEMUS, 'C', GREEN, "Polyphemus",
6315     M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_MALE,
6316     MR_NO_FLAGS,
6317     10, MONS_GIANT, MONS_CYCLOPS, MH_NATURAL, 60,
6318     { {AT_HIT, AF_PLAIN, 45}, {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK },
6319     16, 1520,
6320     10, 3, MST_POLYPHEMUS, true, S_SHOUT,
6321     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6322     MONUSE_STARTING_EQUIPMENT, SIZE_GIANT, MON_SHAPE_HUMANOID,
6323     {TILEP_MONS_POLYPHEMUS}, TILE_ERROR
6324 },
6325 
6326 {
6327     MONS_ANTAEUS, 'C', LIGHTCYAN, "Antaeus",
6328     M_UNIQUE | M_WARM_BLOOD | M_FIGHTER | M_SEE_INVIS | M_MALE
6329         | M_SPEAKS | M_TALL_TILE,
6330     mrd(MR_RES_ELEC, 3) | mrd(MR_RES_COLD, 2) | MR_VUL_FIRE,
6331     10, MONS_GIANT, MONS_TITAN, MH_DEMONIC, WILL_INVULN,
6332     { {AT_HIT, AF_COLD, 75}, {AT_HIT, AF_COLD, 30}, AT_NO_ATK, AT_NO_ATK },
6333     22, 6820,
6334     28, 4, MST_ANTAEUS, false, S_DEMON_TAUNT,
6335     I_HUMAN, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY,
6336     MONUSE_WEAPONS_ARMOUR, SIZE_GIANT, MON_SHAPE_HUMANOID,
6337     {TILEP_MONS_ANTAEUS}, TILE_ERROR
6338 },
6339 
6340 // "d"raconians.
6341 {
6342     MONS_TIAMAT, 'd', COLOUR_UNDEF, "Tiamat",
6343     M_UNIQUE | M_SEE_INVIS | M_COLD_BLOOD | M_SPEAKS | M_FEMALE | M_FLIES,
6344     MR_RES_POISON,
6345     10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, 140,
6346     { {AT_HIT, AF_PLAIN, 60}, {AT_TAIL_SLAP, AF_PLAIN, 45}, AT_NO_ATK,
6347        AT_NO_ATK },
6348     22, 3850,
6349     // Gets her breath in
6350     30, 10, MST_NO_SPELLS, false, S_ROAR,
6351     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6352     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM,
6353         MON_SHAPE_HUMANOID_WINGED_TAILED,
6354     {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR
6355 },
6356 
6357 {
6358     MONS_BAI_SUZHEN, 'd', LIGHTBLUE, "Bai Suzhen",
6359     M_UNIQUE | M_SEE_INVIS | M_COLD_BLOOD | M_SPEAKS | M_FEMALE,
6360     mrd(MR_RES_ELEC, 3) | MR_RES_COLD | MR_RES_POISON,
6361     16, MONS_DRAGON, MONS_STORM_DRAGON, MH_NATURAL, 100,
6362     { {AT_HIT, AF_PLAIN, 24}, {AT_TAIL_SLAP, AF_PLAIN, 14}, AT_NO_ATK,
6363        AT_NO_ATK },
6364     20, 1850,
6365     14, 8, MST_BAI_SUZHEN, false, S_ROAR,
6366     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6367     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID_TAILED,
6368     {TILEP_MONS_BAI_SUZHEN}, TILE_ERROR
6369 },
6370 
6371 // "D"ragons and hydras.
6372 {
6373     MONS_XTAHUA, 'D', RED, "Xtahua",
6374     M_UNIQUE | M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS | M_GENDER_NEUTRAL
6375         | M_CRASH_DOORS | M_FLIES,
6376     MR_RES_POISON | mrd(MR_RES_FIRE, 2) | MR_VUL_COLD,
6377     18, MONS_DRAGON, MONS_FIRE_DRAGON, MH_NATURAL, 180,
6378     { {AT_BITE, AF_PLAIN, 35}, {AT_CLAW, AF_PLAIN, 17},
6379       {AT_TRAMPLE, AF_TRAMPLE, 20}, AT_NO_ATK },
6380     20, 1330,
6381     15, 7, MST_XTAHUA, true, S_LOUD_ROAR,
6382     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6383     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED,
6384     {TILEP_MONS_XTAHUA}, TILE_ERROR
6385 },
6386 
6387 {
6388     MONS_LERNAEAN_HYDRA, 'D', YELLOW, "the Lernaean hydra",
6389     M_UNIQUE | M_COLD_BLOOD | M_FAST_REGEN | M_TALL_TILE,
6390     MR_RES_POISON,
6391     11, MONS_HYDRA, MONS_HYDRA, MH_NATURAL, 120,
6392     { {AT_BITE, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6393     30, 1500,
6394     0, 5, MST_NO_SPELLS, true, S_LOUD_ROAR,
6395     I_ANIMAL, HT_AMPHIBIOUS, 10, SWIM_ENERGY(6),
6396     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED,
6397     {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR
6398 },
6399 
6400 {
6401     MONS_SERPENT_OF_HELL, 'D', ETC_FIRE, "the Serpent of Hell",
6402     M_SEE_INVIS | M_UNIQUE | M_CRASH_DOORS | M_FLIES | M_TALL_TILE,
6403     MR_RES_POISON | MR_RES_DAMNATION | mrd(MR_RES_FIRE, 3),
6404     21, MONS_DRAGON, MONS_SERPENT_OF_HELL, MH_DEMONIC, 180,
6405     { {AT_BITE, AF_FIRE, 35}, {AT_CLAW, AF_PLAIN, 15},
6406       {AT_TRAMPLE, AF_TRAMPLE, 15}, AT_NO_ATK },
6407     17, 2805,
6408     16, 12, MST_SERPENT_OF_HELL_GEH, false, S_LOUD_ROAR,
6409     I_HUMAN, HT_LAND, 14, DEFAULT_ENERGY,
6410     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED,
6411     {TILEP_MONS_SERPENT_OF_HELL_GEHENNA}, TILE_ERROR
6412 },
6413 
6414 {
6415     MONS_SERPENT_OF_HELL_COCYTUS, 'D', ETC_ICE, "the Serpent of Hell",
6416     M_SEE_INVIS | M_UNIQUE | M_CRASH_DOORS | M_FLIES | M_TALL_TILE,
6417     MR_RES_POISON | mrd(MR_RES_COLD, 3),
6418     21, MONS_DRAGON, MONS_SERPENT_OF_HELL, MH_DEMONIC, 180,
6419     { {AT_BITE, AF_COLD, 35}, {AT_CLAW, AF_PLAIN, 15},
6420       {AT_TRAMPLE, AF_TRAMPLE, 15}, AT_NO_ATK },
6421     17, 2805,
6422     20, 12, MST_SERPENT_OF_HELL_COC, false, S_LOUD_ROAR,
6423     I_HUMAN, HT_LAND, 14, DEFAULT_ENERGY,
6424     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED,
6425     {TILEP_MONS_SERPENT_OF_HELL_COCYTUS}, TILE_ERROR
6426 },
6427 
6428 {
6429     MONS_SERPENT_OF_HELL_DIS, 'D', ETC_IRON, "the Serpent of Hell",
6430     M_SEE_INVIS | M_UNIQUE | M_CRASH_DOORS | M_TALL_TILE,
6431     MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD,
6432     16, MONS_DRAGON, MONS_SERPENT_OF_HELL, MH_DEMONIC, 180,
6433     { {AT_BITE, AF_REACH, 35}, {AT_CLAW, AF_PLAIN, 25},
6434       {AT_TRAMPLE, AF_TRAMPLE, 25}, {AT_TAIL_SLAP, AF_PLAIN, 15} },
6435     17, 3230,
6436     30, 8, MST_SERPENT_OF_HELL_DIS, false, S_LOUD_ROAR,
6437     I_HUMAN, HT_LAND, 14, DEFAULT_ENERGY,
6438     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED,
6439     {TILEP_MONS_SERPENT_OF_HELL_DIS}, TILE_ERROR
6440 },
6441 
6442 {
6443     MONS_SERPENT_OF_HELL_TARTARUS, 'D', ETC_DEATH, "the Serpent of Hell",
6444     M_SEE_INVIS | M_UNIQUE | M_CRASH_DOORS | M_FLIES | M_TALL_TILE,
6445     MR_RES_POISON | mrd(MR_RES_COLD, 2),
6446     18, MONS_DRAGON, MONS_SERPENT_OF_HELL, MH_DEMONIC, 180,
6447     { {AT_BITE, AF_DRAIN, 35}, {AT_CLAW, AF_PLAIN, 15},
6448       {AT_TRAMPLE, AF_TRAMPLE, 15}, AT_NO_ATK },
6449     17, 3230,
6450     16, 12, MST_SERPENT_OF_HELL_TAR, false, S_LOUD_ROAR,
6451     I_HUMAN, HT_LAND, 14, DEFAULT_ENERGY,
6452     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED,
6453     {TILEP_MONS_SERPENT_OF_HELL_TARTARUS}, TILE_ERROR
6454 },
6455 
6456 {
6457     MONS_BAI_SUZHEN_DRAGON, 'D', ETC_ELECTRICITY, "Bai Suzhen",
6458     M_UNIQUE | M_SEE_INVIS | M_COLD_BLOOD | M_SPEAKS | M_FEMALE | M_FLIES
6459         | M_THUNDER_RING,
6460     mrd(MR_RES_ELEC, 3) | MR_RES_COLD | MR_RES_POISON,
6461     18, MONS_DRAGON, MONS_STORM_DRAGON, MH_NATURAL, 100,
6462     { {AT_BITE, AF_PLAIN, 30}, {AT_CLAW, AF_PLAIN, 16},
6463       {AT_TRAMPLE, AF_TRAMPLE, 16}, AT_NO_ATK },
6464     20, 1850,
6465     22, 4, MST_BAI_SUZHEN_DRAGON, false, S_LOUD_ROAR,
6466     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6467     MONUSE_OPEN_DOORS, SIZE_GIANT, MON_SHAPE_SNAKE,
6468     {TILEP_MONS_BAI_SUZHEN_DRAGON}, TILE_ERROR
6469 },
6470 
6471 // "e"lves
6472 {
6473     MONS_DUVESSA, 'e', BLUE, "Duvessa",
6474     M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPEAKS | M_FEMALE,
6475     MR_NO_FLAGS,
6476     15, MONS_ELF, MONS_ELF, MH_NATURAL, 40,
6477     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6478     4, 360,
6479     2, 9, MST_NO_SPELLS, true, S_SHOUT,
6480     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6481     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
6482     {TILEP_MONS_DUVESSA}, TILE_ERROR
6483 },
6484 
6485 {
6486     MONS_DOWAN, 'e', RED, "Dowan",
6487     M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_MALE,
6488     MR_NO_FLAGS,
6489     15, MONS_ELF, MONS_ELF, MH_NATURAL, 20,
6490     { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6491     3, 240,
6492     0, 13, MST_DOWAN, true, S_SHOUT,
6493     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6494     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
6495     {TILEP_MONS_DOWAN}, TILE_ERROR
6496 },
6497 
6498 {
6499     MONS_FANNAR, 'e', LIGHTBLUE, "Fannar",
6500     M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_GENDER_NEUTRAL,
6501     MR_NO_FLAGS,
6502     16, MONS_ELF, MONS_ELF, MH_NATURAL, 80,
6503     { {AT_HIT, AF_PLAIN, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6504     10, 800,
6505     4, 15, MST_FANNAR, true, S_SHOUT,
6506     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6507     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
6508     {TILEP_MONS_FANNAR}, TILE_ERROR
6509 },
6510 
6511 // "F"rogs.
6512 {
6513     MONS_PRINCE_RIBBIT, 'F', LIGHTCYAN, "Prince Ribbit",
6514     M_UNIQUE | M_COLD_BLOOD | M_SPEAKS | M_MALE,
6515     MR_NO_FLAGS,
6516     12, MONS_FROG, MONS_HUMAN, MH_NATURAL, 40,
6517     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6518     6, 390,
6519     0, 16, MST_PRINCE_RIBBIT, true, S_CROAK,
6520     I_HUMAN, HT_AMPHIBIOUS, 14, SWIM_ENERGY(6),
6521     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED_TAILLESS,
6522     {TILEP_MONS_PRINCE_RIBBIT}, TILE_ERROR
6523 },
6524 
6525 // "g"oblins, gnolls, and dwarves.
6526 {
6527     MONS_IJYB, 'g', BLUE, "Ijyb",
6528     M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_FEMALE | M_ALWAYS_WAND,
6529     MR_NO_FLAGS,
6530     8, MONS_GOBLIN, MONS_GOBLIN, MH_NATURAL, 10,
6531     { {AT_HIT, AF_PLAIN, 4}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6532     3, 240,
6533     2, 12, MST_NO_SPELLS, true, S_SHOUT,
6534     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6535     MONUSE_WEAPONS_ARMOUR, SIZE_SMALL, MON_SHAPE_HUMANOID,
6536     {TILEP_MONS_IJYB}, TILE_ERROR
6537 },
6538 
6539 {
6540     MONS_ROBIN, 'g', LIGHTCYAN, "Robin",
6541     M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_GENDER_NEUTRAL,
6542     MR_NO_FLAGS,
6543     10, MONS_GOBLIN, MONS_HOBGOBLIN, MH_NATURAL, 10,
6544     { {AT_HIT, AF_PLAIN, 2}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6545     2, 160,
6546     1, 8, MST_ROBIN, true, S_SHOUT,
6547     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6548     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
6549     {TILEP_MONS_ROBIN}, TILE_ERROR
6550 },
6551 
6552 {
6553     MONS_GRUM, 'g', LIGHTRED, "Grum",
6554     M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_MALE,
6555     MR_NO_FLAGS,
6556     19, MONS_GNOLL, MONS_GNOLL, MH_NATURAL, 10,
6557     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6558     4, 400,
6559     2, 9, MST_NO_SPELLS, true, S_GROWL,
6560     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6561     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
6562     {TILEP_MONS_GRUM}, TILE_ERROR
6563 },
6564 
6565 {
6566     MONS_CRAZY_YIUF, 'g', COLOUR_UNDEF, "Crazy Yiuf",
6567     M_WARM_BLOOD | M_SPEAKS | M_UNIQUE | M_MALE,
6568     MR_NO_FLAGS,
6569     10, MONS_GNOLL, MONS_GNOLL, MH_NATURAL, 10,
6570     { {AT_HIT, AF_PLAIN, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6571     3, 195,
6572     2, 9, MST_NO_SPELLS, true, S_SHOUT,
6573     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6574     MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
6575     {TILEP_MONS_CRAZY_YIUF}, TILE_ERROR
6576 },
6577 
6578 {
6579     MONS_JORGRUN, 'g', LIGHTMAGENTA, "Jorgrun",
6580     M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_MALE,
6581     MR_NO_FLAGS,
6582     18, MONS_DWARF, MONS_DWARF, MH_NATURAL, 120,
6583     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6584     15, 1200,
6585     2, 15, MST_JORGRUN, true, S_SHOUT,
6586     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6587     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
6588     {TILEP_MONS_JORGRUN}, TILE_ERROR
6589 },
6590 
6591 // "h" - carnivorous quadrupeds
6592 {
6593     MONS_NATASHA, 'h', MAGENTA, "Natasha",
6594     M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS | M_UNIQUE | M_FEMALE,
6595     MR_NO_FLAGS,
6596     10, MONS_FELID, MONS_FELID, MH_NATURAL | MH_EVIL, 20,
6597     { {AT_CLAW, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6598     3, 150,
6599     2, 12, MST_NATASHA, true, S_HISS,
6600     I_HUMAN, HT_LAND, 10, MOVE_ENERGY(8),
6601     MONUSE_STARTING_EQUIPMENT, SIZE_LITTLE, MON_SHAPE_QUADRUPED,
6602     {TILEP_MONS_NATASHA}, TILE_ERROR
6603 },
6604 
6605 // "H"ybrids.
6606 {
6607     MONS_ARACHNE, 'H', LIGHTCYAN, "Arachne",
6608     M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_FEMALE,
6609     MR_NO_FLAGS, // no rPois- (breathes through the human half)
6610     10, MONS_SPIDER, MONS_ARACHNE, MH_NATURAL, 60,
6611     { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6612     17, 2040,
6613     3, 10, MST_ARACHNE, true, S_SHOUT,
6614     I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY,
6615     MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_ARACHNID,
6616     {TILEP_MONS_ARACHNE}, TILE_CORPSE_ARACHNE
6617 },
6618 
6619 {
6620     MONS_ASTERION, 'H', LIGHTBLUE, "Asterion",
6621     M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_UNIQUE | M_MALE,
6622     MR_NO_FLAGS,
6623     15, MONS_MINOTAUR, MONS_MINOTAUR, MH_NATURAL | MH_EVIL, 100,
6624     { {AT_HIT, AF_PLAIN, 35}, {AT_GORE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK },
6625     15, 1275,
6626     4, 4, MST_ASTERION, true, S_BELLOW,
6627     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6628     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
6629     {TILEP_MONS_ASTERION}, TILE_ERROR
6630 },
6631 
6632 // Spr"i"ggans.
6633 {
6634     MONS_AGNES, 'i', LIGHTCYAN, "Agnes",
6635     M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_FEMALE,
6636     MR_NO_FLAGS,
6637     20, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, 100,
6638     { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6639     11, 990,
6640     0, 20, MST_NO_SPELLS, true, S_SHOUT,
6641     I_HUMAN, HT_LAND, 18, DEFAULT_ENERGY,
6642     MONUSE_WEAPONS_ARMOUR, SIZE_LITTLE, MON_SHAPE_HUMANOID,
6643     {TILEP_MONS_AGNES}, TILE_ERROR
6644 },
6645 
6646 {
6647     MONS_THE_ENCHANTRESS, 'i', LIGHTMAGENTA, "the Enchantress",
6648     M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_UNIQUE | M_FEMALE,
6649     MR_NO_FLAGS,
6650     35, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, 160,
6651     { {AT_HIT, AF_PLAIN, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6652     15, 975,
6653     1, 30, MST_THE_ENCHANTRESS, true, S_SHOUT,
6654     I_HUMAN, HT_LAND, 10, MOVE_ENERGY(6),
6655     MONUSE_WEAPONS_ARMOUR, SIZE_LITTLE, MON_SHAPE_HUMANOID,
6656     {TILEP_MONS_THE_ENCHANTRESS}, TILE_ERROR
6657 },
6658 
6659 // "J"ellies.
6660 {
6661     MONS_ROYAL_JELLY, 'J', YELLOW, "the Royal Jelly",
6662     M_SEE_INVIS | M_UNBLINDABLE | M_ACID_SPLASH | M_UNIQUE | M_EAT_DOORS
6663         | M_TALL_TILE,
6664     MR_RES_POISON | mrd(MR_RES_ACID, 3),
6665     20, MONS_JELLY, MONS_JELLY, MH_NATURAL, 180,
6666     { {AT_HIT, AF_ACID, 50}, {AT_HIT, AF_ACID, 30}, AT_NO_ATK, AT_NO_ATK },
6667     21, 2310,
6668     8, 4, MST_NO_SPELLS, false, S_SILENT,
6669     I_BRAINLESS, HT_LAND, 14, DEFAULT_ENERGY,
6670     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_BLOB,
6671     {TILEP_MONS_ROYAL_JELLY}, TILE_ERROR
6672 },
6673 
6674 {
6675     MONS_DISSOLUTION, 'J', LIGHTMAGENTA, "Dissolution",
6676     M_UNIQUE | M_SEE_INVIS | M_UNBLINDABLE | M_ACID_SPLASH | M_BURROWS
6677         | M_SPEAKS | M_FAST_REGEN | M_GENDER_NEUTRAL | M_EAT_DOORS,
6678     MR_RES_POISON | mrd(MR_RES_ACID, 3),
6679     60, MONS_JELLY, MONS_JELLY, MH_NATURAL, 120,
6680     { {AT_HIT, AF_ACID, 50}, {AT_HIT, AF_ACID, 30}, AT_NO_ATK, AT_NO_ATK },
6681     16, 1760,
6682     10, 1, MST_DISSOLUTION, false, S_SILENT,
6683     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6684     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_BLOB,
6685     {TILEP_MONS_DISSOLUTION}, TILE_ERROR
6686 },
6687 
6688 // "K"obolds.
6689 {
6690     MONS_SONJA, 'K', RED, "Sonja",
6691     M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_FEMALE,
6692     MR_NO_FLAGS,
6693     40, MONS_KOBOLD, MONS_KOBOLD, MH_NATURAL, 10,
6694     { {AT_HIT, AF_PLAIN, 9}, {AT_HIT, AF_PLAIN, 5}, {AT_HIT, AF_PLAIN, 5},
6695        AT_NO_ATK },
6696     6, 300,
6697     2, 24, MST_SONJA, true, S_SHOUT,
6698     I_HUMAN, HT_LAND, 14, DEFAULT_ENERGY,
6699     MONUSE_WEAPONS_ARMOUR, SIZE_SMALL, MON_SHAPE_HUMANOID,
6700     {TILEP_MONS_SONJA}, TILE_ERROR
6701 },
6702 
6703 {
6704     // XP modifier is very high to compensate for 4 created-friendly humans
6705     MONS_PIKEL, 'K', BLUE, "Pikel",
6706     M_WARM_BLOOD | M_SPEAKS | M_UNIQUE | M_MALE,
6707     MR_NO_FLAGS,
6708     32, MONS_KOBOLD, MONS_KOBOLD, MH_NATURAL, 20,
6709     { {AT_HIT, AF_PLAIN, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6710     6, 390,
6711     4, 12, MST_NO_SPELLS, true, S_SHOUT,
6712     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6713     MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
6714     {TILEP_MONS_PIKEL}, TILE_ERROR
6715 },
6716 
6717 // "L"iches.
6718 {
6719     // May be re-spawned after his death.
6720     MONS_BORIS, 'L', RED, "Boris",
6721     M_UNIQUE | M_SEE_INVIS | M_SPEAKS | M_MALE,
6722     mrd(MR_RES_COLD, 2) | MR_RES_ELEC,
6723     15, MONS_LICH, MONS_LICH, MH_UNDEAD, WILL_INVULN,
6724     { {AT_HIT, AF_PLAIN, 25}, {AT_TOUCH, AF_DRAIN, 15}, AT_NO_ATK,
6725        AT_NO_ATK },
6726     22, 1540,
6727     12, 10, MST_BORIS, false, S_SHOUT,
6728     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6729     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
6730     {TILEP_MONS_BORIS}, TILE_ERROR
6731 },
6732 
6733 // "M"ummies.
6734 {
6735     MONS_MENKAURE, 'M', MAGENTA, "Menkaure",
6736     M_UNIQUE | M_SPEAKS | M_SEE_INVIS | M_MALE,
6737     MR_VUL_FIRE | MR_RES_COLD,
6738     48, MONS_MUMMY, MONS_MUMMY, MH_UNDEAD, 20,
6739     { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6740     3, 240,
6741     3, 6, MST_MENKAURE, false, S_SHOUT,
6742     I_HUMAN, HT_LAND, 8, DEFAULT_ENERGY,
6743     MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
6744     {TILEP_MONS_MENKAURE}, TILE_ERROR
6745 },
6746 
6747 {
6748     MONS_KHUFU, 'M', LIGHTRED, "Khufu",
6749     M_SEE_INVIS | M_SPEAKS | M_UNIQUE | M_MALE,
6750     MR_RES_COLD | MR_RES_ELEC,
6751     20, MONS_MUMMY, MONS_MUMMY, MH_UNDEAD, 160,
6752     { {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6753     18, 2430,
6754     10, 6, MST_KHUFU, false, S_SILENT,
6755     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6756     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
6757     {TILEP_MONS_KHUFU}, TILE_ERROR
6758 },
6759 
6760 // "m"erfolk.
6761 {
6762     MONS_ILSUIW, 'm', LIGHTGREEN, "Ilsuiw",
6763     M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_FEMALE,
6764     MR_NO_FLAGS,
6765     10, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, 140,
6766     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6767     16, 1520,
6768     5, 18, MST_ILSUIW, true, S_SHOUT,
6769     I_HUMAN, HT_AMPHIBIOUS, 10, SWIM_ENERGY(6),
6770     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
6771     {TILEP_MONS_ILSUIW, TVARY_WATER}, TILE_ERROR
6772 },
6773 
6774 // "N"agas.
6775 {
6776     MONS_VASHNIA, 'N', LIGHTCYAN, "Vashnia",
6777     M_SEE_INVIS | M_WARM_BLOOD | M_FEMALE
6778         | M_ARCHER | M_PREFER_RANGED | M_SPEAKS | M_UNIQUE,
6779     MR_RES_POISON,
6780     27, MONS_NAGA, MONS_NAGA, MH_NATURAL, 120,
6781     { {AT_HIT, AF_PLAIN, 25}, {AT_CONSTRICT, AF_CRUSH, 7}, AT_NO_ATK, AT_NO_ATK },
6782     16, 1600,
6783     6, 18, MST_VASHNIA, true, S_SHOUT,
6784     I_HUMAN, HT_LAND, 10, MOVE_ENERGY(14),
6785     MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_NAGA,
6786     {TILEP_MONS_VASHNIA}, TILE_ERROR
6787 },
6788 
6789 // "O"gres.
6790 {
6791     MONS_EROLCHA, 'O', LIGHTBLUE, "Erolcha",
6792     M_UNIQUE | M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS | M_FEMALE,
6793     MR_NO_FLAGS,
6794     50, MONS_OGRE, MONS_OGRE, MH_NATURAL, 60,
6795     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6796     6, 540,
6797     3, 7, MST_WIZARD, true, S_SHOUT,
6798     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6799     MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_HUMANOID,
6800     {TILEP_MONS_EROLCHA}, TILE_ERROR
6801 },
6802 
6803 // "o"rcs.
6804 {
6805     MONS_BLORK_THE_ORC, 'o', BROWN, "Blork the orc",
6806     M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_MALE,
6807     MR_NO_FLAGS,
6808     15, MONS_ORC, MONS_ORC, MH_NATURAL, 20,
6809     { {AT_HIT, AF_PLAIN, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6810     3, 315,
6811     0, 9, MST_BLORK, true, S_SHOUT,
6812     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6813     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
6814     {TILEP_MONS_BLORK_THE_ORC}, TILE_ERROR
6815 },
6816 
6817 {
6818     MONS_URUG, 'o', RED, "Urug",
6819     M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPEAKS | M_FEMALE,
6820     MR_NO_FLAGS,
6821     15, MONS_ORC, MONS_ORC, MH_NATURAL, 40,
6822     { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6823     9, 675,
6824     2, 13, MST_NO_SPELLS, true, S_SHOUT,
6825     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6826     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
6827     {TILEP_MONS_URUG}, TILE_ERROR
6828 },
6829 
6830 {
6831     MONS_NERGALLE, 'o', WHITE, "Nergalle",
6832     M_UNIQUE | M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS | M_FEMALE,
6833     MR_NO_FLAGS,
6834     12, MONS_ORC, MONS_ORC, MH_NATURAL | MH_EVIL, 60,
6835     { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6836     10, 600,
6837     9, 11, MST_NERGALLE, true, S_SHOUT,
6838     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6839     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
6840     {TILEP_MONS_NERGALLE}, TILE_ERROR
6841 },
6842 
6843 {
6844     MONS_SAINT_ROKA, 'o', LIGHTBLUE, "Saint Roka",
6845     M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPEAKS | M_GENDER_NEUTRAL,
6846     MR_NO_FLAGS,
6847     15, MONS_ORC, MONS_ORC, MH_NATURAL | MH_EVIL, 80,
6848     { {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6849     18, 1980,
6850     3, 10, MST_SAINT_ROKA, true, S_SHOUT,
6851     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6852     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
6853     {TILEP_MONS_SAINT_ROKA}, TILE_ERROR
6854 },
6855 
6856 // Tengu.
6857 {
6858     MONS_SOJOBO, 'Q', LIGHTGREEN, "Sojobo",
6859     M_FIGHTER | M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS | M_UNIQUE | M_FEMALE
6860         | M_FLIES,
6861     MR_NO_FLAGS,
6862     20, MONS_TENGU, MONS_TENGU, MH_NATURAL, 140,
6863     { {AT_HIT, AF_PLAIN, 28}, {AT_PECK, AF_PLAIN, 14}, {AT_CLAW, AF_PLAIN, 14},
6864        AT_NO_ATK },
6865     20, 1500,
6866     2, 24, MST_SOJOBO, true, S_SHOUT,
6867     I_HUMAN, HT_LAND, 10, MOVE_ENERGY(9),
6868     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
6869     {TILEP_MONS_SOJOBO}, TILE_ERROR
6870 },
6871 
6872 // Rakshasas and demons.
6873 {
6874     MONS_AZRAEL, 'R', LIGHTRED, "Azrael",
6875     M_UNIQUE | M_SPEAKS | M_MALE | M_FLIES,
6876     MR_RES_POISON | MR_RES_DAMNATION | mrd(MR_RES_FIRE, 3) | MR_VUL_COLD
6877         | MR_VUL_WATER,
6878     12, MONS_EFREET, MONS_EFREET, MH_DEMONIC, 40,
6879     { {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6880     11, 880,
6881     10, 5, MST_AZRAEL, false, S_SILENT,
6882     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6883     MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_HUMANOID,
6884     {TILEP_MONS_AZRAEL}, TILE_ERROR
6885 },
6886 
6887 {
6888     MONS_MARA, 'R', LIGHTMAGENTA, "Mara",
6889     M_SEE_INVIS | M_SPEAKS | M_UNIQUE | M_MALE,
6890     MR_RES_POISON | mrd(MR_RES_FIRE, 2),
6891     35, MONS_RAKSHASA, MONS_RAKSHASA, MH_DEMONIC, 140,
6892     { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6893     18, 1440,
6894     10, 14, MST_MARA, false, S_SILENT,
6895     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6896     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
6897     {TILEP_MONS_MARA}, TILE_ERROR
6898 },
6899 
6900 // "S"nakes and guardian serpents.
6901 {
6902     MONS_AIZUL, 'S', LIGHTMAGENTA, "Aizul",
6903     M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS | M_UNIQUE | M_FEMALE,
6904     MR_RES_POISON,
6905     10, MONS_GUARDIAN_SERPENT, MONS_GUARDIAN_SERPENT, MH_NATURAL, 120,
6906     { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6907     14, 1400,
6908     8, 18, MST_AIZUL, true, S_SHOUT,
6909     I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY,
6910     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_SNAKE,
6911     {TILEP_MONS_AIZUL}, TILE_ERROR
6912 },
6913 
6914 // "T"rolls.
6915 {
6916     // Snorg can go berserk.
6917     MONS_SNORG, 'T', LIGHTGREEN, "Snorg",
6918     M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_FAST_REGEN | M_FEMALE,
6919     MR_NO_FLAGS,
6920     25, MONS_TROLL, MONS_TROLL, MH_NATURAL, 60,
6921     { {AT_BITE, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 15},
6922       {AT_CLAW, AF_PLAIN, 15}, AT_NO_ATK },
6923     8, 960,
6924     0, 10, MST_SNORG, true, S_SHOUT,
6925     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6926     MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID,
6927     {TILEP_MONS_SNORG}, TILE_ERROR
6928 },
6929 
6930 {
6931     MONS_PURGY, 'T', GREEN, "Purgy",
6932     M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_FAST_REGEN | M_MALE,
6933     MR_NO_FLAGS,
6934     10, MONS_TROLL, MONS_TROLL, MH_NATURAL, 10,
6935     { {AT_BITE, AF_PLAIN, 9}, {AT_CLAW, AF_PLAIN, 4},
6936       {AT_CLAW, AF_PLAIN, 4}, AT_NO_ATK },
6937     5, 350,
6938     1, 12, MST_NO_SPELLS, true, S_SHOUT,
6939     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6940     MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID,
6941     {TILEP_MONS_PURGY}, TILE_ERROR
6942 },
6943 
6944 // Semi-unique in the moon base wizlab
6945 {
6946     MONS_MOON_TROLL, 'T', LIGHTCYAN, "moon troll",
6947     M_WARM_BLOOD | M_SPEAKS | M_FAST_REGEN | M_SEE_INVIS
6948         | M_NO_POLY_TO | M_NO_GEN_DERIVED,
6949     MR_RES_FIRE | MR_RES_COLD | MR_RES_POISON,
6950     10, MONS_TROLL, MONS_MOON_TROLL, MH_NATURAL, 140,
6951     { {AT_BITE, AF_PLAIN, 35}, {AT_CLAW, AF_PLAIN, 25},
6952       {AT_CLAW, AF_PLAIN, 25}, AT_NO_ATK },
6953     18, 990,
6954     20, 4, MST_MOON_TROLL, false, S_SHOUT,
6955     I_HUMAN, HT_LAND, 12, DEFAULT_ENERGY,
6956     MONUSE_WEAPONS_ARMOUR, SIZE_BIG, MON_SHAPE_HUMANOID,
6957     {TILEP_MONS_MOON_TROLL}, TILE_ERROR
6958 },
6959 
6960 // "V"ampires.
6961 {
6962     MONS_JORY, 'V', LIGHTRED, "Jory",
6963     M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_MALE
6964         | M_WARM_BLOOD | M_UNIQUE,
6965     MR_RES_COLD,
6966     13, MONS_VAMPIRE, MONS_VAMPIRE, MH_UNDEAD, 160,
6967     { {AT_HIT, AF_PLAIN, 40}, {AT_BITE, AF_VAMPIRIC, 15}, AT_NO_ATK,
6968        AT_NO_ATK },
6969     18, 1800,
6970     10, 15, MST_JORY, false, S_SHOUT,
6971     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
6972     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
6973     {TILEP_MONS_JORY}, TILE_ERROR
6974 },
6975 
6976 // Snails and other gastropods.
6977 {
6978     MONS_GASTRONOK, 'w', MAGENTA, "Gastronok",
6979     M_UNIQUE | M_SEE_INVIS | M_SPEAKS | M_NO_WAND | M_MALE,
6980     MR_NO_FLAGS,
6981     16, MONS_ELEPHANT_SLUG, MONS_ELEPHANT_SLUG, MH_NATURAL, 80,
6982     { {AT_BITE, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
6983     20, 1500,
6984     2, 1, MST_GASTRONOK, true, S_GURGLE,
6985     I_HUMAN, HT_AMPHIBIOUS, 5, DEFAULT_ENERGY,
6986     MONUSE_STARTING_EQUIPMENT, SIZE_BIG, MON_SHAPE_SNAIL,
6987     {TILEP_MONS_GASTRONOK}, TILE_ERROR
6988 },
6989 
6990 // Elephants.
6991 {
6992     MONS_NELLIE, 'Y', LIGHTMAGENTA, "Nellie",
6993     M_WARM_BLOOD | M_UNIQUE | M_SPEAKS | M_FEMALE,
6994     MR_NO_FLAGS,
6995     8, MONS_ELEPHANT, MONS_HELLEPHANT, MH_DEMONIC, 140,
6996     { {AT_TRAMPLE, AF_TRAMPLE, 45}, {AT_BITE, AF_PLAIN, 20},
6997       {AT_GORE, AF_PLAIN, 15 }, AT_NO_ATK },
6998     20, 2400,
6999     13, 10, MST_HELLEPHANT, true, S_TRUMPET,
7000     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
7001     MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED,
7002     {TILEP_MONS_NELLIE}, TILE_ERROR
7003 },
7004 
7005 // Skulls and "z" undead.
7006 {
7007     MONS_MURRAY, 'z', LIGHTRED, "Murray",
7008     M_UNIQUE | M_SEE_INVIS | M_SPEAKS | M_MALE,
7009     mrd(MR_RES_FIRE | MR_RES_COLD, 2) | MR_RES_ELEC,
7010     15, MONS_CURSE_SKULL, MONS_CURSE_SKULL, MH_UNDEAD, WILL_INVULN,
7011     { {AT_BITE, AF_PLAIN, 20}, {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK },
7012     14, 1610,
7013     30, 10, MST_MURRAY, false, S_MOAN,
7014     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
7015     MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_MISC,
7016     {TILEP_MONS_MURRAY}, TILE_ERROR
7017 },
7018 
7019 // numbers!
7020 {
7021     MONS_IGNACIO, '1', LIGHTMAGENTA, "Ignacio",
7022     M_UNIQUE | M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_MALE,
7023     MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD | MR_RES_POISON,
7024     14, MONS_EXECUTIONER, MONS_EXECUTIONER, MH_DEMONIC, 160,
7025     { {AT_HIT, AF_PLAIN, 20}, {AT_HIT, AF_PLAIN, 10}, {AT_HIT, AF_PLAIN, 10},
7026       {AT_HIT, AF_PLAIN, 5} },
7027     18, 2520,
7028     10, 15, MST_IGNACIO, false, S_SHOUT,
7029     I_HUMAN, HT_LAND, 20, DEFAULT_ENERGY,
7030     MONUSE_STARTING_EQUIPMENT, SIZE_LARGE, MON_SHAPE_HUMANOID,
7031     {TILEP_MONS_IGNACIO}, TILE_ERROR
7032 },
7033 
7034 {
7035     MONS_GRINDER, '5', BLUE, "Grinder",
7036     M_UNIQUE | M_SEE_INVIS | M_SPEAKS | M_NO_HT_WAND | M_FEMALE,
7037     MR_RES_POISON | mrd(MR_RES_COLD, 2),
7038     11, MONS_SHADOW_IMP, MONS_SHADOW_IMP, MH_DEMONIC, 20,
7039     { {AT_HIT, AF_PAIN, 11}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7040     6, 390,
7041     3, 11, MST_GRINDER, false, S_SHOUT,
7042     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
7043     MONUSE_STARTING_EQUIPMENT, SIZE_LITTLE, MON_SHAPE_HUMANOID,
7044     {TILEP_MONS_GRINDER}, TILE_ERROR
7045 },
7046 
7047 {
7048     // Roxanne obviously can't use items, but we want to equip her with
7049     // a spellbook, so MONUSE_STARTING_EQUIPMENT is necessary.
7050     MONS_ROXANNE, '8', BLUE, "Roxanne",
7051     M_UNIQUE | M_STATIONARY | M_SPEAKS | M_NO_WAND | M_FEMALE,
7052     mrd(MR_RES_FIRE | MR_RES_COLD, 2) | MR_RES_ELEC
7053         | MR_RES_PETRIFY,
7054     10, MONS_STATUE, MONS_STATUE, MH_NONLIVING, WILL_INVULN,
7055     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7056     14, 1820,
7057     20, 0, MST_ROXANNE, false, S_SILENT,
7058     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
7059     MONUSE_STARTING_EQUIPMENT, SIZE_LARGE, MON_SHAPE_HUMANOID,
7060     {TILEP_MONS_ROXANNE}, TILE_ERROR
7061 },
7062 
7063 // human uniques
7064 {
7065     MONS_TERENCE, '@', LIGHTCYAN, "Terence",
7066     M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_MALE,
7067     MR_NO_FLAGS,
7068     20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 10,
7069     { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7070     2, 200,
7071     0, 10, MST_NO_SPELLS, true, S_SHOUT,
7072     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
7073     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
7074     {TILEP_MONS_TERENCE}, TILE_ERROR
7075 },
7076 
7077 {
7078     MONS_JESSICA, '@', LIGHTGREY, "Jessica",
7079     M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_FEMALE,
7080     MR_NO_FLAGS,
7081     125, MONS_HUMAN, MONS_HUMAN, MH_NATURAL | MH_EVIL, 10,
7082     { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7083     1, 95,
7084     0, 10, MST_JESSICA, true, S_SHOUT,
7085     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
7086     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
7087     {TILEP_MONS_JESSICA}, TILE_ERROR
7088 },
7089 
7090 {
7091     MONS_SIGMUND, '@', YELLOW, "Sigmund",
7092     M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_MALE,
7093     MR_NO_FLAGS,
7094     50, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 10,
7095     { {AT_HIT, AF_PLAIN, 2}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7096     3, 300,
7097     0, 11, MST_ORC_WIZARD, true, S_SHOUT,
7098     I_HUMAN, HT_LAND, 10, ATTACK_ENERGY(15),
7099     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
7100     {TILEP_MONS_SIGMUND}, TILE_ERROR
7101 },
7102 
7103 {
7104     MONS_EDMUND, '@', RED, "Edmund",
7105     M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPEAKS | M_MALE,
7106     MR_NO_FLAGS,
7107     15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 20,
7108     { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7109     4, 440,
7110     0, 10, MST_NO_SPELLS, true, S_SHOUT,
7111     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
7112     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
7113     {TILEP_MONS_EDMUND}, TILE_ERROR
7114 },
7115 
7116 {
7117     MONS_PSYCHE, '@', LIGHTMAGENTA, "Psyche",
7118     M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_FEMALE,
7119     MR_NO_FLAGS,
7120     20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 60,
7121     { {AT_HIT, AF_PLAIN, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7122     5, 400,
7123     0, 12, MST_PSYCHE, true, S_SHOUT,
7124     I_HUMAN, HT_LAND, 13, DEFAULT_ENERGY,
7125     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
7126     {TILEP_MONS_PSYCHE}, TILE_ERROR
7127 },
7128 
7129 {
7130     MONS_DONALD, '@', BLUE, "Donald",
7131     M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPEAKS | M_MALE,
7132     MR_NO_FLAGS,
7133     20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 100,
7134     { {AT_HIT, AF_PLAIN, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7135     14, 840,
7136     3, 10, MST_DONALD, true, S_SHOUT,
7137     I_HUMAN, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY,
7138     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
7139     {TILEP_MONS_DONALD}, TILE_ERROR
7140 },
7141 
7142 {
7143     MONS_JOSEPH, '@', CYAN, "Joseph",
7144     M_UNIQUE | M_FIGHTER | M_ARCHER | M_WARM_BLOOD | M_SPEAKS | M_MALE,
7145     MR_NO_FLAGS,
7146     15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 40,
7147     { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7148     6, 660,
7149     0, 10, MST_NO_SPELLS, true, S_SHOUT,
7150     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
7151     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
7152     {TILEP_MONS_JOSEPH}, TILE_ERROR
7153 },
7154 
7155 {
7156     MONS_ERICA, '@', MAGENTA, "Erica",
7157     M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_FEMALE,
7158     MR_NO_FLAGS,
7159     20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 60,
7160     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7161     9, 630,
7162     0, 11, MST_ERICA, true, S_SHOUT,
7163     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
7164     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
7165     {TILEP_MONS_ERICA}, TILE_ERROR
7166 },
7167 
7168 {
7169     MONS_JOSEPHINE, '@', WHITE, "Josephine",
7170     M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_FEMALE,
7171     mrd(MR_RES_NEG, 3),
7172     20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL | MH_EVIL, 60,
7173     { {AT_HIT, AF_PLAIN, 11}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7174     10, 700,
7175     0, 10, MST_JOSEPHINE, true, S_SHOUT,
7176     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
7177     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
7178     {TILEP_MONS_JOSEPHINE}, TILE_ERROR
7179 },
7180 
7181 {
7182     MONS_HAROLD, '@', LIGHTGREEN, "Harold",
7183     M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_MALE | M_SPEAKS,
7184     MR_NO_FLAGS,
7185     20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 60,
7186     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7187     9, 765,
7188     0, 8, MST_HAROLD, true, S_SHOUT,
7189     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
7190     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
7191     {TILEP_MONS_HAROLD}, TILE_ERROR
7192 },
7193 
7194 {
7195     MONS_LOUISE, '@', LIGHTMAGENTA, "Louise",
7196     M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_FEMALE,
7197     MR_NO_FLAGS,
7198     15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 80,
7199     { {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7200     13, 1040,
7201     0, 10, MST_LOUISE, true, S_SHOUT,
7202     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
7203     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
7204     {TILEP_MONS_LOUISE}, TILE_ERROR
7205 },
7206 
7207 {
7208     MONS_FRANCES, '@', YELLOW, "Frances",
7209     M_UNIQUE | M_WARM_BLOOD | M_SEE_INVIS | M_FEMALE | M_SPEAKS,
7210     MR_NO_FLAGS,
7211     15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL | MH_EVIL, 100,
7212     { {AT_HIT, AF_PLAIN, 29}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7213     14, 1330,
7214     0, 10, MST_FRANCES, true, S_SHOUT,
7215     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
7216     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
7217     {TILEP_MONS_FRANCES}, TILE_ERROR
7218 },
7219 
7220 {
7221     MONS_RUPERT, '@', LIGHTRED, "Rupert",
7222     M_UNIQUE | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS | M_MALE,
7223     MR_NO_FLAGS,
7224     18, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 100,
7225     { {AT_HIT, AF_PLAIN, 21}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7226     16, 1200,
7227     0, 10, MST_RUPERT, true, S_SHOUT,
7228     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
7229     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
7230     {TILEP_MONS_RUPERT}, TILE_ERROR
7231 },
7232 
7233 {
7234     MONS_KIRKE, '@', LIGHTBLUE, "Kirke",
7235     M_UNIQUE | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS | M_FEMALE,
7236     MR_NO_FLAGS,
7237     15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 100,
7238     { {AT_HIT, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7239     16, 1120,
7240     0, 10, MST_KIRKE, true, S_SHOUT,
7241     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
7242     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
7243     {TILEP_MONS_KIRKE}, TILE_ERROR
7244 },
7245 
7246 {
7247     MONS_FREDERICK, '@', GREEN, "Frederick",
7248     M_UNIQUE | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS | M_MALE,
7249     MR_NO_FLAGS,
7250     15, MONS_DEMIGOD, MONS_DEMIGOD, MH_NATURAL, 140,
7251     { {AT_HIT, AF_PLAIN, 27}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7252     21, 1575,
7253     0, 10, MST_FREDERICK, true, S_SHOUT,
7254     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
7255     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
7256     {TILEP_MONS_FREDERICK}, TILE_ERROR
7257 },
7258 
7259 {
7260     MONS_MAGGIE, '@', LIGHTRED, "Maggie",
7261     M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_FEMALE,
7262     MR_NO_FLAGS,
7263     20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 20,
7264     { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7265     5, 600,
7266     0, 10, MST_MAGGIE, true, S_SHOUT,
7267     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
7268     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
7269     {TILEP_MONS_MAGGIE}, TILE_ERROR
7270 },
7271 
7272 {
7273     MONS_MARGERY, '@', LIGHTRED, "Margery",
7274     M_UNIQUE | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS | M_FEMALE,
7275     MR_NO_FLAGS,
7276     15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 140,
7277     { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7278     22, 1650,
7279     0, 10, MST_MARGERY, true, S_SHOUT,
7280     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
7281     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
7282     {TILEP_MONS_MARGERY}, TILE_ERROR
7283 },
7284 
7285 {
7286     MONS_EUSTACHIO, '@', BLUE, "Eustachio",
7287     M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_MALE,
7288     MR_NO_FLAGS,
7289     20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL | MH_EVIL, 20,
7290     { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7291     4, 400,
7292     0, 13, MST_EUSTACHIO, true, S_SHOUT,
7293     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
7294     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
7295     {TILEP_MONS_EUSTACHIO}, TILE_ERROR
7296 },
7297 
7298 {
7299     MONS_MAURICE, '@', GREEN, "Maurice",
7300     M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_MALE | M_ALWAYS_WAND,
7301     MR_NO_FLAGS,
7302     24, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 20,
7303     { {AT_HIT, AF_STEAL, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7304     5, 600,
7305     1, 13, MST_MAURICE, true, S_SHOUT,
7306     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
7307     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
7308     {TILEP_MONS_MAURICE}, TILE_ERROR
7309 },
7310 
7311 {
7312     MONS_NIKOLA, '@', LIGHTCYAN, "Nikola",
7313     M_UNIQUE | M_WARM_BLOOD | M_SEE_INVIS | M_MALE | M_SPEAKS,
7314     MR_NO_FLAGS, // Xom would hate MR_RES_ELEC here.
7315     13, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 120,
7316     { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7317     18, 1890,
7318     1, 9, MST_NIKOLA, true, S_SHOUT,
7319     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
7320     MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID,
7321     {TILEP_MONS_NIKOLA}, TILE_ERROR
7322 },
7323 
7324 // unique major demons ('&')
7325 {
7326     MONS_MNOLEG, '&', LIGHTGREEN, "Mnoleg",
7327     M_UNIQUE | M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_TALL_TILE
7328         | M_GENDER_NEUTRAL,
7329     MR_RES_ELEC | MR_RES_POISON | MR_RES_FIRE,
7330     15, MONS_PANDEMONIUM_LORD, MONS_MNOLEG, MH_DEMONIC, WILL_INVULN,
7331     { {AT_CLAW, AF_PLAIN, 40}, {AT_TENTACLE_SLAP, AF_MUTATE, 35},
7332       {AT_GORE, AF_PLAIN, 30}, {AT_KICK, AF_BLINK, 23} },
7333     17, 3485,
7334     10, 25, MST_MNOLEG, false, S_BUZZ,
7335     I_HUMAN, HT_LAND, 13, DEFAULT_ENERGY,
7336     MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID,
7337     {TILEP_MONS_MNOLEG}, TILE_ERROR
7338 },
7339 
7340 {
7341     MONS_LOM_LOBON, '&', LIGHTBLUE, "Lom Lobon",
7342     M_UNIQUE | M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_FLIES | M_TALL_TILE
7343         | M_GENDER_NEUTRAL,
7344     MR_RES_POISON | MR_RES_FIRE | mrd(MR_RES_COLD | MR_RES_ELEC, 3),
7345     15, MONS_PANDEMONIUM_LORD, MONS_LOM_LOBON, MH_DEMONIC, WILL_INVULN,
7346     { {AT_HIT, AF_ANTIMAGIC, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7347     19, 3895,
7348     10, 20, MST_LOM_LOBON, false, S_SCREAM,
7349     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
7350     MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID,
7351     {TILEP_MONS_LOM_LOBON}, TILE_ERROR
7352 },
7353 
7354 {
7355     MONS_CEREBOV, '&', RED, "Cerebov",
7356     M_UNIQUE | M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_TALL_TILE
7357         | M_GENDER_NEUTRAL,
7358     MR_RES_POISON | MR_RES_DAMNATION | mrd(MR_RES_FIRE, 3),
7359     15, MONS_PANDEMONIUM_LORD, MONS_CEREBOV, MH_DEMONIC, WILL_INVULN,
7360     { {AT_HIT, AF_PLAIN, 60}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7361     21, 6510,
7362     30, 8, MST_CEREBOV, false, S_SHOUT,
7363     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
7364     MONUSE_WEAPONS_ARMOUR, SIZE_GIANT, MON_SHAPE_HUMANOID,
7365     {TILEP_MONS_CEREBOV}, TILE_ERROR
7366 },
7367 
7368 {
7369     MONS_GLOORX_VLOQ, '&', LIGHTGREY, "Gloorx Vloq",
7370     M_UNIQUE | M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_FLIES | M_TALL_TILE
7371         | M_GENDER_NEUTRAL,
7372     MR_RES_POISON | MR_RES_COLD | MR_RES_ELEC,
7373     15, MONS_PANDEMONIUM_LORD, MONS_GLOORX_VLOQ, MH_DEMONIC, WILL_INVULN,
7374     { {AT_HIT, AF_PLAIN, 45}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7375     16, 3520,
7376     10, 10, MST_GLOORX_VLOQ, false, S_MOAN,
7377     I_HUMAN, HT_LAND, 20, DEFAULT_ENERGY,
7378     MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID,
7379     {TILEP_MONS_GLOORX_VLOQ}, TILE_ERROR
7380 },
7381 
7382 {
7383     MONS_GERYON, '&', GREEN, "Geryon",
7384     M_UNIQUE | M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_MALE | M_FLIES
7385         | M_TALL_TILE,
7386     MR_NO_FLAGS,
7387     15, MONS_HELL_LORD, MONS_GERYON, MH_DEMONIC, 120,
7388     { {AT_TAIL_SLAP, AF_REACH, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7389     15, 3000,
7390     15, 6, MST_GERYON, false, S_ROAR,
7391     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
7392     MONUSE_STARTING_EQUIPMENT, SIZE_GIANT,
7393         MON_SHAPE_HUMANOID_WINGED,
7394     {TILEP_MONS_GERYON}, TILE_ERROR
7395 },
7396 
7397 {
7398     MONS_DISPATER, '&', MAGENTA, "Dispater",
7399     M_UNIQUE | M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_TALL_TILE
7400         | M_GENDER_NEUTRAL,
7401     mrd(MR_RES_ELEC | MR_RES_FIRE, 3) | MR_RES_POISON | MR_RES_DAMNATION
7402         | MR_RES_COLD,
7403     15, MONS_HELL_LORD, MONS_DISPATER, MH_DEMONIC, WILL_INVULN,
7404     { {AT_HIT, AF_PLAIN, 50}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7405     16, 4480,
7406     40, 3, MST_DISPATER, false, S_SHOUT,
7407     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
7408     MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_HUMANOID,
7409     {TILEP_MONS_DISPATER}, TILE_ERROR
7410 },
7411 
7412 {
7413     MONS_ASMODEUS, '&', LIGHTRED, "Asmodeus",
7414     M_UNIQUE | M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_MALE | M_FLIES
7415         | M_TALL_TILE | M_FIRE_RING,
7416     MR_RES_ELEC | MR_RES_POISON | MR_RES_DAMNATION | mrd(MR_RES_FIRE, 3),
7417     25, MONS_HELL_LORD, MONS_ASMODEUS, MH_DEMONIC, WILL_INVULN,
7418     { {AT_HIT, AF_PLAIN, 50}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7419     17, 4505,
7420     30, 7, MST_ASMODEUS, false, S_SHOUT,
7421     I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY,
7422     MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_HUMANOID,
7423     {TILEP_MONS_ASMODEUS}, TILE_ERROR
7424 },
7425 
7426 {
7427     MONS_ERESHKIGAL, '&', WHITE, "Ereshkigal",
7428     M_UNIQUE | M_SEE_INVIS | M_SPEAKS | M_FEMALE | M_TALL_TILE,
7429     MR_RES_ELEC | MR_RES_POISON | MR_RES_COLD,
7430     15, MONS_HELL_LORD, MONS_ERESHKIGAL, MH_DEMONIC, WILL_INVULN,
7431     { {AT_HIT, AF_DRAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7432     18, 3510,
7433     10, 30, MST_ERESHKIGAL, false, S_SHOUT,
7434     I_HUMAN, HT_LAND, 14, DEFAULT_ENERGY,
7435     MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_HUMANOID,
7436     {TILEP_MONS_ERESHKIGAL}, TILE_ERROR
7437 },
7438 
7439 // Impossible to hit, impossible to damage, immune to everything,
7440 // unkillable, just sits there doing nothing but casting Shadow Creatures
7441 // over and over.
7442 {
7443     MONS_TEST_SPAWNER, 'X', WHITE, "test spawner",
7444     M_STATIONARY | M_INSUBSTANTIAL | M_NO_POLY_TO | M_FAST_REGEN,
7445     mrd(MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD
7446         | MR_RES_MIASMA | MR_RES_ACID, 4) | MR_RES_STICKY_FLAME,
7447     15, MONS_TEST_SPAWNER, MONS_TEST_SPAWNER, MH_NONLIVING, WILL_INVULN,
7448     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7449     1000, 10000000,
7450     127, 127, MST_TEST_SPAWNER, false, S_SILENT,
7451     I_BRAINLESS, HT_AMPHIBIOUS, 14, SWIM_ENERGY(6),
7452     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_MISC,
7453     {TILEP_MONS_TEST_SPAWNER}, TILE_ERROR
7454 },
7455 
7456 // tons of hp, just sits there doing nothing except being a target.
7457 {
7458     MONS_TEST_STATUE, 'X', WHITE, "test statue",
7459     M_STATIONARY | M_NO_POLY_TO | M_FAST_REGEN | M_NO_THREAT,
7460     MR_NO_FLAGS,
7461     15, MONS_TEST_STATUE, MONS_TEST_STATUE, MH_NONLIVING, 20,
7462     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7463     1000, 10000000,
7464     0, 0, MST_NO_SPELLS, false, S_SILENT,
7465     I_BRAINLESS, HT_AMPHIBIOUS, 14, SWIM_ENERGY(6),
7466     MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_MISC,
7467     {TILEP_MONS_TEST_SPAWNER}, TILE_ERROR
7468 },
7469 
7470 // tons of hp, does not attack, but not stationary
7471 {
7472     MONS_TEST_BLOB, 'J', WHITE, "test blob",
7473     M_NO_POLY_TO | M_FAST_REGEN | M_NO_THREAT,
7474     MR_NO_FLAGS,
7475     15, MONS_TEST_STATUE, MONS_TEST_STATUE, MH_NONLIVING, 20,
7476     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7477     1000, 10000000,
7478     0, 0, MST_NO_SPELLS, false, S_SILENT,
7479     I_BRAINLESS, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY,
7480     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_MISC,
7481     {TILEP_MONS_JELLY}, TILE_ERROR
7482 },
7483 
7484 
7485 // an unspecified monster
7486 {
7487     MONS_SENSED, '{', RED, "sensed monster",
7488     M_CANT_SPAWN,
7489     MR_NO_FLAGS,
7490     0, MONS_SENSED, MONS_SENSED, MH_NONLIVING, 0,
7491     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7492     1, 10,
7493     0, 0, MST_NO_SPELLS, false, S_SILENT,
7494     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
7495     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_MISC,
7496     {TILE_UNSEEN_MONSTER}
7497 },
7498 
7499 {
7500     MONS_SENSED_FRIENDLY, '{', GREEN, "friendly sensed monster",
7501     M_CANT_SPAWN,
7502     MR_NO_FLAGS,
7503     0, MONS_SENSED, MONS_SENSED, MH_NONLIVING, 0,
7504     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7505     1, 10,
7506     0, 0, MST_NO_SPELLS, false, S_SILENT,
7507     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
7508     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_MISC,
7509     {TILE_MONS_SENSED_FRIENDLY}, TILE_ERROR
7510 },
7511 
7512 {
7513     MONS_SENSED_TRIVIAL, '{', BLUE, "trivial sensed monster",
7514     M_CANT_SPAWN,
7515     MR_NO_FLAGS,
7516     0, MONS_SENSED, MONS_SENSED, MH_NONLIVING, 0,
7517     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7518     1, 10,
7519     0, 0, MST_NO_SPELLS, false, S_SILENT,
7520     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
7521     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_MISC,
7522     {TILE_MONS_SENSED_TRIVIAL}, TILE_ERROR
7523 },
7524 
7525 {
7526     MONS_SENSED_EASY, '{', LIGHTGRAY, "easy sensed monster",
7527     M_CANT_SPAWN,
7528     MR_NO_FLAGS,
7529     0, MONS_SENSED, MONS_SENSED, MH_NONLIVING, 0,
7530     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7531     1, 10,
7532     0, 0, MST_NO_SPELLS, false, S_SILENT,
7533     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
7534     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_MISC,
7535     {TILE_MONS_SENSED_EASY}, TILE_ERROR
7536 },
7537 
7538 {
7539     MONS_SENSED_TOUGH, '{', YELLOW, "tough sensed monster",
7540     M_CANT_SPAWN,
7541     MR_NO_FLAGS,
7542     0, MONS_SENSED, MONS_SENSED, MH_NONLIVING, 0,
7543     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7544     1, 10,
7545     0, 0, MST_NO_SPELLS, false, S_SILENT,
7546     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
7547     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_MISC,
7548     {TILE_MONS_SENSED_TOUGH}, TILE_ERROR
7549 },
7550 
7551 {
7552     MONS_SENSED_NASTY, '{', LIGHTRED, "nasty sensed monster",
7553     M_CANT_SPAWN,
7554     MR_NO_FLAGS,
7555     0, MONS_SENSED, MONS_SENSED, MH_NONLIVING, 0,
7556     { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK },
7557     1, 10,
7558     0, 0, MST_NO_SPELLS, false, S_SILENT,
7559     I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY,
7560     MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_MISC,
7561     {TILE_MONS_SENSED_NASTY}, TILE_ERROR
7562 },
7563 
7564 };
7565