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