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