1 /*	SCCS Id: @(#)monst.c	3.4	2000/07/14	*/
2 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
3 /* NetHack may be freely redistributed.  See license for details. */
4 
5 #include "config.h"
6 #include "permonst.h"
7 #include "monsym.h"
8 #include "dungeon.h"	/* prerequisite for eshk,vault,epri */
9 #include "eshk.h"
10 #include "vault.h"
11 #include "epri.h"
12 
13 #define NO_ATTK {0,0,0,0}
14 
15 #define WT_ELF	   800
16 #define WT_DRAGON 4500
17 
18 #ifdef C
19 #undef C
20 #endif
21 #ifdef TEXTCOLOR
22 #include "color.h"
23 #define C(color)	color
24 #define HI_DOMESTIC	CLR_WHITE	/* use for player + friendlies */
25 #define HI_LORD		CLR_MAGENTA
26 #else
27 #define C(color)
28 #endif
29 
30 void NDECL(monst_init);
31 /*
32  *	Entry Format:		(from permonst.h)
33  *
34  *	name, symbol (S_* defines),
35  *	difficulty level, move rate, armor class, magic resistance,
36  *	alignment, creation/geno flags (G_* defines),
37  *	6 * attack structs ( type , damage-type, # dice, # sides ),
38  *	weight (WT_* defines), nutritional value, extension length,
39  *	sounds made (MS_* defines), physical size (MZ_* defines),
40  *	resistances, resistances conferred (both MR_* defines),
41  *	3 * flag bitmaps (M1_*, M2_*, and M3_* defines respectively)
42  *	symbol color (C(x) macro)
43  */
44 #define MON(nam,sym,lvl,gen,atk,siz,mr1,mr2,flg1,flg2,flg3,col) \
45 	   {nam,sym,lvl,gen,atk,siz,mr1,mr2,flg1,flg2,flg3,C(col)}
46 /* LVL() and SIZ() collect several fields to cut down on # of args for MON() */
47 #define LVL(lvl,mov,ac,mr,aln) lvl,mov,ac,mr,aln
48 #define SIZ(wt,nut,pxl,snd,siz) wt,nut,pxl,snd,siz
49 /* ATTK() and A() are to avoid braces and commas within args to MON() */
50 #define ATTK(at,ad,n,d) {at,ad,n,d}
51 #define A(a1,a2,a3,a4,a5,a6) {a1,a2,a3,a4,a5,a6}
52 
53 
54 /*
55  *	Rule #1:	monsters of a given class are contiguous in the
56  *			mons[] array.
57  *
58  *	Rule #2:	monsters of a given class are presented in ascending
59  *			order of strength.
60  *
61  *	Rule #3:	monster frequency is included in the geno mask;
62  *			the frequency can be from 0 to 7.  0's will also
63  *			be skipped during generation.
64  *
65  *	Rule #4:	monster subclasses (e.g. giants) should be kept
66  *			together, unless it violates Rule 2.  NOGEN monsters
67  *			won't violate Rule 2.
68  *
69  * Guidelines for color assignment:
70  *
71  *	* Use the same color for all `growth stages' of a monster (ex.
72  *	  little dog/big dog, baby naga/full-grown naga.
73  *
74  *	* Use colors given in names wherever possible. If the class has `real'
75  *	  members with strong color associations, use those.
76  *
77  *	* Favor `cool' colors for cold-resistent monsters, `warm' ones for
78  *	  fire-resistent ones.
79  *
80  *	* Try to reserve purple (magenta) for powerful `ruler' monsters (queen
81  *	  bee, kobold lord, &c.).
82  *
83  *	* Subject to all these constraints, try to use color to make as many
84  *	  distinctions as the / command (that is, within a monster letter
85  *	  distinct names should map to distinct colors).
86  *
87  * The aim in assigning colors is to be consistent enough so a player can
88  * become `intuitive' about them, deducing some or all of these rules
89  * unconsciously. Use your common sense.
90  */
91 
92 #ifndef SPLITMON_2
93 NEARDATA struct permonst mons[] = {
94 /*
95  * ants
96  */
97     MON("giant ant", S_ANT,
98 	LVL(2, 18, 3, 0, 0), (G_GENO|G_SGROUP|3),
99 	A(ATTK(AT_BITE, AD_PHYS, 1, 4),
100 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
101 	SIZ(10, 10, 0, MS_SILENT, MZ_TINY), 0, 0,
102 	M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE,
103 	M2_HOSTILE, 0, CLR_BROWN),
104     MON("killer bee", S_ANT,
105 	LVL(1, 18, -1, 0, 0), (G_GENO|G_LGROUP|2),
106 	A(ATTK(AT_STNG, AD_DRST, 1, 3),
107 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
108 	SIZ(1, 5, 0, MS_BUZZ, MZ_TINY), MR_POISON, MR_POISON,
109 	M1_ANIMAL|M1_FLY|M1_NOHANDS|M1_POIS,
110 	M2_HOSTILE|M2_FEMALE, 0, CLR_YELLOW),
111     MON("soldier ant", S_ANT,
112 	LVL(3, 18, 3, 0, 0), (G_GENO|G_SGROUP|2),
113 	A(ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_STNG, AD_DRST, 3, 4),
114 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
115 	SIZ(20, 5, 0, MS_SILENT, MZ_TINY), MR_POISON, MR_POISON,
116 	M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_POIS|M1_CARNIVORE,
117 	M2_HOSTILE, 0, CLR_BLUE),
118     MON("fire ant", S_ANT,
119 	LVL(3, 18, 3, 10, 0), (G_GENO|G_SGROUP|1),
120 	A(ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_BITE, AD_FIRE, 2, 4),
121 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
122 	SIZ(30, 10, 0, MS_SILENT, MZ_TINY), MR_FIRE, MR_FIRE,
123 	M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE,
124 	M2_HOSTILE, M3_INFRAVISIBLE, CLR_RED),
125     MON("snow ant", S_ANT,
126 	LVL(3, 18, 3, 10, 0), (G_NOHELL|G_GENO|G_SGROUP|1),
127 	A(ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_BITE, AD_COLD, 2, 4),
128 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
129 	SIZ(30, 10, 0, MS_SILENT, MZ_TINY), MR_COLD, MR_COLD,
130 	M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE,
131 	M2_HOSTILE, 0, CLR_CYAN),
132     MON("giant beetle", S_ANT,
133 	LVL(5, 6, 4, 0, 0), (G_GENO|3),
134 	A(ATTK(AT_BITE, AD_PHYS, 3, 6),
135 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
136 	SIZ(10, 10, 0, MS_SILENT, MZ_LARGE), MR_POISON, MR_POISON,
137 	M1_ANIMAL|M1_NOHANDS|M1_POIS|M1_CARNIVORE,
138 	M2_HOSTILE, 0, CLR_BLACK),
139     MON("queen bee", S_ANT,
140 	LVL(9, 24, -4, 0, 0), (G_GENO|G_NOGEN),
141 	A(ATTK(AT_STNG, AD_DRST, 1, 8),
142 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
143 	SIZ(1, 5, 0, MS_BUZZ, MZ_TINY), MR_POISON, MR_POISON,
144 	M1_ANIMAL|M1_FLY|M1_NOHANDS|M1_OVIPAROUS|M1_POIS,
145 	M2_HOSTILE|M2_FEMALE|M2_PRINCE, 0, HI_LORD),
146 /*
147  * blobs
148  */
149     MON("acid blob", S_BLOB,
150 	LVL(1, 3, 8, 0, 0), (G_GENO|2),
151 	A(ATTK(AT_NONE, AD_ACID, 1, 8),
152 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
153 	SIZ(30, 10, 0, MS_SILENT, MZ_TINY),
154 	MR_SLEEP|MR_POISON|MR_ACID|MR_STONE, MR_STONE,
155 	M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|
156 	  M1_MINDLESS|M1_ACID,
157 	M2_WANDER|M2_NEUTER, 0, CLR_GREEN),
158     MON("quivering blob", S_BLOB,
159 	LVL(5, 1, 8, 0, 0), (G_GENO|2),
160 	A(ATTK(AT_TUCH, AD_PHYS, 1, 8),
161 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
162 	SIZ(200, 100, 0, MS_SILENT, MZ_SMALL),
163 	MR_SLEEP|MR_POISON, MR_POISON,
164 	M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS,
165 	M2_WANDER|M2_HOSTILE|M2_NEUTER, 0, CLR_WHITE),
166     MON("gelatinous cube", S_BLOB,
167 	LVL(6, 6, 8, 0, 0), (G_GENO|2),
168 	A(ATTK(AT_TUCH, AD_PLYS, 2, 4), ATTK(AT_NONE, AD_PLYS, 1, 4),
169 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
170 	SIZ(600, 150, 0, MS_SILENT, MZ_LARGE),
171 	MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_ACID|MR_STONE,
172 	MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP,
173 	M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_OMNIVORE|M1_ACID,
174 	M2_WANDER|M2_HOSTILE|M2_NEUTER, 0, CLR_CYAN),
175 /*
176  * cockatrice
177  */
178     MON("chickatrice", S_COCKATRICE,
179 	LVL(4, 4, 8, 30, 0), (G_GENO|G_SGROUP|1),
180 	A(ATTK(AT_BITE, AD_PHYS, 1, 2), ATTK(AT_TUCH, AD_STON, 0, 0),
181 	  ATTK(AT_NONE, AD_STON, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK),
182 	SIZ(10, 10, 0, MS_HISS, MZ_TINY),
183 	MR_POISON|MR_STONE, MR_POISON|MR_STONE,
184 	M1_ANIMAL|M1_NOHANDS|M1_OMNIVORE, M2_HOSTILE,
185 	M3_INFRAVISIBLE, CLR_BROWN),
186     MON("cockatrice", S_COCKATRICE,
187 	LVL(5, 6, 6, 30, 0), (G_GENO|5),
188 	A(ATTK(AT_BITE, AD_PHYS, 1, 3), ATTK(AT_TUCH, AD_STON, 0, 0),
189 	  ATTK(AT_NONE, AD_STON, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK),
190 	SIZ(30, 30, 0, MS_HISS, MZ_SMALL),
191 	MR_POISON|MR_STONE, MR_POISON|MR_STONE,
192 	M1_ANIMAL|M1_NOHANDS|M1_OMNIVORE|M1_OVIPAROUS, M2_HOSTILE,
193 	M3_INFRAVISIBLE, CLR_YELLOW),
194     MON("pyrolisk", S_COCKATRICE,
195 	LVL(6, 6, 6, 30, 0), (G_GENO|1),
196 	A(ATTK(AT_GAZE, AD_FIRE, 2, 6), NO_ATTK,
197 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
198 	SIZ(30, 30, 0, MS_HISS, MZ_SMALL),
199 	MR_POISON|MR_FIRE, MR_POISON|MR_FIRE,
200 	M1_ANIMAL|M1_NOHANDS|M1_OMNIVORE|M1_OVIPAROUS, M2_HOSTILE,
201 	M3_INFRAVISIBLE, CLR_RED),
202 /*
203  * dogs & other canines
204  */
205     MON("jackal", S_DOG,
206 	LVL(0, 12, 7, 0, 0), (G_GENO|G_SGROUP|3),
207 	A(ATTK(AT_BITE, AD_PHYS, 1, 2),
208 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
209 	SIZ(300, 250, 0, MS_BARK, MZ_SMALL), 0, 0,
210 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
211 	CLR_BROWN),
212     MON("fox", S_DOG,
213 	LVL(0, 15, 7, 0, 0), (G_GENO|1),
214 	A(ATTK(AT_BITE, AD_PHYS, 1, 3), NO_ATTK, NO_ATTK,
215 	  NO_ATTK, NO_ATTK, NO_ATTK),
216 	SIZ(300, 250, 0, MS_BARK, MZ_SMALL), 0, 0,
217 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
218 	CLR_RED),
219     MON("coyote", S_DOG,
220 	LVL(1, 12, 7, 0, 0), (G_GENO|G_SGROUP|1),
221 	A(ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK,
222 	  NO_ATTK, NO_ATTK, NO_ATTK),
223 	SIZ(300, 250, 0, MS_BARK, MZ_SMALL), 0, 0,
224 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
225 	CLR_BROWN),
226     MON("werejackal", S_DOG,
227 	LVL(2, 12, 7, 10, -7), (G_NOGEN|G_NOCORPSE),
228 	A(ATTK(AT_BITE, AD_WERE, 1, 4), NO_ATTK, NO_ATTK,
229 	  NO_ATTK, NO_ATTK, NO_ATTK),
230 	SIZ(300, 250, 0, MS_BARK, MZ_SMALL), MR_POISON, 0,
231 	M1_NOHANDS|M1_POIS|M1_REGEN|M1_CARNIVORE,
232 	M2_NOPOLY|M2_WERE|M2_HOSTILE, M3_INFRAVISIBLE, CLR_BROWN),
233     MON("little dog", S_DOG,
234 	LVL(2, 18, 6, 0, 0), (G_GENO|1),
235 	A(ATTK(AT_BITE, AD_PHYS, 1, 6),
236 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
237 	SIZ(150, 150, 0, MS_BARK, MZ_SMALL), 0, 0,
238 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_DOMESTIC, M3_INFRAVISIBLE,
239 	HI_DOMESTIC),
240     MON("dog", S_DOG,
241 	LVL(4, 16, 5, 0, 0), (G_GENO|1),
242 	A(ATTK(AT_BITE, AD_PHYS, 1 ,6),
243 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
244 	SIZ(400, 200, 0, MS_BARK, MZ_MEDIUM), 0, 0,
245 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_DOMESTIC, M3_INFRAVISIBLE,
246 	HI_DOMESTIC),
247     MON("large dog", S_DOG,
248 	LVL(6, 15, 4, 0, 0), (G_GENO|1),
249 	A(ATTK(AT_BITE, AD_PHYS, 2, 4),
250 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
251 	SIZ(800, 250, 0, MS_BARK, MZ_MEDIUM), 0, 0,
252 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
253 	M2_STRONG|M2_DOMESTIC, M3_INFRAVISIBLE, HI_DOMESTIC),
254     MON("dingo", S_DOG,
255 	LVL(4, 16, 5, 0, 0), (G_GENO|1),
256 	A(ATTK(AT_BITE, AD_PHYS, 1 ,6),
257 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
258 	SIZ(400, 200, 0, MS_BARK, MZ_MEDIUM), 0, 0,
259 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
260 	CLR_YELLOW),
261     MON("wolf", S_DOG,
262 	LVL(5, 12, 4, 0, 0), (G_GENO|G_SGROUP|2),
263 	A(ATTK(AT_BITE, AD_PHYS, 2, 4),
264 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
265 	SIZ(500, 250, 0, MS_BARK, MZ_MEDIUM), 0, 0,
266 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
267 	CLR_BROWN),
268     MON("werewolf", S_DOG,
269 	LVL(5, 12, 4, 20, -7), (G_NOGEN|G_NOCORPSE),
270 	A(ATTK(AT_BITE, AD_WERE, 2, 6),
271 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
272 	SIZ(500, 250, 0, MS_BARK, MZ_MEDIUM), MR_POISON, 0,
273 	M1_NOHANDS|M1_POIS|M1_REGEN|M1_CARNIVORE,
274 	M2_NOPOLY|M2_WERE|M2_HOSTILE, M3_INFRAVISIBLE, CLR_BROWN),
275     MON("warg", S_DOG,
276 	LVL(7, 12, 4, 0, -5), (G_GENO|G_SGROUP|2),
277 	A(ATTK(AT_BITE, AD_PHYS, 2, 6),
278 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
279 	SIZ(850, 350, 0, MS_BARK, MZ_MEDIUM), 0, 0,
280 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
281 	CLR_BROWN),
282     MON("winter wolf cub", S_DOG,
283 	LVL(5, 12, 4, 0, -5), (G_NOHELL|G_GENO|G_SGROUP|2),
284 	A(ATTK(AT_BITE, AD_PHYS, 1, 8), ATTK(AT_BREA, AD_COLD, 1, 8),
285 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
286 	SIZ(250, 200, 0, MS_BARK, MZ_SMALL), MR_COLD, MR_COLD,
287 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_CYAN),
288     MON("winter wolf", S_DOG,
289 	LVL(7, 12, 4, 20, 0), (G_NOHELL|G_GENO|1),
290 	A(ATTK(AT_BITE, AD_PHYS, 2, 6), ATTK(AT_BREA, AD_COLD, 2, 6),
291 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
292 	SIZ(700, 300, 0, MS_BARK, MZ_LARGE), MR_COLD, MR_COLD,
293 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
294 	M2_HOSTILE|M2_STRONG, 0, CLR_CYAN),
295     MON("hell hound pup", S_DOG,
296 	LVL(7, 12, 4, 20, -5), (G_HELL|G_GENO|G_SGROUP|1),
297 	A(ATTK(AT_BITE, AD_PHYS, 2, 6), ATTK(AT_BREA, AD_FIRE, 2, 6),
298 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
299 	SIZ(200, 200, 0, MS_BARK, MZ_SMALL), MR_FIRE, MR_FIRE,
300 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
301 	CLR_RED),
302     MON("hell hound", S_DOG,
303 	LVL(12, 14, 2, 20, 0), (G_HELL|G_GENO|1),
304 	A(ATTK(AT_BITE, AD_PHYS, 3, 6), ATTK(AT_BREA, AD_FIRE, 3, 6),
305 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
306 	SIZ(600, 300, 0, MS_BARK, MZ_MEDIUM), MR_FIRE, MR_FIRE,
307 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE|M2_STRONG,
308 	M3_INFRAVISIBLE, CLR_RED),
309 #ifdef CHARON
310     MON("Cerberus", S_DOG,
311 	LVL(12, 10, 2, 20, -7), (G_HELL|G_UNIQ|1),
312 	A(ATTK(AT_BITE, AD_PHYS, 3, 6), ATTK(AT_BITE, AD_PHYS, 3, 6),
313 	  ATTK(AT_BITE, AD_PHYS, 3, 6), NO_ATTK, NO_ATTK, NO_ATTK),
314 	SIZ(1000, 350, 0, MS_BARK, MZ_LARGE), MR_FIRE, MR_FIRE,
315 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
316 	M2_NOPOLY|M2_HOSTILE|M2_STRONG|M2_PNAME|M2_MALE, M3_INFRAVISIBLE,
317 	CLR_RED),
318 #endif
319 /*
320  * eyes
321  */
322     MON("gas spore", S_EYE,
323 	LVL(1, 3, 10, 0, 0), (G_NOCORPSE|G_GENO|1),
324 	A(ATTK(AT_BOOM, AD_PHYS, 4, 6), NO_ATTK, NO_ATTK,
325 	  NO_ATTK, NO_ATTK, NO_ATTK),
326 	SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), 0, 0,
327 	M1_FLY|M1_BREATHLESS|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS,
328 	M2_HOSTILE|M2_NEUTER, 0, CLR_GRAY),
329     MON("floating eye", S_EYE,
330 	LVL(2, 1, 9, 10, 0), (G_GENO|5),
331 	A(ATTK(AT_NONE, AD_PLYS, 0,70),
332 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
333 	SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), 0, 0,
334 	M1_FLY|M1_AMPHIBIOUS|M1_NOLIMBS|M1_NOHEAD|M1_NOTAKE,
335 	M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_BRIGHT_GREEN),
336     MON("freezing sphere", S_EYE,
337 	LVL(6, 13, 4, 0, 0), (G_NOCORPSE|G_NOHELL|G_GENO|2),
338 	A(ATTK(AT_EXPL, AD_COLD, 4, 6),
339 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
340 	SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), MR_COLD, MR_COLD,
341 	M1_FLY|M1_BREATHLESS|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_NOTAKE,
342 	M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_WHITE),
343     MON("flaming sphere", S_EYE,
344 	LVL(6, 13, 4, 0, 0), (G_NOCORPSE|G_GENO|2),
345 	A(ATTK(AT_EXPL, AD_FIRE, 4, 6), NO_ATTK, NO_ATTK,
346 	    NO_ATTK, NO_ATTK, NO_ATTK),
347 	SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), MR_FIRE, MR_FIRE,
348 	M1_FLY|M1_BREATHLESS|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS,
349 	M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_RED),
350     MON("shocking sphere", S_EYE,
351 	LVL(6, 13, 4, 0, 0), (G_NOCORPSE|G_GENO|2),
352 	A(ATTK(AT_EXPL, AD_ELEC, 4, 6), NO_ATTK, NO_ATTK,
353 	  NO_ATTK, NO_ATTK, NO_ATTK),
354 	SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), MR_ELEC, MR_ELEC,
355 	M1_FLY|M1_BREATHLESS|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS,
356 	M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, HI_ZAP),
357 #if 0		/* not yet implemented */
358     MON("beholder", S_EYE,
359 	LVL(6, 3, 4, 0, -10), (G_GENO|2),
360 	A(ATTK(AT_GAZE, AD_SLOW, 0, 0), ATTK(AT_GAZE, AD_SLEE, 2,25),
361 	  ATTK(AT_GAZE, AD_DISN, 0, 0), ATTK(AT_GAZE, AD_STON, 0, 0),
362 	  ATTK(AT_GAZE, AD_CNCL, 2, 4), ATTK(AT_BITE, AD_PHYS, 2, 4)),
363 	SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), MR_COLD, 0,
364 	M1_FLY|M1_BREATHLESS|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS,
365 	M2_NOPOLY|M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_BROWN),
366 #endif
367 /*
368  * felines
369  */
370     MON("kitten", S_FELINE,
371 	LVL(2, 18, 6, 0, 0), (G_GENO|1),
372 	A(ATTK(AT_BITE, AD_PHYS, 1, 6),
373 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
374 	SIZ(150, 150, 0, MS_MEW, MZ_SMALL), 0, 0,
375 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
376 	M2_WANDER|M2_DOMESTIC, M3_INFRAVISIBLE, HI_DOMESTIC),
377     MON("housecat", S_FELINE,
378 	LVL(4, 16, 5, 0, 0), (G_GENO|1),
379 	A(ATTK(AT_BITE, AD_PHYS, 1, 6),
380 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
381 	SIZ(200, 200, 0, MS_MEW, MZ_SMALL), 0, 0,
382 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_DOMESTIC, M3_INFRAVISIBLE,
383 	HI_DOMESTIC),
384     MON("jaguar", S_FELINE,
385 	LVL(4, 15, 6, 0, 0), (G_GENO|2),
386 	A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
387 	  ATTK(AT_BITE, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK),
388 	SIZ(600, 300, 0, MS_GROWL, MZ_LARGE), 0, 0,
389 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
390 	CLR_BROWN),
391     MON("lynx", S_FELINE,
392 	LVL(5, 15, 6, 0, 0), (G_GENO|1),
393 	A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
394 	  ATTK(AT_BITE, AD_PHYS, 1, 10), NO_ATTK, NO_ATTK, NO_ATTK),
395 	SIZ(600, 300, 0, MS_GROWL, MZ_SMALL), 0, 0,
396 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,M2_HOSTILE, M3_INFRAVISIBLE,
397 	CLR_CYAN),
398     MON("panther", S_FELINE,
399 	LVL(5, 15, 6, 0, 0), (G_GENO|1),
400 	A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6),
401 	  ATTK(AT_BITE, AD_PHYS, 1, 10), NO_ATTK, NO_ATTK, NO_ATTK),
402 	SIZ(600, 300, 0, MS_GROWL, MZ_LARGE), 0, 0,
403 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,M2_HOSTILE, M3_INFRAVISIBLE,
404 	CLR_BLACK),
405     MON("large cat", S_FELINE,
406 	LVL(6, 15, 4, 0, 0), (G_GENO|1),
407 	A(ATTK(AT_BITE, AD_PHYS, 2, 4),
408 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
409 	SIZ(250, 250, 0, MS_MEW, MZ_SMALL), 0, 0,
410 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
411 	M2_STRONG|M2_DOMESTIC, M3_INFRAVISIBLE, HI_DOMESTIC),
412     MON("tiger", S_FELINE,
413 	LVL(6, 12, 6, 0, 0), (G_GENO|2),
414 	A(ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4),
415 	  ATTK(AT_BITE, AD_PHYS, 1,10), NO_ATTK, NO_ATTK, NO_ATTK),
416 	SIZ(600, 300, 0, MS_GROWL, MZ_LARGE), 0, 0,
417 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
418 	CLR_YELLOW),
419 /*
420  * gremlins and gargoyles
421  */
422     MON("gremlin", S_GREMLIN,
423 	LVL(5, 12, 2, 25, -9), (G_GENO|2),
424 	A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6),
425 	  ATTK(AT_BITE, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_CURS, 0, 0),
426 	  NO_ATTK, NO_ATTK),
427 	SIZ(100, 20, 0, MS_LAUGH, MZ_SMALL), MR_POISON, MR_POISON,
428 	M1_SWIM|M1_HUMANOID|M1_POIS, M2_STALK, M3_INFRAVISIBLE, CLR_GREEN),
429     MON("gargoyle", S_GREMLIN,
430 	LVL(6, 10, -4, 0, -9), (G_GENO|2),
431 	A(ATTK(AT_CLAW, AD_PHYS, 2, 6), ATTK(AT_CLAW, AD_PHYS, 2, 6),
432 	  ATTK(AT_BITE, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK),
433 	SIZ(1000, 200, 0, MS_GRUNT, MZ_HUMAN), MR_STONE, MR_STONE,
434 	M1_HUMANOID|M1_THICK_HIDE|M1_BREATHLESS,
435 	M2_HOSTILE|M2_STRONG, 0, CLR_BROWN),
436     MON("winged gargoyle", S_GREMLIN,
437 	LVL(9, 15, -2, 0, -12), (G_GENO|1),
438 	A(ATTK(AT_CLAW, AD_PHYS, 3, 6), ATTK(AT_CLAW, AD_PHYS, 3, 6),
439 	  ATTK(AT_BITE, AD_PHYS, 3, 4), NO_ATTK, NO_ATTK, NO_ATTK),
440 	SIZ(1200, 300, 0, MS_GRUNT, MZ_HUMAN), MR_STONE, MR_STONE,
441 	M1_FLY|M1_HUMANOID|M1_THICK_HIDE|M1_BREATHLESS|M1_OVIPAROUS,
442 	M2_LORD|M2_HOSTILE|M2_STRONG|M2_MAGIC, 0, HI_LORD),
443 /*
444  * humanoids
445  */
446     MON("hobbit", S_HUMANOID,
447 	LVL(1, 9, 10, 0, 6), (G_GENO|2),
448 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
449 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
450 	SIZ(500, 200, 0, MS_HUMANOID, MZ_SMALL), 0, 0,
451 	M1_HUMANOID|M1_OMNIVORE, M2_COLLECT, M3_INFRAVISIBLE|M3_INFRAVISION,
452 	CLR_GREEN),
453     MON("dwarf", S_HUMANOID,
454 	LVL(2, 6, 10, 10, 4), (G_GENO|3),
455 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8),
456 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
457 	SIZ(900, 300, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
458 	M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID|M1_OMNIVORE,
459 	M2_NOPOLY|M2_DWARF|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT,
460 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED),
461     MON("bugbear", S_HUMANOID,
462 	LVL(3, 9, 5, 0, -6), (G_GENO|1),
463 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4),
464 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
465 	SIZ(1250, 250, 0, MS_GROWL, MZ_LARGE), 0, 0,
466 	M1_HUMANOID|M1_OMNIVORE, M2_STRONG|M2_COLLECT,
467 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BROWN),
468     MON("dwarf lord", S_HUMANOID,
469 	LVL(4, 6, 10, 10, 5), (G_GENO|2),
470 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4),
471 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
472 	SIZ(900, 300, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
473 	M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID|M1_OMNIVORE,
474 	M2_DWARF|M2_STRONG|M2_LORD|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT,
475 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BLUE),
476     MON("dwarf king", S_HUMANOID,
477 	LVL(6, 6, 10, 20, 6), (G_GENO|1),
478 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6),
479 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
480 	SIZ(900, 300, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
481 	M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID|M1_OMNIVORE,
482 	M2_DWARF|M2_STRONG|M2_PRINCE|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT,
483 	M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
484     MON("mind flayer", S_HUMANOID,
485 	LVL(9, 12, 5, 90, -8), (G_GENO|1),
486 	A(ATTK(AT_WEAP, AD_PHYS, 1, 4), ATTK(AT_TENT, AD_DRIN, 2, 1),
487 	  ATTK(AT_TENT, AD_DRIN, 2, 1), ATTK(AT_TENT, AD_DRIN, 2, 1),
488 	  NO_ATTK, NO_ATTK),
489 	SIZ(1450, 400, 0, MS_HISS, MZ_HUMAN), 0, 0,
490 	M1_HUMANOID|M1_FLY|M1_SEE_INVIS|M1_OMNIVORE,
491 	M2_HOSTILE|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_COLLECT,
492 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_MAGENTA),
493     MON("master mind flayer", S_HUMANOID,
494 	LVL(13, 12, 0, 90, -8), (G_GENO|1),
495 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_TENT, AD_DRIN, 2, 1),
496 	  ATTK(AT_TENT, AD_DRIN, 2, 1), ATTK(AT_TENT, AD_DRIN, 2, 1),
497 	  ATTK(AT_TENT, AD_DRIN, 2, 1), ATTK(AT_TENT, AD_DRIN, 2, 1)),
498 	SIZ(1450, 400, 0, MS_HISS, MZ_HUMAN), 0, 0,
499 	M1_HUMANOID|M1_FLY|M1_SEE_INVIS|M1_OMNIVORE,
500 	M2_HOSTILE|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_COLLECT,
501 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_MAGENTA),
502 /*
503  * imps & other minor demons/devils
504  */
505     MON("manes", S_IMP,
506 	LVL(1, 3, 7, 0, -7), (G_GENO|G_LGROUP|G_NOCORPSE|1),
507 	A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3),
508 	  ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK),
509 	SIZ(100, 100, 0, MS_SILENT, MZ_SMALL), MR_SLEEP|MR_POISON, 0,
510 	M1_POIS, M2_HOSTILE|M2_STALK, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED),
511     MON("homunculus", S_IMP,
512 	LVL(2, 12, 6, 10, -7), (G_GENO|2),
513 	A(ATTK(AT_BITE, AD_SLEE, 1, 3),
514 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
515 	SIZ(60, 100, 0, MS_SILENT, MZ_TINY),
516 	MR_SLEEP|MR_POISON, MR_SLEEP|MR_POISON,
517 	M1_FLY|M1_POIS, M2_STALK, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GREEN),
518     MON("imp", S_IMP,
519 	LVL(3, 12, 2, 20, -7), (G_GENO|1),
520 	A(ATTK(AT_CLAW, AD_PHYS, 1, 4),
521 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
522 	SIZ(20, 10, 0, MS_CUSS, MZ_TINY), 0, 0,
523 	M1_REGEN, M2_WANDER|M2_STALK, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED),
524     MON("lemure", S_IMP,
525 	LVL(3, 3, 7, 0, -7), (G_HELL|G_GENO|G_LGROUP|G_NOCORPSE|1),
526 	A(ATTK(AT_CLAW, AD_PHYS, 1, 3),
527 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
528 	SIZ(150, 100, 0, MS_SILENT, MZ_MEDIUM),
529 	MR_SLEEP|MR_POISON, MR_SLEEP, M1_POIS|M1_REGEN,
530 	M2_HOSTILE|M2_WANDER|M2_STALK|M2_NEUTER,
531 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BROWN),
532     MON("quasit", S_IMP,
533 	LVL(3, 15, 2, 20, -7), (G_GENO|2),
534 	A(ATTK(AT_CLAW, AD_DRDX, 1, 2), ATTK(AT_CLAW, AD_DRDX, 1, 2),
535 	  ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK),
536 	SIZ(200, 200, 0, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON,
537 	M1_REGEN, M2_STALK, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BLUE),
538     MON("tengu", S_IMP,
539 	LVL(6, 13, 5, 30, 7), (G_GENO|3),
540 	A(ATTK(AT_BITE, AD_PHYS, 1, 7),
541 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
542 	SIZ(300, 200, 0, MS_SQAWK, MZ_SMALL), MR_POISON, MR_POISON,
543 	M1_TPORT|M1_TPORT_CNTRL, M2_STALK, M3_INFRAVISIBLE|M3_INFRAVISION,
544 	CLR_CYAN),
545 /*
546  * jellies
547  */
548     MON("blue jelly", S_JELLY,
549 	LVL(4, 0, 8, 10, 0), (G_GENO|2),
550 	A(ATTK(AT_NONE, AD_COLD, 0, 6),
551 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
552 	SIZ(50, 20, 0, MS_SILENT, MZ_MEDIUM),
553 	MR_COLD|MR_POISON, MR_COLD|MR_POISON,
554 	M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS
555 	  |M1_NOTAKE,
556 	M2_HOSTILE|M2_NEUTER, 0, CLR_BLUE),
557     MON("spotted jelly", S_JELLY,
558 	LVL(5, 0, 8, 10, 0), (G_GENO|1),
559 	A(ATTK(AT_NONE, AD_ACID, 0, 6),
560 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
561 	SIZ(50, 20, 0, MS_SILENT, MZ_MEDIUM), MR_ACID|MR_STONE, 0,
562 	M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|
563 	  M1_MINDLESS|M1_ACID|M1_NOTAKE,
564 	M2_HOSTILE|M2_NEUTER, 0, CLR_GREEN),
565     MON("ochre jelly", S_JELLY,
566 	LVL(6, 3, 8, 20, 0), (G_GENO|2),
567 	A(ATTK(AT_ENGL, AD_ACID, 3, 6), ATTK(AT_NONE, AD_ACID, 3, 6),
568 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
569 	SIZ(50, 20, 0, MS_SILENT, MZ_MEDIUM), MR_ACID|MR_STONE, 0,
570 	M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|
571 	  M1_MINDLESS|M1_ACID|M1_NOTAKE,
572 	M2_HOSTILE|M2_NEUTER, 0, CLR_BROWN),
573 /*
574  * kobolds
575  */
576     MON("kobold", S_KOBOLD,
577 	LVL(0, 6, 10, 0, -2), (G_GENO|1),
578 	A(ATTK(AT_WEAP, AD_PHYS, 1, 4),
579 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
580 	SIZ(400, 100, 0, MS_ORC, MZ_SMALL), MR_POISON, 0,
581 	M1_HUMANOID|M1_POIS|M1_OMNIVORE, M2_HOSTILE|M2_COLLECT,
582 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BROWN),
583     MON("large kobold", S_KOBOLD,
584 	LVL(1, 6, 10, 0, -3), (G_GENO|1),
585 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
586 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
587 	SIZ(450, 150, 0, MS_ORC, MZ_SMALL), MR_POISON, 0,
588 	M1_HUMANOID|M1_POIS|M1_OMNIVORE, M2_HOSTILE|M2_COLLECT,
589 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED),
590     MON("kobold lord", S_KOBOLD,
591 	LVL(2, 6, 10, 0, -4), (G_GENO|1),
592 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4),
593 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
594 	SIZ(500, 200, 0, MS_ORC, MZ_SMALL), MR_POISON, 0,
595 	M1_HUMANOID|M1_POIS|M1_OMNIVORE,
596 	M2_HOSTILE|M2_LORD|M2_MALE|M2_COLLECT, M3_INFRAVISIBLE|M3_INFRAVISION,
597 	HI_LORD),
598     MON("kobold shaman", S_KOBOLD,
599 	LVL(2, 6, 6, 10, -4), (G_GENO|1),
600 	A(ATTK(AT_MAGC, AD_SPEL, 0, 0),
601 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
602 	SIZ(450, 150, 0, MS_ORC, MZ_SMALL), MR_POISON, 0,
603 	M1_HUMANOID|M1_POIS|M1_OMNIVORE, M2_HOSTILE|M2_MAGIC,
604 	M3_INFRAVISIBLE|M3_INFRAVISION, HI_ZAP),
605 /*
606  * leprechauns
607  */
608     MON("leprechaun", S_LEPRECHAUN,
609 	LVL(5, 15, 8, 20, 0), (G_GENO|4),
610 	A(ATTK(AT_CLAW, AD_SGLD, 1, 2),
611 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
612 	SIZ(60, 30, 0, MS_LAUGH, MZ_TINY), 0, 0,
613 	M1_HUMANOID|M1_TPORT, M2_HOSTILE|M2_GREEDY, M3_INFRAVISIBLE, CLR_GREEN),
614 /*
615  * mimics
616  */
617     MON("small mimic", S_MIMIC,
618 	LVL(7, 3, 7, 0, 0), (G_GENO|2),
619 	A(ATTK(AT_CLAW, AD_PHYS, 3, 4),
620 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
621 	SIZ(300, 200, 0, MS_SILENT, MZ_MEDIUM), MR_ACID, 0,
622 	M1_BREATHLESS|M1_AMORPHOUS|M1_HIDE|M1_ANIMAL|M1_NOEYES|
623 	  M1_NOHEAD|M1_NOLIMBS|M1_THICK_HIDE|M1_CARNIVORE,
624 	M2_HOSTILE, 0, CLR_BROWN),
625     MON("large mimic", S_MIMIC,
626 	LVL(8, 3, 7, 10, 0), (G_GENO|1),
627 	A(ATTK(AT_CLAW, AD_STCK, 3, 4),
628 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
629 	SIZ(600, 400, 0, MS_SILENT, MZ_LARGE), MR_ACID, 0,
630 	M1_CLING|M1_BREATHLESS|M1_AMORPHOUS|M1_HIDE|M1_ANIMAL|M1_NOEYES|
631 	  M1_NOHEAD|M1_NOLIMBS|M1_THICK_HIDE|M1_CARNIVORE,
632 	M2_HOSTILE|M2_STRONG, 0, CLR_RED),
633     MON("giant mimic", S_MIMIC,
634 	LVL(9, 3, 7, 20, 0), (G_GENO|1),
635 	A(ATTK(AT_CLAW, AD_STCK, 3, 6), ATTK(AT_CLAW, AD_STCK, 3, 6),
636 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
637 	SIZ(800, 500, 0, MS_SILENT, MZ_LARGE), MR_ACID, 0,
638 	M1_CLING|M1_BREATHLESS|M1_AMORPHOUS|M1_HIDE|M1_ANIMAL|M1_NOEYES|
639 	  M1_NOHEAD|M1_NOLIMBS|M1_THICK_HIDE|M1_CARNIVORE,
640 	M2_HOSTILE|M2_STRONG, 0, HI_LORD),
641 /*
642  * nymphs
643  */
644     MON("wood nymph", S_NYMPH,
645 	LVL(3, 12, 9, 20, 0), (G_GENO|2),
646 	A(ATTK(AT_CLAW, AD_SITM, 0, 0), ATTK(AT_CLAW, AD_SEDU, 0, 0),
647 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
648 	SIZ(600, 300, 0, MS_SEDUCE, MZ_HUMAN), 0, 0,
649 	M1_HUMANOID|M1_TPORT, M2_HOSTILE|M2_FEMALE|M2_COLLECT, M3_INFRAVISIBLE,
650 	CLR_GREEN),
651     MON("water nymph", S_NYMPH,
652 	LVL(3, 12, 9, 20, 0), (G_GENO|2),
653 	A(ATTK(AT_CLAW, AD_SITM, 0, 0), ATTK(AT_CLAW, AD_SEDU, 0, 0),
654 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
655 	SIZ(600, 300, 0, MS_SEDUCE, MZ_HUMAN), 0, 0,
656 	M1_HUMANOID|M1_TPORT|M1_SWIM,
657 	M2_HOSTILE|M2_FEMALE|M2_COLLECT, M3_INFRAVISIBLE, CLR_BLUE),
658     MON("mountain nymph", S_NYMPH,
659 	LVL(3, 12, 9, 20, 0), (G_GENO|2),
660 	A(ATTK(AT_CLAW, AD_SITM, 0, 0), ATTK(AT_CLAW, AD_SEDU, 0, 0),
661 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
662 	SIZ(600, 300, 0, MS_SEDUCE, MZ_HUMAN), 0, 0,
663 	M1_HUMANOID|M1_TPORT, M2_HOSTILE|M2_FEMALE|M2_COLLECT,
664 	M3_INFRAVISIBLE, CLR_BROWN),
665     MON("Aphrodite", S_NYMPH,
666 	LVL(10, 15, -5, 20, 0), (G_UNIQ|G_NOGEN|1),
667 	A(ATTK(AT_CLAW, AD_SITM, 0, 0), ATTK(AT_CLAW, AD_SEDU, 0, 0),
668 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
669 	SIZ(600, 300, 0, MS_SEDUCE, MZ_HUMAN), 0, 0,
670 	M1_HUMANOID|M1_TPORT,
671 	M2_PNAME|M2_PRINCE|M2_FEMALE|M2_GREEDY|M2_STALK|M2_HOSTILE|
672 	M2_NASTY|M2_NOPOLY|M2_JEWELS|M2_COLLECT|M2_MAGIC,
673 	M3_INFRAVISIBLE, HI_LORD),
674 /*
675  * orcs
676  */
677     MON("goblin", S_ORC,
678 	LVL(0, 6, 10, 0, -3), (G_GENO|2),
679 	A(ATTK(AT_WEAP, AD_PHYS, 1, 4),
680 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
681 	SIZ(400, 100, 0, MS_ORC, MZ_SMALL), 0, 0,
682 	M1_HUMANOID|M1_OMNIVORE, M2_ORC|M2_COLLECT,
683 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GRAY),
684     MON("hobgoblin", S_ORC,
685 	LVL(1, 9, 10, 0, -4), (G_GENO|2),
686 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
687 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
688 	SIZ(1000, 200, 0, MS_ORC, MZ_HUMAN), 0, 0,
689 	M1_HUMANOID|M1_OMNIVORE, M2_ORC|M2_STRONG|M2_COLLECT,
690 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BROWN),
691 	/* plain "orc" for zombie corpses only; not created at random
692 	 */
693     MON("orc", S_ORC,
694 	LVL(1, 9, 10, 0, -3), (G_GENO|G_NOGEN|G_LGROUP),
695 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8),
696 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
697 	SIZ(850, 150, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID|M1_OMNIVORE,
698 	M2_NOPOLY|M2_ORC|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT,
699 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED),
700     MON("hill orc", S_ORC,
701 	LVL(2, 9, 10, 0, -4), (G_GENO|G_LGROUP|2),
702 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
703 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
704 	SIZ(1000, 200, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID|M1_OMNIVORE,
705 	M2_ORC|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT,
706 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_YELLOW),
707     MON("Mordor orc", S_ORC,
708 	LVL(3, 5, 10, 0, -5), (G_GENO|G_LGROUP|1),
709 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
710 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
711 	SIZ(1200, 200, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID|M1_OMNIVORE,
712 	M2_ORC|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT,
713 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BLUE),
714     MON("Uruk-hai", S_ORC,
715 	LVL(3, 7, 10, 0, -4), (G_GENO|G_LGROUP|1),
716 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8),
717 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
718 	SIZ(1300, 300, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID|M1_OMNIVORE,
719 	M2_ORC|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT,
720 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BLACK),
721     MON("orc shaman", S_ORC,
722 	LVL(3, 9, 5, 10, -5), (G_GENO|1),
723 	A(ATTK(AT_MAGC, AD_SPEL, 0, 0),
724 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
725 	SIZ(1000, 300, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID|M1_OMNIVORE,
726 	M2_ORC|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_MAGIC,
727 	M3_INFRAVISIBLE|M3_INFRAVISION, HI_ZAP),
728     MON("orc-captain", S_ORC,
729 	LVL(5, 5, 10, 0, -5), (G_GENO|1),
730 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4),
731 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
732 	SIZ(1350, 350, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID|M1_OMNIVORE,
733 	M2_ORC|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT,
734 	M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
735 /*
736  * piercers
737  */
738     MON("rock piercer", S_PIERCER,
739 	LVL(3, 1, 3, 0, 0), (G_GENO|4),
740 	A(ATTK(AT_BITE, AD_PHYS, 2, 6),
741 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
742 	SIZ(200, 200, 0, MS_SILENT, MZ_SMALL), 0, 0,
743 	M1_CLING|M1_HIDE|M1_ANIMAL|M1_NOEYES|M1_NOLIMBS|M1_CARNIVORE|M1_NOTAKE,
744 	M2_HOSTILE, 0, CLR_GRAY),
745     MON("iron piercer", S_PIERCER,
746 	LVL(5, 1, 0, 0, 0), (G_GENO|2),
747 	A(ATTK(AT_BITE, AD_PHYS, 3, 6),
748 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
749 	SIZ(400, 300, 0, MS_SILENT, MZ_MEDIUM), 0, 0,
750 	M1_CLING|M1_HIDE|M1_ANIMAL|M1_NOEYES|M1_NOLIMBS|M1_CARNIVORE|M1_NOTAKE,
751 	M2_HOSTILE, 0, CLR_CYAN),
752     MON("glass piercer", S_PIERCER,
753 	LVL(7, 1, 0, 0, 0), (G_GENO|1),
754 	A(ATTK(AT_BITE, AD_PHYS, 4, 6), NO_ATTK, NO_ATTK,
755 	  NO_ATTK, NO_ATTK, NO_ATTK),
756 	SIZ(400, 300, 0, MS_SILENT, MZ_MEDIUM), MR_ACID, 0,
757 	M1_CLING|M1_HIDE|M1_ANIMAL|M1_NOEYES|M1_NOLIMBS|M1_CARNIVORE|M1_NOTAKE,
758 	M2_HOSTILE, 0, CLR_WHITE),
759 /*
760  * quadrupeds
761  */
762     MON("rothe", S_QUADRUPED,
763 	LVL(2, 9, 7, 0, 0), (G_GENO|G_SGROUP|4),
764 	A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_BITE, AD_PHYS, 1, 3),
765 	  ATTK(AT_BITE, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK),
766 	SIZ(400, 100, 0, MS_SILENT, MZ_LARGE), 0, 0,
767 	M1_ANIMAL|M1_NOHANDS|M1_OMNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
768 	CLR_BROWN),
769     MON("mumak", S_QUADRUPED,
770 	LVL(5, 9, 0, 0, -2), (G_GENO|1),
771 	A(ATTK(AT_BUTT, AD_PHYS, 4,12), ATTK(AT_BITE, AD_PHYS, 2, 6),
772 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
773 	SIZ(2500, 500, 0, MS_ROAR, MZ_LARGE), 0, 0,
774 	M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS|M1_HERBIVORE,
775 	M2_HOSTILE|M2_STRONG, M3_INFRAVISIBLE, CLR_GRAY),
776     MON("leocrotta", S_QUADRUPED,
777 	LVL(6, 18, 4, 10, 0), (G_GENO|2),
778 	A(ATTK(AT_CLAW, AD_PHYS, 2, 6), ATTK(AT_BITE, AD_PHYS, 2, 6),
779 	  ATTK(AT_CLAW, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
780 	SIZ(1200, 500, 0, MS_IMITATE, MZ_LARGE), 0, 0,
781 	M1_ANIMAL|M1_NOHANDS|M1_OMNIVORE, M2_HOSTILE|M2_STRONG,
782 	M3_INFRAVISIBLE, CLR_RED),
783     MON("wumpus", S_QUADRUPED,
784 	LVL(8, 3, 2, 10, 0), (G_GENO|1),
785 	A(ATTK(AT_BITE, AD_PHYS, 3, 6),
786 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
787 	SIZ(2500, 500, 0, MS_BURBLE, MZ_LARGE), 0, 0,
788 	M1_CLING|M1_ANIMAL|M1_NOHANDS|M1_OMNIVORE,
789 	M2_HOSTILE|M2_STRONG, M3_INFRAVISIBLE, CLR_CYAN),
790     MON("titanothere", S_QUADRUPED,
791 	LVL(12, 12, 6, 0, 0), (G_GENO|2),
792 	A(ATTK(AT_CLAW, AD_PHYS, 2, 8),
793 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
794 	SIZ(2650, 650, 0, MS_SILENT, MZ_LARGE), 0, 0,
795 	M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS|M1_HERBIVORE,
796 	M2_HOSTILE|M2_STRONG, M3_INFRAVISIBLE, CLR_GRAY),
797     MON("baluchitherium", S_QUADRUPED,
798 	LVL(14, 12, 5, 0, 0), (G_GENO|2),
799 	A(ATTK(AT_CLAW, AD_PHYS, 5, 4), ATTK(AT_CLAW, AD_PHYS, 5, 4),
800 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
801 	SIZ(3800, 800, 0, MS_SILENT, MZ_LARGE), 0, 0,
802 	M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS|M1_HERBIVORE,
803 	M2_HOSTILE|M2_STRONG, M3_INFRAVISIBLE, CLR_GRAY),
804     MON("mastodon", S_QUADRUPED,
805 	LVL(20, 12, 5, 0, 0), (G_GENO|1),
806 	A(ATTK(AT_BUTT, AD_PHYS, 4, 8), ATTK(AT_BUTT, AD_PHYS, 4, 8),
807 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
808 	SIZ(3800, 800, 0, MS_SILENT, MZ_LARGE), 0, 0,
809 	M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS|M1_HERBIVORE,
810 	M2_HOSTILE|M2_STRONG, M3_INFRAVISIBLE, CLR_BLACK),
811 /*
812  * rodents
813  */
814     MON("sewer rat", S_RODENT,
815 	LVL(0, 12, 7, 0, 0), (G_GENO|G_SGROUP|1),
816 	A(ATTK(AT_BITE, AD_PHYS, 1, 3),
817 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
818 	SIZ(20, 12, 0, MS_SQEEK, MZ_TINY), 0, 0,
819 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
820 	CLR_BROWN),
821     MON("giant rat", S_RODENT,
822 	LVL(1, 10, 7, 0, 0), (G_GENO|G_SGROUP|2),
823 	A(ATTK(AT_BITE, AD_PHYS, 1, 3),
824 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
825 	SIZ(30, 30, 0, MS_SQEEK, MZ_TINY), 0, 0,
826 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
827 	CLR_BROWN),
828     MON("rabid rat", S_RODENT,
829 	LVL(2, 12, 6, 0, 0), (G_GENO|1),
830 	A(ATTK(AT_BITE, AD_DRCO, 2, 4),
831 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
832 	SIZ(30, 5, 0, MS_SQEEK, MZ_TINY), MR_POISON, 0,
833 	M1_ANIMAL|M1_NOHANDS|M1_POIS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
834 	CLR_BROWN),
835     MON("wererat", S_RODENT,
836 	LVL(2, 12, 6, 10, -7), (G_NOGEN|G_NOCORPSE),
837 	A(ATTK(AT_BITE, AD_WERE, 1, 4),
838 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
839 	SIZ(40, 30, 0, MS_SQEEK, MZ_TINY), MR_POISON, 0,
840 	M1_NOHANDS|M1_POIS|M1_REGEN|M1_CARNIVORE,
841 	M2_NOPOLY|M2_WERE|M2_HOSTILE, M3_INFRAVISIBLE, CLR_BROWN),
842     MON("rock mole", S_RODENT,
843 	LVL(3, 3, 0, 20, 0), (G_GENO|2),
844 	A(ATTK(AT_BITE, AD_PHYS, 1, 6),
845 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
846 	SIZ(30, 30, 0, MS_SILENT, MZ_SMALL), 0, 0,
847 	M1_TUNNEL|M1_ANIMAL|M1_NOHANDS|M1_METALLIVORE,
848 	M2_HOSTILE|M2_GREEDY|M2_JEWELS|M2_COLLECT, M3_INFRAVISIBLE, CLR_GRAY),
849     MON("woodchuck", S_RODENT,
850 	LVL(3, 3, 0, 20, 0), (G_NOGEN|G_GENO),
851 	A(ATTK(AT_BITE, AD_PHYS, 1, 6),
852 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
853 	SIZ(30, 30, 0, MS_SILENT, MZ_SMALL), 0, 0,
854 	M1_TUNNEL/*LOGGING*/|M1_ANIMAL|M1_NOHANDS|M1_SWIM|M1_HERBIVORE,
855 		/* In reality, they tunnel instead of cutting lumber.  Oh, well. */
856 	M2_WANDER|M2_HOSTILE, M3_INFRAVISIBLE, CLR_BROWN),
857 /*
858  * spiders & scorpions (keep webmaker() in sync if new critters are added)
859  */
860     MON("cave spider", S_SPIDER,
861 	LVL(1, 12, 3, 0, 0), (G_GENO|G_SGROUP|2),
862 	A(ATTK(AT_BITE, AD_PHYS, 1, 2),
863 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
864 	SIZ(50, 50, 0, MS_SILENT, MZ_TINY), MR_POISON, MR_POISON,
865 	M1_CONCEAL|M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE,
866 	M2_HOSTILE, 0, CLR_GRAY),
867     MON("centipede", S_SPIDER,
868 	LVL(2, 4, 3, 0, 0), (G_GENO|1),
869 	A(ATTK(AT_BITE, AD_DRST, 1, 3), NO_ATTK, NO_ATTK,
870 	  NO_ATTK, NO_ATTK, NO_ATTK),
871 	SIZ(50, 50, 0, MS_SILENT, MZ_TINY), MR_POISON, MR_POISON,
872 	M1_CONCEAL|M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE,
873 	M2_HOSTILE, 0, CLR_YELLOW),
874     MON("giant spider", S_SPIDER,
875 	LVL(5, 15, 4, 0, 0), (G_GENO|1),
876 	A(ATTK(AT_BITE, AD_DRST, 2, 4),
877 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
878 	SIZ(100, 100, 0, MS_SILENT, MZ_LARGE), MR_POISON, MR_POISON,
879 	M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_POIS|M1_CARNIVORE,
880 	M2_HOSTILE|M2_STRONG, 0, CLR_MAGENTA),
881     MON("scorpion", S_SPIDER,
882 	LVL(5, 15, 3, 0, 0), (G_GENO|2),
883 	A(ATTK(AT_CLAW, AD_PHYS, 1, 2), ATTK(AT_CLAW, AD_PHYS, 1, 2),
884 	  ATTK(AT_STNG, AD_DRST, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK),
885 	SIZ(50, 100, 0, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON,
886 	M1_CONCEAL|M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_POIS|M1_CARNIVORE,
887 	M2_HOSTILE, 0, CLR_RED),
888 /*
889  * trappers, lurkers, &c
890  */
891     MON("lurker above", S_TRAPPER,
892 	LVL(10, 3, 3, 0, 0), (G_GENO|2),
893 	A(ATTK(AT_ENGL, AD_DGST, 1, 8),
894 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
895 	SIZ(800, 350, 0, MS_SILENT, MZ_HUGE), 0, 0,
896 	M1_HIDE|M1_FLY|M1_ANIMAL|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_CARNIVORE,
897 	M2_HOSTILE|M2_STALK|M2_STRONG, 0, CLR_GRAY),
898     MON("trapper", S_TRAPPER,
899 	LVL(12, 3, 3, 0, 0), (G_GENO|2),
900 	A(ATTK(AT_ENGL, AD_DGST, 1,10),
901 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
902 	SIZ(800, 350, 0, MS_SILENT, MZ_HUGE), 0, 0,
903 	M1_HIDE|M1_ANIMAL|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_CARNIVORE,
904 	M2_HOSTILE|M2_STALK|M2_STRONG, 0, CLR_GREEN),
905 /*
906  * unicorns and horses
907  */
908     MON("white unicorn", S_UNICORN,
909 	LVL(4, 24, 2, 70, 7), (G_GENO|2),
910 	A(ATTK(AT_BUTT, AD_PHYS, 1,12), ATTK(AT_KICK, AD_PHYS, 1, 6),
911 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
912 	SIZ(1300, 300, 0, MS_NEIGH, MZ_LARGE), MR_POISON, MR_POISON,
913 	M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_STRONG|M2_JEWELS,
914 	M3_INFRAVISIBLE, CLR_WHITE),
915     MON("gray unicorn", S_UNICORN,
916 	LVL(4, 24, 2, 70, 0), (G_GENO|1),
917 	A(ATTK(AT_BUTT, AD_PHYS, 1,12), ATTK(AT_KICK, AD_PHYS, 1, 6),
918 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
919 	SIZ(1300, 300, 0, MS_NEIGH, MZ_LARGE), MR_POISON, MR_POISON,
920 	M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_STRONG|M2_JEWELS,
921 	M3_INFRAVISIBLE, CLR_GRAY),
922     MON("black unicorn", S_UNICORN,
923 	LVL(4, 24, 2, 70, -7), (G_GENO|1),
924 	A(ATTK(AT_BUTT, AD_PHYS, 1,12), ATTK(AT_KICK, AD_PHYS, 1, 6),
925 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
926 	SIZ(1300, 300, 0, MS_NEIGH, MZ_LARGE), MR_POISON, MR_POISON,
927 	M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_STRONG|M2_JEWELS,
928 	M3_INFRAVISIBLE, CLR_BLACK),
929     MON("pony", S_UNICORN,
930 	LVL(3, 16, 6, 0, 0), (G_GENO|2),
931 	A(ATTK(AT_KICK, AD_PHYS, 1, 6), ATTK(AT_BITE, AD_PHYS, 1, 2),
932 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
933 	SIZ(1300, 250, 0, MS_NEIGH, MZ_MEDIUM), 0, 0,
934 	M1_ANIMAL|M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_STRONG|M2_DOMESTIC,
935 	M3_INFRAVISIBLE, CLR_BROWN),
936     MON("horse", S_UNICORN,
937 	LVL(5, 20, 5, 0, 0), (G_GENO|2),
938 	A(ATTK(AT_KICK, AD_PHYS, 1, 8), ATTK(AT_BITE, AD_PHYS, 1, 3),
939 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
940 	SIZ(1500, 300, 0, MS_NEIGH, MZ_LARGE), 0, 0,
941 	M1_ANIMAL|M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_STRONG|M2_DOMESTIC,
942 	M3_INFRAVISIBLE, CLR_BROWN),
943     MON("warhorse", S_UNICORN,
944 	LVL(7, 24, 4, 0, 0), (G_GENO|2),
945 	A(ATTK(AT_KICK, AD_PHYS, 1, 10), ATTK(AT_BITE, AD_PHYS, 1, 4),
946 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
947 	SIZ(1800, 350, 0, MS_NEIGH, MZ_LARGE), 0, 0,
948 	M1_ANIMAL|M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_STRONG|M2_DOMESTIC,
949 	M3_INFRAVISIBLE, CLR_BROWN),
950 /*
951  * vortices
952  */
953     MON("fog cloud", S_VORTEX,
954 	LVL(3, 1, 0, 0, 0), (G_GENO|G_NOCORPSE|2),
955 	A(ATTK(AT_ENGL, AD_PHYS, 1, 6),
956 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
957 	SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), MR_SLEEP|MR_POISON|MR_STONE, 0,
958 	M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|
959 	  M1_AMORPHOUS|M1_UNSOLID,
960 	M2_HOSTILE|M2_NEUTER, 0, CLR_GRAY),
961     MON("dust vortex", S_VORTEX,
962 	LVL(4, 20, 2, 30, 0), (G_GENO|G_NOCORPSE|2),
963 	A(ATTK(AT_ENGL, AD_BLND, 2, 8),
964 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
965 	SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), MR_SLEEP|MR_POISON|MR_STONE, 0,
966 	M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS,
967 	M2_HOSTILE|M2_NEUTER, 0, CLR_BROWN),
968     MON("ice vortex", S_VORTEX,
969 	LVL(5, 20, 2, 30, 0), (G_NOHELL|G_GENO|G_NOCORPSE|1),
970 	A(ATTK(AT_ENGL, AD_COLD, 1, 6),
971 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
972 	SIZ(0, 0, 0, MS_SILENT, MZ_HUGE),
973 	MR_COLD|MR_SLEEP|MR_POISON|MR_STONE, 0,
974 	M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS,
975 	M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_CYAN),
976     MON("energy vortex", S_VORTEX,
977 	LVL(6, 20, 2, 30, 0), (G_GENO|G_NOCORPSE|1),
978 	A(ATTK(AT_ENGL, AD_ELEC, 1, 6), ATTK(AT_ENGL, AD_DREN, 0, 0),
979 	  ATTK(AT_NONE, AD_ELEC, 0, 4), NO_ATTK, NO_ATTK, NO_ATTK),
980 	SIZ(0, 0, 0, MS_SILENT, MZ_HUGE),
981 	MR_ELEC|MR_SLEEP|MR_DISINT|MR_POISON|MR_STONE, 0,
982 	M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|
983 	  M1_UNSOLID,
984 	M2_HOSTILE|M2_NEUTER, 0, HI_ZAP),
985     MON("steam vortex", S_VORTEX,
986 	LVL(7, 22, 2, 30, 0), (G_HELL|G_GENO|G_NOCORPSE|2),
987 	A(ATTK(AT_ENGL, AD_FIRE, 1, 8),
988 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
989 	SIZ(0, 0, 0, MS_SILENT, MZ_HUGE),
990 	MR_FIRE|MR_SLEEP|MR_POISON|MR_STONE, 0,
991 	M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|
992 	  M1_UNSOLID,
993 	M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_BLUE),
994     MON("fire vortex", S_VORTEX,
995 	LVL(8, 22, 2, 30, 0), (G_HELL|G_GENO|G_NOCORPSE|1),
996 	A(ATTK(AT_ENGL, AD_FIRE, 1,10), ATTK(AT_NONE, AD_FIRE, 0, 4),
997 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
998 	SIZ(0, 0, 0, MS_SILENT, MZ_HUGE),
999 	MR_FIRE|MR_SLEEP|MR_POISON|MR_STONE, 0,
1000 	M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|
1001 	  M1_UNSOLID,
1002 	M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_YELLOW),
1003     MON("anti-matter vortex", S_VORTEX,
1004 	LVL(15, 18, 0, 30, 0), (G_HELL|G_GENO|G_NOGEN|G_NOCORPSE|1),
1005 	A(ATTK(AT_ENGL, AD_DISN, 1,10), NO_ATTK,
1006 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1007 	SIZ(0, 0, 0, MS_SILENT, MZ_HUGE),
1008 	MR_ELEC|MR_FIRE|MR_COLD|MR_SLEEP|MR_DISINT|MR_POISON|MR_STONE, 0,
1009 	M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|
1010 	  M1_UNSOLID,
1011 	M2_HOSTILE|M2_NEUTER, 0, CLR_BLACK),
1012 
1013 /*
1014  * worms
1015  */
1016     MON("baby long worm", S_WORM,
1017 	LVL(8, 3, 5, 0, 0), G_GENO,
1018 	A(ATTK(AT_BITE, AD_PHYS, 1, 6),
1019 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1020 	SIZ(600, 250, 0, MS_SILENT, MZ_LARGE), 0, 0,
1021 	M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|M1_CARNIVORE|M1_NOTAKE,
1022 	M2_HOSTILE, 0, CLR_BROWN),
1023     MON("baby purple worm", S_WORM,
1024 	LVL(8, 3, 5, 0, 0), G_GENO,
1025 	A(ATTK(AT_BITE, AD_PHYS, 1, 6),
1026 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1027 	SIZ(600, 250, 0, MS_SILENT, MZ_LARGE), 0, 0,
1028 	M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|M1_CARNIVORE, M2_HOSTILE,
1029 	0, CLR_MAGENTA),
1030     MON("long worm", S_WORM,
1031 	LVL(8, 3, 5, 10, 0), (G_GENO|2),
1032 	A(ATTK(AT_BITE, AD_PHYS, 1, 4),
1033 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1034 	SIZ(1500, 500, 0, MS_SILENT, MZ_GIGANTIC), 0, 0,
1035 	M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|M1_OVIPAROUS|M1_CARNIVORE|M1_NOTAKE,
1036 	M2_HOSTILE|M2_STRONG|M2_NASTY, 0, CLR_BROWN),
1037     MON("purple worm", S_WORM,
1038 	LVL(15, 9, 6, 20, 0), (G_GENO|2),
1039 	A(ATTK(AT_BITE, AD_PHYS, 2, 8), ATTK(AT_ENGL, AD_DGST, 1,10),
1040 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1041 	SIZ(2700, 700, 0, MS_SILENT, MZ_GIGANTIC), 0, 0,
1042 	M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|M1_OVIPAROUS|M1_CARNIVORE,
1043 	M2_HOSTILE|M2_STRONG|M2_NASTY, 0, CLR_MAGENTA),
1044 /*
1045  * xan, &c
1046  */
1047     MON("grid bug", S_XAN,
1048 	LVL(0, 12, 9, 0, 0), (G_GENO|G_SGROUP|G_NOCORPSE|3),
1049 	A(ATTK(AT_BITE, AD_ELEC, 1, 1),
1050 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1051 	SIZ(15, 10, 0, MS_BUZZ, MZ_TINY), MR_ELEC|MR_POISON, 0,
1052 	M1_ANIMAL, M2_HOSTILE, M3_INFRAVISIBLE, CLR_MAGENTA),
1053     MON("xan", S_XAN,
1054 	LVL(7, 18, -4, 0, 0), (G_GENO|3),
1055 	A(ATTK(AT_STNG, AD_LEGS, 1, 4),
1056 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1057 	SIZ(300, 300, 0, MS_BUZZ, MZ_TINY), MR_POISON, MR_POISON,
1058 	M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_POIS, M2_HOSTILE, M3_INFRAVISIBLE,
1059 	CLR_RED),
1060 /*
1061  * lights
1062  */
1063     MON("yellow light", S_LIGHT,
1064 	LVL(3, 15, 0, 0, 0), (G_NOCORPSE|G_GENO|4),
1065 	A(ATTK(AT_EXPL, AD_BLND, 10,20),
1066 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1067 	SIZ(0, 0, 0, MS_SILENT, MZ_SMALL),
1068 	MR_FIRE|MR_COLD|MR_ELEC|MR_DISINT|MR_SLEEP|MR_POISON|MR_ACID|
1069 	  MR_STONE, 0,
1070 	M1_FLY|M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|
1071 	  M1_MINDLESS|M1_UNSOLID|M1_NOTAKE,
1072 	M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_YELLOW),
1073     MON("black light", S_LIGHT,
1074 	LVL(5, 15, 0, 0, 0), (G_NOCORPSE|G_GENO|2),
1075 	A(ATTK(AT_EXPL, AD_HALU, 10,12),
1076 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1077 	SIZ(0, 0, 0, MS_SILENT, MZ_SMALL),
1078 	MR_FIRE|MR_COLD|MR_ELEC|MR_DISINT|MR_SLEEP|MR_POISON|MR_ACID|
1079 	  MR_STONE, 0,
1080 	M1_FLY|M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|
1081 	  M1_MINDLESS|M1_UNSOLID|M1_SEE_INVIS|M1_NOTAKE,
1082 	M2_HOSTILE|M2_NEUTER, 0, CLR_BLACK),
1083 /*
1084  * zruty
1085  */
1086     MON("zruty", S_ZRUTY,
1087 	LVL(9, 8, 3, 0, 0), (G_GENO|2),
1088 	A(ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4),
1089 	  ATTK(AT_BITE, AD_PHYS, 3, 6), NO_ATTK, NO_ATTK, NO_ATTK),
1090 	SIZ(1200, 600, 0, MS_SILENT, MZ_LARGE), 0, 0,
1091 	M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE,
1092 	M2_HOSTILE|M2_STRONG, M3_INFRAVISIBLE, CLR_BROWN),
1093 /*
1094  * Angels and other lawful minions
1095  */
1096     MON("couatl", S_ANGEL,
1097 	LVL(8, 10, 5, 30, 7), (G_NOHELL|G_SGROUP|G_NOCORPSE|1),
1098 	A(ATTK(AT_BITE, AD_DRST, 2, 4), ATTK(AT_BITE, AD_PHYS, 1, 3),
1099 	  ATTK(AT_HUGS, AD_WRAP, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK),
1100 	SIZ(900, 400, 0, MS_HISS, MZ_LARGE), MR_POISON, 0,
1101 	M1_FLY|M1_POIS,
1102 	M2_MINION|M2_STALK|M2_STRONG|M2_NASTY, M3_INFRAVISIBLE|M3_INFRAVISION,
1103 	CLR_GREEN),
1104     MON("Aleax", S_ANGEL,
1105 	LVL(10, 8, 0, 30, 7), (G_NOHELL|G_NOCORPSE|1),
1106 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
1107 	  ATTK(AT_KICK, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK),
1108 	SIZ(WT_HUMAN, 400, 0, MS_IMITATE, MZ_HUMAN),
1109 	MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 0,
1110 	M1_HUMANOID|M1_SEE_INVIS,
1111 	M2_MINION|M2_STALK|M2_NASTY|M2_COLLECT, M3_INFRAVISIBLE|M3_INFRAVISION,
1112 	CLR_YELLOW),
1113     MON("Angel", S_ANGEL,
1114 	LVL(14, 10, -4, 55, 12), (G_NOHELL|G_NOCORPSE|1),
1115 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
1116 	  ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_MAGC, AD_MAGM, 2, 6),
1117 	  NO_ATTK, NO_ATTK),
1118 	SIZ(WT_HUMAN, 400, sizeof(struct epri), MS_CUSS, MZ_HUMAN),
1119 	MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 0,
1120 	M1_FLY|M1_HUMANOID|M1_SEE_INVIS,
1121 	M2_NOPOLY|M2_MINION|M2_STALK|M2_STRONG|M2_NASTY|M2_COLLECT,
1122 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_WHITE),
1123     MON("ki-rin", S_ANGEL,
1124 	LVL(16, 18, -5, 90, 15), (G_NOHELL|G_NOCORPSE|1),
1125 	A(ATTK(AT_KICK, AD_PHYS, 2, 4), ATTK(AT_KICK, AD_PHYS, 2, 4),
1126 	  ATTK(AT_BUTT, AD_PHYS, 3, 6), ATTK(AT_MAGC, AD_SPEL, 2, 6),
1127 	  NO_ATTK, NO_ATTK),
1128 	SIZ(WT_HUMAN, 400, 0, MS_NEIGH, MZ_LARGE), 0, 0,
1129 	M1_FLY|M1_SEE_INVIS,
1130 	M2_NOPOLY|M2_MINION|M2_STALK|M2_STRONG|M2_NASTY|M2_LORD,
1131 	M3_INFRAVISIBLE|M3_INFRAVISION, HI_GOLD),
1132     MON("Archon", S_ANGEL,
1133 	LVL(19, 16, -6, 80, 15), (G_NOHELL|G_NOCORPSE|1),
1134 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4),
1135 	  ATTK(AT_GAZE, AD_BLND, 2, 6), ATTK(AT_CLAW, AD_PHYS, 1, 8),
1136 	  ATTK(AT_MAGC, AD_SPEL, 4, 6), NO_ATTK),
1137 	SIZ(WT_HUMAN, 400, 0, MS_CUSS, MZ_LARGE),
1138 	MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 0,
1139 	M1_FLY|M1_HUMANOID|M1_SEE_INVIS|M1_REGEN,
1140 	M2_NOPOLY|M2_MINION|M2_STALK|M2_STRONG|M2_NASTY|M2_LORD|
1141 	  M2_COLLECT|M2_MAGIC,
1142 	M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
1143 /*
1144  * Bats
1145  */
1146     MON("bat", S_BAT,
1147 	LVL(0, 22, 8, 0, 0), (G_GENO|G_SGROUP|1),
1148 	A(ATTK(AT_BITE, AD_PHYS, 1, 4),
1149 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1150 	SIZ(20, 20, 0, MS_SQEEK, MZ_TINY), 0, 0,
1151 	M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_WANDER, M3_INFRAVISIBLE,
1152 	CLR_BROWN),
1153     MON("giant bat", S_BAT,
1154 	LVL(2, 22, 7, 0, 0), (G_GENO|2),
1155 	A(ATTK(AT_BITE, AD_PHYS, 1, 6),
1156 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1157 	SIZ(30, 30, 0, MS_SQEEK, MZ_SMALL), 0, 0,
1158 	M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
1159 	M2_WANDER|M2_HOSTILE, M3_INFRAVISIBLE, CLR_RED),
1160     MON("raven", S_BAT,
1161 	LVL(4, 20, 6, 0, 0), (G_GENO|2),
1162 	A(ATTK(AT_BITE, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_BLND, 1, 6),
1163 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1164 	SIZ(40, 20, 0, MS_SQAWK, MZ_SMALL), 0, 0,
1165 	M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
1166 	M2_WANDER|M2_HOSTILE, M3_INFRAVISIBLE, CLR_BLACK),
1167     MON("vampire bat", S_BAT,
1168 	LVL(5, 20, 6, 0, 0), (G_GENO|2),
1169 	A(ATTK(AT_BITE, AD_PHYS, 1, 6), ATTK(AT_BITE, AD_DRST, 0, 0),
1170 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1171 	SIZ(30, 20, 0, MS_SQEEK, MZ_SMALL), MR_SLEEP|MR_POISON, 0,
1172 	M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_POIS|M1_REGEN|M1_OMNIVORE,
1173 	M2_HOSTILE, M3_INFRAVISIBLE, CLR_BLACK),
1174 /*
1175  * Centaurs
1176  */
1177     MON("plains centaur", S_CENTAUR,
1178 	LVL(4, 18, 4, 0, 0), (G_GENO|1),
1179 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_KICK, AD_PHYS, 1, 6),
1180 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1181 	SIZ(2500, 500, 0, MS_HUMANOID, MZ_LARGE), 0, 0,
1182 	M1_HUMANOID|M1_OMNIVORE, M2_STRONG|M2_GREEDY|M2_COLLECT,
1183 	M3_INFRAVISIBLE, CLR_BROWN),
1184     MON("forest centaur", S_CENTAUR,
1185 	LVL(5, 18, 3, 10, -1), (G_GENO|1),
1186 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_KICK, AD_PHYS, 1, 6),
1187 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1188 	SIZ(2550, 600, 0, MS_HUMANOID, MZ_LARGE), 0, 0,
1189 	M1_HUMANOID|M1_OMNIVORE, M2_STRONG|M2_GREEDY|M2_COLLECT,
1190 	M3_INFRAVISIBLE, CLR_GREEN),
1191     MON("mountain centaur", S_CENTAUR,
1192 	LVL(6, 20, 2, 10, -3), (G_GENO|1),
1193 	A(ATTK(AT_WEAP, AD_PHYS, 1,10), ATTK(AT_KICK, AD_PHYS, 1, 6),
1194 	  ATTK(AT_KICK, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK),
1195 	SIZ(2550, 500, 0, MS_HUMANOID, MZ_LARGE), 0, 0,
1196 	M1_HUMANOID|M1_OMNIVORE, M2_STRONG|M2_GREEDY|M2_COLLECT,
1197 	M3_INFRAVISIBLE, CLR_CYAN),
1198 /*
1199  * Dragons
1200  */
1201 	/* The order of the dragons is VERY IMPORTANT.  Quite a few
1202 	 * pieces of code depend on gray being first and yellow being last.
1203 	 * The code also depends on the *order* being the same as that for
1204 	 * dragon scale mail and dragon scales in objects.c.  Baby dragons
1205 	 * cannot confer intrinsics, to avoid polyself/egg abuse.
1206 	 *
1207 	 * As reptiles, dragons are cold-blooded and thus aren't seen
1208 	 * with infravision.  Red dragons are the exception.
1209 	 */
1210     MON("baby tatzelworm", S_DRAGON,
1211 	LVL(12, 9, 2, 10, 0), G_GENO,
1212 	A(ATTK(AT_BITE, AD_PHYS, 2, 6),
1213 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1214 	SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), 0, 0,
1215 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE,
1216 	M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_GRAY),
1217     MON("baby amphitere", S_DRAGON,
1218 	LVL(12, 9, 2, 10, 0), G_GENO,
1219 	A(ATTK(AT_BITE, AD_PHYS, 2, 6),
1220 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1221 	SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), 0, 0,
1222 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE,
1223 	M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, DRAGON_SILVER),
1224 #if 0	/* DEFERRED */
1225     MON("baby shimmering dragon", S_DRAGON,
1226 	LVL(12, 9, 2, 10, 0), G_GENO,
1227 	A(ATTK(AT_BITE, AD_PHYS, 2, 6),
1228 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1229 	SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), 0, 0,
1230 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE,
1231 	M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_CYAN),
1232 #endif
1233     MON("baby draken", S_DRAGON,
1234 	LVL(12, 9, 2, 10, 0), G_GENO,
1235 	A(ATTK(AT_BITE, AD_PHYS, 2, 6),
1236 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1237 	SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_FIRE, 0,
1238 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE,
1239 	M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, M3_INFRAVISIBLE, CLR_RED),
1240     MON("baby lindworm", S_DRAGON,
1241 	LVL(12, 9, 2, 10, 0), G_GENO,
1242 	A(ATTK(AT_BITE, AD_PHYS, 2, 6),
1243 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1244 	SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_COLD, 0,
1245 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE,
1246 	M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_WHITE),
1247     MON("baby sarkany", S_DRAGON,
1248 	LVL(12, 9, 2, 10, 0), G_GENO,
1249 	A(ATTK(AT_BITE, AD_PHYS, 2, 6),
1250 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1251 	SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_SLEEP, 0,
1252 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE,
1253 	M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_ORANGE),
1254     MON("baby sirrush", S_DRAGON,
1255 	LVL(12, 9, 2, 10, 0), G_GENO,
1256 	A(ATTK(AT_BITE, AD_PHYS, 2, 6),
1257 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1258 	SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_DISINT, 0,
1259 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE,
1260 	M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_BLACK),
1261     MON("baby leviathan", S_DRAGON,
1262 	LVL(12, 9, 2, 10, 0), G_GENO,
1263 	A(ATTK(AT_BITE, AD_PHYS, 2, 6),
1264 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1265 	SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_ELEC, 0,
1266 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE,
1267 	M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_BLUE),
1268     MON("baby wyvern", S_DRAGON,
1269 	LVL(12, 9, 2, 10, 0), G_GENO,
1270 	A(ATTK(AT_BITE, AD_PHYS, 2, 6),
1271 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1272 	SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_POISON, 0,
1273 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE|M1_POIS,
1274 	M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_GREEN),
1275     MON("baby gold dragon", S_DRAGON,
1276 	LVL(12, 9, 2, 10, 0), G_GENO,
1277 	A(ATTK(AT_BITE, AD_PHYS, 2, 6),
1278 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1279 	SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_FIRE, 0,
1280 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE,
1281 	M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, M3_INFRAVISIBLE, HI_GOLD),
1282     MON("baby guivre", S_DRAGON,
1283 	LVL(12, 9, 2, 10, 0), G_GENO,
1284 	A(ATTK(AT_BITE, AD_PHYS, 2, 6),
1285 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1286 	SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_ACID|MR_STONE, 0,
1287 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE|M1_ACID,
1288 	M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_YELLOW),
1289     MON("tatzelworm", S_DRAGON,
1290 	LVL(15, 9, -1, 20, 4), (G_GENO|1),
1291 	A(ATTK(AT_BREA, AD_MAGM, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8),
1292 	  ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
1293 	  NO_ATTK, NO_ATTK),
1294 	SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), 0, 0,
1295 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS|
1296 	  M1_CARNIVORE,
1297 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 0, CLR_GRAY),
1298     MON("amphitere", S_DRAGON,
1299 	LVL(15, 9, -1, 20, 4), (G_GENO|1),
1300 	A(ATTK(AT_BREA, AD_COLD, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8),
1301 	  ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
1302 	  NO_ATTK, NO_ATTK),
1303 	SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_COLD, 0,
1304 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS|
1305 	  M1_CARNIVORE,
1306 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC,
1307 	0, DRAGON_SILVER),
1308 #if 0	/* DEFERRED */
1309     MON("shimmering dragon", S_DRAGON,
1310 	LVL(15, 9, -1, 20, 4), (G_GENO|1),
1311 	A(ATTK(AT_BREA, AD_MAGM, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8),
1312 	  ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
1313 	  NO_ATTK, NO_ATTK),
1314 	SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), 0, 0,
1315 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS|
1316 	  M1_CARNIVORE,
1317 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC,
1318 	0, CLR_CYAN),
1319 #endif
1320     MON("draken", S_DRAGON,
1321 	LVL(15, 9, -1, 20, -4), (G_GENO|1),
1322 	A(ATTK(AT_BREA, AD_FIRE, 6, 6), ATTK(AT_BITE, AD_PHYS, 3, 8),
1323 	  ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
1324 	  NO_ATTK, NO_ATTK),
1325 	SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_FIRE, MR_FIRE,
1326 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS|
1327 	  M1_CARNIVORE,
1328 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC,
1329 	M3_INFRAVISIBLE, CLR_RED),
1330     MON("lindworm", S_DRAGON,
1331 	LVL(15, 9, -1, 20, -5), (G_GENO|1),
1332 	A(ATTK(AT_BREA, AD_COLD, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8),
1333 	  ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
1334 	  NO_ATTK, NO_ATTK),
1335 	SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_COLD, MR_COLD,
1336 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS|
1337 	  M1_CARNIVORE,
1338 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 0, CLR_WHITE),
1339     MON("sarkany", S_DRAGON,
1340 	LVL(15, 9, -1, 20, 5), (G_GENO|1),
1341 	A(ATTK(AT_BREA, AD_SLEE, 4,25), ATTK(AT_BITE, AD_PHYS, 3, 8),
1342 	  ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
1343 	  NO_ATTK, NO_ATTK),
1344 	SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_SLEEP, MR_SLEEP,
1345 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS|
1346 	  M1_CARNIVORE,
1347 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC,
1348 	0, CLR_ORANGE),
1349     MON("sirrush", S_DRAGON,
1350 	LVL(15, 9, -1, 20, -6), (G_GENO|1),
1351 	A(ATTK(AT_BREA, AD_DISN, 4,10), ATTK(AT_BITE, AD_PHYS, 3, 8),
1352 	  ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
1353 	  NO_ATTK, NO_ATTK),
1354 	SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_DISINT, MR_DISINT,
1355 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS|
1356 	  M1_CARNIVORE,
1357 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 0, CLR_BLACK),
1358     MON("leviathan", S_DRAGON,
1359 	LVL(15, 9, -1, 20, -7), (G_GENO|1),
1360 	A(ATTK(AT_BREA, AD_ELEC, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8),
1361 	  ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
1362 	  NO_ATTK, NO_ATTK),
1363 	SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_ELEC, MR_ELEC,
1364 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS|
1365 	  M1_CARNIVORE,
1366 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 0, CLR_BLUE),
1367     MON("wyvern", S_DRAGON,
1368 	LVL(15, 9, -1, 20, 6), (G_GENO|1),
1369 	A(ATTK(AT_BREA, AD_DRST, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8),
1370 	  ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
1371 	  NO_ATTK, NO_ATTK),
1372 	SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_POISON, MR_POISON,
1373 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS|
1374 	  M1_CARNIVORE|M1_POIS,
1375 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 0, CLR_GREEN),
1376     MON("gold dragon", S_DRAGON,
1377 	LVL(15, 9, -1, 20, -4), (G_GENO|1),
1378 	A(ATTK(AT_BREA, AD_FIRE, 6, 6), ATTK(AT_BITE, AD_PHYS, 3, 8),
1379 	  ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
1380 	  NO_ATTK, NO_ATTK),
1381 	SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_FIRE, MR_FIRE,
1382 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS|
1383 	  M1_CARNIVORE,
1384 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC,
1385 	M3_INFRAVISIBLE, HI_GOLD),
1386     MON("guivre", S_DRAGON,
1387 	LVL(15, 9, -1, 20, 7), (G_GENO|1),
1388 	A(ATTK(AT_BREA, AD_ACID, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8),
1389 	  ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
1390 	  NO_ATTK, NO_ATTK),
1391 	SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC),
1392 	MR_ACID|MR_STONE, MR_STONE,
1393 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS|
1394 	  M1_CARNIVORE|M1_ACID,
1395 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC,
1396 	0, CLR_YELLOW),
1397 /*
1398  * Elementals
1399  */
1400     MON("stalker", S_ELEMENTAL,
1401 	LVL(8, 12, 3, 0, 0), (G_GENO|3),
1402 	A(ATTK(AT_CLAW, AD_PHYS, 4, 4),
1403 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1404 	SIZ(900, 400, 0, MS_SILENT, MZ_LARGE), 0, 0,
1405 	M1_ANIMAL|M1_FLY|M1_SEE_INVIS,
1406 	M2_WANDER|M2_STALK|M2_HOSTILE|M2_STRONG, M3_INFRAVISION, CLR_WHITE),
1407     MON("air elemental", S_ELEMENTAL,
1408 	LVL(8, 36, 2, 30, 0), (G_NOCORPSE|1),
1409 	A(ATTK(AT_ENGL, AD_PHYS, 1, 10),
1410 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1411 	SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), MR_POISON|MR_STONE, 0,
1412 	M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_UNSOLID|M1_FLY,
1413 	M2_STRONG|M2_NEUTER, 0, CLR_CYAN),
1414     MON("fire elemental", S_ELEMENTAL,
1415 	LVL(8, 12, 2, 30, 0), (G_NOCORPSE|1),
1416 	A(ATTK(AT_CLAW, AD_FIRE, 3, 6), ATTK(AT_NONE, AD_FIRE, 0, 4),
1417 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1418 	SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), MR_FIRE|MR_POISON|MR_STONE, 0,
1419 	M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_UNSOLID|M1_FLY|M1_NOTAKE,
1420 	M2_STRONG|M2_NEUTER, M3_INFRAVISIBLE, CLR_YELLOW),
1421     MON("earth elemental", S_ELEMENTAL,
1422 	LVL(8, 6, 2, 30, 0), (G_NOCORPSE|1),
1423 	A(ATTK(AT_CLAW, AD_PHYS, 4, 6),
1424 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1425 	SIZ(2500, 0, 0, MS_SILENT, MZ_HUGE),
1426 	MR_FIRE|MR_COLD|MR_POISON|MR_STONE, 0,
1427 	M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_BREATHLESS|
1428 	  M1_WALLWALK|M1_THICK_HIDE,
1429 	M2_STRONG|M2_NEUTER, 0, CLR_BROWN),
1430     MON("water elemental", S_ELEMENTAL,
1431 	LVL(8, 6, 2, 30, 0), (G_NOCORPSE|1),
1432 	A(ATTK(AT_CLAW, AD_PHYS, 5, 6),
1433 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1434 	SIZ(2500, 0, 0, MS_SILENT, MZ_HUGE), MR_POISON|MR_STONE, 0,
1435 	M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_AMPHIBIOUS|M1_SWIM,
1436 	M2_STRONG|M2_NEUTER, 0, CLR_BLUE),
1437 /*
1438  * Fungi
1439  */
1440     MON("lichen", S_FUNGUS,
1441 	LVL(0, 1, 9, 0, 0), (G_GENO|4),
1442 	A(ATTK(AT_TUCH, AD_STCK, 0, 0),
1443 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1444 	SIZ(20, 200, 0, MS_SILENT, MZ_SMALL), 0, 0,
1445 	M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_NOTAKE,
1446 	M2_HOSTILE|M2_NEUTER, 0, CLR_BRIGHT_GREEN),
1447     MON("brown mold", S_FUNGUS,
1448 	LVL(1, 0, 9, 0, 0), (G_GENO|1),
1449 	A(ATTK(AT_NONE, AD_COLD, 0, 6),
1450 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1451 	SIZ(50, 30, 0, MS_SILENT, MZ_SMALL),
1452 	MR_COLD|MR_POISON, MR_COLD|MR_POISON,
1453 	M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_NOTAKE,
1454 	M2_HOSTILE|M2_NEUTER, 0, CLR_BROWN),
1455     MON("yellow mold", S_FUNGUS,
1456 	LVL(1, 0, 9, 0, 0), (G_GENO|2),
1457 	A(ATTK(AT_NONE, AD_STUN, 0, 4),
1458 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1459 	SIZ(50, 30, 0, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON,
1460 	M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_POIS|M1_NOTAKE,
1461 	M2_HOSTILE|M2_NEUTER, 0, CLR_YELLOW),
1462     MON("green mold", S_FUNGUS,
1463 	LVL(1, 0, 9, 0, 0), (G_GENO|1),
1464 	A(ATTK(AT_NONE, AD_ACID, 0, 4),
1465 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1466 	SIZ(50, 30, 0, MS_SILENT, MZ_SMALL), MR_ACID|MR_STONE, MR_STONE,
1467 	M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_ACID|M1_NOTAKE,
1468 	M2_HOSTILE|M2_NEUTER, 0, CLR_GREEN),
1469     MON("red mold", S_FUNGUS,
1470 	LVL(1, 0, 9, 0, 0), (G_GENO|1),
1471 	A(ATTK(AT_NONE, AD_FIRE, 0, 4),
1472 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1473 	SIZ(50, 30, 0, MS_SILENT, MZ_SMALL),
1474 	MR_FIRE|MR_POISON, MR_FIRE|MR_POISON,
1475 	M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_NOTAKE,
1476 	M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_RED),
1477     MON("shrieker", S_FUNGUS,
1478 	LVL(3, 1, 7, 0, 0), (G_GENO|1),
1479 	A(NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1480 	SIZ(100, 100, 0, MS_SHRIEK, MZ_SMALL), MR_POISON, MR_POISON,
1481 	M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_NOTAKE,
1482 	M2_HOSTILE|M2_NEUTER, 0, CLR_MAGENTA),
1483     MON("violet fungus", S_FUNGUS,
1484 	LVL(3, 1, 7, 0, 0), (G_GENO|2),
1485 	A(ATTK(AT_TUCH, AD_PHYS, 1, 4), ATTK(AT_TUCH, AD_STCK, 0, 0),
1486 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1487 	SIZ(100, 100, 0, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON,
1488 	M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_NOTAKE,
1489 	M2_HOSTILE|M2_NEUTER, 0, CLR_MAGENTA),
1490 /*
1491  * Gnomes
1492  */
1493     MON("gnome", S_GNOME,
1494 	LVL(1, 6, 10, 4, 0), (G_GENO|G_SGROUP|1),
1495 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
1496 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1497 	SIZ(650, 100, 0, MS_ORC, MZ_SMALL), 0, 0,
1498 	M1_HUMANOID|M1_OMNIVORE, M2_NOPOLY|M2_GNOME|M2_COLLECT,
1499 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BROWN),
1500     MON("gnome lord", S_GNOME,
1501 	LVL(3, 8, 10, 4, 0), (G_GENO|2),
1502 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8),
1503 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1504 	SIZ(700, 120, 0, MS_ORC, MZ_SMALL), 0, 0,
1505 	M1_HUMANOID|M1_OMNIVORE, M2_GNOME|M2_LORD|M2_MALE|M2_COLLECT,
1506 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BLUE),
1507     MON("gnomish wizard", S_GNOME,
1508 	LVL(3, 10, 4, 10, 0), (G_GENO|1),
1509 	A(ATTK(AT_MAGC, AD_SPEL, 0, 0),
1510 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1511 	SIZ(700, 120, 0, MS_ORC, MZ_SMALL), 0, 0,
1512 	M1_HUMANOID|M1_OMNIVORE, M2_GNOME|M2_MAGIC,
1513 	M3_INFRAVISIBLE|M3_INFRAVISION, HI_ZAP),
1514     MON("gnome king", S_GNOME,
1515 	LVL(5, 10, 10, 20, 0), (G_GENO|1),
1516 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6),
1517 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1518 	SIZ(750, 150, 0, MS_ORC, MZ_SMALL), 0, 0,
1519 	M1_HUMANOID|M1_OMNIVORE, M2_GNOME|M2_PRINCE|M2_MALE|M2_COLLECT,
1520 	M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
1521 #ifdef SPLITMON_1
1522 };
1523 #endif
1524 #endif /* !SPLITMON_2 */
1525 
1526 /* horrible kludge alert:
1527  * This is a compiler-specific kludge to allow the compilation of monst.o in
1528  * two pieces, by defining first SPLITMON_1 and then SPLITMON_2. The
1529  * resulting assembler files (monst1.s and monst2.s) are then run through
1530  * sed to change local symbols, concatenated together, and assembled to
1531  * produce monst.o. THIS ONLY WORKS WITH THE ATARI GCC, and should only
1532  * be done if you don't have enough memory to compile monst.o the "normal"
1533  * way.  --ERS
1534  */
1535 
1536 #ifndef SPLITMON_1
1537 #ifdef SPLITMON_2
1538 struct permonst _mons2[] = {
1539 #endif
1540 /*
1541  * giant Humanoids
1542  */
1543     MON("giant", S_GIANT,
1544 	LVL(6, 6, 0, 0, 2), (G_GENO|G_NOGEN|1),
1545 	A(ATTK(AT_WEAP, AD_PHYS, 2,10),
1546 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1547 	SIZ(2250, 750, 0, MS_BOAST, MZ_HUGE), 0, 0,
1548 	M1_HUMANOID|M1_CARNIVORE,
1549 	M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS,
1550 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED),
1551     MON("stone giant", S_GIANT,
1552 	LVL(6, 6, 0, 0, 2), (G_GENO|G_SGROUP|1),
1553 	A(ATTK(AT_WEAP, AD_PHYS, 2,10),
1554 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1555 	SIZ(2250, 750, 0, MS_BOAST, MZ_HUGE), 0, 0,
1556 	M1_HUMANOID|M1_CARNIVORE,
1557 	M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS,
1558 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GRAY),
1559     MON("hill giant", S_GIANT,
1560 	LVL(8, 10, 6, 0, -2), (G_GENO|G_SGROUP|1),
1561 	A(ATTK(AT_WEAP, AD_PHYS, 2, 8),
1562 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1563 	SIZ(2200, 700, 0, MS_BOAST, MZ_HUGE), 0, 0,
1564 	M1_HUMANOID|M1_CARNIVORE,
1565 	M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS,
1566 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_CYAN),
1567     MON("fire giant", S_GIANT,
1568 	LVL(9, 12, 4, 5, 2), (G_GENO|G_SGROUP|1),
1569 	A(ATTK(AT_WEAP, AD_PHYS, 2,10),
1570 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1571 	SIZ(2250, 750, 0, MS_BOAST, MZ_HUGE), MR_FIRE, MR_FIRE,
1572 	M1_HUMANOID|M1_CARNIVORE,
1573 	M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS,
1574 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_YELLOW),
1575     MON("frost giant", S_GIANT,
1576 	LVL(10, 12, 3, 10, -3), (G_NOHELL|G_GENO|G_SGROUP|1),
1577 	A(ATTK(AT_WEAP, AD_PHYS, 2,12),
1578 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1579 	SIZ(2250, 750, 0, MS_BOAST, MZ_HUGE), MR_COLD, MR_COLD,
1580 	M1_HUMANOID|M1_CARNIVORE,
1581 	M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS,
1582 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_WHITE),
1583     MON("storm giant", S_GIANT,
1584 	LVL(16, 12, 3, 10, -3), (G_GENO|G_SGROUP|1),
1585 	A(ATTK(AT_WEAP, AD_PHYS, 2, 12),
1586 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1587 	SIZ(2250, 750, 0, MS_BOAST, MZ_HUGE), MR_ELEC, MR_ELEC,
1588 	M1_HUMANOID|M1_CARNIVORE,
1589 	M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS,
1590 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BLUE),
1591     MON("ettin", S_GIANT,
1592 	LVL(10, 12, 3, 0, 0), (G_GENO|1),
1593 	A(ATTK(AT_WEAP, AD_PHYS, 2, 8), ATTK(AT_WEAP, AD_PHYS, 3, 6),
1594 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1595 	SIZ(1700, 500, 0, MS_GRUNT, MZ_HUGE), 0, 0,
1596 	M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE,
1597 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_COLLECT,
1598 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BROWN),
1599     MON("titan", S_GIANT,
1600 	LVL(16, 18, -3, 70, 9), (1),
1601 	A(ATTK(AT_WEAP, AD_PHYS, 2, 8), ATTK(AT_MAGC, AD_SPEL, 0, 0),
1602 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1603 	SIZ(2300, 900, 0, MS_SPELL, MZ_HUGE), 0, 0,
1604 	M1_FLY|M1_HUMANOID|M1_OMNIVORE,
1605 	M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_MAGIC,
1606 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_MAGENTA),
1607     MON("minotaur", S_GIANT,
1608 	LVL(15, 15, 6, 0, 0), (G_GENO|G_NOGEN),
1609 	A(ATTK(AT_CLAW, AD_PHYS, 3,10), ATTK(AT_CLAW, AD_PHYS, 3,10),
1610 	  ATTK(AT_BUTT, AD_PHYS, 2, 8), NO_ATTK, NO_ATTK, NO_ATTK),
1611 	SIZ(1500, 700, 0, MS_SILENT, MZ_LARGE), 0, 0,
1612 	M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE,
1613 	M2_HOSTILE|M2_STRONG|M2_NASTY, M3_INFRAVISIBLE|M3_INFRAVISION,
1614 	CLR_BROWN),
1615 /* 'I' is a visual marker for all invisible monsters and must be unused */
1616 /*
1617  * Jabberwock
1618  */
1619     MON("jabberwock", S_JABBERWOCK,
1620 	LVL(15, 12, -2, 50, 0), (G_GENO|1),
1621 	A(ATTK(AT_BITE, AD_PHYS, 2,10), ATTK(AT_BITE, AD_PHYS, 2,10),
1622 	  ATTK(AT_CLAW, AD_PHYS, 2,10), ATTK(AT_CLAW, AD_PHYS, 2,10),
1623 	  NO_ATTK, NO_ATTK),
1624 	SIZ(1300, 600, 0, MS_BURBLE, MZ_LARGE), 0, 0,
1625 	M1_ANIMAL|M1_FLY|M1_CARNIVORE,
1626 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_COLLECT, M3_INFRAVISIBLE, CLR_ORANGE),
1627     MON("vorpal jabberwock", S_JABBERWOCK,
1628 	LVL(20, 12, -2, 50, 0), (G_GENO|1),
1629 	A(ATTK(AT_BITE, AD_PHYS, 3, 10), ATTK(AT_BITE, AD_PHYS, 3, 10),
1630 	  ATTK(AT_CLAW, AD_HEAD, 3, 10), ATTK(AT_CLAW, AD_HEAD, 3, 10),
1631 	  NO_ATTK, NO_ATTK),
1632 	SIZ(1300, 600, 0, MS_BURBLE, MZ_LARGE), 0, 0,
1633 	M1_ANIMAL|M1_FLY|M1_CARNIVORE,
1634 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_COLLECT, M3_INFRAVISIBLE, HI_LORD),
1635 #ifdef KOPS
1636 /*
1637  * Kops
1638  */
1639     MON("Keystone Kop", S_KOP,
1640 	LVL(1, 6, 10, 10, 9), (G_GENO|G_LGROUP|G_NOGEN),
1641 	A(ATTK(AT_WEAP, AD_PHYS, 1, 4),
1642 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1643 	SIZ(WT_HUMAN, 200, 0, MS_ARREST, MZ_HUMAN), 0, 0, M1_HUMANOID,
1644 	M2_HUMAN|M2_WANDER|M2_HOSTILE|M2_MALE|M2_COLLECT, M3_INFRAVISIBLE,
1645 	CLR_BLUE),
1646     MON("Kop Sergeant", S_KOP,
1647 	LVL(2, 8, 10, 10, 10), (G_GENO|G_SGROUP|G_NOGEN),
1648 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
1649 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1650 	SIZ(WT_HUMAN, 200, 0, MS_ARREST, MZ_HUMAN), 0, 0, M1_HUMANOID,
1651 	M2_HUMAN|M2_WANDER|M2_HOSTILE|M2_STRONG|M2_MALE|M2_COLLECT,
1652 	M3_INFRAVISIBLE, CLR_BLUE),
1653     MON("Kop Lieutenant", S_KOP,
1654 	LVL(3, 10, 10, 20, 11), (G_GENO|G_NOGEN),
1655 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8),
1656 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1657 	SIZ(WT_HUMAN, 200, 0, MS_ARREST, MZ_HUMAN), 0, 0, M1_HUMANOID,
1658 	M2_HUMAN|M2_WANDER|M2_HOSTILE|M2_STRONG|M2_MALE|M2_COLLECT,
1659 	M3_INFRAVISIBLE, CLR_CYAN),
1660     MON("Kop Kaptain", S_KOP,
1661 	LVL(4, 12, 10, 20, 12), (G_GENO|G_NOGEN),
1662 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6),
1663 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1664 	SIZ(WT_HUMAN, 200, 0, MS_ARREST, MZ_HUMAN), 0, 0, M1_HUMANOID,
1665 	M2_HUMAN|M2_WANDER|M2_HOSTILE|M2_STRONG|M2_MALE|M2_COLLECT,
1666 	M3_INFRAVISIBLE, HI_LORD),
1667 #endif
1668 /*
1669  * Liches
1670  */
1671     MON("lich", S_LICH,
1672 	LVL(11, 6, 0, 30, -9), (G_GENO|G_NOCORPSE|1),
1673 	A(ATTK(AT_TUCH, AD_COLD, 1,10), ATTK(AT_MAGC, AD_SPEL, 0, 0),
1674 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1675 	SIZ(1200, 100, 0, MS_MUMBLE, MZ_HUMAN),
1676 	MR_COLD|MR_SLEEP|MR_POISON, MR_COLD,
1677 	M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN,
1678 	M2_UNDEAD|M2_HOSTILE|M2_MAGIC, M3_INFRAVISION, CLR_BROWN),
1679     MON("demilich", S_LICH,
1680 	LVL(14, 9, -2, 60, -12), (G_GENO|G_NOCORPSE|1),
1681 	A(ATTK(AT_TUCH, AD_COLD, 3, 4), ATTK(AT_MAGC, AD_SPEL, 0, 0),
1682 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1683 	SIZ(1200, 100, 0, MS_MUMBLE, MZ_HUMAN),
1684 	MR_COLD|MR_SLEEP|MR_POISON, MR_COLD,
1685 	M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN,
1686 	M2_UNDEAD|M2_HOSTILE|M2_MAGIC, M3_INFRAVISION, CLR_RED),
1687     MON("master lich", S_LICH,
1688 	LVL(17, 9, -4, 90, -15), (G_HELL|G_GENO|G_NOCORPSE|1),
1689 	A(ATTK(AT_TUCH, AD_COLD, 3, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0),
1690 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1691 	SIZ(1200, 100, 0, MS_MUMBLE, MZ_HUMAN),
1692 	MR_FIRE|MR_COLD|MR_SLEEP|MR_POISON, MR_FIRE|MR_COLD,
1693 	M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN,
1694 	M2_UNDEAD|M2_HOSTILE|M2_MAGIC, M3_WANTSBOOK|M3_INFRAVISION, HI_LORD),
1695     MON("arch-lich", S_LICH,
1696 	LVL(25, 9, -6, 90, -15), (G_HELL|G_GENO|G_NOCORPSE|1),
1697 	A(ATTK(AT_TUCH, AD_COLD, 5, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0),
1698 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1699 	SIZ(1200, 100, 0, MS_MUMBLE, MZ_HUMAN),
1700 	MR_FIRE|MR_COLD|MR_SLEEP|MR_ELEC|MR_POISON, MR_FIRE|MR_COLD,
1701 	M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN,
1702 	M2_UNDEAD|M2_HOSTILE|M2_MAGIC, M3_WANTSBOOK|M3_INFRAVISION, HI_LORD),
1703 /*
1704  * Mummies
1705  */
1706     MON("kobold mummy", S_MUMMY,
1707 	LVL(3, 8, 6, 20, -2), (G_GENO|G_NOCORPSE|1),
1708 	A(ATTK(AT_CLAW, AD_PHYS, 1, 4),
1709 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1710 	SIZ(400, 50, 0, MS_SILENT, MZ_SMALL), MR_COLD|MR_SLEEP|MR_POISON, 0,
1711 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS,
1712 	M2_UNDEAD|M2_HOSTILE, M3_INFRAVISION, CLR_BROWN),
1713     MON("gnome mummy", S_MUMMY,
1714 	LVL(4, 10, 6, 20, -3), (G_GENO|G_NOCORPSE|1),
1715 	A(ATTK(AT_CLAW, AD_PHYS, 1, 6),
1716 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1717 	SIZ(650, 50, 0, MS_SILENT, MZ_SMALL), MR_COLD|MR_SLEEP|MR_POISON, 0,
1718 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS,
1719 	M2_UNDEAD|M2_HOSTILE|M2_GNOME, M3_INFRAVISION, CLR_RED),
1720     MON("orc mummy", S_MUMMY,
1721 	LVL(5, 10, 5, 20, -4), (G_GENO|G_NOCORPSE|1),
1722 	A(ATTK(AT_CLAW, AD_PHYS, 1, 6),
1723 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1724 	SIZ(850, 75, 0, MS_SILENT, MZ_HUMAN), MR_COLD|MR_SLEEP|MR_POISON, 0,
1725 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS,
1726 	M2_UNDEAD|M2_HOSTILE|M2_ORC|M2_GREEDY|M2_JEWELS, M3_INFRAVISION,
1727 	CLR_GRAY),
1728     MON("dwarf mummy", S_MUMMY,
1729 	LVL(5, 10, 5, 20, -4), (G_GENO|G_NOCORPSE|1),
1730 	A(ATTK(AT_CLAW, AD_PHYS, 1, 6),
1731 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1732 	SIZ(900, 150, 0, MS_SILENT, MZ_HUMAN), MR_COLD|MR_SLEEP|MR_POISON, 0,
1733 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS,
1734 	M2_UNDEAD|M2_HOSTILE|M2_DWARF|M2_GREEDY|M2_JEWELS, M3_INFRAVISION,
1735 	CLR_RED),
1736     MON("elf mummy", S_MUMMY,
1737 	LVL(6, 12, 4, 30, -5), (G_GENO|G_NOCORPSE|1),
1738 	A(ATTK(AT_CLAW, AD_PHYS, 2, 4),
1739 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1740 	SIZ(WT_ELF, 175, 0, MS_SILENT, MZ_HUMAN),
1741 	MR_COLD|MR_SLEEP|MR_POISON, 0,
1742 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS,
1743 	M2_UNDEAD|M2_HOSTILE|M2_ELF, M3_INFRAVISION, CLR_GREEN),
1744     MON("human mummy", S_MUMMY,
1745 	LVL(6, 12, 4, 30, -5), (G_GENO|G_NOCORPSE|1),
1746 	A(ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4),
1747 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1748 	SIZ(WT_HUMAN, 200, 0, MS_SILENT, MZ_HUMAN),
1749 	MR_COLD|MR_SLEEP|MR_POISON, 0,
1750 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS,
1751 	M2_UNDEAD|M2_HOSTILE, M3_INFRAVISION, CLR_GRAY),
1752     MON("ettin mummy", S_MUMMY,
1753 	LVL(7, 12, 4, 30, -6), (G_GENO|G_NOCORPSE|1),
1754 	A(ATTK(AT_CLAW, AD_PHYS, 2, 6), ATTK(AT_CLAW, AD_PHYS, 2, 6),
1755 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1756 	SIZ(1700, 250, 0, MS_SILENT, MZ_HUGE),
1757 	MR_COLD|MR_SLEEP|MR_POISON, 0,
1758 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS,
1759 	M2_UNDEAD|M2_HOSTILE|M2_STRONG, M3_INFRAVISION, CLR_BLUE),
1760     MON("giant mummy", S_MUMMY,
1761 	LVL(8, 14, 3, 30, -7), (G_GENO|G_NOCORPSE|1),
1762 	A(ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4),
1763 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1764 	SIZ(2050, 375, 0, MS_SILENT, MZ_HUGE),
1765 	MR_COLD|MR_SLEEP|MR_POISON, 0,
1766 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS,
1767 	M2_UNDEAD|M2_HOSTILE|M2_GIANT|M2_STRONG|M2_JEWELS, M3_INFRAVISION,
1768 	CLR_CYAN),
1769 /*
1770  * Nagas
1771  */
1772     MON("red naga hatchling", S_NAGA,
1773 	LVL(3, 10, 6, 0, 0), G_GENO,
1774 	A(ATTK(AT_BITE, AD_PHYS, 1, 4),
1775 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1776 	SIZ(500, 100, 0, MS_MUMBLE, MZ_LARGE),
1777 	MR_FIRE|MR_POISON, MR_FIRE|MR_POISON,
1778 	M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_NOTAKE|M1_OMNIVORE, M2_STRONG,
1779 	M3_INFRAVISIBLE, CLR_RED),
1780     MON("black naga hatchling", S_NAGA,
1781 	LVL(3, 10, 6, 0, 0), G_GENO,
1782 	A(ATTK(AT_BITE, AD_PHYS, 1, 4),
1783 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1784 	SIZ(500, 100, 0, MS_MUMBLE, MZ_LARGE),
1785 	MR_POISON|MR_ACID|MR_STONE, MR_POISON|MR_STONE,
1786 	M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_ACID|M1_NOTAKE|M1_CARNIVORE,
1787 	M2_STRONG, 0, CLR_BLACK),
1788     MON("golden naga hatchling", S_NAGA,
1789 	LVL(3, 10, 6, 0, 0), G_GENO,
1790 	A(ATTK(AT_BITE, AD_PHYS, 1, 4),
1791 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1792 	SIZ(500, 100, 0, MS_MUMBLE, MZ_LARGE), MR_POISON, MR_POISON,
1793 	M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_NOTAKE|M1_OMNIVORE,
1794 	M2_STRONG, 0, HI_GOLD),
1795     MON("guardian naga hatchling", S_NAGA,
1796 	LVL(3, 10, 6, 0, 0), G_GENO,
1797 	A(ATTK(AT_BITE, AD_PHYS, 1, 4),
1798 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1799 	SIZ(500, 100, 0, MS_MUMBLE, MZ_LARGE), MR_POISON, MR_POISON,
1800 	M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_NOTAKE|M1_OMNIVORE,
1801 	M2_STRONG, 0, CLR_GREEN),
1802     MON("red naga", S_NAGA,
1803 	LVL(6, 12, 4, 0, -4), (G_GENO|1),
1804 	A(ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_BREA, AD_FIRE, 2, 6),
1805 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1806 	SIZ(2600, 400, 0, MS_MUMBLE, MZ_HUGE),
1807 	MR_FIRE|MR_POISON, MR_FIRE|MR_POISON,
1808 	M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_OVIPAROUS|M1_NOTAKE|M1_OMNIVORE,
1809 	M2_STRONG, M3_INFRAVISIBLE, CLR_RED),
1810     MON("black naga", S_NAGA,
1811 	LVL(8, 14, 2, 10, 4), (G_GENO|1),
1812 	A(ATTK(AT_BITE, AD_PHYS, 2, 6), ATTK(AT_SPIT, AD_ACID, 0, 0),
1813 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1814 	SIZ(2600, 400, 0, MS_MUMBLE, MZ_HUGE),
1815 	MR_POISON|MR_ACID|MR_STONE, MR_POISON|MR_STONE,
1816 	M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_OVIPAROUS|M1_ACID|M1_NOTAKE|
1817 	  M1_CARNIVORE,
1818 	M2_STRONG, 0, CLR_BLACK),
1819     MON("golden naga", S_NAGA,
1820 	LVL(10, 14, 2, 70, 5), (G_GENO|1),
1821 	A(ATTK(AT_BITE, AD_PHYS, 2, 6), ATTK(AT_MAGC, AD_SPEL, 4, 6),
1822 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1823 	SIZ(2600, 400, 0, MS_MUMBLE, MZ_HUGE), MR_POISON, MR_POISON,
1824 	M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_OVIPAROUS|M1_NOTAKE|M1_OMNIVORE,
1825 	M2_STRONG, 0, HI_GOLD),
1826     MON("guardian naga", S_NAGA,
1827 	LVL(12, 16, 0, 50, 7), (G_GENO|1),
1828 	A(ATTK(AT_BITE, AD_PLYS, 1, 6), ATTK(AT_SPIT, AD_DRST, 1, 6),
1829 	  ATTK(AT_HUGS, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK),
1830 	SIZ(2600, 400, 0, MS_MUMBLE, MZ_HUGE), MR_POISON, MR_POISON,
1831 	M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_OVIPAROUS|M1_POIS|M1_NOTAKE|
1832 	  M1_OMNIVORE,
1833 	M2_STRONG, 0, CLR_GREEN),
1834 /*
1835  * Ogres
1836  */
1837     MON("ogre", S_OGRE,
1838 	LVL(5, 10, 5, 0, -3), (G_SGROUP|G_GENO|1),
1839 	A(ATTK(AT_WEAP, AD_PHYS, 2, 5),
1840 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1841 	SIZ(1600, 500, 0, MS_GRUNT, MZ_LARGE), 0, 0, M1_HUMANOID|M1_CARNIVORE,
1842 	M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT,
1843 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BROWN),
1844     MON("ogre lord", S_OGRE,
1845 	LVL(7, 12, 3, 30, -5), (G_GENO|2),
1846 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6),
1847 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1848 	SIZ(1700, 700, 0, MS_GRUNT, MZ_LARGE), 0, 0, M1_HUMANOID|M1_CARNIVORE,
1849 	M2_STRONG|M2_LORD|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT,
1850 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED),
1851     MON("ogre king", S_OGRE,
1852 	LVL(9, 14, 4, 60, -7), (G_GENO|2),
1853 	A(ATTK(AT_WEAP, AD_PHYS, 3, 5),
1854 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1855 	SIZ(1700, 750, 0, MS_GRUNT, MZ_LARGE), 0, 0, M1_HUMANOID|M1_CARNIVORE,
1856 	M2_STRONG|M2_PRINCE|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT,
1857 	M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
1858 /*
1859  * Puddings
1860  */
1861     MON("gray ooze", S_PUDDING,
1862 	LVL(3, 1, 8, 0, 0), (G_GENO|2),
1863 	A(ATTK(AT_BITE, AD_RUST, 2, 8),
1864 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1865 	SIZ(500, 250, 0, MS_SILENT, MZ_MEDIUM),
1866 	MR_FIRE|MR_COLD|MR_POISON|MR_ACID|MR_STONE, MR_FIRE|MR_COLD|MR_POISON,
1867 	M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|
1868 	  M1_MINDLESS|M1_OMNIVORE|M1_ACID,
1869 	M2_HOSTILE|M2_NEUTER, 0, CLR_GRAY),
1870     MON("brown pudding", S_PUDDING,
1871 	LVL(5, 3, 8, 0, 0), (G_GENO|1),
1872 	A(ATTK(AT_BITE, AD_DCAY, 0, 0),
1873 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1874 	SIZ(500, 250, 0, MS_SILENT, MZ_MEDIUM),
1875 	MR_COLD|MR_ELEC|MR_POISON|MR_ACID|MR_STONE, MR_COLD|MR_ELEC|MR_POISON,
1876 	M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|
1877 	  M1_MINDLESS|M1_OMNIVORE|M1_ACID,
1878 	M2_HOSTILE|M2_NEUTER, 0, CLR_BROWN),
1879     MON("black pudding", S_PUDDING,
1880 	LVL(10, 6, 6, 0, 0), (G_GENO|1),
1881 	A(ATTK(AT_BITE, AD_CORR, 3, 8), ATTK(AT_NONE, AD_CORR, 0, 0),
1882 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1883 	SIZ(900, 250, 0, MS_SILENT, MZ_LARGE),
1884 	MR_COLD|MR_ELEC|MR_POISON|MR_ACID|MR_STONE, MR_COLD|MR_ELEC|MR_POISON,
1885 	M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|
1886 	  M1_MINDLESS|M1_OMNIVORE|M1_ACID,
1887 	M2_HOSTILE|M2_NEUTER, 0, CLR_BLACK),
1888     MON("green slime", S_PUDDING,
1889 	LVL(6, 6, 6, 0, 0), (G_HELL|G_GENO|1),
1890 	A(ATTK(AT_TUCH, AD_SLIM, 1, 4), ATTK(AT_NONE, AD_SLIM, 0, 0),
1891 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1892 	SIZ(400, 150, 0, MS_SILENT, MZ_LARGE),
1893 	MR_COLD|MR_ELEC|MR_POISON|MR_ACID|MR_STONE, 0,
1894 	M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|
1895 	  M1_MINDLESS|M1_OMNIVORE|M1_ACID|M1_POIS,
1896 	M2_HOSTILE|M2_NEUTER, 0, CLR_GREEN),
1897 /*
1898  * Quantum mechanics
1899  */
1900     MON("quantum mechanic", S_QUANTMECH,
1901 	LVL(7, 12, 3, 10, 0), (G_GENO|3),
1902 	A(ATTK(AT_CLAW, AD_TLPT, 1, 4),
1903 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1904 	SIZ(WT_HUMAN, 20, 0, MS_HUMANOID, MZ_HUMAN), MR_POISON, 0,
1905 	M1_HUMANOID|M1_OMNIVORE|M1_POIS|M1_TPORT, M2_HOSTILE, M3_INFRAVISIBLE,
1906 	CLR_CYAN),
1907 /*
1908  * Rust monster or disenchanter
1909  */
1910     MON("rust monster", S_RUSTMONST,
1911 	LVL(5, 18, 2, 0, 0), (G_GENO|2),
1912 	A(ATTK(AT_TUCH, AD_RUST, 0, 0), ATTK(AT_TUCH, AD_RUST, 0, 0),
1913 	  ATTK(AT_NONE, AD_RUST, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK),
1914 	SIZ(1000, 250, 0, MS_SILENT, MZ_MEDIUM), 0, 0,
1915 	M1_SWIM|M1_ANIMAL|M1_NOHANDS|M1_METALLIVORE, M2_HOSTILE,
1916 	M3_INFRAVISIBLE, CLR_BROWN),
1917     MON("disenchanter", S_RUSTMONST,
1918 	LVL(12, 12, -10, 0, -3), (G_HELL|G_GENO|2),
1919 	A(ATTK(AT_CLAW, AD_ENCH, 4, 4), ATTK(AT_NONE, AD_ENCH, 0, 0),
1920 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1921 	SIZ(750, 200, 0, MS_GROWL, MZ_LARGE), 0, 0,
1922 	M1_ANIMAL|M1_CARNIVORE, M2_HOSTILE,
1923 	M3_INFRAVISIBLE, CLR_BLUE),
1924 #ifdef WEBB_DISINT
1925     MON("disintegrator", S_RUSTMONST,
1926 	LVL(18, 8, 0, 20, -3), (G_HELL|G_GENO|G_NOCORPSE|1),
1927 	A(ATTK(AT_CLAW, AD_DISN, 4, 4), /* don't want passive, disintegration
1928 	                                   has to intercept attacks */
1929 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1930 	SIZ(1000, 0, 0, MS_HISS, MZ_LARGE), MR_DISINT|MR_STONE, 0,
1931 	M1_ANIMAL|M1_TUNNEL|M1_NOTAKE|M1_NOHANDS|M1_REGEN,
1932 	M2_NOPOLY|M2_HOSTILE|M2_WANDER|M2_NASTY,
1933 	M3_INFRAVISIBLE, CLR_BRIGHT_GREEN),
1934 #endif
1935 /*
1936  * Snakes
1937  */
1938     MON("garter snake", S_SNAKE,
1939 	LVL(1, 8, 8, 0, 0), (G_LGROUP|G_GENO|1),
1940 	A(ATTK(AT_BITE, AD_PHYS, 1, 2),
1941 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1942 	SIZ(50, 60, 0, MS_HISS, MZ_TINY), 0, 0,
1943 	M1_SWIM|M1_CONCEAL|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_OVIPAROUS|
1944 	  M1_CARNIVORE|M1_NOTAKE,
1945 	0, 0, CLR_GREEN),
1946     MON("snake", S_SNAKE,
1947 	LVL(4, 15, 3, 0, 0), (G_GENO|2),
1948 	A(ATTK(AT_BITE, AD_DRST, 1, 6),
1949 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1950 	SIZ(100, 80, 0, MS_HISS, MZ_SMALL), MR_POISON, MR_POISON,
1951 	M1_SWIM|M1_CONCEAL|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_POIS|
1952 	  M1_OVIPAROUS|M1_CARNIVORE|M1_NOTAKE,
1953 	M2_HOSTILE, 0, CLR_BROWN),
1954     MON("water moccasin", S_SNAKE,
1955 	LVL(4, 15, 3, 0, 0), (G_GENO|G_NOGEN|G_LGROUP),
1956 	A(ATTK(AT_BITE, AD_DRST, 1, 6),
1957 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1958 	SIZ(150, 80, 0, MS_HISS, MZ_SMALL), MR_POISON, MR_POISON,
1959 	M1_SWIM|M1_CONCEAL|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_POIS|
1960 	  M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE,
1961 	M2_HOSTILE, 0, CLR_RED),
1962     MON("pit viper", S_SNAKE,
1963 	LVL(6, 15, 2, 0, 0), (G_GENO|1),
1964 	A(ATTK(AT_BITE, AD_DRST, 1, 4), ATTK(AT_BITE, AD_DRST, 1, 4),
1965 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1966 	SIZ(100, 60, 0, MS_HISS, MZ_MEDIUM),
1967 	MR_POISON, MR_POISON,
1968 	M1_SWIM|M1_CONCEAL|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_POIS|
1969 	  M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE,
1970 	M2_HOSTILE, M3_INFRAVISION, CLR_BLUE),
1971     MON("python", S_SNAKE,
1972 	LVL(6, 3, 5, 0, 0), (G_GENO|1),
1973 	A(ATTK(AT_BITE, AD_PHYS, 1, 4), ATTK(AT_TUCH, AD_PHYS, 0, 0),
1974 	  ATTK(AT_HUGS, AD_WRAP, 1, 4), ATTK(AT_HUGS, AD_PHYS, 2, 4),
1975 	  NO_ATTK, NO_ATTK),
1976 	SIZ(250, 100, 0, MS_HISS, MZ_LARGE), 0, 0,
1977 	M1_SWIM|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|
1978 	  M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE,
1979 	M2_HOSTILE|M2_STRONG, M3_INFRAVISION, CLR_MAGENTA),
1980     MON("cobra", S_SNAKE,
1981 	LVL(6, 18, 2, 0, 0), (G_GENO|1),
1982 	A(ATTK(AT_BITE, AD_DRST, 2, 4), ATTK(AT_SPIT, AD_BLND, 0, 0),
1983 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1984 	SIZ(250, 100, 0, MS_HISS, MZ_MEDIUM),
1985 	MR_POISON, MR_POISON,
1986 	M1_SWIM|M1_CONCEAL|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_POIS|
1987 	  M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE,
1988 	M2_HOSTILE, 0, CLR_BLUE),
1989 /*
1990  * Trolls
1991  */
1992     MON("troll", S_TROLL,
1993 	LVL(7, 12, 4, 0, -3), (G_GENO|2),
1994 	A(ATTK(AT_WEAP, AD_PHYS, 4, 2), ATTK(AT_CLAW, AD_PHYS, 4, 2),
1995 	  ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
1996 	SIZ(800, 350, 0, MS_GRUNT, MZ_LARGE), 0, 0,
1997 	M1_HUMANOID|M1_REGEN|M1_CARNIVORE,
1998 	M2_STRONG|M2_STALK|M2_HOSTILE, M3_INFRAVISIBLE|M3_INFRAVISION,
1999 	CLR_BROWN),
2000     MON("ice troll", S_TROLL,
2001 	LVL(9, 10, 2, 20, -3), (G_NOHELL|G_GENO|1),
2002 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_CLAW, AD_COLD, 2, 6),
2003 	  ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
2004 	SIZ(1000, 300, 0, MS_GRUNT, MZ_LARGE), MR_COLD, MR_COLD,
2005 	M1_HUMANOID|M1_REGEN|M1_CARNIVORE,
2006 	M2_STRONG|M2_STALK|M2_HOSTILE, M3_INFRAVISIBLE|M3_INFRAVISION,
2007 	CLR_WHITE),
2008     MON("rock troll", S_TROLL,
2009 	LVL(9, 12, 0, 0, -3), (G_GENO|1),
2010 	A(ATTK(AT_WEAP, AD_PHYS, 3, 6), ATTK(AT_CLAW, AD_PHYS, 2, 8),
2011 	  ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
2012 	SIZ(1200, 300, 0, MS_GRUNT, MZ_LARGE), 0, 0,
2013 	M1_HUMANOID|M1_REGEN|M1_CARNIVORE,
2014 	M2_STRONG|M2_STALK|M2_HOSTILE|M2_COLLECT,
2015 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_CYAN),
2016     MON("water troll", S_TROLL,
2017 	LVL(11, 14, 4, 40, -3), (G_NOGEN|G_GENO),
2018 	A(ATTK(AT_WEAP, AD_PHYS, 2, 8), ATTK(AT_CLAW, AD_PHYS, 2, 8),
2019 	  ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
2020 	SIZ(1200, 350, 0, MS_GRUNT, MZ_LARGE), 0, 0,
2021 	M1_HUMANOID|M1_REGEN|M1_CARNIVORE|M1_SWIM,
2022 	M2_STRONG|M2_STALK|M2_HOSTILE, M3_INFRAVISIBLE|M3_INFRAVISION,
2023 	CLR_BLUE),
2024     MON("Olog-hai", S_TROLL,
2025 	LVL(13, 12, -4, 0, -7), (G_GENO|1),
2026 	A(ATTK(AT_WEAP, AD_PHYS, 3, 6), ATTK(AT_CLAW, AD_PHYS, 2, 8),
2027 	  ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
2028 	SIZ(1500, 400, 0, MS_GRUNT, MZ_LARGE), 0, 0,
2029 	M1_HUMANOID|M1_REGEN|M1_CARNIVORE,
2030 	M2_STRONG|M2_STALK|M2_HOSTILE|M2_COLLECT,
2031 	M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
2032 /*
2033  * Umber hulk
2034  */
2035     MON("umber hulk", S_UMBER,
2036 	LVL(9, 6, 2, 25, 0), (G_GENO|2),
2037 	A(ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4),
2038 	  ATTK(AT_BITE, AD_PHYS, 2, 5), ATTK(AT_GAZE, AD_CONF, 0, 0),
2039 	  NO_ATTK, NO_ATTK),
2040 	SIZ(1200, 500, 0, MS_SILENT, MZ_LARGE), 0, 0,
2041 	M1_TUNNEL|M1_CARNIVORE, M2_STRONG, M3_INFRAVISIBLE, CLR_BROWN),
2042 /*
2043  * Vampires
2044  */
2045     MON("vampire", S_VAMPIRE,
2046 	LVL(10, 12, 1, 25, -8), (G_GENO|G_NOCORPSE|1),
2047 	A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_BITE, AD_DRLI, 1, 6),
2048 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2049 	SIZ(WT_HUMAN, 400, 0, MS_VAMPIRE, MZ_HUMAN), MR_SLEEP|MR_POISON, 0,
2050 	M1_FLY|M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN,
2051 	M2_UNDEAD|M2_VAMPIRE|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY, M3_INFRAVISIBLE,
2052 	CLR_RED),
2053     MON("vampire lord", S_VAMPIRE,
2054 	LVL(12, 14, 0, 50, -9), (G_GENO|G_NOCORPSE|1),
2055 	A(ATTK(AT_CLAW, AD_PHYS, 1, 8), ATTK(AT_BITE, AD_DRLI, 1, 8),
2056 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2057 	SIZ(WT_HUMAN, 400, 0, MS_VAMPIRE, MZ_HUMAN), MR_SLEEP|MR_POISON, 0,
2058 	M1_FLY|M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN,
2059 	M2_UNDEAD|M2_VAMPIRE|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_LORD|M2_MALE,
2060 	M3_INFRAVISIBLE, CLR_BLUE),
2061 #if 0	/* DEFERRED */
2062     MON("vampire mage", S_VAMPIRE,
2063 	LVL(20, 14, -4, 50, -9), (G_GENO|G_NOCORPSE|1),
2064 	A(ATTK(AT_CLAW, AD_DRLI, 2, 8), ATTK(AT_BITE, AD_DRLI, 1, 8),
2065 	  ATTK(AT_MAGC, AD_SPEL, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
2066 	SIZ(WT_HUMAN, 400, 0, MS_VAMPIRE, MZ_HUMAN), MR_SLEEP|MR_POISON, 0,
2067 	M1_FLY|M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN,
2068 	M2_UNDEAD|M2_VAMPIRE|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_LORD|M2_MALE|
2069 	M2_MAGIC, M3_INFRAVISIBLE, HI_ZAP),
2070 #endif
2071     MON("Vlad the Impaler", S_VAMPIRE,
2072 	LVL(28, 24, -6, 80, -10), (G_NOGEN|G_NOCORPSE|G_UNIQ),
2073 	A(ATTK(AT_WEAP, AD_PHYS, 2, 10), ATTK(AT_BITE, AD_DRLI, 1, 12),
2074 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2075 	SIZ(WT_HUMAN, 400, 0, MS_VAMPIRE, MZ_HUMAN), MR_SLEEP|MR_POISON, 0,
2076 	M1_FLY|M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN|M1_SEE_INVIS,
2077 	M2_NOPOLY|M2_UNDEAD|M2_VAMPIRE|M2_STALK|M2_HOSTILE|M2_PNAME|M2_STRONG|
2078 	  M2_NASTY|M2_PRINCE|M2_MALE,
2079 	M3_WAITFORU|M3_WANTSCAND|M3_INFRAVISIBLE, HI_LORD),
2080 /*
2081  * Wraiths
2082  */
2083     MON("barrow wight", S_WRAITH,
2084 	LVL(3, 12, 5, 5, -3), (G_GENO|G_NOCORPSE|1),
2085 	A(ATTK(AT_WEAP, AD_DRLI, 0, 0), ATTK(AT_MAGC, AD_SPEL, 0, 0),
2086 	  ATTK(AT_CLAW, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK),
2087 	SIZ(1200, 0, 0, MS_SPELL, MZ_HUMAN), MR_COLD|MR_SLEEP|MR_POISON, 0,
2088 	M1_BREATHLESS|M1_HUMANOID,
2089 	M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_COLLECT, 0, CLR_GRAY),
2090     MON("wraith", S_WRAITH,
2091 	LVL(6, 12, 4, 15, -6), (G_GENO|2),
2092 	A(ATTK(AT_TUCH, AD_DRLI, 1, 6),
2093 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2094 	SIZ(0, 0, 0, MS_SILENT, MZ_HUMAN),
2095 	MR_COLD|MR_SLEEP|MR_POISON|MR_STONE, 0,
2096 	M1_BREATHLESS|M1_FLY|M1_HUMANOID|M1_UNSOLID,
2097 	M2_UNDEAD|M2_STALK|M2_HOSTILE, 0, CLR_BLACK),
2098     MON("Nazgul", S_WRAITH,
2099 	LVL(13, 12, 0, 25, -17), (G_GENO|G_NOCORPSE|1),
2100 	A(ATTK(AT_WEAP, AD_DRLI, 1, 4), ATTK(AT_BREA, AD_SLEE, 2,25),
2101 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2102 	SIZ(WT_HUMAN, 0, 0, MS_SPELL, MZ_HUMAN),
2103 	MR_COLD|MR_SLEEP|MR_POISON, 0, M1_BREATHLESS|M1_HUMANOID,
2104 	M2_NOPOLY|M2_UNDEAD|M2_STALK|M2_STRONG|M2_HOSTILE|M2_MALE|M2_COLLECT,
2105 	0, HI_LORD),
2106 /*
2107  * Xorn
2108  */
2109     MON("xorn", S_XORN,
2110 	LVL(8, 9,-2, 20, 0), (G_GENO|1),
2111 	A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3),
2112 	  ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_BITE, AD_PHYS, 4, 6),
2113 	  NO_ATTK, NO_ATTK),
2114 	SIZ(1200, 700, 0, MS_ROAR, MZ_MEDIUM),
2115 	MR_FIRE|MR_COLD|MR_STONE, MR_STONE,
2116 	M1_BREATHLESS|M1_WALLWALK|M1_THICK_HIDE|M1_METALLIVORE,
2117 	M2_HOSTILE|M2_STRONG, 0, CLR_BROWN),
2118 /*
2119  * Apelike beasts
2120  */
2121     MON("monkey", S_YETI,
2122 	LVL(2, 12, 6, 0, 0), (G_GENO|1),
2123 	A(ATTK(AT_CLAW, AD_SITM, 0, 0), ATTK(AT_BITE, AD_PHYS, 1, 3),
2124 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2125 	SIZ(100, 50, 0, MS_GROWL, MZ_SMALL), 0, 0,
2126 	M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, 0, M3_INFRAVISIBLE, CLR_GRAY),
2127     MON("ape", S_YETI,
2128 	LVL(4, 12, 6, 0, 0), (G_GENO|G_SGROUP|2),
2129 	A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3),
2130 	  ATTK(AT_BITE, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK),
2131 	SIZ(1100, 500, 0, MS_GROWL, MZ_LARGE), 0, 0,
2132 	M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, M2_STRONG, M3_INFRAVISIBLE,
2133 	CLR_BROWN),
2134     MON("owlbear", S_YETI,
2135 	LVL(5, 12, 5, 0, 0), (G_GENO|3),
2136 	A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6),
2137 	  ATTK(AT_HUGS, AD_PHYS, 2, 8), NO_ATTK, NO_ATTK, NO_ATTK),
2138 	SIZ(1700, 700, 0, MS_ROAR, MZ_LARGE), 0, 0,
2139 	M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE,
2140 	M2_HOSTILE|M2_STRONG|M2_NASTY, M3_INFRAVISIBLE, CLR_BROWN),
2141     MON("yeti", S_YETI,
2142 	LVL(5, 15, 6, 0, 0), (G_GENO|2),
2143 	A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6),
2144 	  ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK),
2145 	SIZ(1600, 700, 0, MS_GROWL, MZ_LARGE), MR_COLD, MR_COLD,
2146 	M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, M2_HOSTILE|M2_STRONG,
2147 	M3_INFRAVISIBLE, CLR_WHITE),
2148     MON("carnivorous ape", S_YETI,
2149 	LVL(6, 12, 6, 0, 0), (G_GENO|1),
2150 	A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
2151 	  ATTK(AT_HUGS, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK),
2152 	SIZ(1250, 550, 0, MS_GROWL, MZ_LARGE), 0, 0,
2153 	M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, M2_HOSTILE|M2_STRONG,
2154 	M3_INFRAVISIBLE, CLR_BLACK),
2155     MON("sasquatch", S_YETI,
2156 	LVL(7, 15, 6, 0, 2), (G_GENO|1),
2157 	A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6),
2158 	  ATTK(AT_KICK, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK),
2159 	SIZ(1550, 750, 0, MS_GROWL, MZ_LARGE), 0, 0,
2160 	M1_ANIMAL|M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, M2_STRONG,
2161 	M3_INFRAVISIBLE, CLR_GRAY),
2162 /*
2163  * Zombies
2164  */
2165     MON("kobold zombie", S_ZOMBIE,
2166 	LVL(0, 6, 10, 0, -2), (G_GENO|G_NOCORPSE|1),
2167 	A(ATTK(AT_CLAW, AD_PHYS, 1, 4),
2168 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2169 	SIZ(400, 50, 0, MS_SILENT, MZ_SMALL), MR_COLD|MR_SLEEP|MR_POISON, 0,
2170 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS,
2171 	M2_UNDEAD|M2_STALK|M2_HOSTILE, M3_INFRAVISION, CLR_BROWN),
2172     MON("gnome zombie", S_ZOMBIE,
2173 	LVL(1, 6, 10, 0, -2), (G_GENO|G_NOCORPSE|1),
2174 	A(ATTK(AT_CLAW, AD_PHYS, 1, 5),
2175 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2176 	SIZ(650, 50, 0, MS_SILENT, MZ_SMALL), MR_COLD|MR_SLEEP|MR_POISON, 0,
2177 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS,
2178 	M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_GNOME, M3_INFRAVISION, CLR_BROWN),
2179     MON("orc zombie", S_ZOMBIE,
2180 	LVL(2, 6, 9, 0, -3), (G_GENO|G_SGROUP|G_NOCORPSE|1),
2181 	A(ATTK(AT_CLAW, AD_PHYS, 1, 6),
2182 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2183 	SIZ(850, 75, 0, MS_SILENT, MZ_HUMAN), MR_COLD|MR_SLEEP|MR_POISON, 0,
2184 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS,
2185 	M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_ORC, M3_INFRAVISION, CLR_GRAY),
2186     MON("dwarf zombie", S_ZOMBIE,
2187 	LVL(2, 6, 9, 0, -3), (G_GENO|G_SGROUP|G_NOCORPSE|1),
2188 	A(ATTK(AT_CLAW, AD_PHYS, 1, 6),
2189 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2190 	SIZ(900, 150, 0, MS_SILENT, MZ_HUMAN), MR_COLD|MR_SLEEP|MR_POISON, 0,
2191 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS,
2192 	M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_DWARF, M3_INFRAVISION, CLR_RED),
2193     MON("elf zombie", S_ZOMBIE,
2194 	LVL(3, 6, 9, 0, -3), (G_GENO|G_SGROUP|G_NOCORPSE|1),
2195 	A(ATTK(AT_CLAW, AD_PHYS, 1, 7),
2196 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2197 	SIZ(WT_ELF, 175, 0, MS_SILENT, MZ_HUMAN),
2198 	MR_COLD|MR_SLEEP|MR_POISON, 0,
2199 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID,
2200 	M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_ELF, M3_INFRAVISION, CLR_GREEN),
2201     MON("human zombie", S_ZOMBIE,
2202 	LVL(4, 6, 8, 0, -3), (G_GENO|G_SGROUP|G_NOCORPSE|1),
2203 	A(ATTK(AT_CLAW, AD_PHYS, 1, 8),
2204 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2205 	SIZ(WT_HUMAN, 200, 0, MS_SILENT, MZ_HUMAN),
2206 	MR_COLD|MR_SLEEP|MR_POISON, 0,
2207 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID,
2208 	M2_UNDEAD|M2_STALK|M2_HOSTILE, M3_INFRAVISION, HI_DOMESTIC),
2209     MON("ettin zombie", S_ZOMBIE,
2210 	LVL(6, 8, 6, 0, -4), (G_GENO|G_NOCORPSE|1),
2211 	A(ATTK(AT_CLAW, AD_PHYS, 1,10), ATTK(AT_CLAW, AD_PHYS, 1,10),
2212 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2213 	SIZ(1700, 250, 0, MS_SILENT, MZ_HUGE),
2214 	MR_COLD|MR_SLEEP|MR_POISON, 0,
2215 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID,
2216 	M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_STRONG, M3_INFRAVISION, CLR_BLUE),
2217     MON("giant zombie", S_ZOMBIE,
2218 	LVL(8, 8, 6, 0, -4), (G_GENO|G_NOCORPSE|1),
2219 	A(ATTK(AT_CLAW, AD_PHYS, 2, 8), ATTK(AT_CLAW, AD_PHYS, 2, 8),
2220 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2221 	SIZ(2050, 375, 0, MS_SILENT, MZ_HUGE),
2222 	MR_COLD|MR_SLEEP|MR_POISON, 0,
2223 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID,
2224 	M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_GIANT|M2_STRONG, M3_INFRAVISION,
2225 	CLR_CYAN),
2226     MON("ghoul", S_ZOMBIE,
2227 	LVL(3, 6, 10, 0, -2), (G_GENO|G_NOCORPSE|1),
2228 	A(ATTK(AT_CLAW, AD_PLYS, 1, 2), ATTK(AT_CLAW, AD_PHYS, 1, 3),
2229 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2230 	SIZ(400, 50, 0, MS_SILENT, MZ_SMALL),
2231 	MR_COLD|MR_SLEEP|MR_POISON, 0,
2232 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS,
2233 	M2_UNDEAD|M2_WANDER|M2_HOSTILE, M3_INFRAVISION, CLR_BLACK),
2234     MON("skeleton", S_ZOMBIE,
2235 	LVL(12, 8, 4, 0, 0), (G_NOCORPSE|G_NOGEN),
2236 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_TUCH, AD_SLOW, 1, 6),
2237 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2238 	SIZ(300, 5, 0, MS_BONES, MZ_HUMAN),
2239 	MR_COLD|MR_SLEEP|MR_POISON|MR_STONE, 0,
2240 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE,
2241 	M2_UNDEAD|M2_WANDER|M2_HOSTILE|M2_STRONG|M2_COLLECT|M2_NASTY,
2242 	M3_INFRAVISION, CLR_WHITE),
2243 /*
2244  * golems
2245  */
2246     MON("straw golem", S_GOLEM,
2247 	LVL(3, 12, 10, 0, 0), (G_NOCORPSE|1),
2248 	A(ATTK(AT_CLAW, AD_PHYS, 1, 2), ATTK(AT_CLAW, AD_PHYS, 1, 2),
2249 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2250 	SIZ(400, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0,
2251 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID,
2252 	M2_HOSTILE|M2_NEUTER, 0, CLR_YELLOW),
2253     MON("paper golem", S_GOLEM,
2254 	LVL(3, 12, 10, 0, 0), (G_NOCORPSE|1),
2255 	A(ATTK(AT_CLAW, AD_PHYS, 1, 3),
2256 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2257 	SIZ(400, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0,
2258 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID,
2259 	M2_HOSTILE|M2_NEUTER, 0, HI_PAPER),
2260     MON("rope golem", S_GOLEM,
2261 	LVL(4, 9, 8, 0, 0), (G_NOCORPSE|1),
2262 	A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
2263 	  ATTK(AT_HUGS, AD_PHYS, 6, 1), NO_ATTK, NO_ATTK, NO_ATTK),
2264 	SIZ(450, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0,
2265 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID,
2266 	M2_HOSTILE|M2_NEUTER, 0, CLR_BROWN),
2267     MON("gold golem", S_GOLEM,
2268 	LVL(5, 9, 6, 0, 0), (G_NOCORPSE|1),
2269 	A(ATTK(AT_CLAW, AD_PHYS, 2, 3), ATTK(AT_CLAW, AD_PHYS, 2, 3),
2270 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2271 	SIZ(450, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON|MR_ACID, 0,
2272 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE,
2273 	M2_HOSTILE|M2_NEUTER, 0, HI_GOLD),
2274     MON("leather golem", S_GOLEM,
2275 	LVL(6, 6, 6, 0, 0), (G_NOCORPSE|1),
2276 	A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6),
2277 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2278 	SIZ(800, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0,
2279 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID,
2280 	M2_HOSTILE|M2_NEUTER, 0, HI_LEATHER),
2281     MON("wood golem", S_GOLEM,
2282 	LVL(7, 3, 4, 0, 0), (G_NOCORPSE|1),
2283 	A(ATTK(AT_CLAW, AD_PHYS, 3, 4),
2284 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2285 	SIZ(900, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0,
2286 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE,
2287 	M2_HOSTILE|M2_NEUTER, 0, HI_WOOD),
2288     MON("flesh golem", S_GOLEM,
2289 	LVL(9, 8, 9, 30, 0), (1),
2290 	A(ATTK(AT_CLAW, AD_PHYS, 2, 8), ATTK(AT_CLAW, AD_PHYS, 2, 8),
2291 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2292 	SIZ(1400, 600, 0, MS_SILENT, MZ_LARGE),
2293 	MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON,
2294 	MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON,
2295 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID,
2296 	M2_HOSTILE|M2_STRONG, 0, CLR_RED),
2297     MON("clay golem", S_GOLEM,
2298 	LVL(11, 7, 7, 40, 0), (G_NOCORPSE|1),
2299 	A(ATTK(AT_CLAW, AD_PHYS, 3,10),
2300 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2301 	SIZ(1550, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0,
2302 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE,
2303 	M2_HOSTILE|M2_STRONG, 0, CLR_BROWN),
2304     MON("stone golem", S_GOLEM,
2305 	LVL(14, 6, 5, 50, 0), (G_NOCORPSE|1),
2306 	A(ATTK(AT_CLAW, AD_PHYS, 3, 8),
2307 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2308 	SIZ(1900, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON|MR_STONE, 0,
2309 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE,
2310 	M2_HOSTILE|M2_STRONG, 0, CLR_GRAY),
2311     MON("glass golem", S_GOLEM,
2312 	LVL(16, 6, 1, 50, 0), (G_NOCORPSE|1),
2313 	A(ATTK(AT_CLAW, AD_PHYS, 2, 8), ATTK(AT_CLAW, AD_PHYS, 2, 8),
2314 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2315 	SIZ(1800, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON|MR_ACID, 0,
2316 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE,
2317 	M2_HOSTILE|M2_STRONG, 0, CLR_CYAN),
2318     MON("iron golem", S_GOLEM,
2319 	LVL(18, 6, 3, 60, 0), (G_NOCORPSE|1),
2320 	A(ATTK(AT_WEAP, AD_PHYS, 4,10), ATTK(AT_BREA, AD_DRST, 4, 6),
2321 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2322 	SIZ(2000, 0, 0, MS_SILENT, MZ_LARGE),
2323 	MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 0,
2324 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE|M1_POIS,
2325 	M2_HOSTILE|M2_STRONG|M2_COLLECT, 0, HI_METAL),
2326 /*
2327  * humans, including elves and were-critters
2328  */
2329     MON("human", S_HUMAN,
2330 	LVL(0, 12, 10, 0, 0), G_NOGEN,		/* for corpses */
2331 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
2332 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2333 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
2334 	M1_HUMANOID|M1_OMNIVORE,
2335 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT,
2336 	M3_INFRAVISIBLE, HI_DOMESTIC),
2337     MON("wererat", S_HUMAN,
2338 	LVL(2, 12, 10, 10, -7), (1),
2339 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4),
2340 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2341 	SIZ(WT_HUMAN, 400, 0, MS_WERE, MZ_HUMAN), MR_POISON, 0,
2342 	M1_HUMANOID|M1_POIS|M1_REGEN|M1_OMNIVORE,
2343 	M2_NOPOLY|M2_WERE|M2_HOSTILE|M2_HUMAN|M2_COLLECT, M3_INFRAVISIBLE,
2344 	CLR_BROWN),
2345     MON("werejackal", S_HUMAN,
2346 	LVL(2, 12, 10, 10, -7), (1),
2347 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4),
2348 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2349 	SIZ(WT_HUMAN, 400, 0, MS_WERE, MZ_HUMAN), MR_POISON, 0,
2350 	M1_HUMANOID|M1_POIS|M1_REGEN|M1_OMNIVORE,
2351 	M2_NOPOLY|M2_WERE|M2_HOSTILE|M2_HUMAN|M2_COLLECT, M3_INFRAVISIBLE,
2352 	CLR_RED),
2353     MON("werewolf", S_HUMAN,
2354 	LVL(5, 12, 10, 20, -7), (1),
2355 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4),
2356 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2357 	SIZ(WT_HUMAN, 400, 0, MS_WERE, MZ_HUMAN), MR_POISON, 0,
2358 	M1_HUMANOID|M1_POIS|M1_REGEN|M1_OMNIVORE,
2359 	M2_NOPOLY|M2_WERE|M2_HOSTILE|M2_HUMAN|M2_COLLECT,
2360 	M3_INFRAVISIBLE, CLR_ORANGE),
2361     MON("elf", S_HUMAN,
2362 	LVL(10, 12, 10, 2, -3), G_NOGEN,		/* for corpses */
2363 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8),
2364 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2365 	SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
2366 	M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS,
2367 	M2_NOPOLY|M2_ELF|M2_STRONG|M2_COLLECT, M3_INFRAVISION|M3_INFRAVISIBLE,
2368 	HI_DOMESTIC),
2369     MON("Woodland-elf", S_HUMAN,
2370 	LVL(4, 12, 10, 10, -5), (G_GENO|G_SGROUP|2),
2371 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4),
2372 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2373 	SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
2374 	M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS,
2375 	M2_ELF|M2_COLLECT, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GREEN),
2376     MON("Green-elf", S_HUMAN,
2377 	LVL(5, 12, 10, 10, -6), (G_GENO|G_SGROUP|2),
2378 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4),
2379 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2380 	SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
2381 	M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS,
2382 	M2_ELF|M2_COLLECT, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BRIGHT_GREEN),
2383     MON("Grey-elf", S_HUMAN,
2384 	LVL(6, 12, 10, 10, -7), (G_GENO|G_SGROUP|2),
2385 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4),
2386 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2387 	SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
2388 	M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS,
2389 	M2_ELF|M2_COLLECT, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GRAY),
2390     MON("elf-lord", S_HUMAN,
2391 	LVL(8, 12, 10, 20, -9), (G_GENO|G_SGROUP|2),
2392 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4),
2393 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2394 	SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
2395 	M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS,
2396 	M2_ELF|M2_STRONG|M2_LORD|M2_MALE|M2_COLLECT,
2397 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BRIGHT_BLUE),
2398     MON("Elvenking", S_HUMAN,
2399 	LVL(9, 12, 10, 25, -10), (G_GENO|1),
2400 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4),
2401 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2402 	SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
2403 	M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS,
2404 	M2_ELF|M2_STRONG|M2_PRINCE|M2_MALE|M2_COLLECT,
2405 	M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
2406     MON("doppelganger", S_HUMAN,
2407 	LVL(9, 12, 5, 20, 0), (G_GENO|1),
2408 	A(ATTK(AT_WEAP, AD_PHYS, 1, 12),
2409 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2410 	SIZ(WT_HUMAN, 400, 0, MS_IMITATE, MZ_HUMAN), MR_SLEEP, 0,
2411 	M1_HUMANOID|M1_OMNIVORE,
2412 	M2_NOPOLY|M2_HUMAN|M2_HOSTILE|M2_STRONG|M2_COLLECT,
2413 	M3_INFRAVISIBLE, HI_DOMESTIC),
2414     MON("mugger", S_HUMAN,
2415 	LVL(2, 12, 10, 0, -8), (G_GENO|G_NOGEN),
2416 	A(ATTK(AT_CLAW, AD_SITM, 0, 0), ATTK(AT_WEAP, AD_PHYS, 1, 4),
2417 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2418 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN),
2419 	0, 0, M1_HUMANOID|M1_OMNIVORE,
2420 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_HOSTILE|M2_COLLECT,
2421 	M3_INFRAVISIBLE, CLR_BLACK),
2422     MON("nurse", S_HUMAN,
2423 	LVL(11, 6, 0, 0, 0), (G_GENO|3),
2424 	A(ATTK(AT_CLAW, AD_HEAL, 2, 6),
2425 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2426 	SIZ(WT_HUMAN, 400, 0, MS_NURSE, MZ_HUMAN), MR_POISON, MR_POISON,
2427 	M1_HUMANOID|M1_OMNIVORE, M2_NOPOLY|M2_HUMAN|M2_HOSTILE,
2428 	M3_INFRAVISIBLE, HI_DOMESTIC),
2429     MON("shopkeeper", S_HUMAN,
2430 	LVL(12, 18, 0, 50, 0), G_NOGEN,
2431 	A(ATTK(AT_WEAP, AD_PHYS, 4, 4), ATTK(AT_WEAP, AD_PHYS, 4, 4),
2432 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2433 	SIZ(WT_HUMAN, 400, sizeof(struct eshk), MS_SELL, MZ_HUMAN), 0, 0,
2434 	M1_HUMANOID|M1_OMNIVORE,
2435 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT|M2_MAGIC,
2436 	M3_INFRAVISIBLE, HI_DOMESTIC),
2437 #ifdef BLACKMARKET
2438 /* the black marketeer's speed (24) matches the speed boots he's wearing */
2439     MON("black marketeer", S_HUMAN,
2440 	LVL(25, 24, -8, 50, -2), G_NOGEN,
2441 	A(ATTK(AT_WEAP, AD_PHYS, 4, 10), NO_ATTK, NO_ATTK,
2442 	  NO_ATTK, NO_ATTK, NO_ATTK),
2443 	SIZ(WT_HUMAN, 400, sizeof(struct eshk), MS_SELL, MZ_HUMAN),
2444 	MR_FIRE|MR_COLD|MR_SLEEP|MR_ELEC|MR_STONE,
2445 	MR_SLEEP, M1_HUMANOID|M1_OMNIVORE,
2446 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|
2447 	M2_COLLECT|M2_MAGIC|M2_MALE, M3_INFRAVISIBLE, CLR_BLACK),
2448 #endif /* BLACKMARKET */
2449     MON("guard", S_HUMAN,
2450 	LVL(12, 12, 10, 40, 10), G_NOGEN,
2451 	A(ATTK(AT_WEAP, AD_PHYS, 4,10),
2452 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2453 	SIZ(WT_HUMAN, 400, sizeof(struct egd), MS_GUARD, MZ_HUMAN), 0, 0,
2454 	M1_HUMANOID|M1_OMNIVORE,
2455 	M2_NOPOLY|M2_HUMAN|M2_MERC|M2_PEACEFUL|M2_STRONG|M2_COLLECT,
2456 	M3_INFRAVISIBLE, CLR_BLUE),
2457     MON("prisoner", S_HUMAN,
2458 	LVL(12, 12, 10, 0, 0), G_NOGEN,          /* for special levels */
2459 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
2460 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2461 	SIZ(WT_HUMAN, 400, 0, MS_DJINNI, MZ_HUMAN), 0, 0,
2462 	M1_HUMANOID|M1_OMNIVORE,
2463 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT,
2464 	M3_INFRAVISIBLE|M3_CLOSE, HI_DOMESTIC),
2465     MON("Oracle", S_HUMAN,
2466 	LVL(12, 0, 0, 50, 0), (G_NOGEN|G_UNIQ),
2467 	A(ATTK(AT_NONE, AD_MAGM, 0, 4),
2468 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2469 	SIZ(WT_HUMAN, 400, 0, MS_ORACLE, MZ_HUMAN), 0, 0,
2470 	M1_HUMANOID|M1_OMNIVORE,
2471 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_FEMALE, M3_INFRAVISIBLE, HI_ZAP),
2472     MON("aligned priest", S_HUMAN,
2473 	LVL(12, 12, 10, 50, 0), G_NOGEN,
2474 	A(ATTK(AT_WEAP, AD_PHYS, 4,10), ATTK(AT_KICK, AD_PHYS, 1, 4),
2475 	  ATTK(AT_MAGC, AD_CLRC, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK),
2476 	SIZ(WT_HUMAN, 400, sizeof(struct epri), MS_PRIEST, MZ_HUMAN),
2477 	MR_ELEC, 0, M1_HUMANOID|M1_OMNIVORE,
2478 	M2_NOPOLY|M2_HUMAN|M2_LORD|M2_PEACEFUL|M2_COLLECT, M3_INFRAVISIBLE,
2479 	CLR_WHITE),
2480     MON("high priest", S_HUMAN,
2481 	LVL(25, 15, 7, 70, 0), (G_NOGEN|G_UNIQ),
2482 	A(ATTK(AT_WEAP, AD_PHYS, 4,10), ATTK(AT_KICK, AD_PHYS, 2, 8),
2483 	  ATTK(AT_MAGC, AD_CLRC, 2, 8), ATTK(AT_MAGC, AD_CLRC, 2, 8),
2484 	  NO_ATTK, NO_ATTK),
2485 	SIZ(WT_HUMAN, 400, sizeof(struct epri), MS_PRIEST, MZ_HUMAN),
2486 	MR_FIRE|MR_ELEC|MR_SLEEP|MR_POISON, 0,
2487 	M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE,
2488 	M2_NOPOLY|M2_HUMAN|M2_MINION|M2_PRINCE|M2_NASTY|M2_COLLECT|M2_MAGIC,
2489 	M3_INFRAVISIBLE, CLR_WHITE),
2490     MON("soldier", S_HUMAN,
2491 	LVL(6, 10, 10, 0, -2), (G_SGROUP|G_GENO|1),
2492 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8),
2493 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2494 	SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0,
2495 	M1_HUMANOID|M1_OMNIVORE,
2496 	M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_HOSTILE|M2_STRONG|M2_COLLECT,
2497 	M3_INFRAVISIBLE, CLR_GRAY),
2498     MON("sergeant", S_HUMAN,
2499 	LVL(8, 10, 10, 5, -3), (G_SGROUP|G_GENO|1),
2500 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6),
2501 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2502 	SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0,
2503 	M1_HUMANOID|M1_OMNIVORE,
2504 	M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_HOSTILE|M2_STRONG|M2_COLLECT,
2505 	M3_INFRAVISIBLE, CLR_RED),
2506     MON("lieutenant", S_HUMAN,
2507 	LVL(10, 10, 10, 15, -4), (G_GENO|1),
2508 	A(ATTK(AT_WEAP, AD_PHYS, 3, 4), ATTK(AT_WEAP, AD_PHYS, 3, 4),
2509 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2510 	SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0,
2511 	M1_HUMANOID|M1_OMNIVORE,
2512 	M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_HOSTILE|M2_STRONG|M2_COLLECT,
2513 	M3_INFRAVISIBLE, CLR_GREEN),
2514     MON("captain", S_HUMAN,
2515 	LVL(12, 10, 10, 15, -5), (G_GENO|1),
2516 	A(ATTK(AT_WEAP, AD_PHYS, 4, 4), ATTK(AT_WEAP, AD_PHYS, 4, 4),
2517 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2518 	SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0,
2519 	M1_HUMANOID|M1_OMNIVORE,
2520 	M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_HOSTILE|M2_STRONG|M2_COLLECT,
2521 	M3_INFRAVISIBLE, CLR_BLUE),
2522 	/* Keep these separate - some of the mkroom code assumes that
2523 	 * all the soldiers are contiguous.
2524 	 */
2525     MON("watchman", S_HUMAN,
2526 	LVL(6, 10, 10, 0, -2), (G_SGROUP|G_NOGEN|G_GENO|1),
2527 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8),
2528 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2529 	SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0,
2530 	M1_HUMANOID|M1_OMNIVORE,
2531 	M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_PEACEFUL|M2_STRONG|M2_COLLECT,
2532 	M3_INFRAVISIBLE, CLR_GRAY),
2533     MON("watch captain", S_HUMAN,
2534 	LVL(10, 10, 10, 15, -4), (G_NOGEN|G_GENO|1),
2535 	A(ATTK(AT_WEAP, AD_PHYS, 3, 4), ATTK(AT_WEAP, AD_PHYS, 3, 4),
2536 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2537 	SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0,
2538 	M1_HUMANOID|M1_OMNIVORE,
2539 	M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_PEACEFUL|M2_STRONG|M2_COLLECT,
2540 	M3_INFRAVISIBLE, CLR_GREEN),
2541 	/* Unique humans not tied to quests.
2542 	 */
2543     MON("Medusa", S_HUMAN,
2544 	LVL(20, 12, 2, 50, -15), (G_NOGEN|G_UNIQ),
2545 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 1, 8),
2546 	  ATTK(AT_GAZE, AD_STON, 0, 0), ATTK(AT_BITE, AD_DRST, 1, 6),
2547 	  NO_ATTK, NO_ATTK),
2548 	SIZ(WT_HUMAN, 400, 0, MS_HISS, MZ_LARGE),
2549 	MR_POISON|MR_STONE, MR_POISON|MR_STONE,
2550 	M1_FLY|M1_SWIM|M1_AMPHIBIOUS|M1_HUMANOID|M1_POIS|M1_OMNIVORE,
2551 	M2_NOPOLY|M2_HOSTILE|M2_STRONG|M2_PNAME|M2_FEMALE,
2552 	M3_WAITFORU|M3_INFRAVISIBLE, CLR_BRIGHT_GREEN),
2553     MON("Wizard of Yendor", S_HUMAN,
2554 	LVL(30, 12, -8, 100, A_NONE), (G_NOGEN|G_UNIQ),
2555 	A(ATTK(AT_CLAW, AD_SAMU, 2,12), ATTK(AT_MAGC, AD_SPEL, 0, 0),
2556 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2557 	SIZ(WT_HUMAN, 400, 0, MS_CUSS, MZ_HUMAN),
2558 	MR_FIRE|MR_POISON, MR_FIRE|MR_POISON,
2559 	M1_FLY|M1_BREATHLESS|M1_HUMANOID|M1_REGEN|M1_SEE_INVIS|M1_TPORT|
2560 	  M1_TPORT_CNTRL|M1_OMNIVORE,
2561 	M2_NOPOLY|M2_HUMAN|M2_HOSTILE|M2_STRONG|M2_NASTY|
2562 	  M2_PRINCE|M2_MALE|M2_MAGIC,
2563 	M3_COVETOUS|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD),
2564     MON("Croesus", S_HUMAN,
2565 	LVL(20, 15, 0, 40, 15), (G_UNIQ|G_NOGEN),
2566 	A(ATTK(AT_WEAP, AD_PHYS, 4,10),
2567 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2568 	SIZ(WT_HUMAN, 400, 0, MS_GUARD, MZ_HUMAN), 0, 0,
2569 	M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE,
2570 	M2_NOPOLY|M2_HUMAN|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_PNAME|
2571 	  M2_PRINCE|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT|M2_MAGIC,
2572 	M3_INFRAVISIBLE, HI_LORD),
2573 #ifdef CHARON
2574     MON("Charon", S_HUMAN,
2575 	LVL(76, 18, -5, 120, 0), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ),
2576 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_TUCH, AD_PLYS, 1, 8),
2577 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2578 	SIZ(WT_HUMAN, 400, 0, MS_FERRY, MZ_HUMAN),
2579 	MR_FIRE|MR_COLD|MR_POISON|MR_STONE, 0,
2580 	M1_BREATHLESS|M1_SEE_INVIS|M1_HUMANOID,
2581 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_PNAME|M2_MALE|M2_GREEDY|M2_COLLECT,
2582 	M3_INFRAVISIBLE, CLR_WHITE),
2583 #endif
2584 /*
2585  * ghosts
2586  */
2587     MON("ghost", S_GHOST,
2588 	LVL(10, 3, -5, 50, -5), (G_NOCORPSE|G_NOGEN),
2589 	A(ATTK(AT_TUCH, AD_PHYS, 1, 1),
2590 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2591 	SIZ(WT_HUMAN, 0, 0, MS_SILENT, MZ_HUMAN),
2592 	MR_COLD|MR_DISINT|MR_SLEEP|MR_POISON|MR_STONE, 0,
2593 	M1_FLY|M1_BREATHLESS|M1_WALLWALK|M1_HUMANOID|M1_UNSOLID,
2594 	M2_NOPOLY|M2_UNDEAD|M2_STALK|M2_HOSTILE, M3_INFRAVISION, CLR_GRAY),
2595     MON("shade", S_GHOST,
2596 	LVL(12, 10, 10, 0, 0), (G_NOCORPSE|G_NOGEN),
2597 	A(ATTK(AT_TUCH, AD_PLYS, 2, 6), ATTK(AT_TUCH, AD_SLOW, 1, 6),
2598 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2599 	SIZ(WT_HUMAN, 0, 0, MS_WAIL, MZ_HUMAN),
2600 	MR_COLD|MR_DISINT|MR_SLEEP|MR_POISON|MR_STONE, 0,
2601 	M1_FLY|M1_BREATHLESS|M1_WALLWALK|M1_HUMANOID|M1_UNSOLID|M1_SEE_INVIS,
2602 	M2_NOPOLY|M2_UNDEAD|M2_WANDER|M2_STALK|M2_HOSTILE|M2_NASTY,
2603 	M3_INFRAVISION, CLR_BLACK),
2604 /*
2605  * (major) demons
2606  */
2607     MON("water demon", S_DEMON,
2608 	LVL(8, 12,-4, 30, -7), (G_NOCORPSE|G_NOGEN),
2609 	A(ATTK(AT_WEAP, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3),
2610 	  ATTK(AT_BITE, AD_PHYS, 1, 3), NO_ATTK, NO_ATTK, NO_ATTK),
2611 	SIZ(WT_HUMAN, 400, 0, MS_DJINNI, MZ_HUMAN), MR_FIRE|MR_POISON, 0,
2612 	M1_HUMANOID|M1_POIS|M1_SWIM,
2613 	M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_COLLECT,
2614 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BLUE),
2615 	/* standard demons & devils
2616 	 */
2617     MON("horned devil", S_DEMON,
2618 	LVL(6, 9, -5, 50, 11), (G_HELL|G_NOCORPSE|2),
2619 	A(ATTK(AT_WEAP, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
2620 	  ATTK(AT_BITE, AD_PHYS, 2, 3), ATTK(AT_STNG, AD_PHYS, 1, 3),
2621 	  NO_ATTK, NO_ATTK),
2622 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_HUMAN), MR_FIRE|MR_POISON, 0,
2623 	M1_POIS|M1_THICK_HIDE,
2624 	M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY, M3_INFRAVISIBLE|M3_INFRAVISION,
2625 	CLR_BROWN),
2626 #ifdef SEDUCE
2627 # define SEDUCTION_ATTACKS \
2628 	A(ATTK(AT_BITE, AD_SSEX, 0, 0), ATTK(AT_CLAW, AD_PHYS, 1, 3), \
2629 	  ATTK(AT_CLAW, AD_PHYS, 1, 3), NO_ATTK, NO_ATTK, NO_ATTK)
2630 #else
2631 # define SEDUCTION_ATTACKS \
2632 	A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3), \
2633 	  ATTK(AT_BITE, AD_DRLI, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK)
2634 #endif
2635     MON("succubus", S_DEMON,
2636 	LVL(6, 12, 0, 70, -9), (G_NOCORPSE|1),
2637 	SEDUCTION_ATTACKS,
2638 	SIZ(WT_HUMAN, 400, 0, MS_SEDUCE, MZ_HUMAN), MR_FIRE|MR_POISON, 0,
2639 	M1_HUMANOID|M1_FLY|M1_POIS,
2640 	M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_FEMALE,
2641 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GRAY),
2642     MON("incubus", S_DEMON,
2643 	LVL(6, 12, 0, 70, -9), (G_NOCORPSE|1),
2644 	SEDUCTION_ATTACKS,
2645 	SIZ(WT_HUMAN, 400, 0, MS_SEDUCE, MZ_HUMAN), MR_FIRE|MR_POISON, 0,
2646 	M1_HUMANOID|M1_FLY|M1_POIS,
2647 	M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_MALE,
2648 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GRAY),
2649 #undef SEDUCTION_ATTACKS
2650     /* Used by AD&D for a type of demon, originally one of the Furies */
2651     /* and spelled this way */
2652     MON("erinys", S_DEMON,
2653 	LVL(7, 12, 2, 30, 10), (G_HELL|G_NOCORPSE|G_SGROUP|2),
2654 	A(ATTK(AT_WEAP, AD_DRST, 2, 4),
2655 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2656 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_HUMAN), MR_FIRE|MR_POISON, 0,
2657 	M1_HUMANOID|M1_POIS,
2658 	M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_FEMALE|
2659 	  M2_COLLECT,
2660 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED),
2661     MON("barbed devil", S_DEMON,
2662 	LVL(8, 12, 0, 35, 8), (G_HELL|G_NOCORPSE|G_SGROUP|2),
2663 	A(ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4),
2664 	  ATTK(AT_STNG, AD_PHYS, 3, 4), NO_ATTK, NO_ATTK, NO_ATTK),
2665 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_HUMAN), MR_FIRE|MR_POISON, 0,
2666 	M1_POIS|M1_THICK_HIDE, M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY,
2667 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED),
2668     MON("marilith", S_DEMON,
2669 	LVL(7, 12, -6, 80, -12), (G_HELL|G_NOCORPSE|1),
2670 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4),
2671 	  ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4),
2672 	  ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4)),
2673 	SIZ(WT_HUMAN, 400, 0, MS_CUSS, MZ_LARGE), MR_FIRE|MR_POISON, 0,
2674 	M1_HUMANOID|M1_SLITHY|M1_SEE_INVIS|M1_POIS,
2675 	M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_FEMALE|M2_COLLECT,
2676 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED),
2677     MON("vrock", S_DEMON,
2678 	LVL(8, 12, 0, 50, -9), (G_HELL|G_NOCORPSE|G_SGROUP|2),
2679 	A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
2680 	  ATTK(AT_CLAW, AD_PHYS, 1, 8), ATTK(AT_CLAW, AD_PHYS, 1, 8),
2681 	  ATTK(AT_BITE, AD_PHYS, 1, 6), NO_ATTK),
2682 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), MR_FIRE|MR_POISON, 0,
2683 	M1_POIS, M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY,
2684 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED),
2685     MON("hezrou", S_DEMON,
2686 	LVL(9, 6, -2, 55, -10), (G_HELL|G_NOCORPSE|G_SGROUP|2),
2687 	A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3),
2688 	  ATTK(AT_BITE, AD_PHYS, 4, 4), NO_ATTK, NO_ATTK, NO_ATTK),
2689 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), MR_FIRE|MR_POISON, 0,
2690 	M1_HUMANOID|M1_POIS, M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY,
2691 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED),
2692     MON("bone devil", S_DEMON,
2693 	LVL(9, 15, -1, 40, -9), (G_HELL|G_NOCORPSE|G_SGROUP|2),
2694 	A(ATTK(AT_WEAP, AD_PHYS, 3, 4), ATTK(AT_STNG, AD_DRST, 2, 4),
2695 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2696 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), MR_FIRE|MR_POISON, 0,
2697 	M1_POIS, M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_COLLECT,
2698 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GRAY),
2699     MON("ice devil", S_DEMON,
2700 	LVL(11, 6, -4, 55, -12), (G_HELL|G_NOCORPSE|2),
2701 	A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
2702 	  ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_STNG, AD_COLD, 3, 4),
2703 	  NO_ATTK, NO_ATTK),
2704 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE),
2705 	MR_FIRE|MR_COLD|MR_POISON, 0, M1_SEE_INVIS|M1_POIS,
2706 	M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY, M3_INFRAVISIBLE|M3_INFRAVISION,
2707 	CLR_WHITE),
2708     MON("nalfeshnee", S_DEMON,
2709 	LVL(11, 9, -1, 65, -11), (G_HELL|G_NOCORPSE|1),
2710 	A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
2711 	  ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_MAGC, AD_SPEL, 0, 0),
2712 	  NO_ATTK, NO_ATTK),
2713 	SIZ(WT_HUMAN, 400, 0, MS_SPELL, MZ_LARGE), MR_FIRE|MR_POISON, 0,
2714 	M1_HUMANOID|M1_POIS, M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY,
2715 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED),
2716     MON("pit fiend", S_DEMON,
2717 	LVL(13, 6, -3, 65, -13), (G_HELL|G_NOCORPSE|2),
2718 	A(ATTK(AT_WEAP, AD_PHYS, 4, 2), ATTK(AT_WEAP, AD_PHYS, 4, 2),
2719 	  ATTK(AT_HUGS, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK),
2720 	SIZ(WT_HUMAN, 400, 0, MS_GROWL, MZ_LARGE), MR_FIRE|MR_POISON, 0,
2721 	M1_SEE_INVIS|M1_POIS,
2722 	M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_COLLECT,
2723 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED),
2724     MON("balrog", S_DEMON,
2725 	LVL(16, 5, -2, 75, -14), (G_HELL|G_NOCORPSE|1),
2726 	A(ATTK(AT_WEAP, AD_PHYS, 8, 4), ATTK(AT_WEAP, AD_PHYS, 4, 6),
2727 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2728 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), MR_FIRE|MR_POISON, 0,
2729 	M1_FLY|M1_SEE_INVIS|M1_POIS,
2730 	M2_DEMON|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_COLLECT,
2731 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED),
2732 	/* Named demon lords & princes plus Arch-Devils.
2733 	 * (their order matters; see minion.c)
2734 	 */
2735     MON("Juiblex", S_DEMON,
2736 	LVL(50, 3, -7, 65, -15), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ),
2737 	A(ATTK(AT_ENGL, AD_DISE, 4,10), ATTK(AT_SPIT, AD_ACID, 3, 6),
2738 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2739 	SIZ(1500, 0, 0, MS_GURGLE, MZ_LARGE),
2740 	MR_FIRE|MR_POISON|MR_ACID|MR_STONE, 0,
2741 	M1_AMPHIBIOUS|M1_AMORPHOUS|M1_NOHEAD|M1_FLY|M1_SEE_INVIS|M1_ACID|
2742 	  M1_POIS,
2743 	M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY|M2_LORD|
2744 	  M2_MALE,
2745 	M3_WAITFORU|M3_WANTSAMUL|M3_INFRAVISION, CLR_BRIGHT_GREEN),
2746     MON("Yeenoghu", S_DEMON,
2747 	LVL(56, 18, -5, 80, -15), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ),
2748 	A(ATTK(AT_WEAP, AD_PHYS, 3, 6), ATTK(AT_WEAP, AD_CONF, 2, 8),
2749 	  ATTK(AT_CLAW, AD_PLYS, 1, 6), ATTK(AT_MAGC, AD_MAGM, 2, 6),
2750 	  NO_ATTK, NO_ATTK),
2751 	SIZ(900, 500, 0, MS_ORC, MZ_LARGE), MR_FIRE|MR_POISON, 0,
2752 	M1_FLY|M1_SEE_INVIS|M1_POIS,
2753 	M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY|M2_LORD|
2754 	  M2_MALE|M2_COLLECT,
2755 	M3_WANTSAMUL|M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
2756     MON("Orcus", S_DEMON,
2757 	LVL(66, 9, -6, 85, -20), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ),
2758 	A(ATTK(AT_WEAP, AD_PHYS, 3, 6), ATTK(AT_CLAW, AD_PHYS, 3, 4),
2759 	  ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_MAGC, AD_SPEL, 8, 6),
2760 	  ATTK(AT_STNG, AD_DRST, 2, 4), NO_ATTK),
2761 	SIZ(1500, 500, 0, MS_ORC, MZ_HUGE), MR_FIRE|MR_POISON, 0,
2762 	M1_FLY|M1_SEE_INVIS|M1_POIS,
2763 	M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY|M2_PRINCE|
2764 	  M2_MALE|M2_COLLECT,
2765 	M3_WAITFORU|M3_WANTSBOOK|M3_WANTSAMUL|M3_INFRAVISIBLE|M3_INFRAVISION,
2766 	HI_LORD),
2767     MON("Geryon", S_DEMON,
2768 	LVL(72, 3, -3, 75, 15), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ),
2769 	A(ATTK(AT_CLAW, AD_PHYS, 3, 6), ATTK(AT_CLAW, AD_PHYS, 3, 6),
2770 	  ATTK(AT_STNG, AD_DRST, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK),
2771 	SIZ(1500, 500, 0, MS_BRIBE, MZ_HUGE), MR_FIRE|MR_POISON, 0,
2772 	M1_FLY|M1_SEE_INVIS|M1_POIS|M1_SLITHY,
2773 	M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY|
2774 	  M2_PRINCE|M2_MALE,
2775 	M3_WANTSAMUL|M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
2776     MON("Dispater", S_DEMON,
2777 	LVL(78, 15, -2, 80, 15), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ),
2778 	A(ATTK(AT_WEAP, AD_PHYS, 4, 6), ATTK(AT_MAGC, AD_SPEL, 6, 6),
2779 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2780 	SIZ(1500, 500, 0, MS_BRIBE, MZ_HUMAN), MR_FIRE|MR_POISON, 0,
2781 	M1_FLY|M1_SEE_INVIS|M1_POIS|M1_HUMANOID,
2782 	M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY|
2783 	  M2_PRINCE|M2_MALE|M2_COLLECT,
2784 	M3_WANTSAMUL|M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
2785     MON("Baalzebub", S_DEMON,
2786 	LVL(89, 9, -5, 85, 20), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ),
2787 	A(ATTK(AT_BITE, AD_DRST, 2, 6), ATTK(AT_GAZE, AD_STUN, 2, 6),
2788 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2789 	SIZ(1500, 500, 0, MS_BRIBE, MZ_LARGE), MR_FIRE|MR_POISON, 0,
2790 	M1_FLY|M1_SEE_INVIS|M1_POIS,
2791 	M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY|
2792 	  M2_PRINCE|M2_MALE,
2793 	M3_WANTSAMUL|M3_WAITFORU|M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
2794     MON("Asmodeus", S_DEMON,
2795 	LVL(105, 12, -7, 90, 20), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ),
2796 	A(ATTK(AT_CLAW, AD_PHYS, 4, 4), ATTK(AT_MAGC, AD_COLD, 6, 6),
2797 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2798 	SIZ(1500, 500, 0, MS_BRIBE, MZ_HUGE), MR_FIRE|MR_COLD|MR_POISON, 0,
2799 	M1_FLY|M1_SEE_INVIS|M1_HUMANOID|M1_POIS,
2800 	M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_STRONG|
2801 	  M2_NASTY|M2_PRINCE|M2_MALE,
2802 	M3_WANTSAMUL|M3_WAITFORU|M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
2803     MON("Demogorgon", S_DEMON,
2804 	LVL(106, 15, -8, 95, -20), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ),
2805 	A(ATTK(AT_MAGC, AD_SPEL, 8, 6), ATTK(AT_STNG, AD_DRLI, 1, 4),
2806 	  ATTK(AT_CLAW, AD_DISE, 1, 6), ATTK(AT_CLAW, AD_DISE, 1, 6),
2807 	  NO_ATTK, NO_ATTK),
2808 	SIZ(1500, 500, 0, MS_GROWL, MZ_HUGE), MR_FIRE|MR_POISON, 0,
2809 	M1_FLY|M1_SEE_INVIS|M1_NOHANDS|M1_POIS,
2810 	M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY|
2811 	  M2_PRINCE|M2_MALE,
2812 	M3_WANTSAMUL|M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
2813     MON("Cthulhu", S_HUMANOID,
2814 	LVL(106, 15, -8, 95, 0), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ),
2815 	A(ATTK(AT_MAGC, AD_SPEL, 4, 6), ATTK(AT_CLAW, AD_PHYS, 6, 8),
2816 	  ATTK(AT_BITE, AD_PHYS, 4, 10), ATTK(AT_HUGS, AD_PHYS, 6, 6),
2817 	  ATTK(AT_TENT, AD_DRIN, 2, 1), ATTK(AT_GAZE, AD_CONF, 0, 0)),
2818 	SIZ(3000, 500, 0, MS_ROAR, MZ_GIGANTIC),
2819 	MR_POISON|MR_STONE|MR_DISINT|MR_SLEEP|MR_ACID, 0,
2820 	M1_SWIM|M1_AMPHIBIOUS|M1_BREATHLESS|M1_THICK_HIDE|M1_SEE_INVIS|
2821 	  M1_POIS|M1_REGEN|M1_SEE_INVIS|M1_TPORT|M1_TPORT_CNTRL|
2822 	  M1_OMNIVORE,
2823 	M2_NOPOLY|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY|M2_STRONG|
2824 	  M2_PRINCE|M2_NEUTER|M2_ROCKTHROW|M2_MAGIC,
2825 	M3_WANTSAMUL|M3_WAITFORU|M3_INFRAVISION, HI_LORD), /* M3_NOTAME */
2826 	/* Riders -- the Four Horsemen of the Apocalypse ("War" == player)
2827 	 */
2828     MON("Death", S_DEMON,
2829 	LVL(30, 12, -5, 100, 0), (G_UNIQ|G_NOGEN),
2830 	A(ATTK(AT_TUCH, AD_DETH, 8, 8), ATTK(AT_TUCH, AD_DETH, 8, 8),
2831 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2832 	SIZ(WT_HUMAN, 1, 0, MS_RIDER, MZ_HUMAN),
2833 	MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_STONE, 0,
2834 	M1_FLY|M1_HUMANOID|M1_REGEN|M1_SEE_INVIS|M1_TPORT_CNTRL,
2835 	M2_NOPOLY|M2_STALK|M2_HOSTILE|M2_PNAME|M2_STRONG|M2_NASTY,
2836 	M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
2837     MON("Pestilence", S_DEMON,
2838 	LVL(30, 12, -5, 100, 0), (G_UNIQ|G_NOGEN),
2839 	A(ATTK(AT_TUCH, AD_PEST, 8, 8), ATTK(AT_TUCH, AD_PEST, 8, 8),
2840 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2841 	SIZ(WT_HUMAN, 1, 0, MS_RIDER, MZ_HUMAN),
2842 	MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_STONE, 0,
2843 	M1_FLY|M1_HUMANOID|M1_REGEN|M1_SEE_INVIS|M1_TPORT_CNTRL,
2844 	M2_NOPOLY|M2_STALK|M2_HOSTILE|M2_PNAME|M2_STRONG|M2_NASTY,
2845 	M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
2846     MON("Famine", S_DEMON,
2847 	LVL(30, 12, -5, 100, 0), (G_UNIQ|G_NOGEN),
2848 	A(ATTK(AT_TUCH, AD_FAMN, 8, 8), ATTK(AT_TUCH, AD_FAMN, 8, 8),
2849 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2850 	SIZ(WT_HUMAN, 1, 0, MS_RIDER, MZ_HUMAN),
2851 	MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_STONE, 0,
2852 	M1_FLY|M1_HUMANOID|M1_REGEN|M1_SEE_INVIS|M1_TPORT_CNTRL,
2853 	M2_NOPOLY|M2_STALK|M2_HOSTILE|M2_PNAME|M2_STRONG|M2_NASTY,
2854 	M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
2855 	/* other demons
2856 	 */
2857 #ifdef MAIL
2858     MON("mail daemon", S_DEMON,
2859 	LVL(56, 24, 10, 127, 0), (G_NOGEN|G_NOCORPSE),
2860 	A(NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2861 	SIZ(600, 300, 0, MS_SILENT, MZ_HUMAN),
2862 	MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_STONE, 0,
2863 	M1_FLY|M1_SWIM|M1_BREATHLESS|M1_SEE_INVIS|M1_HUMANOID|M1_POIS,
2864 	M2_NOPOLY|M2_STALK|M2_PEACEFUL, M3_INFRAVISIBLE|M3_INFRAVISION,
2865 	CLR_BRIGHT_BLUE),
2866 #endif
2867     MON("djinni", S_DEMON,
2868 	LVL(7, 12, 4, 30, 0), (G_NOGEN|G_NOCORPSE),
2869 	A(ATTK(AT_WEAP, AD_PHYS, 2, 8),
2870 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2871 	SIZ(1500, 400, 0, MS_DJINNI, MZ_HUMAN), MR_POISON|MR_STONE, 0,
2872 	M1_HUMANOID|M1_FLY|M1_POIS,
2873 	M2_NOPOLY|M2_STALK|M2_COLLECT, M3_INFRAVISIBLE, CLR_YELLOW),
2874     MON("sandestin", S_DEMON,
2875 	LVL(13, 12, 4, 60, -5), (G_HELL|G_NOCORPSE|1),
2876 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6),
2877 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2878 	SIZ(1500, 400, 0, MS_CUSS, MZ_HUMAN), MR_STONE, 0,
2879 	M1_HUMANOID, M2_NOPOLY|M2_STALK|M2_STRONG|M2_COLLECT,
2880 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GRAY),
2881 /*
2882  * sea monsters
2883  */
2884     MON("jellyfish", S_EEL,
2885 	LVL(3, 3, 6, 0, 0), (G_GENO|G_NOGEN),
2886 	A(ATTK(AT_STNG, AD_DRST, 3, 3), NO_ATTK,
2887 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2888 	SIZ(80, 20, 0, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON,
2889 	M1_SWIM|M1_AMPHIBIOUS|M1_SLITHY|M1_NOLIMBS|M1_NOTAKE|M1_POIS,
2890 	M2_HOSTILE, 0, CLR_BLUE),
2891     MON("piranha", S_EEL,
2892 	LVL(5, 12, 4, 0, 0), (G_GENO|G_NOGEN|G_SGROUP),
2893 	A(ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK,
2894 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2895 	SIZ(60, 30, 0, MS_SILENT, MZ_SMALL), 0, 0,
2896 	M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|
2897 	  M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE,
2898 	M2_HOSTILE, 0, CLR_RED),
2899     MON("shark", S_EEL,
2900 	LVL(7, 12, 2, 0, 0), (G_GENO|G_NOGEN),
2901 	A(ATTK(AT_BITE, AD_PHYS, 5, 6), NO_ATTK,
2902 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2903 	SIZ(500, 350, 0, MS_SILENT, MZ_LARGE), 0, 0,
2904 	M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|
2905 	  M1_CARNIVORE|M1_OVIPAROUS|M1_THICK_HIDE|M1_NOTAKE,
2906 	M2_HOSTILE, 0, CLR_GRAY),
2907     MON("giant eel", S_EEL,
2908 	LVL(5, 9, -1, 0, 0), (G_GENO|G_NOGEN),
2909 	A(ATTK(AT_BITE, AD_PHYS, 3, 6), ATTK(AT_TUCH, AD_WRAP, 0, 0),
2910 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2911 	SIZ(200, 250, 0, MS_SILENT, MZ_HUGE), 0, 0,
2912 	M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|
2913 	  M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE,
2914 	M2_HOSTILE, M3_INFRAVISIBLE, CLR_CYAN),
2915     MON("electric eel", S_EEL,
2916 	LVL(7, 10, -3, 0, 0), (G_GENO|G_NOGEN),
2917 	A(ATTK(AT_BITE, AD_ELEC, 4, 6), ATTK(AT_TUCH, AD_WRAP, 0, 0),
2918 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2919 	SIZ(200, 250, 0, MS_SILENT, MZ_HUGE), MR_ELEC, MR_ELEC,
2920 	M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|
2921 	  M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE,
2922 	M2_HOSTILE, M3_INFRAVISIBLE, CLR_BRIGHT_BLUE),
2923     MON("kraken", S_EEL,
2924 	LVL(20, 3, 6, 0, -3), (G_GENO|G_NOGEN),
2925 	A(ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4),
2926 	  ATTK(AT_HUGS, AD_WRAP, 2, 6), ATTK(AT_BITE, AD_PHYS, 5, 4),
2927 	  NO_ATTK, NO_ATTK),
2928 	SIZ(1800, 1000, 0, MS_SILENT, MZ_HUGE), 0, 0,
2929 	M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
2930 	M2_NOPOLY|M2_HOSTILE|M2_STRONG, M3_INFRAVISIBLE, CLR_RED),
2931 /*
2932  * lizards, &c
2933  */
2934     MON("newt", S_LIZARD,
2935 	LVL(0, 6, 8, 0, 0), (G_GENO|5),
2936 	A(ATTK(AT_BITE, AD_PHYS, 1, 2),
2937 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2938 	SIZ(10, 20, 0, MS_SILENT, MZ_TINY), 0, 0,
2939 	M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
2940 	M2_HOSTILE, 0, CLR_YELLOW),
2941     MON("gecko", S_LIZARD,
2942 	LVL(1, 6, 8, 0, 0), (G_GENO|5),
2943 	A(ATTK(AT_BITE, AD_PHYS, 1, 3),
2944 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2945 	SIZ(10, 20, 0, MS_SQEEK, MZ_TINY), 0, 0,
2946 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_GREEN),
2947     MON("iguana", S_LIZARD,
2948 	LVL(2, 6, 7, 0, 0), (G_GENO|5),
2949 	A(ATTK(AT_BITE, AD_PHYS, 1, 4),
2950 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2951 	SIZ(30, 30, 0, MS_SILENT, MZ_TINY), 0, 0,
2952 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_BROWN),
2953     MON("baby crocodile", S_LIZARD,
2954 	LVL(3, 6, 7, 0, 0), G_GENO,
2955 	A(ATTK(AT_BITE, AD_PHYS, 1, 4),
2956 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2957 	SIZ(200, 200, 0, MS_SILENT, MZ_MEDIUM), 0, 0,
2958 	M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
2959 	M2_HOSTILE, 0, CLR_BROWN),
2960     MON("giant turtle", S_LIZARD,
2961 	LVL(7, 2, -5, 10, 0), (G_GENO|1),
2962 	A(ATTK(AT_BITE, AD_PHYS, 4, 6),
2963 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2964 	SIZ(4000, 1200, 0, MS_HISS, MZ_HUGE), MR_STONE, MR_STONE,
2965 	M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS|M1_HERBIVORE,
2966 	M2_HOSTILE,0, CLR_BRIGHT_GREEN),
2967     MON("lizard", S_LIZARD,
2968 	LVL(5, 6, 6, 10, 0), (G_GENO|5),
2969 	A(ATTK(AT_BITE, AD_PHYS, 1, 6),
2970 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2971 	SIZ(10, 40, 0, MS_SILENT, MZ_TINY), MR_STONE, MR_STONE,
2972 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_GREEN),
2973     MON("chameleon", S_LIZARD,
2974 	LVL(6, 5, 6, 10, 0), (G_GENO|2),
2975 	A(ATTK(AT_BITE, AD_PHYS, 4, 2),
2976 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2977 	SIZ(100, 100, 0, MS_SILENT, MZ_TINY), 0, 0,
2978 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_NOPOLY|M2_HOSTILE, 0, CLR_BROWN),
2979     MON("crocodile", S_LIZARD,
2980 	LVL(6, 9, 5, 0, 0), (G_GENO|1),
2981 	A(ATTK(AT_BITE, AD_PHYS, 4, 2), ATTK(AT_CLAW, AD_PHYS, 1,12),
2982 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2983 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), 0, 0,
2984 	M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS|
2985 	  M1_OVIPAROUS|M1_CARNIVORE,
2986 	M2_STRONG|M2_HOSTILE, 0, CLR_BROWN),
2987     MON("salamander", S_LIZARD,
2988 	LVL(8, 12, -1, 0, -9), (G_HELL|1),
2989 	A(ATTK(AT_WEAP, AD_PHYS, 2, 8), ATTK(AT_TUCH, AD_FIRE, 1, 6),
2990 	  ATTK(AT_HUGS, AD_PHYS, 2, 6), ATTK(AT_HUGS, AD_FIRE, 3, 6),
2991 	  NO_ATTK, NO_ATTK),
2992 	SIZ(1500, 400, 0, MS_MUMBLE, MZ_HUMAN), MR_SLEEP|MR_FIRE, MR_FIRE,
2993 	M1_HUMANOID|M1_SLITHY|M1_THICK_HIDE|M1_POIS,
2994 	M2_STALK|M2_HOSTILE|M2_COLLECT|M2_MAGIC, M3_INFRAVISIBLE, CLR_ORANGE),
2995 
2996 /*
2997  * dummy monster needed for visual interface
2998  */
2999 	/* (marking it unique prevents figurines)
3000 	 */
3001     MON("long worm tail", S_WORM_TAIL,
3002 	LVL(0, 0, 0, 0, 0), (G_NOGEN|G_NOCORPSE|G_UNIQ),
3003 	A(NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3004 	SIZ(0, 0, 0, 0, 0), 0, 0, 0L, M2_NOPOLY, 0, CLR_BROWN),
3005 
3006 	/* Note:
3007 	 * Worm tail must be between the normal monsters and the special
3008 	 * quest & pseudo-character ones because an optimization in the
3009 	 * random monster selection code assumes everything beyond here
3010 	 * has the G_NOGEN and M2_NOPOLY attributes.
3011 	 */
3012 
3013 /*
3014  * character classes
3015  */
3016     MON("archeologist", S_HUMAN,
3017 	LVL(10, 12, 10, 1, 3), G_NOGEN,
3018 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
3019 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3020 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
3021 	M1_HUMANOID|M1_TUNNEL|M1_NEEDPICK|M1_OMNIVORE,
3022 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, HI_DOMESTIC),
3023     MON("barbarian", S_HUMAN,
3024 	LVL(10, 12, 10, 1, 0), G_NOGEN,
3025 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
3026 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3027 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), MR_POISON, 0,
3028 	M1_HUMANOID|M1_OMNIVORE,
3029 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, HI_DOMESTIC),
3030     MON("caveman", S_HUMAN,
3031 	LVL(10, 12, 10, 0, 1), G_NOGEN,
3032 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4),
3033 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3034 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
3035 	M1_HUMANOID|M1_OMNIVORE,
3036 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_MALE|M2_COLLECT, M3_INFRAVISIBLE,
3037 	HI_DOMESTIC),
3038     MON("cavewoman", S_HUMAN,
3039 	LVL(10, 12, 10, 0, 1), G_NOGEN,
3040 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4),
3041 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3042 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
3043 	M1_HUMANOID|M1_OMNIVORE,
3044 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_FEMALE|M2_COLLECT, M3_INFRAVISIBLE,
3045 	HI_DOMESTIC),
3046     MON("healer", S_HUMAN,
3047 	LVL(10, 12, 10, 1, 0), G_NOGEN,
3048 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
3049 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3050 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), MR_POISON, 0,
3051 	M1_HUMANOID|M1_OMNIVORE,
3052 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, HI_DOMESTIC),
3053     MON("knight", S_HUMAN,
3054 	LVL(10, 12, 10, 1, 3), G_NOGEN,
3055 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
3056 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3057 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
3058 	M1_HUMANOID|M1_OMNIVORE,
3059 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, HI_DOMESTIC),
3060     MON("monk", S_HUMAN,
3061 	LVL(10, 12, 10, 2, 0), G_NOGEN,
3062 	A(ATTK(AT_CLAW, AD_PHYS, 1, 8), ATTK(AT_KICK, AD_PHYS, 1, 8),
3063 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3064 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
3065 	M1_HUMANOID|M1_HERBIVORE,
3066 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT|M2_MALE,
3067 	M3_INFRAVISIBLE, HI_DOMESTIC),
3068     MON("priest", S_HUMAN,
3069 	LVL(10, 12, 10, 2, 0), G_NOGEN,
3070 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
3071 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3072 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
3073 	M1_HUMANOID|M1_OMNIVORE,
3074 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_MALE|M2_COLLECT, M3_INFRAVISIBLE,
3075 	HI_DOMESTIC),
3076     MON("priestess", S_HUMAN,
3077 	LVL(10, 12, 10, 2, 0), G_NOGEN,
3078 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
3079 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3080 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
3081 	M1_HUMANOID|M1_OMNIVORE,
3082 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_FEMALE|M2_COLLECT, M3_INFRAVISIBLE,
3083 	HI_DOMESTIC),
3084     MON("ranger", S_HUMAN,
3085 	LVL(10, 12, 10, 2, -3), G_NOGEN,
3086 	A(ATTK(AT_WEAP, AD_PHYS, 1, 4),
3087 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3088 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
3089 	M1_HUMANOID|M1_OMNIVORE,
3090 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE,
3091 	HI_DOMESTIC),
3092     MON("rogue", S_HUMAN,
3093 	LVL(10, 12, 10, 1, -3), G_NOGEN,
3094 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
3095 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3096 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
3097 	M1_HUMANOID|M1_OMNIVORE,
3098 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT,
3099 	M3_INFRAVISIBLE, HI_DOMESTIC),
3100     MON("samurai", S_HUMAN,
3101 	LVL(10, 12, 10, 1, 3), G_NOGEN,
3102 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 8),
3103 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3104 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
3105 	M1_HUMANOID|M1_OMNIVORE,
3106 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, HI_DOMESTIC),
3107 #ifdef TOURIST
3108     MON("tourist", S_HUMAN,
3109 	LVL(10, 12, 10, 1, 0), G_NOGEN,
3110 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
3111 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3112 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
3113 	M1_HUMANOID|M1_OMNIVORE,
3114 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, HI_DOMESTIC),
3115 #endif
3116     MON("valkyrie", S_HUMAN,
3117 	LVL(10, 12, 10, 1, -1), G_NOGEN,
3118 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 8),
3119 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3120 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), MR_COLD, 0,
3121 	M1_HUMANOID|M1_OMNIVORE,
3122 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_FEMALE|M2_COLLECT, M3_INFRAVISIBLE,
3123 	HI_DOMESTIC),
3124     MON("wizard", S_HUMAN,
3125 	LVL(10, 12, 10, 3, 0), G_NOGEN,
3126 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
3127 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3128 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
3129 	M1_HUMANOID|M1_OMNIVORE,
3130 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT|M2_MAGIC, M3_INFRAVISIBLE,
3131 	HI_DOMESTIC),
3132 /*
3133  * quest leaders
3134  */
3135     MON("Lord Carnarvon", S_HUMAN,
3136 	LVL(20, 12, 0, 30, 20), (G_NOGEN|G_UNIQ),
3137 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
3138 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3139 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0,
3140 	M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID|M1_OMNIVORE,
3141 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE|
3142 	  M2_COLLECT|M2_MAGIC,
3143 	M3_CLOSE|M3_INFRAVISIBLE, HI_LORD),
3144     MON("Pelias", S_HUMAN,
3145 	LVL(20, 12, 0, 30, 0), (G_NOGEN|G_UNIQ),
3146 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
3147 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3148 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), MR_POISON, 0,
3149 	M1_HUMANOID|M1_OMNIVORE,
3150 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE|
3151 	  M2_COLLECT|M2_MAGIC,
3152 	M3_CLOSE|M3_INFRAVISIBLE, HI_LORD),
3153     MON("Shaman Karnov", S_HUMAN,
3154 	LVL(20, 12, 0, 30, 20), (G_NOGEN|G_UNIQ),
3155 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4),
3156 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3157 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0,
3158 	M1_HUMANOID|M1_OMNIVORE,
3159 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE|
3160 	  M2_COLLECT|M2_MAGIC,
3161 	M3_CLOSE|M3_INFRAVISIBLE, HI_LORD),
3162 #if 0	/* OBSOLETE */
3163 	/* Two for elves - one of each sex.
3164 	 */
3165     MON("Earendil", S_HUMAN,
3166 	LVL(20, 12, 0, 50, -20), (G_NOGEN|G_UNIQ),
3167 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8),
3168 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3169 	SIZ(WT_ELF, 350, 0, MS_LEADER, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
3170 	M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE,
3171 	M2_NOPOLY|M2_ELF|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|
3172 	  M2_MALE|M2_COLLECT|M2_MAGIC,
3173 	M3_CLOSE|M3_INFRAVISION|M3_INFRAVISIBLE, HI_LORD),
3174     MON("Elwing", S_HUMAN,
3175 	LVL(20, 12, 0, 50, -20), (G_NOGEN|G_UNIQ),
3176 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8),
3177 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3178 	SIZ(WT_ELF, 350, 0, MS_LEADER, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
3179 	M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE,
3180 	M2_NOPOLY|M2_ELF|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|
3181 	  M2_FEMALE|M2_COLLECT|M2_MAGIC,
3182 	M3_CLOSE|M3_INFRAVISION|M3_INFRAVISIBLE, HI_LORD),
3183 #endif
3184     MON("Hippocrates", S_HUMAN,
3185 	LVL(20, 12, 0, 40, 0), (G_NOGEN|G_UNIQ),
3186 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
3187 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3188 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), MR_POISON, 0,
3189 	M1_HUMANOID|M1_OMNIVORE,
3190 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE|
3191 	  M2_COLLECT|M2_MAGIC,
3192 	M3_CLOSE|M3_INFRAVISIBLE, HI_LORD),
3193     MON("King Arthur", S_HUMAN,
3194 	LVL(20, 12, 0, 40, 20), (G_NOGEN|G_UNIQ),
3195 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
3196 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3197 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0,
3198 	M1_HUMANOID|M1_OMNIVORE,
3199 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE|
3200 	  M2_COLLECT|M2_MAGIC,
3201 	M3_CLOSE|M3_INFRAVISIBLE, HI_LORD),
3202     MON("Grand Master", S_HUMAN,
3203 	LVL(25, 12, 0, 70, 0), (G_NOGEN|G_UNIQ),
3204 	A(ATTK(AT_CLAW, AD_PHYS, 4, 10), ATTK(AT_KICK, AD_PHYS, 2, 8),
3205 	  ATTK(AT_MAGC, AD_CLRC, 2, 8), ATTK(AT_MAGC, AD_CLRC, 2, 8),
3206 	  NO_ATTK, NO_ATTK),
3207 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN),
3208 	MR_FIRE|MR_ELEC|MR_SLEEP|MR_POISON, 0,
3209 	M1_HUMANOID|M1_SEE_INVIS|M1_HERBIVORE,
3210 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_NASTY|M2_MAGIC,
3211 	M3_CLOSE|M3_INFRAVISIBLE, CLR_BLACK),
3212     MON("Arch Priest", S_HUMAN,
3213 	LVL(25, 12, 7, 70, 0), (G_NOGEN|G_UNIQ),
3214 	A(ATTK(AT_WEAP, AD_PHYS, 4,10), ATTK(AT_KICK, AD_PHYS, 2, 8),
3215 	  ATTK(AT_MAGC, AD_CLRC, 2, 8), ATTK(AT_MAGC, AD_CLRC, 2, 8),
3216 	  NO_ATTK, NO_ATTK),
3217 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN),
3218 	MR_FIRE|MR_ELEC|MR_SLEEP|MR_POISON, 0,
3219 	M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE,
3220 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT|M2_MAGIC,
3221 	M3_CLOSE|M3_INFRAVISIBLE, CLR_WHITE),
3222     MON("Orion", S_HUMAN,
3223 	LVL(20, 12, 0, 30, 0), (G_NOGEN|G_UNIQ),
3224 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
3225 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3226 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0,
3227 	M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS|M1_SWIM|M1_AMPHIBIOUS,
3228 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE|
3229 	  M2_COLLECT|M2_MAGIC,
3230 	M3_CLOSE|M3_INFRAVISION|M3_INFRAVISIBLE, HI_LORD),
3231 	/* Note: Master of Thieves is also the Tourist's nemesis.
3232 	 */
3233     MON("Master of Thieves", S_HUMAN,
3234 	LVL(20, 12, 0, 30, -20), (G_NOGEN|G_UNIQ),
3235 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6),
3236 	  ATTK(AT_CLAW, AD_SAMU, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK),
3237 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), MR_STONE, 0,
3238 	M1_HUMANOID|M1_OMNIVORE,
3239 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_MALE|M2_GREEDY|
3240 	  M2_JEWELS|M2_COLLECT|M2_MAGIC,
3241 	M3_CLOSE|M3_INFRAVISIBLE, HI_LORD),
3242     MON("Lord Sato", S_HUMAN,
3243 	LVL(20, 12, 0, 30, 20), (G_NOGEN|G_UNIQ),
3244 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 6),
3245 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3246 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0,
3247 	M1_HUMANOID|M1_OMNIVORE,
3248 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE|
3249 	  M2_COLLECT|M2_MAGIC,
3250 	M3_CLOSE|M3_INFRAVISIBLE, HI_LORD),
3251 #ifdef TOURIST
3252     MON("Twoflower", S_HUMAN,
3253 	LVL(20, 12, 10, 20, 0), (G_NOGEN|G_UNIQ),
3254 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
3255 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3256 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0,
3257 	M1_HUMANOID|M1_OMNIVORE,
3258 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE|
3259 	  M2_COLLECT|M2_MAGIC,
3260 	M3_CLOSE|M3_INFRAVISIBLE, HI_DOMESTIC),
3261 #endif
3262     MON("Norn", S_HUMAN,
3263 	LVL(20, 12, 0, 80, 0), (G_NOGEN|G_UNIQ),
3264 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 6),
3265 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3266 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), MR_COLD, 0,
3267 	M1_HUMANOID|M1_OMNIVORE,
3268 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_FEMALE|
3269 	  M2_COLLECT|M2_MAGIC,
3270 	M3_CLOSE|M3_INFRAVISIBLE, HI_LORD),
3271     MON("Neferet the Green", S_HUMAN,
3272 	LVL(20, 12, 0, 60, 0), (G_NOGEN|G_UNIQ),
3273 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_SPEL, 2, 8),
3274 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3275 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0,
3276 	M1_HUMANOID|M1_OMNIVORE,
3277 	M2_NOPOLY|M2_HUMAN|M2_FEMALE|M2_PNAME|M2_PEACEFUL|
3278 	  M2_STRONG|M2_COLLECT|M2_MAGIC,
3279 	M3_CLOSE|M3_INFRAVISIBLE, CLR_GREEN),
3280 /*
3281  * quest nemeses
3282  */
3283     MON("Minion of Huhetotl", S_DEMON,
3284 	LVL(16, 12, -2, 75, -14), (G_NOCORPSE|G_NOGEN|G_UNIQ),
3285 	A(ATTK(AT_WEAP, AD_PHYS, 8, 4), ATTK(AT_WEAP, AD_PHYS, 4, 6),
3286 	  ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_CLAW, AD_SAMU, 2, 6),
3287 	  NO_ATTK, NO_ATTK),
3288 	SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_LARGE),
3289 	MR_FIRE|MR_POISON|MR_STONE, 0, M1_FLY|M1_SEE_INVIS|M1_POIS,
3290 	M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_COLLECT,
3291 	M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISION|M3_INFRAVISIBLE, CLR_RED),
3292     MON("Thoth Amon", S_HUMAN,
3293 	LVL(16, 12, 0, 10, -14), (G_NOGEN|G_UNIQ|G_NOCORPSE),
3294 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0),
3295 	  ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_CLAW, AD_SAMU, 1, 4),
3296 	  NO_ATTK, NO_ATTK),
3297 	SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN), MR_POISON|MR_STONE, 0,
3298 	M1_HUMANOID|M1_OMNIVORE,
3299 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_STRONG|M2_MALE|M2_STALK|M2_HOSTILE|
3300 	  M2_NASTY|M2_COLLECT|M2_MAGIC,
3301 	M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD),
3302 	/* Multi-headed, possessing the breath attacks of all the other dragons
3303 	 * (selected at random when attacking).
3304 	 */
3305     MON("Chromatic Dragon", S_DRAGON,
3306 	LVL(16, 12, 0, 30, -14), (G_NOGEN|G_UNIQ),
3307 	A(ATTK(AT_BREA, AD_RBRE, 6, 8), ATTK(AT_MAGC, AD_SPEL, 0, 0),
3308 	  ATTK(AT_CLAW, AD_SAMU, 2, 8), ATTK(AT_BITE, AD_PHYS, 4, 8),
3309 	  ATTK(AT_BITE, AD_PHYS, 4, 8), ATTK(AT_STNG, AD_PHYS, 1, 6)),
3310 	SIZ(WT_DRAGON, 1700, 0, MS_NEMESIS, MZ_GIGANTIC),
3311 	MR_FIRE|MR_COLD|MR_SLEEP|MR_DISINT|MR_ELEC|MR_POISON|MR_ACID|MR_STONE,
3312 	MR_FIRE|MR_COLD|MR_SLEEP|MR_DISINT|MR_ELEC|MR_POISON|MR_STONE,
3313 	M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE|M1_SEE_INVIS|M1_POIS,
3314 	M2_NOPOLY|M2_HOSTILE|M2_FEMALE|M2_STALK|M2_STRONG|M2_NASTY|
3315 	  M2_GREEDY|M2_JEWELS|M2_MAGIC,
3316 	M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD),
3317 #if 0	/* OBSOLETE */
3318     MON("Goblin King", S_ORC,
3319 	LVL(15, 12, 10, 0, -15), (G_NOGEN|G_UNIQ),
3320 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6),
3321 	  ATTK(AT_CLAW, AD_SAMU, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK),
3322 	SIZ(750, 350, 0, MS_NEMESIS, MZ_HUMAN), 0, 0,
3323 	M1_HUMANOID|M1_OMNIVORE,
3324 	M2_NOPOLY|M2_ORC|M2_HOSTILE|M2_STRONG|M2_STALK|M2_NASTY|M2_MALE|
3325 	  M2_GREEDY|M2_JEWELS|M2_COLLECT|M2_MAGIC,
3326 	M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISION|M3_INFRAVISIBLE, HI_LORD),
3327 #endif
3328     MON("Cyclops", S_GIANT,
3329 	LVL(18, 12, 0, 0, -15), (G_NOGEN|G_UNIQ),
3330 	A(ATTK(AT_WEAP, AD_PHYS, 4, 8), ATTK(AT_WEAP, AD_PHYS, 4, 8),
3331 	  ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
3332 	SIZ(1900, 700, 0, MS_NEMESIS, MZ_HUGE), MR_STONE, 0,
3333 	M1_HUMANOID|M1_OMNIVORE,
3334 	M2_NOPOLY|M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_STALK|M2_HOSTILE|
3335 	  M2_NASTY|M2_MALE|M2_JEWELS|M2_COLLECT,
3336 	M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISION|M3_INFRAVISIBLE, CLR_GRAY),
3337     MON("Ixoth", S_DRAGON,
3338 	LVL(15, 12, -1, 20, -14), (G_NOGEN|G_UNIQ),
3339 	A(ATTK(AT_BREA, AD_FIRE, 8, 6), ATTK(AT_BITE, AD_PHYS, 4, 8),
3340 	  ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_CLAW, AD_PHYS, 2, 4),
3341 	  ATTK(AT_CLAW, AD_SAMU, 2, 4), NO_ATTK ),
3342 	SIZ(WT_DRAGON, 1600, 0, MS_NEMESIS, MZ_GIGANTIC),
3343 	MR_FIRE|MR_STONE, MR_FIRE,
3344 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE|M1_SEE_INVIS,
3345 	M2_NOPOLY|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_STALK|
3346 	  M2_GREEDY|M2_JEWELS|M2_MAGIC,
3347 	M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, CLR_RED),
3348     MON("Master Kaen", S_HUMAN,
3349 	LVL(25, 12, -10, 10, -20), (G_NOGEN|G_UNIQ),
3350 	A(ATTK(AT_CLAW, AD_PHYS, 16, 2), ATTK(AT_CLAW, AD_PHYS, 16, 2),
3351 	  ATTK(AT_MAGC, AD_CLRC, 0, 0), ATTK(AT_CLAW, AD_SAMU, 1, 4),
3352 	  NO_ATTK, NO_ATTK),
3353 	SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN),
3354 	MR_POISON|MR_STONE, MR_POISON,
3355 	M1_HUMANOID|M1_HERBIVORE|M1_SEE_INVIS,
3356 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_NASTY|
3357 	  M2_STALK|M2_COLLECT|M2_MAGIC,
3358 	M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD),
3359     MON("Nalzok", S_DEMON,
3360 	LVL(16, 12, -2, 85, -127), (G_NOGEN|G_UNIQ|G_NOCORPSE),
3361 	A(ATTK(AT_WEAP, AD_PHYS, 8, 4), ATTK(AT_WEAP, AD_PHYS, 4, 6),
3362 	  ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_CLAW, AD_SAMU, 2, 6),
3363 	  NO_ATTK, NO_ATTK),
3364 	SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_LARGE),
3365 	MR_FIRE|MR_POISON|MR_STONE, 0, M1_FLY|M1_SEE_INVIS|M1_POIS,
3366 	M2_NOPOLY|M2_DEMON|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_STALK|
3367 	  M2_NASTY|M2_COLLECT,
3368 	M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISION|M3_INFRAVISIBLE, CLR_RED),
3369     MON("Scorpius", S_SPIDER,
3370 	LVL(15, 12, 10, 0, -15), (G_NOGEN|G_UNIQ),
3371 	A(ATTK(AT_CLAW, AD_PHYS, 2, 6), ATTK(AT_CLAW, AD_SAMU, 2, 6),
3372 	  ATTK(AT_STNG, AD_DISE, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK),
3373 	SIZ(750, 350, 0, MS_NEMESIS, MZ_HUMAN), MR_POISON|MR_STONE, MR_POISON,
3374 	M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_POIS|M1_CARNIVORE,
3375 	M2_NOPOLY|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_STALK|M2_NASTY|
3376 	  M2_COLLECT|M2_MAGIC,
3377 	M3_WANTSARTI|M3_WAITFORU, HI_LORD),
3378     MON("Master Assassin", S_HUMAN,
3379 	LVL(15, 12, 0, 30, 18), (G_NOGEN|G_UNIQ),
3380 	A(ATTK(AT_WEAP, AD_DRST, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 8),
3381 	  ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
3382 	SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN), MR_STONE, 0,
3383 	M1_HUMANOID|M1_OMNIVORE,
3384 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_HOSTILE|M2_STALK|M2_NASTY|
3385 	  M2_COLLECT|M2_MAGIC,
3386 	M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD),
3387 	/* A renegade daimyo who led a 13 year civil war against the shogun
3388 	 * of his time.
3389 	 */
3390     MON("Ashikaga Takauji", S_HUMAN,
3391 	LVL(15, 12, 0, 40, -13), (G_NOGEN|G_UNIQ|G_NOCORPSE),
3392 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6),
3393 	  ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
3394 	SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN), MR_STONE, 0,
3395 	M1_HUMANOID|M1_OMNIVORE,
3396 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_STALK|
3397 	  M2_NASTY|M2_MALE|M2_COLLECT|M2_MAGIC,
3398 	M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD),
3399 #ifdef TOURIST
3400 	/*
3401 	 * Note: the Master of Thieves was defined above.
3402 	 */
3403 #endif
3404     MON("Lord Surtur", S_GIANT,
3405 	LVL(15, 12, 2, 50, 12), (G_NOGEN|G_UNIQ),
3406 	A(ATTK(AT_WEAP, AD_PHYS, 2,10), ATTK(AT_WEAP, AD_PHYS, 2,10),
3407 	  ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
3408 	SIZ(2250, 850, 0, MS_NEMESIS, MZ_HUGE), MR_FIRE|MR_STONE, MR_FIRE,
3409 	M1_HUMANOID|M1_OMNIVORE,
3410 	M2_NOPOLY|M2_GIANT|M2_MALE|M2_PNAME|M2_HOSTILE|M2_STALK|
3411 	  M2_STRONG|M2_NASTY|M2_ROCKTHROW|M2_JEWELS|M2_COLLECT,
3412 	M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISION|M3_INFRAVISIBLE, HI_LORD),
3413     MON("Dark One", S_HUMAN,
3414 	LVL(15, 12, 0, 80, -10), (G_NOGEN|G_UNIQ|G_NOCORPSE),
3415 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
3416 	  ATTK(AT_CLAW, AD_SAMU, 1, 4), ATTK(AT_MAGC, AD_SPEL, 0, 0),
3417 	  NO_ATTK, NO_ATTK),
3418 	SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN), MR_STONE, 0,
3419 	M1_HUMANOID|M1_OMNIVORE,
3420 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_HOSTILE|M2_STALK|M2_NASTY|
3421 	  M2_COLLECT|M2_MAGIC,
3422 	M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, CLR_BLACK),
3423 /*
3424  * quest "guardians"
3425  */
3426     MON("student", S_HUMAN,
3427 	LVL(5, 12, 10, 10, 3), G_NOGEN,
3428 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
3429 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3430 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0,
3431 	M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID|M1_OMNIVORE,
3432 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE,
3433 	HI_DOMESTIC),
3434     MON("chieftain", S_HUMAN,
3435 	LVL(5, 12, 10, 10, 0), G_NOGEN,
3436 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
3437 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3438 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), MR_POISON, 0,
3439 	M1_HUMANOID|M1_OMNIVORE,
3440 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE,
3441 	HI_DOMESTIC),
3442     MON("neanderthal", S_HUMAN,
3443 	LVL(5, 12, 10, 10, 1), G_NOGEN,
3444 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4),
3445 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3446 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0,
3447 	M1_HUMANOID|M1_OMNIVORE,
3448 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE,
3449 	HI_DOMESTIC),
3450 #if 0	/* OBSOLETE */
3451     MON("High-elf", S_HUMAN,
3452 	LVL(5, 12, 10, 10, -7), G_NOGEN,
3453 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_MAGC, AD_CLRC, 0, 0),
3454 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3455 	SIZ(WT_ELF, 350, 0, MS_GUARDIAN, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
3456 	M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE,
3457 	M2_NOPOLY|M2_ELF|M2_PEACEFUL|M2_COLLECT,
3458 	M3_INFRAVISION|M3_INFRAVISIBLE, HI_DOMESTIC),
3459 #endif
3460     MON("attendant", S_HUMAN,
3461 	LVL(5, 12, 10, 10, 3), G_NOGEN,
3462 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
3463 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3464 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), MR_POISON, 0,
3465 	M1_HUMANOID|M1_OMNIVORE,
3466 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE,
3467 	HI_DOMESTIC),
3468     MON("page", S_HUMAN,
3469 	LVL(5, 12, 10, 10, 3), G_NOGEN,
3470 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
3471 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3472 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0,
3473 	M1_HUMANOID|M1_OMNIVORE,
3474 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE,
3475 	HI_DOMESTIC),
3476     MON("abbot", S_HUMAN,
3477 	LVL(5, 12, 10, 20, 0), G_NOGEN,
3478 	A(ATTK(AT_CLAW, AD_PHYS, 8, 2), ATTK(AT_KICK, AD_STUN, 3, 2),
3479 	  ATTK(AT_MAGC, AD_CLRC, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK),
3480 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0,
3481 	M1_HUMANOID|M1_HERBIVORE,
3482 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE,
3483 	HI_DOMESTIC),
3484     MON("acolyte", S_HUMAN,
3485 	LVL(5, 12, 10, 20, 0), G_NOGEN,
3486 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_CLRC, 0, 0),
3487 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3488 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0,
3489 	M1_HUMANOID|M1_OMNIVORE,
3490 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE,
3491 	HI_DOMESTIC),
3492     MON("hunter", S_HUMAN,
3493 	LVL(5, 12, 10, 10, -7), G_NOGEN,
3494 	A(ATTK(AT_WEAP, AD_PHYS, 1, 4),
3495 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3496 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0,
3497 	M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE,
3498 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT,
3499 	M3_INFRAVISION|M3_INFRAVISIBLE, HI_DOMESTIC),
3500     MON("thug", S_HUMAN,
3501 	LVL(5, 12, 10, 10, -3), G_NOGEN,
3502 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
3503 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3504 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0,
3505 	M1_HUMANOID|M1_OMNIVORE,
3506 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_GREEDY|M2_COLLECT,
3507 	M3_INFRAVISIBLE, HI_DOMESTIC),
3508     MON("ninja", S_HUMAN,
3509 	LVL(5, 12, 10, 10, 3), G_NOGEN,
3510 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 8),
3511 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3512 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
3513 	M1_HUMANOID|M1_OMNIVORE,
3514 	M2_NOPOLY|M2_HUMAN|M2_HOSTILE|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE,
3515 	HI_DOMESTIC),
3516     MON("roshi", S_HUMAN,
3517 	LVL(5, 12, 10, 10, 3), G_NOGEN,
3518 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 8),
3519 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3520 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0,
3521 	M1_HUMANOID|M1_OMNIVORE,
3522 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE,
3523 	HI_DOMESTIC),
3524 #ifdef TOURIST
3525     MON("guide", S_HUMAN,
3526 	LVL(5, 12, 10, 20, 0), G_NOGEN,
3527 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0),
3528 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3529 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0,
3530 	M1_HUMANOID|M1_OMNIVORE,
3531 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL | M2_STRONG|M2_COLLECT|M2_MAGIC,
3532 	M3_INFRAVISIBLE, HI_DOMESTIC),
3533 #endif
3534     MON("warrior", S_HUMAN,
3535 	LVL(5, 12, 10, 10, -1), G_NOGEN,
3536 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 8),
3537 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3538 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0,
3539 	M1_HUMANOID|M1_OMNIVORE,
3540 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT|M2_FEMALE, M3_INFRAVISIBLE,
3541 	HI_DOMESTIC),
3542     MON("apprentice", S_HUMAN,
3543 	LVL(5, 12, 10, 30, 0), G_NOGEN,
3544 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0),
3545 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3546 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0,
3547 	M1_HUMANOID|M1_OMNIVORE,
3548 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT|M2_MAGIC,
3549 	M3_INFRAVISIBLE, HI_DOMESTIC),
3550 /*
3551  * array terminator
3552  */
3553     MON("", 0,
3554 	LVL(0, 0, 0, 0, 0), (0),
3555 	A(NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3556 	SIZ(0, 0, 0, 0, 0), 0, 0, 0L, 0L, 0, 0)
3557 };
3558 #endif /* !SPLITMON_1 */
3559 
3560 #ifndef SPLITMON_1
3561 /* dummy routine used to force linkage */
3562 void
monst_init()3563 monst_init()
3564 {
3565     return;
3566 }
3567 #endif
3568 
3569 /*monst.c*/
3570