Source:SLASH'EM 0.0.7E7F2/monst.c

From NetHackWiki
Jump to navigation Jump to search

Below is the full text to monst.c from the source code of SLASH'EM 0.0.7E7F2. To link to a particular line, write [[SLASH'EM 0.0.7E7F2/monst.c#line123]], for example.

The latest source code for vanilla NetHack is at Source code.

The NetHack General Public License applies to screenshots, source code and other content from NetHack.

This content was modified from the original NetHack source code distribution (by splitting up NetHack content between wiki pages, and possibly further editing). See the page history for a list of who changed it, and on what dates.

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.   #include "egyp.h"
13.   
14.   
15.   /* #ifdef MUSE */
16.   #define MARM(x,y) x /* x is usually 10 */
17.   /* #else
18.      #define MARM(x,y) y
19.      #endif */
20.   
21.   #define NO_ATTK {0,0,0,0}
22.   
23.   #define WT_ELF	   800
24.   #define WT_DRAGON 4500
25.   
26.   #ifdef C
27.   #undef C
28.   #endif
29.   #ifdef TEXTCOLOR
30.   #include "color.h"
31.   #define C(color)	color
32.   #define HI_DOMESTIC	CLR_WHITE	/* use for player + friendlies */
33.   #define HI_LORD		CLR_MAGENTA
34.   #else
35.   #define C(color)
36.   #endif
37.   
38.   void NDECL(monst_init);
39.   /*
40.    *	Entry Format:		(from permonst.h)
41.    *
42.    *	name, symbol (S_* defines),
43.    *	difficulty level, move rate, armor class, magic resistance,
44.    *	alignment, creation/geno flags (G_* defines),
45.    *      6 * attack structs ATTK(type , damage-type, # dice, # sides),
46.    *	weight (WT_* defines), nutritional value, extension length,
47.    *	sounds made (MS_* defines), physical size (MZ_* defines),
48.    *	resistances, resistances conferred (both MR_* defines),
49.    *	3 * flag bitmaps (M1_*, M2_*, and M3_* defines respectively)
50.    *	symbol color (C(x) macro)
51.    */
52.   #define MON(nam,sym,lvl,gen,atk,siz,mr1,mr2,flg1,flg2,flg3,col) \
53.   	   {nam,sym,lvl,gen,atk,siz,mr1,mr2,flg1,flg2,flg3,C(col)}
54.   /* LVL() and SIZ() collect several fields to cut down on # of args for MON() */
55.   #define LVL(lvl,mov,ac,mr,aln) lvl,mov,ac,mr,aln
56.   #define SIZ(wt,nut,pxl,snd,siz) wt,nut,pxl,snd,siz
57.   /* ATTK() and A() are to avoid braces and commas within args to MON() */
58.   #define ATTK(at,ad,n,d) {at,ad,n,d}
59.   #define A(a1,a2,a3,a4,a5,a6) {a1,a2,a3,a4,a5,a6}
60.   
61.   
62.   /*
63.    *	Rule #1:	monsters of a given class are contiguous in the
64.    *			mons[] array.
65.    *
66.    *	Rule #2:	monsters of a given class are presented in ascending
67.    *			order of strength.
68.    *
69.    *	Rule #3:	monster frequency is included in the geno mask;
70.    *			the frequency can be from 0 to 7.  0's will also
71.    *			be skipped during generation.
72.    *
73.    *	Rule #4:	monster subclasses (e.g. giants) should be kept
74.    *			together, unless it violates Rule 2.  NOGEN monsters
75.    *			won't violate Rule 2.
76.    *
77.    * Guidelines for color assignment:
78.    *
79.    *	* Use the same color for all `growth stages' of a monster (ex.
80.    *	  little dog/big dog, baby naga/full-grown naga.
81.    *
82.    *	* Use colors given in names wherever possible. If the class has `real'
83.    *	  members with strong color associations, use those.
84.    *
85.    *	* Favor `cool' colors for cold-resistent monsters, `warm' ones for
86.    *	  fire-resistent ones.
87.    *
88.    *	* Try to reserve purple (magenta) for powerful `ruler' monsters (queen
89.    *	  bee, kobold lord, &c.).
90.    *
91.    *	* Subject to all these constraints, try to use color to make as many
92.    *	  distinctions as the / command (that is, within a monster letter
93.    *	  distinct names should map to distinct colors).
94.    *
95.    * The aim in assigning colors is to be consistent enough so a player can
96.    * become `intuitive' about them, deducing some or all of these rules
97.    * unconsciously. Use your common sense.
98.    */
99.   
100.  /* [Tom] I increased frequencies of all the "old" monsters, so the new ones
101.   *  are all that much more rare and special */
102.  
103.  /* [Tom] I made many monsters NOHELL -- mostly natural animals and stuff */
104.  
105.  #ifndef SPLITMON_2
106.  NEARDATA struct permonst mons[] = {
107.  /*
108.   * ants
109.   */
110.      MON("giant ant", S_ANT,
111.  	LVL(2, 18, 3, 0, 0), (G_NOHELL|G_GENO|G_SGROUP|4),
112.  	A(ATTK(AT_BITE, AD_PHYS, 1, 4),
113.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
114.  	SIZ(10, 10, 0, MS_SILENT, MZ_TINY), 0, 0,
115.  	M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE,
116.  	M2_HOSTILE, 0, CLR_BROWN),
117.      MON("giant tick", S_ANT,
118.  	LVL(1, 12, 9, 0, 0), (G_GENO|G_SGROUP|G_HELL|G_NOGEN),
119.  	A(ATTK(AT_BITE, AD_PHYS, 1, 1), ATTK(AT_MULTIPLY, 0, 0, 0),
120.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
121.  	SIZ(5, 10, 0, MS_SILENT, MZ_TINY), 0, 0,
122.  	M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE,
123.  	M2_HOSTILE, 0, CLR_GRAY),
124.      MON("killer bee", S_ANT,
125.  	LVL(1, 18, -1, 0, 0), (G_NOHELL|G_GENO|G_LGROUP|3),
126.  	A(ATTK(AT_STNG, AD_DRST, 1, 3),
127.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
128.  	SIZ(1, 5, 0, MS_BUZZ, MZ_TINY), MR_POISON, MR_POISON,
129.  	M1_ANIMAL|M1_FLY|M1_NOHANDS|M1_POIS,
130.  	M2_HOSTILE|M2_FEMALE, 0, CLR_YELLOW),
131.      MON("giant flea", S_ANT,
132.  	LVL(3, 14, 8, 0, 0), (G_GENO|G_SGROUP|G_HELL|G_NOGEN),
133.  	A(ATTK(AT_BITE, AD_PHYS, 1, 2), ATTK(AT_BITE, AD_PHYS, 1, 2),
134.  	  ATTK(AT_MULTIPLY, 0, 0, 0),
135.  	  NO_ATTK, NO_ATTK, NO_ATTK),
136.  	SIZ(5, 10, 0, MS_SILENT, MZ_TINY), 0, 0,
137.  	M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE,
138.  	M2_HOSTILE, 0, CLR_GRAY),
139.      MON("soldier ant", S_ANT,
140.  	LVL(3, 18, 3, 0, 0), (G_NOHELL|G_GENO|G_SGROUP|3),
141.  	A(ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_STNG, AD_DRST, 3, 4),
142.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
143.  	SIZ(20, 5, 0, MS_SILENT, MZ_TINY), MR_POISON, MR_POISON,
144.  	M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_POIS|M1_CARNIVORE,
145.  	M2_HOSTILE, 0, CLR_BLUE),
146.      MON("fire ant", S_ANT,
147.  	LVL(3, 18, 3, 10, 0), (G_GENO|G_SGROUP|3),
148.  	A(ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_BITE, AD_FIRE, 2, 4),
149.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
150.  	SIZ(30, 10, 0, MS_SILENT, MZ_TINY), MR_FIRE, MR_FIRE,
151.  	M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE,
152.  	M2_HOSTILE, M3_INFRAVISIBLE, CLR_RED),
153.      MON("snow ant", S_ANT,
154.  	LVL(3, 18, 3, 10, 0), (G_NOHELL|G_GENO|G_SGROUP|1),
155.  	A(ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_BITE, AD_COLD, 2, 4),
156.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
157.  	SIZ(30, 10, 0, MS_SILENT, MZ_TINY), MR_COLD, MR_COLD,
158.  	M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE,
159.  	M2_HOSTILE, 0, CLR_CYAN),
160.      MON("giant beetle", S_ANT,
161.  	LVL(5, 6, 4, 0, 0), (G_NOHELL|G_GENO|4),
162.  	A(ATTK(AT_BITE, AD_PHYS, 3, 6),
163.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
164.  	SIZ(10, 10, 0, MS_SILENT, MZ_LARGE), MR_POISON, MR_POISON,
165.  	M1_ANIMAL|M1_NOHANDS|M1_POIS|M1_CARNIVORE,
166.  	M2_HOSTILE, 0, CLR_BLACK),
167.      MON("giant louse", S_ANT,
168.  	LVL(5, 16, 6, 0, 0), (G_GENO|G_SGROUP|G_HELL|G_NOGEN),
169.  	A(ATTK(AT_BITE, AD_PHYS, 1, 4), ATTK(AT_BITE, AD_PHYS, 1, 4),
170.  	  ATTK(AT_MULTIPLY, 0, 0, 0),
171.  	  NO_ATTK, NO_ATTK, NO_ATTK),
172.  	SIZ(10, 10, 0, MS_SILENT, MZ_TINY), 0, 0,
173.  	M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE,
174.  	M2_HOSTILE, 0, CLR_GRAY),
175.      MON("tsetse fly", S_ANT, 
176.  	LVL(3, 15, 0, 0, 0), (G_HELL|G_GENO|G_SGROUP|1),
177.  	A(ATTK(AT_STNG, AD_SLEE, 1, 3), ATTK(AT_STNG, AD_PHYS, 1, 3), 
178.  	  NO_ATTK,NO_ATTK, NO_ATTK, NO_ATTK),
179.  	SIZ(1, 5, 0, MS_BUZZ, MZ_TINY), MR_POISON|MR_SLEEP, MR_POISON|MR_SLEEP,
180.  	M1_ANIMAL|M1_FLY|M1_NOHANDS|M1_POIS, 
181.  	M2_HOSTILE|M2_NASTY, 0, CLR_GREEN),
182.      MON("migo drone", S_ANT,
183.  	LVL(7, 12, 0, 10, -5), (G_GENO|G_LGROUP|2),
184.  	A(ATTK(AT_STNG, AD_DRST, 1, 3),
185.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
186.  	SIZ(500, 50, 0, MS_BUZZ, MZ_MEDIUM), MR_POISON, MR_POISON,
187.  	M1_FLY|M1_POIS|M1_SEE_INVIS|M1_OMNIVORE,
188.  	M2_NEUTER|M2_WANDER|M2_STRONG|M2_COLLECT|M2_MAGIC|M2_GREEDY|M2_JEWELS|M2_HOSTILE,
189.  	M3_INFRAVISION|M3_TRAITOR,
190.  	CLR_GREEN),
191.      MON("queen bee", S_ANT,
192.  	LVL(9, 24, -4, 0, 0), (G_NOHELL|G_GENO|G_NOGEN),
193.  	A(ATTK(AT_STNG, AD_DRST, 1, 8),
194.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
195.  	SIZ(1, 5, 0, MS_BUZZ, MZ_TINY), MR_POISON, MR_POISON,
196.  	M1_ANIMAL|M1_FLY|M1_NOHANDS|M1_OVIPAROUS|M1_POIS,
197.  	M2_HOSTILE|M2_FEMALE|M2_PRINCE, 0, HI_LORD),
198.      MON("yellow jacket", S_ANT,
199.  	LVL(8, 15, 2, 0, 0), (G_NOHELL|G_GENO|G_LGROUP|1),
200.  	A(ATTK(AT_STNG, AD_DRST, 1, 6), NO_ATTK, NO_ATTK,
201.  	  NO_ATTK, NO_ATTK, NO_ATTK),
202.  	SIZ(30, 10, 0, MS_BUZZ, MZ_SMALL), MR_POISON, MR_POISON,
203.  	M1_ANIMAL|M1_FLY|M1_NOHANDS|M1_POIS, 
204.  	M2_HOSTILE|M2_FEMALE, 0, CLR_YELLOW),
205.      MON("black wasp", S_ANT, 
206.  	LVL(9, 15, 2, 0, 0), (G_NOHELL|G_GENO|G_LGROUP|1),
207.  	A(ATTK(AT_STNG, AD_DRST, 2, 6), NO_ATTK, NO_ATTK,
208.  	  NO_ATTK, NO_ATTK, NO_ATTK),
209.  	SIZ(300, 100, 0, MS_BUZZ, MZ_MEDIUM), MR_POISON, MR_POISON,
210.  	M1_ANIMAL|M1_FLY|M1_NOHANDS|M1_POIS, 
211.  	M2_HOSTILE|M2_FEMALE, 0, CLR_YELLOW),
212.      MON("migo warrior", S_ANT,
213.  	LVL(10, 18, -3, 30, -7), (G_GENO|G_SGROUP|1),
214.  	A(ATTK(AT_STNG, AD_DRST, 1, 3),
215.  	  ATTK(AT_BITE, AD_PHYS, 2, 4),
216.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
217.  	SIZ(600, 50, 0, MS_BUZZ, MZ_MEDIUM), MR_POISON, MR_POISON,
218.  	M1_FLY|M1_POIS|M1_SEE_INVIS|M1_OMNIVORE,
219.  	M2_MALE|M2_STRONG|M2_COLLECT|M2_MAGIC|M2_HOSTILE,
220.  	M3_INFRAVISION|M3_TRAITOR,
221.  	CLR_YELLOW),
222.      MON("giant wasp", S_ANT, 
223.  	LVL(12, 15, 2, 0, 0), (G_NOHELL|G_GENO|G_LGROUP|1),
224.  	A(ATTK(AT_STNG, AD_DRST, 2, 8), NO_ATTK, NO_ATTK,
225.  	  NO_ATTK, NO_ATTK, NO_ATTK),
226.  	SIZ(300, 100, 0, MS_BUZZ, MZ_MEDIUM), MR_POISON, MR_POISON,
227.  	M1_ANIMAL|M1_FLY|M1_NOHANDS|M1_POIS, 
228.  	M2_HOSTILE|M2_FEMALE, 0, CLR_BLACK),
229.      MON("spitting beetle", S_ANT, 
230.  	LVL(14, 6, -4, 0, 0), (G_NOHELL|G_GENO|1),
231.  	A(ATTK(AT_BITE, AD_PHYS, 4, 6), ATTK(AT_SPIT, AD_ACID, 2, 6),
232.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
233.  	SIZ(100, 100, 0, MS_SILENT, MZ_LARGE), MR_POISON, MR_POISON,
234.  	M1_ANIMAL|M1_NOHANDS|M1_POIS|M1_CARNIVORE,
235.  	M2_HOSTILE, 0, CLR_BROWN),
236.      MON("migo queen", S_ANT,
237.  	LVL(15, 15, -3, 50, -9), (G_GENO|G_NOGEN),
238.  	A(ATTK(AT_STNG, AD_DRIN, 1, 3),
239.  	  ATTK(AT_BITE, AD_PHYS, 6, 8),
240.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
241.  	SIZ(1500, 100, 0, MS_BUZZ, MZ_LARGE), MR_POISON, MR_POISON,
242.  	M1_FLY|M1_POIS|M1_SEE_INVIS|M1_OMNIVORE,
243.  	M2_FEMALE|M2_STRONG|M2_COLLECT|M2_MAGIC|M2_HOSTILE,
244.  	M3_INFRAVISION|M3_NOTAME,
245.  	HI_LORD),
246.      MON("assassin bug", S_ANT, 
247.  	LVL(10, 24, 4, 0, 0), (G_NOHELL|G_GENO|1),
248.  	A(ATTK(AT_BITE, AD_DRST, 4, 6), NO_ATTK, NO_ATTK,
249.  	  NO_ATTK, NO_ATTK, NO_ATTK),
250.  	SIZ(100, 100, 0, MS_SILENT, MZ_LARGE), MR_POISON, MR_POISON,
251.  	M1_ANIMAL|M1_NOHANDS|M1_POIS|M1_CARNIVORE,
252.  	M2_HOSTILE, M3_TRAITOR, CLR_BLACK),
253.      MON("killer beetle", S_ANT, 
254.  	LVL(19, 6, -4, 0, 0), (G_NOHELL|G_GENO|1),
255.  	A(ATTK(AT_BITE, AD_PHYS, 6, 6), NO_ATTK, NO_ATTK,
256.  	  NO_ATTK, NO_ATTK, NO_ATTK),
257.  	SIZ(100, 100, 0, MS_SILENT, MZ_LARGE), MR_POISON, MR_POISON,
258.  	M1_ANIMAL|M1_NOHANDS|M1_POIS|M1_CARNIVORE,
259.  	M2_HOSTILE, 0, CLR_ORANGE),
260.  /*
261.   * blobs
262.   */
263.      MON("acid blob", S_BLOB,
264.  	LVL(1, 3, 8, 0, 0), (G_NOHELL|G_GENO|3),
265.  	A(ATTK(AT_NONE, AD_ACID, 1, 8),
266.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
267.  	SIZ(30, 10, 0, MS_SILENT, MZ_TINY),
268.  	MR_SLEEP|MR_POISON|MR_ACID|MR_STONE, MR_STONE,
269.  	M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|
270.  	  M1_MINDLESS|M1_ACID,
271.  	M2_WANDER|M2_NEUTER, 0, CLR_GREEN),
272.      MON("quivering blob", S_BLOB,
273.  	LVL(5, 1, 8, 0, 0), (G_NOHELL|G_GENO|3),
274.  	A(ATTK(AT_TUCH, AD_PHYS, 1, 8),
275.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
276.  	SIZ(200, 100, 0, MS_SILENT, MZ_SMALL),
277.  	MR_SLEEP|MR_POISON, MR_POISON,
278.  	M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS,
279.  	M2_WANDER|M2_HOSTILE|M2_NEUTER, 0, CLR_WHITE),
280.      MON("gelatinous cube", S_BLOB,
281.  	LVL(6, 6, 8, 0, 0), (G_NOHELL|G_GENO|3),
282.  	A(ATTK(AT_TUCH, AD_PLYS, 2, 4), ATTK(AT_NONE, AD_PLYS, 1, 4),
283.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
284.  	SIZ(600, 150, 0, MS_SILENT, MZ_LARGE),
285.  	MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_ACID|MR_STONE,
286.  	MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP,
287.  	M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_OMNIVORE|M1_ACID,
288.  	M2_WANDER|M2_HOSTILE|M2_NEUTER, 0, CLR_CYAN),
289.      MON("jiggling blob", S_BLOB, 
290.  	LVL(10, 6, 8, 0, 0), (G_NOHELL|G_GENO|1),
291.  	A(ATTK(AT_TUCH, AD_PHYS, 2, 8), ATTK(AT_NONE, AD_ACID, 2, 4),
292.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
293.  	SIZ(200, 100, 0, MS_SILENT, MZ_LARGE),
294.  	MR_SLEEP|MR_POISON, MR_POISON,
295.  	M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS,
296.  	M2_WANDER|M2_HOSTILE|M2_NEUTER, 0, CLR_MAGENTA),
297.      MON("lava blob", S_BLOB, 
298.  	LVL(10, 6, 8, 0, 0), (G_GENO|1),
299.  	A(ATTK(AT_TUCH, AD_FIRE, 4, 4), ATTK(AT_NONE, AD_FIRE, 2, 6),
300.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
301.  	SIZ(200, 100, 0, MS_SILENT, MZ_LARGE),
302.  	MR_SLEEP|MR_FIRE, MR_FIRE,
303.  	M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS,
304.  	M2_WANDER|M2_HOSTILE|M2_NEUTER, 0, CLR_RED),
305.      MON("static blob", S_BLOB, 
306.  	LVL(12, 6, 8, 0, 0), (G_NOHELL|G_GENO|1),
307.  	A(ATTK(AT_TUCH, AD_ELEC, 3, 8), ATTK(AT_NONE, AD_ELEC, 3, 4),
308.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
309.  	SIZ(200, 100, 0, MS_SILENT, MZ_LARGE),
310.  	MR_SLEEP|MR_POISON|MR_ELEC, MR_POISON|MR_ELEC,
311.  	M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS,
312.  	M2_WANDER|M2_HOSTILE|M2_NEUTER, 0, HI_ZAP),
313.      MON("burbling blob", S_BLOB, 
314.  	LVL(14, 6, 8, 0, 0), (G_NOHELL|G_GENO|1),
315.  	A(ATTK(AT_TUCH, AD_PHYS, 2, 8), ATTK(AT_NONE, AD_ACID, 5, 4),
316.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
317.  	SIZ(200, 100, 0, MS_SILENT, MZ_LARGE),
318.  	MR_SLEEP|MR_POISON, MR_POISON,
319.  	M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS,
320.  	M2_WANDER|M2_HOSTILE|M2_NEUTER, 0, CLR_BLACK),
321.  /*
322.   * cockatrice
323.   */
324.      MON("chicken", S_COCKATRICE,
325.  	LVL(2, 15, 8, 0, 0), (G_GENO|G_SGROUP|1),
326.  	A(ATTK(AT_BITE, AD_PHYS, 1, 3), NO_ATTK, NO_ATTK,
327.  	  NO_ATTK, NO_ATTK, NO_ATTK),
328.  	SIZ(100, 50, 0, MS_CHICKEN, MZ_SMALL), 0, 0,
329.  	M1_ANIMAL|M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_DOMESTIC,
330.  	M3_INFRAVISIBLE, CLR_BROWN),
331.      MON("cockatoo", S_COCKATRICE,
332.  	LVL(3, 15, 6, 0, 0), (G_GENO|G_SGROUP|1),
333.  	A(ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK,
334.  	  NO_ATTK, NO_ATTK, NO_ATTK),
335.  	SIZ(75, 30, 0, MS_PARROT, MZ_SMALL), 0, 0, 
336.  	M1_ANIMAL|M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_DOMESTIC,
337.  	M3_INFRAVISIBLE, CLR_WHITE),
338.      MON("chickatrice", S_COCKATRICE,
339.  	LVL(4, 4, 8, 30, 0), (G_GENO|G_SGROUP|1),
340.  	A(ATTK(AT_BITE, AD_PHYS, 1, 2), ATTK(AT_TUCH, AD_STON, 0, 0),
341.  	  ATTK(AT_NONE, AD_STON, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK),
342.  	SIZ(10, 10, 0, MS_HISS, MZ_TINY),
343.  	MR_POISON|MR_STONE, MR_POISON|MR_STONE,
344.  	M1_ANIMAL|M1_NOHANDS|M1_OMNIVORE, M2_HOSTILE,
345.  	M3_INFRAVISIBLE, CLR_BROWN),
346.      MON("cockatrice", S_COCKATRICE,
347.  	LVL(5, 6, 6, 30, 0), (G_GENO|6),
348.  	A(ATTK(AT_BITE, AD_PHYS, 1, 3), ATTK(AT_TUCH, AD_STON, 0, 0),
349.  	  ATTK(AT_NONE, AD_STON, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK),
350.  	SIZ(30, 30, 0, MS_HISS, MZ_SMALL),
351.  	MR_POISON|MR_STONE|MR_HITASTWO, MR_POISON|MR_STONE,
352.  	M1_ANIMAL|M1_NOHANDS|M1_OMNIVORE|M1_OVIPAROUS, M2_HOSTILE,
353.  	M3_INFRAVISIBLE, CLR_YELLOW),
354.      MON("pyrolisk", S_COCKATRICE, 
355.  	LVL(6, 6, 6, 30, 0), (G_GENO|1),
356.  	A(ATTK(AT_GAZE, AD_FIRE, 2, 6), NO_ATTK,
357.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 
358.  	SIZ(30, 30, 0, MS_HISS, MZ_SMALL),
359.  	MR_POISON|MR_FIRE, MR_POISON|MR_FIRE,
360.  	M1_ANIMAL|M1_NOHANDS|M1_OMNIVORE|M1_OVIPAROUS, M2_HOSTILE,
361.  	M3_INFRAVISIBLE, CLR_RED),
362.      MON("parrot", S_COCKATRICE,
363.  	LVL(7, 15, 6, 0, 0), (G_GENO|1),
364.  	A(ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK,
365.  	  NO_ATTK, NO_ATTK, NO_ATTK),
366.  	SIZ(75, 30, 0, MS_PARROT, MZ_SMALL), 0, 0,
367.  	M1_ANIMAL|M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_DOMESTIC,
368.  	M3_INFRAVISIBLE, CLR_GREEN),
369.  /*
370.   * dogs & other canines
371.   */
372.      MON("jackal", S_DOG,
373.  	LVL(0, 12, 7, 0, 0), (G_NOHELL|G_GENO|G_SGROUP|4),
374.  	A(ATTK(AT_BITE, AD_PHYS, 1, 2),
375.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
376.  	SIZ(300, 250, 0, MS_BARK, MZ_SMALL), 0, 0,
377.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
378.  	CLR_BROWN),
379.      MON("fox", S_DOG,
380.  	LVL(0, 15, 7, 0, 0), (G_GENO|1),
381.  	A(ATTK(AT_BITE, AD_PHYS, 1, 3), NO_ATTK, NO_ATTK,
382.  	  NO_ATTK, NO_ATTK, NO_ATTK),
383.  	SIZ(300, 250, 0, MS_BARK, MZ_SMALL), 0, 0,
384.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
385.  	CLR_RED),
386.      MON("coyote", S_DOG,
387.  	LVL(1, 12, 7, 0, 0), (G_GENO|G_SGROUP|1),
388.  	A(ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK,
389.  	  NO_ATTK, NO_ATTK, NO_ATTK),
390.  	SIZ(300, 250, 0, MS_BARK, MZ_SMALL), 0, 0,
391.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
392.  	CLR_BROWN),
393.      MON("werejackal", S_DOG,
394.  	LVL(2, 12, 7, 10, -7), (G_NOGEN|G_NOCORPSE),
395.  	A(ATTK(AT_BITE, AD_WERE, 1, 4), NO_ATTK, NO_ATTK,
396.  	  NO_ATTK, NO_ATTK, NO_ATTK),
397.  	SIZ(300, 250, 0, MS_BARK, MZ_SMALL), MR_POISON|MR_HITASONE, 0,
398.  	M1_NOHANDS|M1_POIS|M1_REGEN|M1_CARNIVORE,
399.  	M2_NOPOLY|M2_WERE|M2_HOSTILE, M3_INFRAVISIBLE, CLR_BROWN),
400.      MON("little dog", S_DOG,
401.  	LVL(2, 18, 6, 0, 0), (G_NOHELL|G_GENO|7),
402.  	A(ATTK(AT_BITE, AD_PHYS, 1, 6),
403.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
404.  	SIZ(150, 150, 0, MS_BARK, MZ_SMALL), 0, 0,
405.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_DOMESTIC, M3_INFRAVISIBLE,
406.  	HI_DOMESTIC),
407.      MON("dog", S_DOG,
408.  	LVL(4, 16, 5, 0, 0), (G_NOHELL|G_GENO|7),
409.  	A(ATTK(AT_BITE, AD_PHYS, 1 ,6),
410.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
411.  	SIZ(400, 200, 0, MS_BARK, MZ_MEDIUM), 0, 0,
412.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_DOMESTIC, M3_INFRAVISIBLE,
413.  	HI_DOMESTIC),
414.      MON("large dog", S_DOG,
415.  	LVL(6, 15, 4, 0, 0), (G_NOHELL|G_GENO|7),
416.  	A(ATTK(AT_BITE, AD_PHYS, 2, 4),
417.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
418.  	SIZ(800, 250, 0, MS_BARK, MZ_MEDIUM), 0, 0,
419.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
420.  	M2_STRONG|M2_DOMESTIC, M3_INFRAVISIBLE, HI_DOMESTIC),
421.      MON("pit bull", S_DOG, 
422.  	LVL(11, 15, 4, 0, 0), (G_NOHELL|G_GENO|1),
423.  	A(ATTK(AT_BITE, AD_PHYS, 4, 4), NO_ATTK, NO_ATTK,
424.  	  NO_ATTK, NO_ATTK, NO_ATTK),
425.  	SIZ(800, 250, 0, MS_BARK, MZ_MEDIUM), 0, 0,
426.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 
427.  	M2_STRONG|M2_DOMESTIC, M3_INFRAVISIBLE, HI_DOMESTIC),    
428.      MON("dingo puppy", S_DOG,
429.  	LVL(2, 18, 6, 0, 0), (G_NOHELL|G_GENO|1),
430.  	A(ATTK(AT_BITE, AD_PHYS, 1, 6),
431.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
432.  	SIZ(150, 150, 0, MS_BARK, MZ_SMALL), 0, 0,
433.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
434.  	CLR_YELLOW),
435.      MON("dingo", S_DOG,
436.  	LVL(4, 16, 5, 0, 0), (G_GENO|1),
437.  	A(ATTK(AT_BITE, AD_PHYS, 1 ,6),
438.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
439.  	SIZ(400, 200, 0, MS_BARK, MZ_MEDIUM), 0, 0,
440.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
441.  	CLR_YELLOW),
442.      MON("large dingo", S_DOG,
443.  	LVL(6, 15, 4, 0, 0), (G_NOHELL|G_GENO|1),
444.  	A(ATTK(AT_BITE, AD_PHYS, 2, 4),
445.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
446.  	SIZ(800, 250, 0, MS_BARK, MZ_MEDIUM), 0, 0,
447.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
448.  	M2_STRONG|M2_HOSTILE, M3_INFRAVISIBLE, CLR_YELLOW),
449.      MON("wolf", S_DOG,
450.  	LVL(5, 12, 4, 0, 0), (G_NOHELL|G_GENO|G_SGROUP|3),
451.  	A(ATTK(AT_BITE, AD_PHYS, 2, 4),
452.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
453.  	SIZ(500, 250, 0, MS_BARK, MZ_MEDIUM), 0, 0,
454.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
455.  	CLR_BROWN),
456.      MON("death dog", S_DOG, 
457.  	LVL(2, 12, 7, 0, 0), (G_HELL|G_GENO|G_SGROUP|1),
458.  	A(ATTK(AT_BITE, AD_PHYS, 1, 10), ATTK(AT_BITE, AD_PHYS, 1, 10),
459.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
460.  	SIZ(500, 250, 0, MS_BARK, MZ_SMALL), 0, 0,
461.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_TRAITOR, CLR_BLACK),
462.      MON("rabid wolf", S_DOG, 
463.  	LVL(6, 12, 4, 0, 0), (G_NOHELL|G_GENO|1),
464.  	A(ATTK(AT_BITE, AD_DRCO, 2, 4), NO_ATTK, NO_ATTK,
465.  	  NO_ATTK, NO_ATTK, NO_ATTK),
466.  	SIZ(500, 250, 0, MS_BARK, MZ_SMALL), 0, 0,
467.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 
468.  	M3_INFRAVISIBLE|M3_TRAITOR, CLR_BROWN),
469.      MON("werewolf", S_DOG,
470.  	LVL(5, 12, 4, 20, -7), (G_NOGEN|G_NOCORPSE),
471.  	A(ATTK(AT_BITE, AD_WERE, 2, 6),
472.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
473.  	SIZ(500, 250, 0, MS_BARK, MZ_MEDIUM), MR_POISON|MR_HITASTWO, 0,
474.  	M1_NOHANDS|M1_POIS|M1_REGEN|M1_CARNIVORE,
475.  	M2_NOPOLY|M2_WERE, M3_INFRAVISIBLE, CLR_BROWN),
476.      MON("warg", S_DOG,
477.  	LVL(7, 12, 4, 0, -5), (G_NOHELL|G_GENO|G_SGROUP|3),
478.  	A(ATTK(AT_BITE, AD_PHYS, 2, 6),
479.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
480.  	SIZ(850, 350, 0, MS_BARK, MZ_MEDIUM), 0, 0,
481.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
482.  	CLR_BROWN),
483.      MON("winter wolf cub", S_DOG,
484.  	LVL(5, 12, 4, 0, -5), (G_NOHELL|G_GENO|G_SGROUP|2),
485.  	A(ATTK(AT_BITE, AD_PHYS, 1, 8), ATTK(AT_BREA, AD_COLD, 1, 8),
486.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
487.  	SIZ(250, 200, 0, MS_BARK, MZ_SMALL), MR_COLD, MR_COLD,
488.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_CYAN),
489.      MON("winter wolf", S_DOG,
490.  	LVL(7, 12, 4, 20, 0), (G_NOHELL|G_GENO|1),
491.  	A(ATTK(AT_BITE, AD_PHYS, 3, 6), ATTK(AT_BREA, AD_COLD, 3, 6),
492.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
493.  	SIZ(700, 300, 0, MS_BARK, MZ_LARGE), MR_COLD, MR_COLD,
494.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
495.  	M2_HOSTILE|M2_STRONG, 0, CLR_CYAN),
496.      MON("hell hound pup", S_DOG,
497.  	LVL(7, 12, 4, 20, -5), (G_HELL|G_GENO|G_SGROUP|1),
498.  	A(ATTK(AT_BITE, AD_PHYS, 2, 6), ATTK(AT_BREA, AD_FIRE, 2, 6),
499.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
500.  	SIZ(200, 200, 0, MS_BARK, MZ_SMALL), MR_FIRE, MR_FIRE,
501.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
502.  	CLR_RED),
503.      MON("wolverine", S_DOG, 
504.  	LVL(9, 15, 4, 0, -8), (G_NOHELL|G_GENO|1),
505.  	A(ATTK(AT_BITE, AD_PHYS, 4, 6), ATTK(AT_CLAW, AD_PHYS, 2, 6),
506.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
507.  	SIZ(850, 350, 0, MS_BARK, MZ_MEDIUM), 0, 0,
508.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
509.  	M2_HOSTILE, M3_INFRAVISIBLE, CLR_GRAY),
510.      MON("shadow wolf", S_DOG, 
511.  	LVL(11, 15, 4, 0, -8), (G_GENO|G_SGROUP|1),
512.  	A(ATTK(AT_BITE, AD_COLD, 4, 6), ATTK(AT_BITE, AD_PHYS, 2, 6),
513.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
514.  	SIZ(850, 350, 0, MS_BARK, MZ_MEDIUM), MR_PLUSONE|MR_HITASTWO, 0,
515.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
516.  	M2_HOSTILE, M3_TRAITOR, CLR_BLACK),
517.      MON("mist wolf", S_DOG, 
518.  	LVL(12, 18, 4, 0, 0), (G_NOHELL|G_GENO|G_SGROUP|1),
519.  	A(ATTK(AT_BITE, AD_COLD, 4, 6), ATTK(AT_BITE, AD_PHYS, 2, 6),
520.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
521.  	SIZ(850, 350, 0, MS_BARK, MZ_MEDIUM), MR_PLUSONE|MR_HITASTWO, 0,
522.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
523.  	M2_HOSTILE, 0, CLR_GREEN),    
524.      MON("hell hound", S_DOG,
525.  	LVL(12, 14, 2, 20, 0), (G_HELL|G_GENO|1),
526.  	A(ATTK(AT_BITE, AD_PHYS, 3, 6), ATTK(AT_BREA, AD_FIRE, 3, 6),
527.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
528.  	SIZ(600, 300, 0, MS_BARK, MZ_MEDIUM), MR_FIRE, MR_FIRE,
529.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE|M2_STRONG,
530.  	M3_INFRAVISIBLE, CLR_RED),
531.      /* [DS] No longer tied to Charon, Lethe frees Kerberos. */
532.  /* #ifdef CHARON */
533.      MON("Cerberus", S_DOG,
534.  	LVL(17, 16, 2, 50, -7), (G_HELL|G_UNIQ|1),
535.  	A(ATTK(AT_BITE, AD_PHYS, 6, 8), ATTK(AT_BITE, AD_PHYS, 6, 8),
536.  	  ATTK(AT_BITE, AD_PHYS, 4, 8), ATTK(AT_BREA, AD_FIRE, 3, 8),
537.  	  NO_ATTK, NO_ATTK),
538.  	SIZ(1000, 350, 0, MS_BARK, MZ_LARGE), MR_FIRE|MR_STONE|MR_POISON|MR_DISINT|MR_SLEEP, MR_FIRE,
539.    	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
540.  	M2_NOPOLY|M2_HOSTILE|M2_STRONG|M2_PNAME|M2_MALE|M2_LORD,
541.  	M3_INFRAVISIBLE|M3_INFRAVISION|M3_NOTAME,
542.  	HI_LORD),
543.  /* #endif */
544.  /*
545.   * eyes
546.   */
547.      MON("gas spore", S_EYE,
548.  	LVL(1, 3, 10, 0, 0), (G_NOCORPSE|G_GENO|1),
549.  	A(ATTK(AT_BOOM, AD_PHYS, 4, 6), NO_ATTK, NO_ATTK,
550.  	  NO_ATTK, NO_ATTK, NO_ATTK),
551.  	SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), 0, 0,
552.  	M1_FLY|M1_BREATHLESS|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS,
553.  	M2_HOSTILE|M2_NEUTER, 0, CLR_GRAY),
554.      MON("floating eye", S_EYE,
555.  	LVL(2, 1, 9, 10, 0), (G_NOHELL|G_GENO|6),
556.  	A(ATTK(AT_NONE, AD_PLYS, 0,70),
557.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
558.  	SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), 0, 0,
559.  	M1_FLY|M1_AMPHIBIOUS|M1_NOLIMBS|M1_NOHEAD|M1_NOTAKE,
560.  	M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_BLUE),
561.      MON("glowing eye", S_EYE, 
562.  	LVL(5, 3, 4, 0, 0), (G_NOHELL|G_GENO|1),
563.  	A(ATTK(AT_GAZE, AD_BLND, 3, 4), NO_ATTK, NO_ATTK,
564.  	  NO_ATTK, NO_ATTK, NO_ATTK),
565.  	SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), 0, 0,
566.  	M1_FLY|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS,
567.  	M2_HOSTILE|M2_NEUTER, 0, CLR_YELLOW),
568.      MON("freezing sphere", S_EYE,
569.  	LVL(6, 13, 4, 0, 0), (G_NOCORPSE|G_NOHELL|G_GENO|2),
570.  	A(ATTK(AT_EXPL, AD_COLD, 4, 6),
571.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
572.  	SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), MR_COLD|MR_SLEEP|MR_HITASTWO, MR_COLD,
573.  	M1_FLY|M1_BREATHLESS|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_NOTAKE,
574.  	M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_WHITE),
575.      MON("flaming sphere", S_EYE, 
576.  	LVL(6, 13, 4, 0, 0), (G_NOCORPSE|G_GENO|2),
577.  	A(ATTK(AT_EXPL, AD_FIRE, 4, 6), NO_ATTK, NO_ATTK,
578.  	    NO_ATTK, NO_ATTK, NO_ATTK),
579.  	SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), MR_FIRE, MR_FIRE,
580.  	M1_FLY|M1_BREATHLESS|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS,
581.  	M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_RED),
582.      MON("shocking sphere", S_EYE, 
583.  	LVL(6, 13, 4, 0, 0), (G_NOCORPSE|G_GENO|2),
584.  	A(ATTK(AT_EXPL, AD_ELEC, 4, 6), NO_ATTK, NO_ATTK,
585.  	  NO_ATTK, NO_ATTK, NO_ATTK),
586.  	SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), MR_ELEC, MR_ELEC,
587.  	M1_FLY|M1_BREATHLESS|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS,
588.  	M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, HI_ZAP),
589.      MON("bloodshot eye", S_EYE, 
590.  	LVL(6, 3, 4, 0, 0), (G_NOHELL|G_GENO|1),
591.  	A(ATTK(AT_GAZE, AD_STUN, 3, 4), NO_ATTK, NO_ATTK,
592.  	  NO_ATTK, NO_ATTK, NO_ATTK),
593.  	SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), 0, 0,
594.  	M1_FLY|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS,
595.  	M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_RED),
596.      MON("blinking eye", S_EYE, 
597.  	LVL(8, 12, 4, 0, 0), (G_NOHELL|G_GENO|1),
598.  	A(ATTK(AT_GAZE, AD_TLPT, 0, 0), NO_ATTK, NO_ATTK,
599.  	  NO_ATTK, NO_ATTK, NO_ATTK),
600.  	SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), 0, 0,
601.  	M1_FLY|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_TPORT,
602.  	M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_CYAN),
603.  /*
604.   * felines
605.   */
606.      MON("kitten", S_FELINE,
607.  	LVL(2, 18, 6, 0, 0), (G_NOHELL|G_GENO|7),
608.  	A(ATTK(AT_BITE, AD_PHYS, 1, 6),
609.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
610.  	SIZ(150, 150, 0, MS_MEW, MZ_SMALL), 0, 0,
611.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
612.  	M2_WANDER|M2_DOMESTIC, M3_INFRAVISIBLE, HI_DOMESTIC),
613.      MON("housecat", S_FELINE,
614.  	LVL(4, 16, 5, 0, 0), (G_NOHELL|G_GENO|7),
615.  	A(ATTK(AT_BITE, AD_PHYS, 1, 6),
616.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
617.  	SIZ(200, 200, 0, MS_MEW, MZ_SMALL), 0, 0,
618.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_DOMESTIC, M3_INFRAVISIBLE, HI_DOMESTIC),
619.      MON("jaguar", S_FELINE,
620.  	LVL(4, 15, 6, 0, 0), (G_NOHELL|G_GENO|2),
621.  	A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
622.  	  ATTK(AT_BITE, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK),
623.  	SIZ(600, 300, 0, MS_GROWL, MZ_LARGE), 0, 0,
624.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
625.  	CLR_BROWN),
626.      MON("lynx", S_FELINE, 
627.  	LVL(5, 15, 6, 0, 0), (G_GENO|1),
628.  	A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
629.  	  ATTK(AT_BITE, AD_PHYS, 1, 10), NO_ATTK, NO_ATTK, NO_ATTK),
630.  	SIZ(600, 300, 0, MS_GROWL, MZ_SMALL), 0, 0,
631.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,M2_HOSTILE, M3_INFRAVISIBLE,
632.  	CLR_CYAN),
633.      MON("panther", S_FELINE, 
634.  	LVL(5, 15, 6, 0, 0), (G_GENO|1),
635.  	A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6),
636.  	  ATTK(AT_BITE, AD_PHYS, 1, 10), NO_ATTK, NO_ATTK, NO_ATTK),
637.  	SIZ(600, 300, 0, MS_GROWL, MZ_LARGE), 0, 0,
638.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,M2_HOSTILE, M3_INFRAVISIBLE,
639.  	CLR_BLACK),
640.      MON("werepanther", S_FELINE, 
641.  	LVL(5, 15, 6, 20, -7), (G_NOGEN|G_NOCORPSE),
642.  	A(ATTK(AT_BITE, AD_WERE, 1, 10), ATTK(AT_CLAW, AD_PHYS, 1, 6),
643.  	  ATTK(AT_CLAW, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK),
644.  	SIZ(600, 300, 0, MS_GROWL, MZ_LARGE), MR_POISON, 0,
645.  	M1_NOHANDS|M1_POIS|M1_REGEN|M1_CARNIVORE,
646.  	M2_NOPOLY|M2_WERE|M2_HOSTILE, M3_INFRAVISIBLE, CLR_BLACK),
647.      MON("large cat", S_FELINE,
648.  	LVL(6, 15, 4, 0, 0), (G_NOHELL|G_GENO|7),
649.  	A(ATTK(AT_BITE, AD_PHYS, 2, 4),
650.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
651.  	SIZ(250, 250, 0, MS_MEW, MZ_SMALL), 0, 0,
652.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
653.  	M2_STRONG|M2_DOMESTIC, M3_INFRAVISIBLE, HI_DOMESTIC),
654.      MON("kamadan", S_FELINE, 
655.  	LVL(4, 12, 4, 0, -3), (G_NOHELL|G_GENO|1),
656.  	A(ATTK(AT_BREA, AD_SLEE, 1, 6), ATTK(AT_BITE, AD_PHYS, 1, 3),
657.  	  ATTK(AT_BITE, AD_PHYS, 1, 3), ATTK(AT_BITE, AD_PHYS, 1, 3), 
658.  	  NO_ATTK, NO_ATTK),
659.  	SIZ(750, 400, 0, MS_GROWL, MZ_LARGE), MR_SLEEP, MR_SLEEP,
660.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,M2_HOSTILE, M3_INFRAVISIBLE,
661.  	CLR_ORANGE),
662.      MON("displacer beast", S_FELINE,
663.  	LVL(12, 12, -10, 0, -3), (G_GENO|1),
664.  	A(ATTK(AT_CLAW, AD_PHYS, 4, 4), ATTK(AT_CLAW, AD_PHYS, 4, 4),
665.  	  ATTK(AT_BITE, AD_PHYS, 2, 10), NO_ATTK, NO_ATTK, NO_ATTK),
666.  	SIZ(750, 400, 0, MS_GROWL, MZ_LARGE), 0, 0,
667.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE,
668.  	M3_INFRAVISIBLE|M3_TRAITOR,
669.  	CLR_BLUE),
670.      MON("caterwaul", S_FELINE, 
671.  	LVL(6, 24, 4, 0, 0), (G_NOHELL|G_GENO|1),
672.  	A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
673.  	  ATTK(AT_BITE, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK),
674.  	SIZ(300, 100, 0, MS_GROWL, MZ_HUMAN), 0, 0,
675.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,M2_HOSTILE, M3_INFRAVISIBLE,
676.  	CLR_GRAY),
677.      MON("tiger", S_FELINE,
678.  	LVL(6, 12, 6, 0, 0), (G_NOHELL|G_GENO|2),
679.  	A(ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4),
680.  	  ATTK(AT_BITE, AD_PHYS, 1,10), NO_ATTK, NO_ATTK, NO_ATTK),
681.  	SIZ(600, 300, 0, MS_GROWL, MZ_LARGE), 0, 0,
682.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
683.  	CLR_YELLOW),
684.      MON("weretiger", S_FELINE, 
685.  	LVL(7, 12, 6, 20, -7), (G_NOGEN|G_NOCORPSE),
686.  	A(ATTK(AT_BITE, AD_WERE, 2, 6), ATTK(AT_CLAW, AD_PHYS, 2, 5),
687.  	  ATTK(AT_CLAW, AD_PHYS, 2, 5), NO_ATTK, NO_ATTK, NO_ATTK),
688.  	SIZ(600, 300, 0, MS_GROWL, MZ_LARGE), MR_POISON, 0,
689.  	M1_NOHANDS|M1_POIS|M1_REGEN|M1_CARNIVORE,
690.  	M2_NOPOLY|M2_WERE|M2_HOSTILE, M3_INFRAVISIBLE, CLR_YELLOW),
691.      MON("sabre-toothed cat", S_FELINE, 
692.  	LVL(9, 12, 6, 0, 0), (G_NOHELL|G_GENO|1),
693.  	A(ATTK(AT_CLAW, AD_PHYS, 4, 4), ATTK(AT_CLAW, AD_PHYS, 4, 4),
694.  	  ATTK(AT_BITE, AD_PHYS, 2, 10), NO_ATTK, NO_ATTK, NO_ATTK),
695.  	SIZ(800, 400, 0, MS_GROWL, MZ_LARGE), 0, 0,
696.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,M2_HOSTILE, M3_INFRAVISIBLE,
697.  	CLR_YELLOW),
698.      MON("hellcat", S_FELINE, 
699.  	LVL(12, 12, 6, 0, 0), (G_HELL|G_GENO|1),
700.  	A(ATTK(AT_CLAW, AD_PHYS, 4, 4), ATTK(AT_CLAW, AD_PHYS, 4, 4),
701.  	  ATTK(AT_BITE, AD_FIRE, 3, 10), NO_ATTK, NO_ATTK, NO_ATTK),
702.  	SIZ(800, 400, 0, MS_GROWL, MZ_LARGE), 0, 0,
703.  	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,M2_HOSTILE, M3_INFRAVISIBLE|M3_TRAITOR,
704.  	CLR_RED),
705.  /*
706.   * gremlins and gargoyles
707.   */
708.      MON("gremlin", S_GREMLIN,
709.  	LVL(5, 12, 2, 25, -9), (G_GENO|2),
710.  	A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6),
711.  	  ATTK(AT_BITE, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_CURS, 0, 0),
712.  	  NO_ATTK, NO_ATTK),
713.  	SIZ(100, 20, 0, MS_LAUGH, MZ_SMALL), MR_POISON, MR_POISON,
714.  	M1_SWIM|M1_HUMANOID|M1_POIS, M2_STALK, M3_INFRAVISIBLE|M3_TRAITOR, CLR_GREEN),
715.      MON("gargoyle", S_GREMLIN,
716.  	LVL(6, 10, -4, 0, -9), (G_GENO|2),
717.  	A(ATTK(AT_CLAW, AD_PHYS, 2, 6), ATTK(AT_CLAW, AD_PHYS, 2, 6),
718.  	  ATTK(AT_BITE, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK),
719.  	SIZ(1000, 200, 0, MS_GRUNT, MZ_HUMAN), MR_STONE, MR_STONE,
720.  	M1_HUMANOID|M1_THICK_HIDE|M1_BREATHLESS,
721.  	M2_HOSTILE|M2_STRONG, M3_TRAITOR, CLR_BROWN),
722.      MON("winged gargoyle", S_GREMLIN,
723.  	LVL(9, 15, -2, 0, -12), (G_GENO|1),
724.  	A(ATTK(AT_CLAW, AD_PHYS, 3, 6), ATTK(AT_CLAW, AD_PHYS, 3, 6),
725.  	  ATTK(AT_BITE, AD_PHYS, 3, 4), NO_ATTK, NO_ATTK, NO_ATTK),
726.  	SIZ(1200, 300, 0, MS_GRUNT, MZ_HUMAN), MR_STONE, MR_STONE,
727.  	M1_FLY|M1_HUMANOID|M1_THICK_HIDE|M1_BREATHLESS|M1_OVIPAROUS,
728.  	M2_LORD|M2_HOSTILE|M2_STRONG|M2_MAGIC, M3_TRAITOR, HI_LORD),
729.      MON("statue gargoyle", S_GREMLIN,
730.  	LVL(4, 9, 5, 0, 0), (G_NOHELL|G_GENO|G_NOCORPSE|1),
731.  	A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3),
732.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
733.  	SIZ(900, 0, 0, MS_SILENT, MZ_HUMAN),
734.  	MR_DEATH|MR_SLEEP|MR_POISON|MR_STONE|MR_PLUSONE, 0,
735.  	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE,
736.  	M2_HOSTILE, 0, CLR_GRAY),
737.  /*    MON("galltrit", S_GREMLIN, 
738.  	LVL(3, 18, 2, 25, -9), (G_GENO|1),
739.  	A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6),
740.  	  ATTK(AT_BITE, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_CURS, 0, 0),
741.  	  NO_ATTK, NO_ATTK),
742.  	SIZ(100, 20, 0, MS_LAUGH, MZ_SMALL), MR_POISON, 0,
743.  	M1_SWIM|M1_HUMANOID|M1_POIS, M2_STALK, 0, CLR_BLACK),
744.      MON("jermlaine", S_GREMLIN, 
745.  	LVL(0, 15, 7, 0, -9), (G_NOHELL|G_GENO|G_VLGROUP|1),
746.  	A(ATTK(AT_CLAW, AD_PHYS, 1, 2), NO_ATTK, NO_ATTK, NO_ATTK,
747.  	  NO_ATTK, NO_ATTK),
748.  	SIZ(100, 20, 0, MS_LAUGH, MZ_SMALL), MR_POISON, 0,
749.  	M1_HUMANOID|M1_POIS, M2_STALK, 0, CLR_GRAY),*/
750.  /*
751.   * humanoids
752.   */
753.      MON("hobbit", S_HUMANOID,
754.  	LVL(1, 9, MARM(10,7), 0, 6), (G_NOHELL|G_GENO|4),
755.  	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
756.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
757.  	SIZ(500, 200, 0, MS_HUMANOID, MZ_SMALL), 0, 0,
758.  	M1_HUMANOID|M1_OMNIVORE, M2_NOPOLY|M2_HOBBIT|M2_COLLECT,
759.  	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GREEN),
760.      MON("dwarf", S_HUMANOID,
761.  	LVL(2, 6, MARM(10,4), 10, 4), (G_NOHELL|G_GENO|5),
762.  	A(ATTK(AT_WEAP, AD_PHYS, 1, 4), ATTK(AT_WEAP, AD_PHYS, 1, 4),
763.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
764.  	SIZ(900, 300, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
765.  	M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID|M1_OMNIVORE,
766.  	M2_NOPOLY|M2_DWARF|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT,
767.  	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED),
768.      MON("dwarf thief", S_HUMANOID,  
769.  	LVL(2, 6, MARM(10,4), 10, 4), (G_GENO|G_NOGEN),
770.  	A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_TUCH, AD_SITM, 0, 0), 
771.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
772.  	SIZ(900, 300, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
773.  	M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID|M1_OMNIVORE,
774.  	M2_DWARF|M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT,
775.  	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_BLACK),
776.      MON("bugbear", S_HUMANOID,
777.  	LVL(3, 9, 5, 0, -6), (G_NOHELL|G_GENO|1),
778.  	A(ATTK(AT_WEAP, AD_PHYS, 2, 4),
779.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
780.  	SIZ(1250, 250, 0, MS_GROWL, MZ_LARGE), 0, 0,
781.  	M1_HUMANOID|M1_OMNIVORE, M2_STRONG|M2_COLLECT,
782.  	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BROWN),
783.      MON("dwarf lord", S_HUMANOID,
784.  	LVL(4, 6, MARM(10,4), 10, 5), (G_NOHELL|G_GENO|3),
785.  	A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4),
786.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
787.  	SIZ(900, 300, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
788.  	M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID|M1_OMNIVORE,
789.  	M2_DWARF|M2_STRONG|M2_LORD|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT,
790.  	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BLUE),
791.      MON("dwarf king", S_HUMANOID,
792.  	LVL(6, 6, MARM(10,4), 20, 6), (G_NOHELL|G_GENO|1),
793.  	A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6),
794.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
795.  	SIZ(900, 300, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
796.  	M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID|M1_OMNIVORE,
797.  	M2_DWARF|M2_STRONG|M2_PRINCE|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT,
798.  	M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
799.      MON("duergar", S_HUMANOID,  
800.  	LVL(4, 6, MARM(10,2), 10, 5), (G_HELL|G_GENO|1),
801.  	A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4),
802.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
803.  	SIZ(900, 300, 0, MS_HUMANOID, MZ_HUMAN),MR_HITASONE, 0, 
804.  	M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID,
805.  	M2_DWARF|M2_STRONG|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT, 
806.  	0, CLR_GRAY),
807.      MON("deep one", S_HUMANOID,
808.  	LVL(7, 9, 5, 10, -5), (G_GENO|G_LGROUP|2),
809.  	A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6),
810.  	  ATTK(AT_BITE, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK),
811.  	SIZ(1500, 400, 0, MS_GURGLE, MZ_HUMAN), MR_COLD|MR_POISON, MR_POISON,
812.  	M1_SWIM|M1_AMPHIBIOUS|M1_HUMANOID|M1_OMNIVORE|M1_POIS,
813.          M2_HOSTILE|M2_STALK|M2_GREEDY|M2_JEWELS|M2_COLLECT|M2_MAGIC,
814.          M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR,
815.  	CLR_GREEN),
816.      MON("mind flayer", S_HUMANOID,
817.  	LVL(9, 12, 5, 90, -8), (G_GENO|1),
818.  	A(ATTK(AT_WEAP, AD_PHYS, 1, 4), ATTK(AT_TENT, AD_DRIN, 2, 1),
819.  	  ATTK(AT_TENT, AD_DRIN, 2, 1), ATTK(AT_TENT, AD_DRIN, 2, 1),
820.  	  ATTK(AT_TENT, AD_DRIN, 2, 1), ATTK(AT_TENT, AD_DRIN, 2, 1)),
821.  	SIZ(1450, 400, 0, MS_HISS, MZ_HUMAN),MR_HITASTWO, 0,
822.  	M1_HUMANOID|M1_FLY|M1_SEE_INVIS|M1_OMNIVORE,
823.  	M2_HOSTILE|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_COLLECT,
824.  	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_MAGENTA),
825.      MON("master mind flayer", S_HUMANOID,
826.  	LVL(13, 12, 0, 90, -8), (G_GENO|1),
827.  	A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_TENT, AD_DRIN, 2, 1),
828.  	  ATTK(AT_TENT, AD_DRIN, 2, 1), ATTK(AT_TENT, AD_DRIN, 2, 1),
829.  	  NO_ATTK, NO_ATTK),
830.  	SIZ(1450, 400, 0, MS_HISS, MZ_HUMAN), 0, 0,
831.  	M1_HUMANOID|M1_FLY|M1_SEE_INVIS|M1_OMNIVORE,
832.  	M2_HOSTILE|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_COLLECT,
833.  	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_MAGENTA),
834.      MON("deeper one", S_HUMANOID,
835.  	LVL(15,12, 0, 30, -7), (G_GENO|G_SGROUP|2),
836.  	A(ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4),
837.  	  ATTK(AT_BITE, AD_PHYS, 4, 6), NO_ATTK, NO_ATTK, NO_ATTK),
838.  	SIZ(2000, 500, 0, MS_GURGLE, MZ_LARGE), MR_COLD|MR_POISON, MR_POISON,
839.  	M1_SWIM|M1_AMPHIBIOUS|M1_HUMANOID|M1_OMNIVORE|M1_POIS,
840.          M2_HOSTILE|M2_STALK|M2_GREEDY|M2_JEWELS|M2_COLLECT|M2_LORD|M2_STRONG|M2_MAGIC,
841.          M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR,
842.  	CLR_GREEN),
843.      MON("deepest one", S_HUMANOID,
844.  	LVL(30, 15, -5, 70, -9), (G_GENO|1),
845.  	A(ATTK(AT_CLAW, AD_PHYS, 3, 6), ATTK(AT_CLAW, AD_PHYS, 3, 6),
846.  	  ATTK(AT_BITE, AD_PHYS, 5, 6), NO_ATTK, NO_ATTK, NO_ATTK),
847.  	SIZ(3000, 500, 0, MS_GURGLE, MZ_HUGE), MR_COLD|MR_POISON, MR_POISON,
848.  	M1_SWIM|M1_AMPHIBIOUS|M1_HUMANOID|M1_OMNIVORE|M1_POIS|M1_THICK_HIDE,
849.          M2_HOSTILE|M2_STALK|M2_GREEDY|M2_JEWELS|M2_COLLECT|M2_PRINCE|M2_STRONG|M2_MAGIC,
850.          M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR,
851.  	HI_LORD),
852.  /*
853.   * imps & other minor demons/devils
854.   */
855.      MON("manes", S_IMP,
856.  	LVL(1, 3, 7, 0, -7), (G_GENO|G_LGROUP|G_NOCORPSE|1),
857.  	A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3),
858.  	  ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK),
859.  	SIZ(100, 100, 0, MS_SILENT, MZ_SMALL), MR_SLEEP|MR_POISON|MR_HITASONE, 0,
860.  	M1_POIS, M2_HOSTILE|M2_STALK, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED),
861.      MON("homunculus", S_IMP,
862.  	LVL(2, 12, 6, 10, -7), (G_GENO|2),
863.  	A(ATTK(AT_BITE, AD_SLEE, 1, 3),
864.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
865.  	SIZ(60, 100, 0, MS_SILENT, MZ_TINY),
866.  	MR_SLEEP|MR_POISON|MR_HITASONE, MR_SLEEP|MR_POISON,
867.  	M1_FLY|M1_POIS, M2_STALK, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GREEN),
868.      MON("dretch", S_IMP, 
869.  	LVL(2, 12, 2, 20, -7), (G_GENO|1),
870.  	A(ATTK(AT_CLAW, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK,
871.  	  NO_ATTK, NO_ATTK, NO_ATTK),
872.  	SIZ(20, 10, 0, MS_CUSS, MZ_TINY), 0, 0,
873.  	M1_REGEN, M2_WANDER|M2_STALK, M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_YELLOW),
874.      MON("imp", S_IMP,
875.  	LVL(3, 12, 2, 20, -7), (G_GENO|1),
876.  	A(ATTK(AT_CLAW, AD_PHYS, 1, 4),
877.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
878.  	SIZ(20, 10, 0, MS_CUSS, MZ_TINY), 0, 0,
879.  	M1_REGEN, M2_WANDER|M2_STALK, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED),
880.      MON("lemure", S_IMP,
881.  	LVL(3, 3, 7, 0, -7), (G_HELL|G_GENO|G_LGROUP|G_NOCORPSE|1),
882.  	A(ATTK(AT_CLAW, AD_PHYS, 1, 3),
883.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
884.  	SIZ(150, 100, 0, MS_SILENT, MZ_MEDIUM),
885.  	MR_SLEEP|MR_POISON|MR_PLUSONE|MR_HITASONE, MR_SLEEP, M1_POIS|M1_REGEN,
886.  	M2_HOSTILE|M2_WANDER|M2_STALK|M2_NEUTER,
887.  	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BROWN),
888.      MON("quasit", S_IMP,
889.  	LVL(3, 15, 2, 20, -7), (G_GENO|2),
890.  	A(ATTK(AT_CLAW, AD_DRDX, 1, 2), ATTK(AT_CLAW, AD_DRDX, 1, 2),
891.  	  ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK),
892.  	SIZ(200, 200, 0, MS_SILENT, MZ_SMALL), MR_POISON|MR_HITASONE, MR_POISON,
893.  	M1_REGEN, M2_STALK, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BLUE),
894.      MON("rutterkin", S_IMP, 
895.  	LVL(5, 12, 2, 20, -7), (G_GENO|1),
896.  	A(ATTK(AT_CLAW, AD_DRST, 1, 4), NO_ATTK, NO_ATTK,
897.  	  NO_ATTK, NO_ATTK, NO_ATTK),
898.  	SIZ(20, 10, 0, MS_CUSS, MZ_TINY), 0, 0,
899.  	M1_REGEN, M2_WANDER|M2_STALK, M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_ORANGE),
900.      MON("tengu", S_IMP,
901.  	LVL(6, 13, 5, 30, 7), (G_GENO|3),
902.  	A(ATTK(AT_BITE, AD_PHYS, 1, 7),
903.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
904.  	SIZ(300, 200, 0, MS_SQAWK, MZ_SMALL), MR_POISON|MR_HITASONE, MR_POISON,
905.  	M1_TPORT|M1_TPORT_CNTRL, M2_STALK, M3_INFRAVISIBLE|M3_INFRAVISION,
906.  	CLR_CYAN),
907.      MON("nupperibo", S_IMP, 
908.  	LVL(7, 12, 0, 20, -7), (G_GENO|1),
909.  	A(ATTK(AT_CLAW, AD_DRST, 3, 4), NO_ATTK, NO_ATTK,
910.  	  NO_ATTK, NO_ATTK, NO_ATTK),
911.  	SIZ(20, 10, 0, MS_CUSS, MZ_TINY), 0, 0,
912.  	M1_REGEN, M2_WANDER|M2_STALK, M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_GREEN),
913.      MON("blood imp", S_IMP, 
914.  	LVL(9, 12, 0, 60, -7), (G_GENO|1),
915.  	A(ATTK(AT_CLAW, AD_DRST, 3, 4), ATTK(AT_BITE, AD_PHYS, 3, 4),
916.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
917.  	SIZ(20, 10, 0, MS_CUSS, MZ_TINY), 0, 0,
918.  	M1_REGEN, M2_WANDER|M2_STALK, M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_BLACK),
919.  /*
920.   * jellies
921.   */
922.      MON("blue jelly", S_JELLY,
923.  	LVL(4, 0, 8, 10, 0), (G_NOHELL|G_GENO|2),
924.  	A(ATTK(AT_NONE, AD_COLD, 0, 6),
925.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
926.  	SIZ(50, 20, 0, MS_SILENT, MZ_MEDIUM),
927.  	MR_COLD|MR_POISON, MR_COLD|MR_POISON,
928.  	M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS
929.  	  |M1_NOTAKE,
930.  	M2_HOSTILE|M2_NEUTER, 0, CLR_BLUE),
931.      MON("spotted jelly", S_JELLY,
932.  	LVL(5, 0, 8, 10, 0), (G_NOHELL|G_GENO|1),
933.  	A(ATTK(AT_NONE, AD_ACID, 0, 6),
934.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
935.  	SIZ(50, 20, 0, MS_SILENT, MZ_MEDIUM), MR_ACID|MR_STONE, 0,
936.  	M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|
937.  	  M1_MINDLESS|M1_ACID|M1_NOTAKE,
938.  	M2_HOSTILE|M2_NEUTER, 0, CLR_GREEN),
939.      MON("clear jelly", S_JELLY, 
940.  	LVL(6, 3, 8, 10, 0), (G_NOHELL|G_GENO|1),
941.  	A(ATTK(AT_TUCH, AD_ACID, 3, 6), NO_ATTK, NO_ATTK,
942.  	  NO_ATTK, NO_ATTK, NO_ATTK),
943.  	SIZ(50, 20, 0, MS_SILENT, MZ_MEDIUM),MR_COLD|MR_POISON, 
944.  	MR_COLD|MR_POISON,
945.  	M1_BREATHLESS|M1_CLING|M1_HIDE|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|
946.  	M1_NOHEAD|M1_MINDLESS|M1_OMNIVORE, 
947.  	M2_HOSTILE|M2_NEUTER, 0, CLR_CYAN),
948.      MON("ochre jelly", S_JELLY,
949.  	LVL(6, 3, 8, 20, 0), (G_NOHELL|G_GENO|2),
950.  	A(ATTK(AT_ENGL, AD_ACID, 3, 6), ATTK(AT_NONE, AD_ACID, 3, 6),
951.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
952.  	SIZ(50, 20, 0, MS_SILENT, MZ_MEDIUM), MR_ACID|MR_STONE, 0,
953.  	M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|
954.  	  M1_MINDLESS|M1_ACID|M1_NOTAKE,
955.  	M2_HOSTILE|M2_NEUTER, 0, CLR_BROWN),
956.      MON("yellow jelly", S_JELLY, 
957.  	LVL(8, 5, 8, 20, 0), (G_NOHELL|G_GENO|1),
958.  	A(ATTK(AT_ENGL, AD_ACID, 3, 6), ATTK(AT_NONE, AD_STUN, 2, 6),
959.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
960.  	SIZ(250, 220, 0, MS_SILENT, MZ_MEDIUM), MR_ACID|MR_STONE, 0,
961.  	M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|
962.  	M1_MINDLESS|M1_ACID|M1_OMNIVORE, M2_HOSTILE|M2_NEUTER,
963.  	0, CLR_YELLOW),
964.      MON("orange jelly", S_JELLY, 
965.  	LVL(8, 5, 8, 20, 0), (G_NOHELL|G_GENO|1),
966.  	A(ATTK(AT_ENGL, AD_ACID, 2, 8), ATTK(AT_NONE, AD_SLEE, 2, 6),
967.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
968.  	SIZ(250, 220, 0, MS_SILENT, MZ_MEDIUM), MR_ACID|MR_STONE, 0,
969.  	M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|
970.  	M1_MINDLESS|M1_ACID|M1_OMNIVORE, M2_HOSTILE|M2_NEUTER,
971.  	0, CLR_ORANGE),
972.      MON("rancid jelly", S_JELLY, 
973.  	LVL(12, 5, 8, 20, 0), (G_NOHELL|G_GENO|1),
974.  	A(ATTK(AT_ENGL, AD_ACID, 4, 6), ATTK(AT_NONE, AD_ACID, 3, 6),
975.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
976.  	SIZ(250, 220, 0, MS_SILENT, MZ_MEDIUM), MR_ACID|MR_STONE, 0,
977.  	M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|
978.  	M1_MINDLESS|M1_ACID|M1_OMNIVORE, M2_HOSTILE|M2_NEUTER,
979.  	0, CLR_BLACK),
980.  /*
981.   * kobolds
982.   */
983.      MON("kobold", S_KOBOLD,
984.  	LVL(0, 6, MARM(10,7), 0, -2), (G_NOHELL|G_GENO|1),
985.  	A(ATTK(AT_WEAP, AD_PHYS, 1, 4),
986.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
987.  	SIZ(400, 100, 0, MS_ORC, MZ_SMALL), MR_POISON, 0,
988.  	M1_HUMANOID|M1_POIS|M1_OMNIVORE, M2_HOSTILE|M2_COLLECT,
989.  	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_BROWN),
990.      MON("large kobold", S_KOBOLD,
991.  	LVL(1, 6, MARM(10,6), 0, -3), (G_NOHELL|G_GENO|1),
992.  	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
993.  	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
994.  	SIZ(450, 150, 0, MS_ORC, MZ_SMALL), MR_POISON, 0,
995.  	M1_HUMANOID|M1_POIS|M1_OMNIVORE, M2_HOSTILE|M2_COLLECT,
996.  	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_RED),
997.      MON("kobold lord", S_KOBOLD,
998.  	LVL(2, 6, MARM(10,5), 0, -4), (G_NOHELL|G_GENO|1),
999.  	A(ATTK(AT_WEAP, AD_PHYS, 2, 4),
1000. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1001. 	SIZ(500, 200, 0, MS_ORC, MZ_SMALL), MR_POISON, 0,
1002. 	M1_HUMANOID|M1_POIS|M1_OMNIVORE,
1003. 	M2_HOSTILE|M2_LORD|M2_MALE|M2_COLLECT, M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR,
1004. 	HI_LORD),
1005.     MON("kobold shaman", S_KOBOLD,
1006. 	LVL(2, 6, 6, 10, -4), (G_GENO|1),
1007. 	A(ATTK(AT_MAGC, AD_SPEL, 0, 0),
1008. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1009. 	SIZ(450, 150, 0, MS_ORC, MZ_SMALL), MR_POISON, 0,
1010. 	M1_HUMANOID|M1_POIS|M1_OMNIVORE, M2_HOSTILE|M2_MAGIC,
1011. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, HI_ZAP),
1012.     MON("swamp kobold", S_KOBOLD,  
1013. 	LVL(3, 9, MARM(10,5), 0, -3), (G_NOHELL|G_GENO|1),
1014. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK,
1015. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1016. 	SIZ(450, 150, 0, MS_ORC, MZ_SMALL), MR_POISON, 0,
1017. 	M1_HUMANOID|M1_POIS|M1_OMNIVORE, M2_HOSTILE|M2_COLLECT, 
1018. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_GREEN),
1019.     MON("rock kobold", S_KOBOLD,  
1020. 	LVL(5, 9, MARM(10,5), 0, -3), (G_NOHELL|G_GENO|1),
1021. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK,
1022. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1023. 	SIZ(450, 150, 0, MS_ORC, MZ_SMALL), MR_POISON, 0,
1024. 	M1_HUMANOID|M1_POIS|M1_OMNIVORE, M2_HOSTILE|M2_COLLECT, 
1025. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_BLACK),
1026.     MON("kobold warrior", S_KOBOLD,  
1027. 	LVL(7, 9, MARM(10,4), 0, -3), (G_NOHELL|G_GENO|1),
1028. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 8), NO_ATTK, NO_ATTK,
1029. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1030. 	SIZ(450, 150, 0, MS_ORC, MZ_SMALL), MR_POISON, 0,
1031. 	M1_HUMANOID|M1_POIS|M1_OMNIVORE, M2_HOSTILE|M2_COLLECT, 
1032. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_GRAY),
1033.     MON("Kroo the Kobold King", S_KOBOLD, 
1034. 	LVL(13, 9, MARM(10,0), 0, -3), (G_UNIQ|G_NOGEN|1),
1035. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK,
1036. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1037. 	SIZ(450, 150, 0, MS_ORC, MZ_SMALL), MR_POISON|MR_STONE, 0,
1038. 	M1_HUMANOID|M1_POIS|M1_OMNIVORE,
1039. 	M2_PNAME|M2_PRINCE|M2_MALE|M2_GREEDY|M2_STALK|
1040. 	M2_HOSTILE|M2_NASTY|M2_NOPOLY|M2_JEWELS|M2_COLLECT|
1041. 	M2_MAGIC, M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, HI_LORD),
1042. /*
1043.  * leprechauns
1044.  */
1045.     MON("leprechaun", S_LEPRECHAUN,
1046. 	LVL(5, 15, 8, 20, 0), (G_NOHELL|G_GENO|4),
1047. 	A(ATTK(AT_CLAW, AD_SGLD, 1, 2),
1048. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1049. 	SIZ(60, 30, 0, MS_LAUGH, MZ_TINY), MR_HITASONE, 0,
1050. 	M1_HUMANOID|M1_TPORT, M2_HOSTILE|M2_GREEDY, M3_INFRAVISIBLE, CLR_GREEN),
1051.     MON("leprechaun wizard", S_LEPRECHAUN, 
1052. 	LVL(8, 15, 6, 20, 0), (G_NOHELL|G_GENO|1),
1053. 	A(ATTK(AT_CLAW, AD_SGLD, 1, 2), ATTK(AT_MAGC, AD_SPEL, 0, 0), 
1054. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1055. 	SIZ(60, 30, 0, MS_LAUGH, MZ_TINY), MR_HITASONE, 0,
1056. 	M1_HUMANOID|M1_TPORT, M2_HOSTILE|M2_GREEDY|M2_MAGIC, 0, HI_ZAP),
1057. /*
1058.  * mimics
1059.  */
1060.     MON("small mimic", S_MIMIC,
1061. 	LVL(7, 3, 7, 0, 0), (G_GENO|2),
1062. 	A(ATTK(AT_CLAW, AD_PHYS, 3, 4),
1063. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1064. 	SIZ(300, 200, 0, MS_SILENT, MZ_MEDIUM), MR_ACID, 0,
1065. 	M1_BREATHLESS|M1_AMORPHOUS|M1_HIDE|M1_ANIMAL|M1_NOEYES|
1066. 	  M1_NOHEAD|M1_NOLIMBS|M1_THICK_HIDE|M1_CARNIVORE,
1067. 	M2_HOSTILE, 0, CLR_BROWN),
1068.     MON("large mimic", S_MIMIC,
1069. 	LVL(8, 3, 7, 10, 0), (G_GENO|1),
1070. 	A(ATTK(AT_CLAW, AD_STCK, 3, 4),
1071. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1072. 	SIZ(600, 400, 0, MS_SILENT, MZ_LARGE), MR_ACID, 0,
1073. 	M1_CLING|M1_BREATHLESS|M1_AMORPHOUS|M1_HIDE|M1_ANIMAL|M1_NOEYES|
1074. 	  M1_NOHEAD|M1_NOLIMBS|M1_THICK_HIDE|M1_CARNIVORE,
1075. 	M2_HOSTILE|M2_STRONG, 0, CLR_RED),
1076.     MON("giant mimic", S_MIMIC,
1077. 	LVL(9, 3, 7, 20, 0), (G_GENO|1),
1078. 	A(ATTK(AT_CLAW, AD_STCK, 3, 6), ATTK(AT_CLAW, AD_STCK, 3, 6),
1079. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1080. 	SIZ(800, 500, 0, MS_SILENT, MZ_LARGE), MR_ACID, 0,
1081. 	M1_CLING|M1_BREATHLESS|M1_AMORPHOUS|M1_HIDE|M1_ANIMAL|M1_NOEYES|
1082. 	  M1_NOHEAD|M1_NOLIMBS|M1_THICK_HIDE|M1_CARNIVORE,
1083. 	M2_HOSTILE|M2_STRONG, 0, HI_LORD),
1084. /*
1085.  * nymphs
1086.  */
1087.     MON("wood nymph", S_NYMPH,
1088. 	LVL(3, 12, 9, 20, 0), (G_NOHELL|G_GENO|2),
1089. 	A(ATTK(AT_CLAW, AD_SITM, 0, 0), ATTK(AT_CLAW, AD_SEDU, 0, 0),
1090. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1091. 	SIZ(600, 300, 0, MS_SEDUCE, MZ_HUMAN), MR_HITASONE, 0,
1092. 	M1_HUMANOID|M1_TPORT, M2_HOSTILE|M2_FEMALE|M2_COLLECT, M3_INFRAVISIBLE,
1093. 	CLR_GREEN),
1094.     MON("water nymph", S_NYMPH,
1095. 	LVL(3, 12, 9, 20, 0), (G_NOHELL|G_GENO|2),
1096. 	A(ATTK(AT_CLAW, AD_SITM, 0, 0), ATTK(AT_CLAW, AD_SEDU, 0, 0),
1097. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1098. 	SIZ(600, 300, 0, MS_SEDUCE, MZ_HUMAN), MR_HITASONE, 0,
1099. 	M1_HUMANOID|M1_TPORT|M1_SWIM,
1100. 	M2_HOSTILE|M2_FEMALE|M2_COLLECT, M3_INFRAVISIBLE, CLR_BLUE),
1101.     MON("mountain nymph", S_NYMPH,
1102. 	LVL(3, 12, 9, 20, 0), (G_NOHELL|G_GENO|2),
1103. 	A(ATTK(AT_CLAW, AD_SITM, 0, 0), ATTK(AT_CLAW, AD_SEDU, 0, 0),
1104. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1105. 	SIZ(600, 300, 0, MS_SEDUCE, MZ_HUMAN), MR_HITASONE, 0,
1106. 	M1_HUMANOID|M1_TPORT, M2_HOSTILE|M2_FEMALE|M2_COLLECT,
1107. 	M3_INFRAVISIBLE, CLR_BROWN),
1108.     MON("pixie", S_NYMPH,
1109. 	LVL(3, 15, 3, 20, 0), (G_NOHELL|G_GENO|1),
1110. 	A(ATTK(AT_CLAW, AD_SITM, 1, 2), NO_ATTK, NO_ATTK,
1111. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1112. 	SIZ(60, 30, 0, MS_LAUGH, MZ_TINY), MR_HITASONE, 0,
1113. 	M1_HUMANOID|M1_SEE_INVIS, M2_HOSTILE|M2_GREEDY, 
1114. 	M3_INFRAVISIBLE, CLR_CYAN),
1115.     MON("brownie", S_NYMPH,
1116. 	LVL(8, 15, 3, 20, 0), (G_NOHELL|G_GENO|1),
1117. 	A(ATTK(AT_CLAW, AD_SITM, 0, 0), ATTK(AT_MAGC, AD_SPEL, 0, 0),
1118. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1119. 	SIZ(60, 30, 0, MS_LAUGH, MZ_TINY), MR_HITASONE, 0,
1120. 	M1_HUMANOID|M1_TPORT, M2_HOSTILE|M2_GREEDY|M2_MAGIC, 
1121. 	M3_INFRAVISIBLE, CLR_BROWN),
1122.     MON("quickling", S_NYMPH,
1123. 	LVL(3, 30, 10, 20, -10), (G_HELL|G_GENO|1),
1124. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 2), ATTK(AT_CLAW, AD_SITM, 0, 0),
1125. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1126. 	SIZ(60, 30, 0, MS_LAUGH, MZ_TINY), MR_HITASONE, 0,
1127. 	M1_HUMANOID, M2_HOSTILE|M2_GREEDY|M2_NASTY, 
1128. 	M3_INFRAVISIBLE|M3_TRAITOR, CLR_BLUE),
1129.     MON("Aphrodite", S_NYMPH,
1130. 	LVL(10, 15, -5, 20, 0), (G_UNIQ|G_NOGEN|1),
1131. 	A(ATTK(AT_CLAW, AD_SITM, 0, 0), ATTK(AT_CLAW, AD_SEDU, 0, 0),
1132. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1133. 	SIZ(600, 300, 0, MS_SEDUCE, MZ_HUMAN), 0, 0, 
1134. 	M1_HUMANOID|M1_TPORT,
1135. 	M2_PNAME|M2_PRINCE|M2_FEMALE|M2_GREEDY|M2_STALK|M2_HOSTILE|
1136. 	M2_NASTY|M2_NOPOLY|M2_JEWELS|M2_COLLECT|M2_MAGIC, 
1137. 	M3_INFRAVISIBLE|M3_NOTAME, HI_LORD),
1138. /*
1139.  * orcs
1140.  */
1141.     MON("goblin", S_ORC,
1142. 	LVL(0, 6, MARM(10,6), 0, -3), (G_NOHELL|G_GENO|3),
1143. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 4),
1144. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1145. 	SIZ(400, 100, 0, MS_ORC, MZ_SMALL), 0, 0,
1146. 	M1_HUMANOID|M1_OMNIVORE, M2_ORC|M2_COLLECT,
1147. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_GRAY),
1148.     MON("hobgoblin", S_ORC,
1149. 	LVL(1, 9, MARM(10,6), 0, -4), (G_NOHELL|G_GENO|3),
1150. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
1151. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1152. 	SIZ(1000, 200, 0, MS_ORC, MZ_HUMAN), 0, 0,
1153. 	M1_HUMANOID|M1_OMNIVORE, M2_ORC|M2_STRONG|M2_COLLECT,
1154. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_BROWN),
1155. 	/* plain "orc" for zombie corpses only; not created at random
1156. 	 */
1157.     MON("orc", S_ORC,
1158. 	LVL(1, 9, MARM(10,6), 0, -3), (G_NOGEN|G_GENO),
1159. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8),
1160. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1161. 	SIZ(850, 150, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID|M1_OMNIVORE,
1162. 	M2_NOPOLY|M2_ORC|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT,
1163. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_RED),
1164.     MON("hill orc", S_ORC,
1165. 	LVL(2, 9, MARM(10,6), 0, -4), (G_NOHELL|G_GENO|G_LGROUP|3),
1166. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
1167. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1168. 	SIZ(1000, 200, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID|M1_OMNIVORE,
1169. 	M2_ORC|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT,
1170. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_YELLOW),
1171.     MON("Mordor orc", S_ORC,
1172. 	LVL(3, 5, MARM(10,6), 0, -5), (G_NOHELL|G_GENO|G_LGROUP|2),
1173. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
1174. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1175. 	SIZ(1200, 200, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID|M1_OMNIVORE,
1176. 	M2_ORC|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT,
1177. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_BLUE),
1178.     MON("Uruk-hai", S_ORC,
1179. 	LVL(3, 7, MARM(10,5), 0, -4), (G_NOHELL|G_GENO|G_LGROUP|1),
1180. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8),
1181. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1182. 	SIZ(1300, 300, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID|M1_OMNIVORE,
1183. 	M2_ORC|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT,
1184. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_BLACK),
1185.     MON("orc shaman", S_ORC,
1186. 	LVL(3, 9, 5, 10, -5), (G_NOHELL|G_GENO|1),
1187. 	A(ATTK(AT_MAGC, AD_SPEL, 0, 0),
1188. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1189. 	SIZ(1000, 300, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID|M1_OMNIVORE,
1190. 	M2_ORC|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_MAGIC,
1191. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, HI_ZAP),
1192.     MON("orc-captain", S_ORC,
1193. 	LVL(5, 5, MARM(10,4), 0, -5), (G_NOHELL|G_GENO|1),
1194. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4),
1195. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1196. 	SIZ(1350, 350, 0, MS_ORC, MZ_HUMAN), MR_HITASONE, 0, M1_HUMANOID|M1_OMNIVORE,
1197. 	M2_ORC|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT,
1198. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, HI_LORD),
1199.     MON("war orc", S_ORC, 
1200. 	LVL(6, 7, MARM(10,3), 0, -4), (G_HELL|G_GENO|G_LGROUP|1),
1201. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 8), NO_ATTK, NO_ATTK,
1202. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1203. 	SIZ(1300, 300, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID|M1_OMNIVORE,
1204. 	M2_ORC|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT,
1205. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_GREEN),
1206.     MON("great orc", S_ORC, 
1207. 	LVL(9, 7, MARM(10,2), 10, -4), (G_HELL|G_GENO|G_LGROUP|1),
1208. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 8), NO_ATTK, NO_ATTK,
1209. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1210. 	SIZ(1300, 300, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID|M1_OMNIVORE,
1211. 	M2_ORC|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT,
1212. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_BRIGHT_GREEN),
1213.     MON("Grund the Orc King", S_ORC, 
1214. 	LVL(20, 7, MARM(10,0), 66, -4), (G_UNIQ|G_NOGEN|1),
1215. 	A(ATTK(AT_WEAP, AD_PHYS, 4, 8), NO_ATTK, NO_ATTK,
1216. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1217. 	SIZ(1300, 300, 0, MS_ORC, MZ_HUMAN), MR_POISON, MR_POISON, 
1218. 	M1_HUMANOID|M1_OMNIVORE,
1219. 	M2_ORC|M2_STRONG|M2_PNAME|M2_PRINCE|M2_MALE|M2_GREEDY|M2_STALK|
1220. 	M2_HOSTILE|M2_NASTY|M2_NOPOLY|M2_JEWELS|M2_COLLECT|M2_MAGIC, 
1221. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_NOTAME, HI_LORD),
1222.     MON("snow orc", S_ORC, 
1223. 	LVL(9, 12, MARM(10,-2), 10, -9), (G_NOHELL|G_GENO|G_LGROUP|1),
1224. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 8), NO_ATTK, NO_ATTK,
1225. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1226. 	SIZ(1300, 300, 0, MS_ORC, MZ_HUMAN), MR_COLD, MR_COLD,
1227. 	M1_HUMANOID|M1_OMNIVORE,
1228. 	M2_ORC|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT,
1229. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_CYAN),
1230.     MON("demon orc", S_ORC, 
1231. 	LVL(12, 12, MARM(10,-2), 10, -9), (G_HELL|G_GENO|G_LGROUP|1),
1232. 	A(ATTK(AT_WEAP, AD_PHYS, 3, 6), NO_ATTK, NO_ATTK,
1233. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1234. 	SIZ(1300, 300, 0, MS_ORC, MZ_HUMAN), MR_FIRE, MR_FIRE,
1235. 	M1_HUMANOID|M1_OMNIVORE,
1236. 	M2_ORC|M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT,
1237. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_ORANGE),
1238. /*
1239.  * piercers
1240.  */
1241.     MON("rock piercer", S_PIERCER,
1242. 	LVL(3, 1, 3, 0, 0), (G_GENO|4),
1243. 	A(ATTK(AT_BITE, AD_PHYS, 2, 6),
1244. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1245. 	SIZ(200, 200, 0, MS_SILENT, MZ_SMALL), 0, 0,
1246. 	M1_CLING|M1_HIDE|M1_ANIMAL|M1_NOEYES|M1_NOLIMBS|M1_CARNIVORE|M1_NOTAKE,
1247. 	M2_HOSTILE, 0, CLR_GRAY),
1248.     MON("iron piercer", S_PIERCER,
1249. 	LVL(5, 1, 0, 0, 0), (G_GENO|2),
1250. 	A(ATTK(AT_BITE, AD_PHYS, 3, 6),
1251. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1252. 	SIZ(400, 300, 0, MS_SILENT, MZ_MEDIUM), 0, 0,
1253. 	M1_CLING|M1_HIDE|M1_ANIMAL|M1_NOEYES|M1_NOLIMBS|M1_CARNIVORE|M1_NOTAKE,
1254. 	M2_HOSTILE, 0, CLR_CYAN),
1255.     MON("glass piercer", S_PIERCER,
1256. 	LVL(7, 1, 0, 0, 0), (G_GENO|1),
1257. 	A(ATTK(AT_BITE, AD_PHYS, 4, 6), NO_ATTK, NO_ATTK,
1258. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1259. 	SIZ(400, 300, 0, MS_SILENT, MZ_MEDIUM), MR_ACID, 0,
1260. 	M1_CLING|M1_HIDE|M1_ANIMAL|M1_NOEYES|M1_NOLIMBS|M1_CARNIVORE|M1_NOTAKE,
1261. 	M2_HOSTILE, 0, CLR_WHITE),
1262. /*
1263.  * quadrupeds
1264.  */
1265.     MON("lamb", S_QUADRUPED,
1266. 	LVL(1, 12, 10, 0, 0), (G_GENO|G_SGROUP|2),
1267. 	A(ATTK(AT_BUTT, AD_PHYS, 1, 2), ATTK(AT_KICK, AD_PHYS, 1, 2),
1268. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1269. 	SIZ(200, 50, 0, MS_SHEEP, MZ_SMALL), 0, 0,
1270. 	M1_ANIMAL|M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_DOMESTIC|M2_PEACEFUL,
1271. 	M3_INFRAVISIBLE, CLR_WHITE),
1272.     MON("rothe", S_QUADRUPED,
1273. 	LVL(2, 9, 7, 0, 0), (G_NOHELL|G_GENO|G_SGROUP|4),
1274. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_BITE, AD_PHYS, 1, 3),
1275. 	  ATTK(AT_BITE, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK),
1276. 	SIZ(400, 100, 0, MS_SILENT, MZ_LARGE), 0, 0,
1277. 	M1_ANIMAL|M1_NOHANDS|M1_OMNIVORE, M2_HOSTILE, 0, CLR_BROWN),
1278.     MON("giant badger", S_QUADRUPED, 
1279. 	LVL(2, 12, 6, 0, 0), (G_NOHELL|G_GENO|1),
1280. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 2), ATTK(AT_CLAW, AD_PHYS, 1, 2),
1281. 	  ATTK(AT_BITE, AD_PHYS, 1, 3), NO_ATTK, NO_ATTK, NO_ATTK),
1282. 	SIZ(200, 50, 0, MS_SILENT, MZ_MEDIUM), 0, 0,
1283. 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_BROWN),
1284.     MON("scramper", S_QUADRUPED, 
1285. 	LVL(3, 9, 7, 0, 0), (G_NOHELL|G_GENO|G_SGROUP|1),
1286. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_BITE, AD_PHYS, 1, 3),
1287. 	  ATTK(AT_BITE, AD_PHYS, 1, 8), ATTK(AT_STNG, AD_LEGS, 1, 6),
1288. 	  NO_ATTK, NO_ATTK),
1289. 	SIZ(400, 100, 0, MS_SILENT, MZ_LARGE), 0, 0,
1290. 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE|M1_POIS, M2_HOSTILE, 0, CLR_GREEN),
1291.     MON("sheep", S_QUADRUPED,
1292. 	LVL(3, 12, 8, 0, 0), (G_GENO|G_SGROUP|2),
1293. 	A(ATTK(AT_BUTT, AD_PHYS, 1, 4), ATTK(AT_KICK, AD_PHYS, 1, 3),
1294. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1295. 	SIZ(700, 100, 0, MS_SHEEP, MZ_MEDIUM), 0, 0,
1296. 	M1_ANIMAL|M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_DOMESTIC|M2_PEACEFUL,
1297. 	M3_INFRAVISIBLE, CLR_WHITE),
1298.     MON("goat", S_QUADRUPED,
1299. 	LVL(4, 12, 6, 0, 0), (G_GENO|G_SGROUP|1),
1300. 	A(ATTK(AT_BUTT, AD_PHYS, 2, 4), ATTK(AT_KICK, AD_PHYS, 1, 4),
1301. 	  ATTK(AT_KICK, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK),
1302. 	SIZ(700, 75, 0, MS_SILENT, MZ_MEDIUM), 0, 0,
1303. 	M1_ANIMAL|M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_DOMESTIC,
1304. 	M3_INFRAVISIBLE, CLR_WHITE),
1305.     MON("squealer", S_QUADRUPED, 
1306. 	LVL(4, 9, 7, 0, 0), (G_NOHELL|G_GENO|G_SGROUP|1),
1307. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_BITE, AD_PHYS, 1, 3),
1308. 	  ATTK(AT_BITE, AD_PHYS, 1, 8), ATTK(AT_STNG, AD_LEGS, 1, 6),
1309. 	  NO_ATTK, NO_ATTK),
1310. 	SIZ(400, 100, 0, MS_SHRIEK, MZ_LARGE), 0, 0,
1311. 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE|M1_POIS, M2_HOSTILE, 0, CLR_MAGENTA),
1312.     MON("mumak", S_QUADRUPED,
1313. 	LVL(5, 9, 0, 0, -2), (G_NOHELL|G_GENO|1),
1314. 	A(ATTK(AT_BUTT, AD_PHYS, 4,12), ATTK(AT_BITE, AD_PHYS, 2, 6),
1315. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1316. 	SIZ(2500, 500, 0, MS_ROAR, MZ_LARGE), 0, 0,
1317. 	M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS|M1_HERBIVORE,
1318. 	M2_HOSTILE|M2_STRONG, 0, CLR_GRAY),
1319.     MON("leocrotta", S_QUADRUPED,
1320. 	LVL(6, 18, 4, 10, 0), (G_GENO|2),
1321. 	A(ATTK(AT_CLAW, AD_PHYS, 2, 6), ATTK(AT_BITE, AD_PHYS, 2, 6),
1322. 	  ATTK(AT_CLAW, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
1323. 	SIZ(1200, 500, 0, MS_IMITATE, MZ_LARGE), MR_HITASTWO, 0,
1324. 	M1_ANIMAL|M1_NOHANDS|M1_OMNIVORE, M2_HOSTILE|M2_STRONG, 0, CLR_RED),
1325.     MON("cow", S_QUADRUPED,
1326. 	LVL(7, 9, 7, 0, 0), (G_GENO|2),
1327. 	A(ATTK(AT_BUTT, AD_PHYS, 1, 8), ATTK(AT_KICK, AD_PHYS, 2, 4),
1328. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1329. 	SIZ(2000, 300, 0, MS_COW, MZ_MEDIUM), 0, 0,
1330. 	M1_ANIMAL|M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_DOMESTIC|M2_PEACEFUL|
1331. 	M2_FEMALE,M3_INFRAVISIBLE, CLR_WHITE),
1332.     MON("mangler", S_QUADRUPED, 
1333. 	LVL(8, 9, 7, 0, 0), (G_NOHELL|G_GENO|G_SGROUP|1),
1334. 	A(ATTK(AT_CLAW, AD_PHYS, 3, 3), ATTK(AT_CLAW, AD_PHYS, 3, 3),
1335. 	  ATTK(AT_BITE, AD_PHYS, 3, 8), NO_ATTK, NO_ATTK, NO_ATTK),
1336. 	SIZ(400, 100, 0, MS_SILENT, MZ_LARGE), 0, 0,
1337. 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_TRAITOR, CLR_ORANGE),
1338.     MON("wumpus", S_QUADRUPED,
1339. 	LVL(8, 3, 2, 10, 0), (G_NOHELL|G_GENO|1),
1340. 	A(ATTK(AT_BITE, AD_PHYS, 3, 6),
1341. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1342. 	SIZ(2500, 500, 0, MS_BURBLE, MZ_LARGE), MR_HITASONE, 0,
1343. 	M1_CLING|M1_ANIMAL|M1_NOHANDS|M1_OMNIVORE,
1344. 	M2_HOSTILE|M2_STRONG, 0, CLR_CYAN),
1345.     MON("bull", S_QUADRUPED,
1346. 	LVL(10, 15, 5, 0, 0), (G_GENO|1),
1347. 	A(ATTK(AT_BUTT, AD_PHYS, 2, 8), ATTK(AT_KICK, AD_PHYS, 2, 4),
1348. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1349. 	SIZ(3000, 500, 0, MS_COW, MZ_MEDIUM), 0, 0,
1350. 	M1_ANIMAL|M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_DOMESTIC|M2_HOSTILE|
1351. 	M2_MALE,M3_INFRAVISIBLE, CLR_BLACK),
1352.     MON("titanothere", S_QUADRUPED,
1353. 	LVL(12, 12, 6, 0, 0), (G_NOHELL|G_GENO|2),
1354. 	A(ATTK(AT_CLAW, AD_PHYS, 2, 8),
1355. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1356. 	SIZ(2650, 650, 0, MS_SILENT, MZ_LARGE), MR_HITASTWO, 0,
1357. 	M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS|M1_HERBIVORE,
1358. 	M2_HOSTILE|M2_STRONG, 0, CLR_GRAY),
1359.     MON("baluchitherium", S_QUADRUPED,
1360. 	LVL(14, 12, 5, 0, 0), (G_NOHELL|G_GENO|2),
1361. 	A(ATTK(AT_CLAW, AD_PHYS, 5, 4), ATTK(AT_CLAW, AD_PHYS, 5, 4),
1362. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1363. 	SIZ(3800, 800, 0, MS_SILENT, MZ_LARGE), MR_HITASTHREE, 0,
1364. 	M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS|M1_HERBIVORE,
1365. 	M2_HOSTILE|M2_STRONG, 0, CLR_GRAY),
1366.     MON("mastodon", S_QUADRUPED,
1367. 	LVL(20, 12, 5, 0, 0), (G_GENO|1),
1368. 	A(ATTK(AT_BUTT, AD_PHYS, 4, 8), ATTK(AT_BUTT, AD_PHYS, 4, 8),
1369. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1370. 	SIZ(3800, 800, 0, MS_SILENT, MZ_LARGE), 0, 0,
1371. 	M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS|M1_HERBIVORE,
1372. 	M2_HOSTILE|M2_STRONG, 0, CLR_BROWN),
1373.     MON("Jumbo the Elephant", S_QUADRUPED, 
1374. 	LVL(30, 12, 5, 0, 0), (G_UNIQ|1),
1375. 	A(ATTK(AT_BUTT, AD_PHYS, 6, 8), ATTK(AT_BUTT, AD_PHYS, 6, 8),
1376. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1377. 	SIZ(3800, 800, 0, MS_SILENT, MZ_LARGE), MR_STONE, MR_STONE,
1378. 	M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS|M1_HERBIVORE,
1379. 	M2_STRONG|M2_PNAME|M2_PRINCE|M2_MALE|M2_STALK|
1380. 	M2_HOSTILE|M2_NASTY|M2_NOPOLY, 0, HI_LORD),
1381.     MON("juggernaut", S_QUADRUPED, 
1382. 	LVL(30, 9, 7, 0, 0), (G_NOHELL|G_GENO|G_NOCORPSE|1),
1383. 	A(ATTK(AT_BUTT, AD_PHYS, 8, 8), NO_ATTK,
1384. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1385. 	SIZ(3800, 800, 0, MS_SILENT, MZ_GIGANTIC), 0, 0,
1386. 	M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS|M1_HERBIVORE,
1387. 	M2_HOSTILE|M2_STRONG, 0, CLR_YELLOW),
1388.     MON("catoblepas", S_QUADRUPED, 
1389. 	LVL(6, 6, 7, 10, 0), (G_NOGEN|G_UNIQ|G_GENO),
1390. 	A(ATTK(AT_GAZE, AD_DETH, 2, 6), ATTK(AT_BITE, AD_PHYS, 1, 3),
1391. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1392. 	SIZ(1200, 500, 0, MS_SILENT, MZ_LARGE), MR_HITASTWO, 0,
1393. 	M1_ANIMAL|M1_NOHANDS|M1_HERBIVORE,
1394. 	M2_HOSTILE|M2_NASTY|M2_STRONG, 0, CLR_BLACK),
1395. /*
1396.  * rodents
1397.  */
1398.     MON("sewer rat", S_RODENT,
1399. 	LVL(0, 12, 7, 0, 0), (G_NOHELL|G_GENO|G_SGROUP|1),
1400. 	A(ATTK(AT_BITE, AD_PHYS, 1, 3),
1401. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1402. 	SIZ(20, 12, 0, MS_SQEEK, MZ_TINY), 0, 0,
1403. 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
1404. 	CLR_BROWN),
1405.     MON("rabbit", S_RODENT, 
1406. 	LVL(0, 15, 7, 0, 0), (G_NOHELL|G_GENO|2),
1407. 	A(ATTK(AT_BITE, AD_PHYS, 1, 3), NO_ATTK, NO_ATTK,
1408. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1409. 	SIZ(20, 12, 0, MS_SQEEK, MZ_TINY), 0, 0,
1410. 	M1_ANIMAL|M1_NOHANDS|M1_HERBIVORE, M2_HOSTILE, 
1411. 	M3_INFRAVISIBLE, CLR_WHITE),
1412.     MON("black rat",  S_RODENT, 
1413. 	LVL(0, 12, 7, 0, 0), (G_NOGEN|G_GENO),
1414. 	A(ATTK(AT_BITE, AD_PHYS, 1, 3), NO_ATTK, NO_ATTK,
1415. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1416. 	SIZ(20, 12, 0, MS_SQEEK, MZ_TINY), 0, 0,
1417. 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 
1418. 	M3_INFRAVISIBLE, CLR_BLACK),
1419.     MON("giant rat", S_RODENT,
1420. 	LVL(1, 10, 7, 0, 0), (G_NOHELL|G_GENO|G_SGROUP|2),
1421. 	A(ATTK(AT_BITE, AD_PHYS, 1, 3),
1422. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1423. 	SIZ(30, 30, 0, MS_SQEEK, MZ_TINY), 0, 0,
1424. 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
1425. 	CLR_BROWN),
1426.     MON("rabid rat", S_RODENT,
1427. 	LVL(2, 12, 6, 0, 0), (G_NOHELL|G_GENO|1),
1428. 	A(ATTK(AT_BITE, AD_DRCO, 2, 4),
1429. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1430. 	SIZ(30, 5, 0, MS_SQEEK, MZ_TINY), MR_POISON, 0,
1431. 	M1_ANIMAL|M1_NOHANDS|M1_POIS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
1432. 	CLR_BROWN),
1433.     MON("rabid rabbit", S_RODENT, 
1434. 	LVL(3, 18, 7, 0, 0), (G_NOHELL|G_GENO|1),
1435. 	A(ATTK(AT_BITE, AD_DRCO, 2, 6), NO_ATTK, NO_ATTK,
1436. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1437. 	SIZ(20, 12, 0, MS_SQEEK, MZ_TINY), 0, 0,
1438. 	M1_ANIMAL|M1_NOHANDS|M1_HERBIVORE,
1439. 	M2_HOSTILE, M3_INFRAVISIBLE, CLR_WHITE),
1440.     MON("pack rat", S_RODENT, 
1441. 	LVL(0, 12, 7, 0, 0), (G_NOGEN|G_GENO),
1442. 	A(ATTK(AT_BITE, AD_PHYS, 1, 3), ATTK(AT_TUCH, AD_SITM, 1, 1),
1443. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1444. 	SIZ(20, 12, 0, MS_SQEEK, MZ_TINY), 0, 0,
1445. 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
1446. 	M2_HOSTILE, M3_INFRAVISIBLE, CLR_BLACK),
1447.     MON("wererat", S_RODENT,
1448. 	LVL(2, 12, 6, 10, -7), (G_NOGEN|G_NOCORPSE),
1449. 	A(ATTK(AT_BITE, AD_WERE, 1, 4),
1450. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1451. 	SIZ(40, 30, 0, MS_SQEEK, MZ_TINY), MR_POISON, 0,
1452. 	M1_NOHANDS|M1_POIS|M1_REGEN|M1_CARNIVORE,
1453. 	M2_NOPOLY|M2_WERE|M2_HOSTILE, M3_INFRAVISIBLE, CLR_BROWN),
1454.     MON("rock mole", S_RODENT,
1455. 	LVL(3, 3, 0, 20, 0), (G_NOHELL|G_GENO|2),
1456. 	A(ATTK(AT_BITE, AD_PHYS, 1, 6),
1457. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1458. 	SIZ(30, 30, 0, MS_SILENT, MZ_SMALL), 0, 0,
1459. 	M1_TUNNEL|M1_ANIMAL|M1_NOHANDS|M1_METALLIVORE,
1460. 	M2_HOSTILE|M2_GREEDY|M2_JEWELS|M2_COLLECT, M3_INFRAVISIBLE, CLR_GRAY),
1461.     MON("woodchuck", S_RODENT,
1462. 	LVL(3, 3, 0, 20, 0), (G_NOGEN|G_GENO),
1463. 	A(ATTK(AT_BITE, AD_PHYS, 1, 6),
1464. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1465. 	SIZ(30, 30, 0, MS_SILENT, MZ_SMALL), 0, 0,
1466. 	M1_TUNNEL/*LOGGING*/|M1_ANIMAL|M1_NOHANDS|M1_SWIM|M1_HERBIVORE,
1467. 		/* In reality, they tunnel instead of cutting lumber.  Oh, well. */
1468. 	M2_WANDER|M2_HOSTILE, M3_INFRAVISIBLE, CLR_BROWN),
1469.     MON("hellrat", S_RODENT, 
1470. 	LVL(5, 15, 7, 0, 0), (G_HELL|G_GENO|G_LGROUP|G_NOCORPSE|1),
1471. 	A(ATTK(AT_BITE, AD_FIRE, 3, 3), NO_ATTK, NO_ATTK,
1472. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1473. 	SIZ(20, 12, 0, MS_SQEEK, MZ_TINY), MR_FIRE, MR_FIRE,
1474. 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
1475. 	M2_HOSTILE, M3_INFRAVISIBLE, CLR_RED),
1476.     MON("the Rat King", S_RODENT, 
1477. 	LVL(12, 15, 7, 0, 0), (G_UNIQ|1),
1478. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_BITE, AD_PHYS, 2, 3), 
1479. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1480. 	SIZ(200, 120, 0, MS_SQEEK, MZ_MEDIUM), MR_STONE, MR_STONE,
1481. 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
1482. 	M2_STRONG|M2_PNAME|M2_PRINCE|M2_MALE|M2_GREEDY|M2_STALK|
1483. 	M2_HOSTILE|M2_NASTY|M2_NOPOLY|M2_JEWELS|M2_COLLECT|
1484. 	M2_MAGIC, M3_INFRAVISIBLE|M3_NOTAME, HI_LORD),
1485. /*
1486.  * spiders & scorpions (keep webmaker() in sync if new critters are added)
1487.  */
1488.     MON("cave spider", S_SPIDER,
1489. 	LVL(1, 12, 3, 0, 0), (G_NOHELL|G_GENO|G_SGROUP|3),
1490. 	A(ATTK(AT_BITE, AD_PHYS, 1, 2),
1491. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1492. 	SIZ(50, 50, 0, MS_SILENT, MZ_TINY), MR_POISON, MR_POISON,
1493. 	M1_CONCEAL|M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE,
1494. 	M2_HOSTILE, 0, CLR_GRAY),
1495.     MON("centipede", S_SPIDER, 
1496. 	LVL(2, 4, 3, 0, 0), (G_GENO|1),
1497. 	A(ATTK(AT_BITE, AD_DRST, 1, 3), NO_ATTK, NO_ATTK,
1498. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1499. 	SIZ(50, 50, 0, MS_SILENT, MZ_TINY), MR_POISON, MR_POISON,
1500. 	M1_CONCEAL|M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE,
1501. 	M2_HOSTILE, 0, CLR_YELLOW),
1502.     MON("recluse spider", S_SPIDER, 
1503. 	LVL(3, 12, 3, 0, 0), (G_NOHELL|G_GENO|G_SGROUP|1),
1504. 	A(ATTK(AT_BITE, AD_DRST, 1, 4), NO_ATTK, NO_ATTK,
1505. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1506. 	SIZ(50, 50, 0, MS_SILENT, MZ_TINY), MR_POISON, MR_POISON,
1507. 	M1_CONCEAL|M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE,
1508. 	M2_HOSTILE, 0, CLR_BROWN),
1509.     MON("giant spider", S_SPIDER,
1510. 	LVL(5, 15, 4, 0, 0), (G_NOHELL|G_GENO|1),
1511. 	A(ATTK(AT_BITE, AD_DRST, 2, 4),
1512. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1513. 	SIZ(100, 100, 0, MS_SILENT, MZ_LARGE), MR_POISON, MR_POISON,
1514. 	M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_POIS|M1_CARNIVORE,
1515. 	M2_HOSTILE|M2_STRONG, 0, CLR_MAGENTA),
1516.     MON("barking spider", S_SPIDER, 
1517. 	LVL(5, 15, 3, 0, 0), (G_NOHELL|G_GENO|1),
1518. 	A(ATTK(AT_BITE, AD_PHYS, 1, 2), ATTK(AT_BITE, AD_PHYS, 1, 2),
1519. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1520. 	SIZ(100, 100, 0, MS_BARK, MZ_LARGE), MR_POISON, MR_POISON,
1521. 	M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_POIS|
1522. 	M1_CARNIVORE, M2_HOSTILE, 0, CLR_ORANGE),
1523.     MON("scorpion", S_SPIDER,
1524. 	LVL(5, 15, 3, 0, 0), (G_NOHELL|G_GENO|1),
1525. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 2), ATTK(AT_CLAW, AD_PHYS, 1, 2),
1526. 	  ATTK(AT_STNG, AD_DRST, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK),
1527. 	SIZ(50, 100, 0, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON,
1528. 	M1_CONCEAL|M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_POIS|M1_CARNIVORE,
1529. 	M2_HOSTILE, 0, CLR_RED),
1530.     MON("carrion crawler", S_SPIDER, 
1531. 	LVL(3, 12, 3, 0, 0), (G_NOHELL|G_GENO|1),
1532. 	A(ATTK(AT_TUCH, AD_PLYS, 1, 1), ATTK(AT_TUCH, AD_PLYS, 1, 1),
1533. 	  ATTK(AT_TUCH, AD_PLYS, 1, 1), ATTK(AT_TUCH, AD_PLYS, 1, 1),
1534. 	  ATTK(AT_TUCH, AD_PLYS, 1, 1), ATTK(AT_TUCH, AD_PLYS, 1, 1)),
1535. 	SIZ(50, 100, 0, MS_SILENT, MZ_LARGE), MR_POISON, MR_POISON,
1536. 	M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE, 
1537. 	M2_HOSTILE|M2_NASTY, 0, CLR_GREEN),
1538.     MON("nickelpede", S_SPIDER, 
1539. 	LVL(8, 4, 3, 0, 0), (G_NOHELL|G_GENO|1),
1540. 	A(ATTK(AT_BITE, AD_DRST, 3, 4), NO_ATTK, NO_ATTK,
1541. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1542. 	SIZ(150, 50, 0, MS_SILENT, MZ_MEDIUM), MR_POISON, MR_POISON,
1543. 	M1_CONCEAL|M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE,
1544. 	M2_HOSTILE, 0, CLR_CYAN),
1545.     MON("giant scorpion", S_SPIDER, 
1546. 	LVL(12, 15, 3, 0, 0), (G_NOHELL|G_GENO|1),
1547. 	A(ATTK(AT_CLAW, AD_PHYS, 5, 2), ATTK(AT_CLAW, AD_PHYS, 5, 2),
1548. 	  ATTK(AT_STNG, AD_DRST, 3, 4), NO_ATTK, NO_ATTK, NO_ATTK),
1549. 	SIZ(500, 150, 0, MS_SILENT, MZ_LARGE), MR_POISON, MR_POISON,
1550. 	M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_POIS|M1_CARNIVORE, 
1551. 	M2_HOSTILE, 0, CLR_RED),
1552.     MON("Girtab", S_SPIDER, 
1553. 	LVL(22, 15, 3, 0, 0), (G_UNIQ|G_NOGEN|1),
1554. 	A(ATTK(AT_CLAW, AD_PHYS, 5, 4), ATTK(AT_CLAW, AD_PHYS, 5, 4),
1555. 	  ATTK(AT_STNG, AD_DRST, 3, 8), NO_ATTK, NO_ATTK, NO_ATTK),
1556. 	SIZ(500, 150, 0, MS_SILENT, MZ_LARGE), MR_POISON|MR_STONE, MR_POISON,
1557. 	M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_POIS|M1_CARNIVORE,
1558. 	M2_STRONG|M2_PNAME|M2_PRINCE|M2_FEMALE|M2_STALK|
1559. 	M2_HOSTILE|M2_NASTY|M2_NOPOLY, M3_NOTAME, CLR_RED),
1560.     MON("Shelob", S_SPIDER, 
1561. 	SIZ(26, 15, 3, 0, 0), (G_UNIQ|G_NOGEN|1),
1562. 	A(ATTK(AT_BITE, AD_PHYS, 8, 4), ATTK(AT_BITE, AD_DRST, 5, 4),
1563. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1564. 	SIZ(500, 150, 0, MS_SILENT, MZ_LARGE), MR_POISON|MR_STONE, MR_POISON,
1565. 	M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_POIS|M1_CARNIVORE,
1566. 	M2_STRONG|M2_PNAME|M2_PRINCE|M2_FEMALE|M2_STALK|
1567. 	M2_HOSTILE|M2_NASTY|M2_NOPOLY, M3_NOTAME, CLR_BLACK),
1568.     MON("phase spider", S_SPIDER, 
1569. 	LVL(8, 12, 2, 0, -4), (G_GENO|1),
1570. 	A(ATTK(AT_BITE, AD_DRST, 3, 4), NO_ATTK, NO_ATTK,
1571. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1572. 	SIZ(100, 100, 0, MS_SILENT, MZ_LARGE), MR_POISON, MR_POISON,
1573. 	M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_POIS|M1_TPORT|M1_CARNIVORE,
1574. 	M2_HOSTILE|M2_STRONG, 0, CLR_BLUE),
1575.     MON("werespider", S_SPIDER, 
1576. 	LVL(11, 15, 3, 0, 0), (G_GENO|G_NOGEN|1),
1577. 	A(ATTK(AT_BITE, AD_WERE, 4, 4), NO_ATTK,
1578. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1579. 	SIZ(100, 100, 0, MS_BARK, MZ_LARGE), MR_POISON, MR_POISON,
1580. 	M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_POIS|M1_CARNIVORE|M1_REGEN, 
1581. 	M2_NOPOLY|M2_HOSTILE|M2_WERE, 0, CLR_BLACK),
1582. /*
1583.  * trappers, lurkers, &c
1584.  */
1585.     MON("lurker above", S_TRAPPER,
1586. 	LVL(10, 3, 3, 0, 0), (G_GENO|2),
1587. 	A(ATTK(AT_ENGL, AD_DGST, 1, 8),
1588. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1589. 	SIZ(800, 350, 0, MS_SILENT, MZ_HUGE), 0, 0,
1590. 	M1_HIDE|M1_FLY|M1_ANIMAL|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_CARNIVORE,
1591. 	M2_HOSTILE|M2_STALK|M2_STRONG, 0, CLR_GRAY),
1592.     MON("trapper", S_TRAPPER,
1593. 	LVL(12, 3, 3, 0, 0), (G_GENO|2),
1594. 	A(ATTK(AT_ENGL, AD_DGST, 1,10),
1595. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1596. 	SIZ(800, 350, 0, MS_SILENT, MZ_HUGE), 0, 0,
1597. 	M1_HIDE|M1_ANIMAL|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_CARNIVORE,
1598. 	M2_HOSTILE|M2_STALK|M2_STRONG, 0, CLR_GREEN),
1599. /*
1600.  * unicorns and horses
1601.  */
1602.     MON("white unicorn", S_UNICORN,
1603. 	LVL(4, 24, 2, 70, 7), (G_NOHELL|G_GENO|4),
1604. 	A(ATTK(AT_BUTT, AD_PHYS, 1,12), ATTK(AT_KICK, AD_PHYS, 1, 6),
1605. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1606. 	SIZ(1300, 300, 0, MS_NEIGH, MZ_LARGE), MR_POISON|MR_HITASTWO, MR_POISON,
1607. 	M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_STRONG|M2_JEWELS,
1608. 	M3_INFRAVISIBLE, CLR_WHITE),
1609.     MON("gray unicorn", S_UNICORN,
1610. 	LVL(4, 24, 2, 70, 0), (G_NOHELL|G_GENO|4),
1611. 	A(ATTK(AT_BUTT, AD_PHYS, 1,12), ATTK(AT_KICK, AD_PHYS, 1, 6),
1612. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1613. 	SIZ(1300, 300, 0, MS_NEIGH, MZ_LARGE), MR_POISON|MR_HITASTWO, MR_POISON,
1614. 	M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_STRONG|M2_JEWELS,
1615. 	M3_INFRAVISIBLE, CLR_GRAY),
1616.     MON("black unicorn", S_UNICORN,
1617. 	LVL(4, 24, 2, 70, -7), (G_NOHELL|G_GENO|4),
1618. 	A(ATTK(AT_BUTT, AD_PHYS, 1,12), ATTK(AT_KICK, AD_PHYS, 1, 6),
1619. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1620. 	SIZ(1300, 300, 0, MS_NEIGH, MZ_LARGE), MR_POISON|MR_HITASTWO, MR_POISON,
1621. 	M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_STRONG|M2_JEWELS,
1622. 	M3_INFRAVISIBLE, CLR_BLACK),
1623.     MON("pony", S_UNICORN,
1624. 	LVL(3, 16, 6, 0, 0), (G_GENO|2),
1625. 	A(ATTK(AT_KICK, AD_PHYS, 1, 6), ATTK(AT_BITE, AD_PHYS, 1, 2),
1626. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1627. 	SIZ(1300, 250, 0, MS_NEIGH, MZ_MEDIUM), 0, 0,
1628. 	M1_ANIMAL|M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_STRONG|M2_DOMESTIC,
1629. 	M3_INFRAVISIBLE, CLR_BROWN),
1630.     MON("horse", S_UNICORN,
1631. 	LVL(5, 20, 5, 0, 0), (G_GENO|2),
1632. 	A(ATTK(AT_KICK, AD_PHYS, 1, 8), ATTK(AT_BITE, AD_PHYS, 1, 3),
1633. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1634. 	SIZ(1500, 300, 0, MS_NEIGH, MZ_LARGE), 0, 0,
1635. 	M1_ANIMAL|M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_STRONG|M2_DOMESTIC,
1636. 	M3_INFRAVISIBLE, CLR_BROWN),
1637.     MON("warhorse", S_UNICORN,
1638. 	LVL(7, 24, 4, 0, 0), (G_GENO|2),
1639. 	A(ATTK(AT_KICK, AD_PHYS, 1, 10), ATTK(AT_BITE, AD_PHYS, 1, 4),
1640. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1641. 	SIZ(1800, 350, 0, MS_NEIGH, MZ_LARGE), 0, 0,
1642. 	M1_ANIMAL|M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_STRONG|M2_DOMESTIC,
1643. 	M3_INFRAVISIBLE, CLR_BROWN),
1644.     MON("Pegasus", S_UNICORN,
1645. 	LVL(12, 24, 2, 70, 7), (G_NOGEN|G_UNIQ),
1646. 	A(ATTK(AT_KICK, AD_PHYS, 2, 10), ATTK(AT_BITE, AD_PHYS, 1, 6),
1647. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1648. 	SIZ(1500, 350, 0, MS_NEIGH, MZ_LARGE), 0, 0,
1649. 	M1_ANIMAL|M1_NOHANDS|M1_FLY,
1650. 	M2_NOPOLY|M2_PEACEFUL|M2_PNAME|M2_WANDER|M2_STRONG, 0, CLR_WHITE),
1651. /*
1652.  * vortices
1653.  */
1654.     MON("fog cloud", S_VORTEX,
1655. 	LVL(3, 1, 0, 0, 0), (G_GENO|G_NOCORPSE|2),
1656. 	A(ATTK(AT_ENGL, AD_PHYS, 1, 6),
1657. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1658. 	SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), MR_SLEEP|MR_POISON|MR_STONE, 0,
1659. 	M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|
1660. 	  M1_AMORPHOUS|M1_UNSOLID,
1661. 	M2_HOSTILE|M2_NEUTER, 0, CLR_GRAY),
1662.     MON("dust vortex", S_VORTEX,
1663. 	LVL(4, 20, 2, 30, 0), (G_GENO|G_NOCORPSE|2),
1664. 	A(ATTK(AT_ENGL, AD_BLND, 2, 8),
1665. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1666. 	SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), MR_SLEEP|MR_POISON|MR_STONE, 0,
1667. 	M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS,
1668. 	M2_HOSTILE|M2_NEUTER, 0, CLR_BROWN),
1669.     MON("ice vortex", S_VORTEX,
1670. 	LVL(5, 20, 2, 30, 0), (G_NOHELL|G_GENO|G_NOCORPSE|1),
1671. 	A(ATTK(AT_ENGL, AD_COLD, 1, 6),
1672. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1673. 	SIZ(0, 0, 0, MS_SILENT, MZ_HUGE),
1674. 	MR_COLD|MR_SLEEP|MR_POISON|MR_STONE, 0,
1675. 	M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS,
1676. 	M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_CYAN),
1677.     MON("energy vortex", S_VORTEX,
1678. 	LVL(6, 20, 2, 30, 0), (G_NOHELL|G_GENO|G_NOCORPSE|1),
1679. 	A(ATTK(AT_ENGL, AD_ELEC, 1, 6), ATTK(AT_ENGL, AD_DREN, 0, 0),
1680. 	  ATTK(AT_NONE, AD_ELEC, 0, 4), NO_ATTK, NO_ATTK, NO_ATTK),
1681. 	SIZ(0, 0, 0, MS_SILENT, MZ_HUGE),
1682. 	MR_ELEC|MR_SLEEP|MR_DISINT|MR_POISON|MR_STONE, 0,
1683. 	M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|
1684. 	  M1_UNSOLID,
1685. 	M2_HOSTILE|M2_NEUTER, 0, HI_ZAP),
1686.     MON("steam vortex", S_VORTEX,
1687. 	LVL(7, 22, 2, 30, 0), (G_HELL|G_GENO|G_NOCORPSE|2),
1688. 	A(ATTK(AT_ENGL, AD_FIRE, 1, 8),
1689. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1690. 	SIZ(0, 0, 0, MS_SILENT, MZ_HUGE),
1691. 	MR_FIRE|MR_SLEEP|MR_POISON|MR_STONE|MR_PLUSONE, 0,
1692. 	M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|
1693. 	  M1_UNSOLID,
1694. 	M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_BLUE),
1695.     MON("fire vortex", S_VORTEX,
1696. 	LVL(8, 22, 2, 30, 0), (G_HELL|G_GENO|G_NOCORPSE|1),
1697. 	A(ATTK(AT_ENGL, AD_FIRE, 1,10), ATTK(AT_NONE, AD_FIRE, 0, 4),
1698. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1699. 	SIZ(0, 0, 0, MS_SILENT, MZ_HUGE),
1700. 	MR_FIRE|MR_SLEEP|MR_POISON|MR_STONE|MR_PLUSONE, 0,
1701. 	M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|
1702. 	  M1_UNSOLID,
1703. 	M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_YELLOW),
1704. /*
1705.  * worms
1706.  */
1707.     MON("larva", S_WORM, 
1708. 	LVL(1, 6, 9, 0, 0), (G_GENO|G_SGROUP|2),
1709. 	A(ATTK(AT_BITE, AD_PHYS, 1, 2), NO_ATTK, NO_ATTK,
1710. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1711. 	SIZ(150, 100, 0, MS_SILENT, MZ_MEDIUM), MR_SLEEP|MR_POISON,
1712. 	MR_SLEEP, M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|M1_POIS|M1_REGEN|M1_NOTAKE, 
1713. 	M2_HOSTILE|M2_WANDER|M2_STALK|M2_NEUTER, 0, CLR_WHITE),
1714.     MON("maggot", S_WORM, 
1715. 	LVL(2, 9, 5, 0, 0), (G_GENO|G_SGROUP|2),
1716. 	A(ATTK(AT_BITE, AD_PHYS, 1, 3), NO_ATTK, NO_ATTK,
1717. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1718. 	SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), 0, 0,
1719. 	M1_ANIMAL|M1_CONCEAL|M1_SLITHY|M1_NOLIMBS|M1_CARNIVORE|M1_NOTAKE,
1720. 	M2_HOSTILE, 0, CLR_WHITE),
1721.     MON("dung worm", S_WORM, 
1722. 	LVL(3, 9, 5, 0, 0), (G_GENO|G_SGROUP|2),
1723. 	A(ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK,
1724. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1725. 	SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), 0, 0,
1726. 	M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|M1_CARNIVORE|M1_NOTAKE,
1727. 	M2_HOSTILE, 0, CLR_BLACK),
1728.     MON("acid worm", S_WORM, 
1729. 	LVL(4, 9, 5, 0, 0), (G_GENO|G_SGROUP|1),
1730. 	A(ATTK(AT_SPIT, AD_ACID, 2, 4), ATTK(AT_BITE, AD_DRST, 1, 4), 
1731. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1732. 	SIZ(30, 30, 0, MS_SILENT, MZ_SMALL),
1733.         MR_ACID|MR_STONE, MR_STONE,
1734. 	M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|M1_CARNIVORE|M1_ACID|M1_NOTAKE,
1735. 	M2_HOSTILE, 0, CLR_GREEN),
1736.     MON("bloodworm", S_WORM, 
1737. 	LVL(6, 9, 4, 0, 0), (G_NOHELL|G_GENO|1),
1738. 	A(ATTK(AT_BITE, AD_DRST, 2, 4), NO_ATTK, NO_ATTK,
1739. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1740. 	SIZ(30, 30, 0, MS_SILENT, MZ_SMALL), MR_ACID, 0,
1741. 	M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|M1_CARNIVORE|M1_AMPHIBIOUS|M1_NOTAKE,
1742. 	M2_HOSTILE, 0, CLR_BROWN),
1743.     MON("tunnel worm", S_WORM, 
1744. 	LVL(7, 9, 5, 0, 0), (G_NOHELL|G_GENO|1),
1745. 	A(ATTK(AT_BITE, AD_PHYS, 3, 4), NO_ATTK, NO_ATTK,
1746. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1747. 	SIZ(300, 200, 0, MS_SILENT, MZ_MEDIUM), MR_ACID, 0,
1748. 	M1_ANIMAL|M1_SLITHY|M1_TUNNEL|M1_NOLIMBS|M1_CARNIVORE|M1_NOTAKE,
1749. 	M2_HOSTILE, 0, CLR_RED),
1750.     MON("baby long worm", S_WORM,
1751. 	LVL(8, 3, 5, 0, 0), G_GENO,
1752. 	A(ATTK(AT_BITE, AD_PHYS, 1, 6),
1753. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1754. 	SIZ(600, 250, 0, MS_SILENT, MZ_LARGE), 0, 0,
1755. 	M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|M1_CARNIVORE|M1_NOTAKE,
1756. 	M2_HOSTILE, 0, CLR_BROWN),
1757.     MON("baby purple worm", S_WORM,
1758. 	LVL(8, 3, 5, 0, 0), G_GENO,
1759. 	A(ATTK(AT_BITE, AD_PHYS, 1, 6),
1760. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1761. 	SIZ(600, 250, 0, MS_SILENT, MZ_LARGE), 0, 0,
1762. 	M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|M1_CARNIVORE, M2_HOSTILE,
1763. 	0, CLR_MAGENTA),
1764.     MON("long worm", S_WORM,
1765. 	LVL(8, 3, 5, 10, 0), (G_NOHELL|G_GENO|2),
1766. 	A(ATTK(AT_BITE, AD_PHYS, 1, 4),
1767. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1768. 	SIZ(1500, 500, 0, MS_SILENT, MZ_GIGANTIC), 0, 0,
1769. 	M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|M1_OVIPAROUS|M1_CARNIVORE|M1_NOTAKE,
1770. 	M2_HOSTILE|M2_STRONG|M2_NASTY, 0, CLR_BROWN),
1771.     MON("purple worm", S_WORM,
1772. 	LVL(15, 9, 6, 20, 0), (G_NOHELL|G_GENO|2),
1773. 	A(ATTK(AT_BITE, AD_PHYS, 2, 8), ATTK(AT_ENGL, AD_DGST, 1,10),
1774. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1775. 	SIZ(2700, 700, 0, MS_SILENT, MZ_GIGANTIC), MR_HITASONE, 0,
1776. 	M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|M1_OVIPAROUS|M1_CARNIVORE,
1777. 	M2_HOSTILE|M2_STRONG|M2_NASTY, 0, CLR_MAGENTA),
1778.     MON("rot worm", S_WORM, 
1779. 	LVL(1, 9, 5, 0, 0), (G_NOGEN|G_GENO),
1780. 	A(ATTK(AT_BITE, AD_DISE, 1, 2), NO_ATTK, NO_ATTK,
1781. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1782. 	SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), 0, 0,
1783. 	M1_ANIMAL|M1_CONCEAL|M1_SLITHY|M1_NOLIMBS|M1_CARNIVORE,
1784. 	M2_NASTY|M2_HOSTILE, 0, CLR_GRAY),
1785. /*
1786.  * xan, &c
1787.  */
1788.     MON("grid bug", S_XAN,
1789. 	LVL(0, 12, 9, 0, 0), (G_NOHELL|G_GENO|G_SGROUP|G_NOCORPSE|3),
1790. 	A(ATTK(AT_BITE, AD_ELEC, 1, 1),
1791. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1792. 	SIZ(15, 10, 0, MS_BUZZ, MZ_TINY), MR_ELEC|MR_POISON|MR_HITASONE, 0,
1793. 	M1_ANIMAL, M2_HOSTILE, M3_INFRAVISIBLE, CLR_MAGENTA),
1794.     MON("spark bug", S_XAN, 
1795. 	LVL(2, 12, 9, 0, 0), (G_NOHELL|G_GENO|G_SGROUP|G_NOCORPSE|1),
1796. 	A(ATTK(AT_BITE, AD_ELEC, 1, 3), NO_ATTK, NO_ATTK,
1797. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1798. 	SIZ(15, 10, 0, MS_BUZZ, MZ_TINY), MR_ELEC|MR_POISON|MR_HITASONE, 0,
1799. 	M1_ANIMAL, M2_HOSTILE, M3_INFRAVISIBLE, HI_ZAP),
1800.     MON("arc bug", S_XAN, 
1801. 	LVL(4, 12, 9, 0, 0), (G_NOHELL|G_GENO|G_SGROUP|G_NOCORPSE|1),
1802. 	A(ATTK(AT_BITE, AD_ELEC, 2, 4), NO_ATTK, NO_ATTK,
1803. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1804. 	SIZ(15, 10, 0, MS_BUZZ, MZ_TINY), MR_ELEC|MR_POISON|MR_HITASONE, 0,
1805. 	M1_ANIMAL, M2_HOSTILE, M3_INFRAVISIBLE, CLR_ORANGE),
1806.     MON("lightning bug", S_XAN, 
1807. 	LVL(6, 12, 9, 0, 0), (G_NOHELL|G_GENO|G_SGROUP|G_NOCORPSE|1),
1808. 	A(ATTK(AT_BITE, AD_ELEC, 2, 6), NO_ATTK, NO_ATTK,
1809. 	  NO_ATTK, NO_ATTK, NO_ATTK),
1810. 	SIZ(15, 10, 0, MS_BUZZ, MZ_TINY), MR_ELEC|MR_POISON|MR_HITASONE, 0,
1811. 	M1_ANIMAL, M2_HOSTILE, M3_INFRAVISIBLE, CLR_YELLOW),
1812.     MON("xan", S_XAN,
1813. 	LVL(7, 18, -4, 0, 0), (G_GENO|3),
1814. 	A(ATTK(AT_STNG, AD_LEGS, 1, 4),
1815. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1816. 	SIZ(300, 300, 0, MS_BUZZ, MZ_TINY), MR_POISON, MR_POISON,
1817. 	M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_POIS, M2_HOSTILE, M3_INFRAVISIBLE,
1818. 	CLR_RED),
1819. /*
1820.  * lights
1821.  */
1822.     MON("yellow light", S_LIGHT,
1823. 	LVL(3, 15, 0, 0, 0), (G_NOHELL|G_NOCORPSE|G_GENO|4),
1824. 	A(ATTK(AT_EXPL, AD_BLND, 10,20),
1825. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1826. 	SIZ(0, 0, 0, MS_SILENT, MZ_SMALL),
1827. 	MR_FIRE|MR_COLD|MR_ELEC|MR_DISINT|MR_SLEEP|MR_POISON|MR_ACID|
1828. 	  MR_STONE, 0,
1829. 	M1_FLY|M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|
1830. 	  M1_MINDLESS|M1_UNSOLID|M1_NOTAKE,
1831. 	M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_YELLOW),
1832.     MON("black light", S_LIGHT,
1833. 	LVL(5, 15, 0, 0, 0), (G_NOCORPSE|G_GENO|2),
1834. 	A(ATTK(AT_EXPL, AD_HALU, 10,12),
1835. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1836. 	SIZ(0, 0, 0, MS_SILENT, MZ_SMALL),
1837. 	MR_FIRE|MR_COLD|MR_ELEC|MR_DISINT|MR_SLEEP|MR_POISON|MR_ACID|
1838. 	  MR_STONE, 0,
1839. 	M1_FLY|M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|
1840. 	  M1_MINDLESS|M1_UNSOLID|M1_SEE_INVIS|M1_NOTAKE,
1841. 	M2_HOSTILE|M2_NEUTER, 0, CLR_BLACK),
1842. /*
1843.  * Zouthern animals
1844.  * (the zruty has been moved to Yeti)
1845.  */
1846. #if 0
1847.     MON("zruty", S_ZRUTY,
1848. 	LVL(9, 8, 3, 0, 0), (G_NOHELL|G_GENO|2),
1849. 	A(ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4),
1850. 	  ATTK(AT_BITE, AD_PHYS, 3, 6), NO_ATTK, NO_ATTK, NO_ATTK),
1851. 	SIZ(1200, 600, 0, MS_SILENT, MZ_LARGE), MR_HITASONE, 0,
1852. 	M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE,
1853. 	M2_HOSTILE|M2_STRONG, M3_INFRAVISIBLE, CLR_BROWN),
1854. #endif
1855. #define M1_MARSUPIAL 0
1856. 	/* Montronemes (egg-laying mammals)
1857. 	 */
1858.     MON("echidna", S_ZOUTHERN,
1859. 	LVL(2, 6, 9, 0, 0), (G_NOHELL|G_GENO|1),
1860. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 2), ATTK(AT_CLAW, AD_PHYS, 1, 2),
1861. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1862. 	SIZ(15, 10, 0, MS_SILENT, MZ_TINY), 0, 0,
1863. 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE|M1_OVIPAROUS|M1_THICK_HIDE,
1864. 	M2_WANDER, 0, CLR_BROWN),
1865.     MON("platypus", S_ZOUTHERN,
1866. 	LVL(4, 8, 8, 0, 0), (G_NOHELL|G_GENO|1),
1867. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_KICK, AD_DRST, 1, 4),
1868. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1869. 	SIZ(20, 12, 0, MS_SILENT, MZ_TINY), 0, 0,
1870. 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE|M1_OVIPAROUS|M1_SWIM|M1_THICK_HIDE,
1871. 	M2_WANDER, 0, CLR_GREEN),
1872. 	/* ...males have a poisonous spur on their hind paws */
1873. 	/* Bear-like marsupials
1874. 	 */
1875.     MON("koala", S_ZOUTHERN,
1876. 	LVL(7, 4, 9, 10, 0), (G_NOHELL|G_GENO|2),
1877. 	A(ATTK(AT_TUCH, AD_CALM, 0, 0),
1878. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1879. 	SIZ(150, 50, 0, MS_SQEEK, MZ_SMALL), MR_POISON, 0,
1880. 	M1_ANIMAL|M1_HERBIVORE|M1_MARSUPIAL|M1_SEE_INVIS,
1881. 	M2_DOMESTIC, 0, CLR_GRAY),
1882. 	/* ...cute and fuzzy!  A tame koala versus a hostile monster (or vice
1883. 	 * versa) will calm (AD_CALM) the other monster into peacefullness.
1884. 	 * Certain monsters resist.
1885. 	 * Koalas can only eat eucalyptus leaves.
1886. 	 */
1887.     MON("wombat", S_ZOUTHERN,
1888. 	LVL(5, 12, 5, 0, 0), (G_NOHELL|G_GENO|1),
1889. 	A(ATTK(AT_KICK, AD_PHYS, 1, 6), ATTK(AT_BITE, AD_PHYS, 1, 2),
1890. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1891. 	SIZ(100, 40, 0, MS_GROWL, MZ_SMALL), 0, 0,
1892. 	M1_ANIMAL|M1_NOHANDS|M1_HERBIVORE|M1_MARSUPIAL,
1893. 	M2_DOMESTIC, 0, CLR_BROWN),
1894.     MON("Tasmanian devil", S_ZOUTHERN,
1895. 	LVL(9, 12, 8, 0, 0), (G_NOHELL|G_GENO|1),
1896. 	A(ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4),
1897. 	  ATTK(AT_BITE, AD_PHYS, 3, 6), NO_ATTK, NO_ATTK, NO_ATTK),
1898. 	SIZ(500, 250, 0, MS_GROWL, MZ_SMALL), 0, 0,
1899. 	M1_ANIMAL|M1_NOHANDS|M1_OMNIVORE|M1_MARSUPIAL,
1900. 	M2_HOSTILE, 0, CLR_BLACK),
1901. 	/* ...also eats organics (like gelatinous cube) */
1902. 	/* Macropods (kangaroos)
1903. 	 */
1904.     MON("wallaby", S_ZOUTHERN,
1905. 	LVL(5, 16, 7, 0, 0), (G_NOHELL|G_GENO|1),
1906. 	A(ATTK(AT_KICK, AD_PHYS, 2, 4), ATTK(AT_BITE, AD_PHYS, 1, 4),
1907. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1908. 	SIZ(400, 150, 0, MS_SILENT, MZ_SMALL), 0, 0,
1909. 	M1_ANIMAL|M1_HERBIVORE|M1_MARSUPIAL,
1910. 	0, 0, CLR_BROWN),
1911.     MON("wallaroo", S_ZOUTHERN,
1912. 	LVL(6, 20, 8, 0, 0), (G_NOHELL|G_GENO|G_SGROUP|1),
1913. 	A(ATTK(AT_KICK, AD_PHYS, 2, 6), ATTK(AT_BITE, AD_PHYS, 1, 6),
1914. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1915. 	SIZ(600, 300, 0, MS_SILENT, MZ_SMALL), 0, 0,
1916. 	M1_ANIMAL|M1_HERBIVORE|M1_MARSUPIAL,
1917. 	0, 0, CLR_RED),
1918.     MON("kangaroo", S_ZOUTHERN,
1919. 	LVL(10, 24, 6, 0, 0), (G_NOHELL|G_GENO|G_SGROUP|2),
1920. 	A(ATTK(AT_KICK, AD_PHYS, 2, 8), ATTK(AT_KICK, AD_PHYS, 2, 8),
1921. 	  ATTK(AT_BITE, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK),
1922. 	SIZ(1000, 500, 0, MS_SILENT, MZ_MEDIUM), 0, 0,
1923. 	M1_ANIMAL|M1_HERBIVORE|M1_MARSUPIAL,
1924. 	M2_NASTY, 0, CLR_GRAY),
1925. /*
1926.  * Angels and other lawful minions
1927.  */
1928.     MON("couatl", S_ANGEL,
1929. 	LVL(8, 10, 5, 30, 7), (G_NOHELL|G_NOHELL|G_SGROUP|G_NOCORPSE|1),
1930. 	A(ATTK(AT_BITE, AD_DRST, 2, 4), ATTK(AT_BITE, AD_PHYS, 1, 3),
1931. 	  ATTK(AT_HUGS, AD_WRAP, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK),
1932. 	SIZ(900, 400, 0, MS_HISS, MZ_LARGE), MR_POISON|MR_PLUSTWO, 0,
1933. 	M1_FLY|M1_POIS,
1934. 	M2_MINION|M2_STALK|M2_STRONG|M2_NASTY, M3_INFRAVISIBLE|M3_INFRAVISION,
1935. 	CLR_GREEN),
1936.     MON("Aleax", S_ANGEL,
1937. 	LVL(10, 8, 0, 30, 7), (G_NOHELL|G_NOCORPSE|1),
1938. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
1939. 	  ATTK(AT_KICK, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK),
1940. 	SIZ(WT_HUMAN, 400, 0, MS_IMITATE, MZ_HUMAN),
1941. 	MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_PLUSTWO, 0,
1942. 	M1_HUMANOID|M1_SEE_INVIS,
1943. 	M2_MINION|M2_STALK|M2_NASTY|M2_COLLECT, M3_INFRAVISIBLE|M3_INFRAVISION,
1944. 	CLR_YELLOW),
1945.     MON("movanic deva", S_ANGEL, 
1946. 	LVL(12, 18, -5, 90, 15), (G_NOHELL|G_NOCORPSE|1),
1947. 	A(ATTK(AT_WEAP, AD_FIRE, 3, 4), ATTK(AT_WEAP, AD_FIRE, 3, 4),
1948. 	  ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_MAGC, AD_CLRC, 2, 6),
1949. 	  NO_ATTK, NO_ATTK),
1950. 	SIZ(WT_HUMAN, 400, 0, MS_CUSS, MZ_MEDIUM), MR_DEATH|MR_PLUSONE, 0,
1951. 	M1_FLY|M1_HUMANOID|M1_SEE_INVIS,
1952. 	M2_NOPOLY|M2_MINION|M2_STALK|M2_STRONG|M2_NASTY,
1953. 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BLUE),
1954.     MON("monadic deva", S_ANGEL, 
1955. 	LVL(15, 18, -4, 90, 15), (G_NOHELL|G_NOCORPSE|1),
1956. 	A(ATTK(AT_WEAP, AD_PHYS, 3, 4), ATTK(AT_WEAP, AD_PHYS, 6, 4),
1957. 	  ATTK(AT_MAGC, AD_CLRC, 3, 4), NO_ATTK, NO_ATTK, NO_ATTK),
1958. 	SIZ(WT_HUMAN, 400, 0, MS_CUSS, MZ_MEDIUM), MR_DEATH|MR_PLUSONE, 0,
1959. 	M1_FLY|M1_HUMANOID|M1_SEE_INVIS,
1960. 	M2_NOPOLY|M2_MINION|M2_STALK|M2_STRONG|M2_NASTY, 
1961. 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BRIGHT_CYAN),
1962.     MON("astral deva", S_ANGEL, 
1963. 	LVL(18, 18, -6, 90, 15), (G_NOHELL|G_NOCORPSE|1),
1964. 	A(ATTK(AT_WEAP, AD_PHYS, 3, 12), ATTK(AT_WEAP, AD_STUN, 1, 4),
1965. 	  ATTK(AT_MAGC, AD_CLRC, 3, 4), NO_ATTK, NO_ATTK, NO_ATTK),
1966. 	SIZ(WT_HUMAN, 400, 0, MS_CUSS, MZ_MEDIUM), MR_DEATH|MR_PLUSONE, 0,
1967. 	M1_FLY|M1_HUMANOID|M1_SEE_INVIS,
1968. 	M2_NOPOLY|M2_MINION|M2_STALK|M2_STRONG|M2_NASTY, 
1969. 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_WHITE),
1970.     MON("Angel", S_ANGEL,
1971. 	LVL(14, 10, -4, 55, 12), (G_NOHELL|G_NOCORPSE|1),
1972. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6), 
1973. 	  ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_MAGC, AD_MAGM, 2, 6),
1974. 	  NO_ATTK, NO_ATTK),
1975. 	SIZ(WT_HUMAN, 400, sizeof(struct epri), MS_CUSS, MZ_HUMAN),
1976. 	MR_DEATH|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_PLUSTHREE, 0,
1977. 	M1_FLY|M1_HUMANOID|M1_SEE_INVIS,
1978. 	M2_NOPOLY|M2_MINION|M2_STALK|M2_STRONG|M2_NASTY|M2_COLLECT,
1979. 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_WHITE),
1980.     MON("ki-rin", S_ANGEL,
1981. 	LVL(16, 18, -5, 90, 15), (G_NOHELL|G_NOCORPSE|1),
1982. 	A(ATTK(AT_KICK, AD_PHYS, 2, 4), ATTK(AT_KICK, AD_PHYS, 2, 4),
1983. 	  ATTK(AT_BUTT, AD_PHYS, 3, 6), ATTK(AT_MAGC, AD_SPEL, 2, 6),
1984. 	  NO_ATTK, NO_ATTK),
1985. 	SIZ(WT_HUMAN, 400, 0, MS_NEIGH, MZ_LARGE), MR_DEATH|MR_PLUSTHREE, 0,
1986. 	M1_FLY|M1_SEE_INVIS,
1987. 	M2_NOPOLY|M2_MINION|M2_STALK|M2_STRONG|M2_NASTY|M2_LORD,
1988. 	M3_INFRAVISIBLE|M3_INFRAVISION, HI_GOLD),
1989.     MON("Archon", S_ANGEL,
1990. 	LVL(19, 16, -10, 80, 15), (G_NOHELL|G_NOCORPSE|1),
1991. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4),
1992. 	  ATTK(AT_GAZE, AD_BLND, 2, 6), ATTK(AT_CLAW, AD_PHYS, 1, 8),
1993. 	  ATTK(AT_MAGC, AD_SPEL, 4, 6), NO_ATTK),
1994. 	SIZ(WT_HUMAN, 400, 0, MS_CUSS, MZ_LARGE),
1995. 	MR_DEATH|MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_PLUSFOUR, 0,
1996. 	M1_FLY|M1_HUMANOID|M1_SEE_INVIS|M1_REGEN,
1997. 	M2_NOPOLY|M2_MINION|M2_STALK|M2_STRONG|M2_NASTY|M2_LORD|
1998. 	  M2_COLLECT|M2_MAGIC,
1999. 	M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
2000.     MON("Planetar", S_ANGEL, 
2001. 	LVL(29, 16, -10, 80, 15), (G_NOHELL|G_NOCORPSE |1),
2002. 	A(ATTK(AT_WEAP, AD_PHYS, 4, 4), ATTK(AT_WEAP, AD_PHYS, 4, 4),
2003. 	  ATTK(AT_GAZE, AD_BLND, 3, 6), ATTK(AT_CLAW, AD_PHYS, 2, 8),
2004. 	  ATTK(AT_MAGC, AD_SPEL, 4, 6), NO_ATTK),
2005. 	SIZ(WT_HUMAN, 400, 0, MS_CUSS, MZ_LARGE),
2006. 	MR_DEATH|MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_PLUSFOUR,
2007. 	0, M1_FLY|M1_HUMANOID|M1_SEE_INVIS|M1_REGEN,
2008. 	M2_NOPOLY|M2_MINION|M2_STALK|M2_STRONG|M2_NASTY|M2_LORD|
2009. 	M2_COLLECT|M2_MAGIC, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_CYAN),
2010.     MON("Solar", S_ANGEL, 
2011. 	LVL(39, 16, -10, 80, 15), (G_NOHELL|G_NOCORPSE |1),
2012. 	A(ATTK(AT_WEAP, AD_PHYS, 5, 4), ATTK(AT_WEAP, AD_PHYS, 5, 4),
2013. 	  ATTK(AT_GAZE, AD_BLND, 5, 6), ATTK(AT_CLAW, AD_PHYS, 5, 8),
2014. 	  ATTK(AT_MAGC, AD_SPEL, 5, 6), NO_ATTK),
2015. 	SIZ(WT_HUMAN, 400, 0, MS_CUSS, MZ_LARGE),
2016. 	MR_DEATH|MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_PLUSFOUR,
2017. 	0, M1_FLY|M1_HUMANOID|M1_SEE_INVIS|M1_REGEN,
2018. 	M2_NOPOLY|M2_MINION|M2_STALK|M2_STRONG|M2_NASTY|M2_LORD|
2019. 	M2_COLLECT|M2_MAGIC, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BROWN),
2020. /*
2021.  * Bats and birds
2022.  */
2023.     MON("bat", S_BAT,
2024. 	LVL(0, 22, 8, 0, 0), (G_NOHELL|G_GENO|G_SGROUP|2),
2025. 	A(ATTK(AT_BITE, AD_PHYS, 1, 4),
2026. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2027. 	SIZ(20, 20, 0, MS_SQEEK, MZ_TINY), 0, 0,
2028. 	M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_WANDER, M3_INFRAVISIBLE,
2029. 	CLR_BROWN),
2030.     MON("giant bat", S_BAT,
2031. 	LVL(2, 22, 7, 0, 0), (G_NOHELL|G_GENO|2),
2032. 	A(ATTK(AT_BITE, AD_PHYS, 1, 6),
2033. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2034. 	SIZ(30, 30, 0, MS_SQEEK, MZ_SMALL), 0, 0,
2035. 	M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
2036. 	M2_WANDER|M2_HOSTILE, M3_INFRAVISIBLE, CLR_RED),
2037.     MON("rhumbat", S_BAT, 
2038. 	LVL(3, 22, 7, 0, 0), (G_HELL|G_GENO|G_SGROUP|1),
2039. 	A(ATTK(AT_BITE, AD_PHYS, 1, 10), NO_ATTK, NO_ATTK,
2040. 	  NO_ATTK, NO_ATTK, NO_ATTK),
2041. 	SIZ(30, 30, 0, MS_SQEEK, MZ_MEDIUM), 0, 0,
2042. 	M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
2043. 	M2_WANDER|M2_HOSTILE, M3_INFRAVISIBLE, CLR_YELLOW),
2044.     MON("athol", S_BAT, 
2045. 	LVL(2, 20, 7, 0, 0), (G_HELL|G_GENO|G_LGROUP|1),
2046. 	A(ATTK(AT_BITE, AD_PHYS, 1, 5), NO_ATTK, NO_ATTK,
2047. 	  NO_ATTK, NO_ATTK, NO_ATTK),
2048. 	SIZ(30, 30, 0, MS_SQEEK, MZ_MEDIUM), 0, 0,
2049. 	M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
2050. 	M2_WANDER|M2_HOSTILE, M3_INFRAVISIBLE, CLR_GRAY),
2051.     MON("raven", S_BAT,
2052. 	LVL(4, 20, 6, 0, 0), (G_GENO|2),
2053. 	A(ATTK(AT_BITE, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6),
2054. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2055. 	SIZ(40, 20, 0, MS_SQAWK, MZ_SMALL), 0, 0,
2056. 	M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
2057. 	M2_WANDER|M2_HOSTILE, 0, CLR_BLACK),
2058.     MON("vampire bat", S_BAT,
2059. 	LVL(5, 20, 6, 0, 0), (G_GENO|2),
2060. 	A(ATTK(AT_BITE, AD_PHYS, 1, 6), ATTK(AT_BITE, AD_DRST, 0, 0),
2061. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2062. 	SIZ(30, 20, 0, MS_SQEEK, MZ_SMALL), MR_SLEEP|MR_POISON, 0,
2063. 	M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_POIS|M1_REGEN|M1_OMNIVORE,
2064. 	M2_VAMPIRE|M2_HOSTILE, M3_INFRAVISIBLE, CLR_BLACK),
2065.     MON("hellbat", S_BAT, 
2066. 	LVL(7, 22, 7, 0, 0), (G_HELL|G_GENO|G_SGROUP|G_NOCORPSE|1),
2067. 	A(ATTK(AT_BITE, AD_FIRE, 1, 12), NO_ATTK, NO_ATTK,
2068. 	  NO_ATTK, NO_ATTK, NO_ATTK),
2069. 	SIZ(30, 30, 0, MS_SQEEK, MZ_MEDIUM), MR_FIRE, MR_FIRE,
2070. 	M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
2071. 	M2_WANDER|M2_HOSTILE, M3_INFRAVISIBLE, CLR_RED),
2072.     MON("mongbat", S_BAT,        
2073. 	LVL(7, 22, 7, 0, 0), (G_HELL|G_GENO|G_SGROUP|1),
2074. 	A(ATTK(AT_BITE, AD_PHYS, 1, 12), NO_ATTK, NO_ATTK,
2075. 	  NO_ATTK, NO_ATTK, NO_ATTK),
2076. 	SIZ(30, 30, 0, MS_SQEEK, MZ_MEDIUM), 0, 0,
2077. 	M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
2078. 	M2_WANDER|M2_HOSTILE, M3_INFRAVISIBLE, CLR_ORANGE),
2079.     MON("mobat", S_BAT, 
2080. 	LVL(9, 22, 7, 0, 0), (G_HELL|G_GENO|G_LGROUP|1),
2081. 	A(ATTK(AT_BITE, AD_PHYS, 2, 8), NO_ATTK, NO_ATTK,
2082. 	  NO_ATTK, NO_ATTK, NO_ATTK),
2083. 	SIZ(30, 30, 0, MS_SHRIEK, MZ_MEDIUM), 0, 0,
2084. 	M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
2085. 	M2_WANDER|M2_HOSTILE, M3_INFRAVISIBLE, CLR_BLACK),
2086.     MON("harpy", S_BAT, 
2087. 	LVL(9, 17, 5, 0, -4), (G_HELL|G_GENO|G_SGROUP|1),
2088. 	A(ATTK(AT_BITE, AD_PHYS, 1, 12), NO_ATTK, NO_ATTK,
2089. 	  NO_ATTK, NO_ATTK, NO_ATTK),
2090. 	SIZ(130, 130, 0, MS_SQEEK, MZ_MEDIUM), 0, 0,
2091. 	M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
2092. 	M2_WANDER|M2_HOSTILE, M3_INFRAVISIBLE|M3_TRAITOR, CLR_GRAY),
2093.     MON("byakhee", S_BAT,
2094. 	LVL(11, 20, 1, 25, -4), (G_GENO|2|G_SGROUP),
2095. 	A(ATTK(AT_BITE, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 2, 4),
2096. 	  ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_STNG, AD_STUN, 1, 3), NO_ATTK, NO_ATTK),
2097. 	SIZ(1600, 100, 0, MS_SQEEK, MZ_MEDIUM), MR_SLEEP|MR_POISON|MR_COLD, 0,
2098. 	M1_FLY|M1_BREATHLESS|M1_POIS|M1_REGEN|M1_THICK_HIDE|M1_SEE_INVIS|M1_OMNIVORE,
2099. 	M2_HOSTILE|M2_WANDER|M2_STALK|M2_STRONG|M2_COLLECT|M2_MAGIC,
2100. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_BROWN),
2101.     MON("nightgaunt", S_BAT,
2102. 	LVL(15, 20, -2, 50, -6), (G_GENO|2|G_SGROUP),
2103. 	A(ATTK(AT_CLAW, AD_TCKL, 1, 6), ATTK(AT_CLAW, AD_TCKL, 1, 6),
2104. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2105. 	SIZ(1300, 100, 0, MS_SQEEK, MZ_MEDIUM), MR_SLEEP|MR_POISON|MR_COLD, MR_COLD,
2106. 	M1_FLY|M1_BREATHLESS|M1_POIS|M1_REGEN|M1_THICK_HIDE|M1_SEE_INVIS|M1_OMNIVORE|M1_NOEYES,
2107. 	M2_HOSTILE|M2_WANDER|M2_STALK|M2_STRONG|M2_COLLECT|M2_MAGIC,
2108. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_BROWN),
2109.     
2110. /*
2111.  * Centaurs
2112.  */
2113.     MON("plains centaur", S_CENTAUR,
2114. 	LVL(4, 18, 4, 0, 0), (G_NOHELL|G_GENO|3),
2115. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_KICK, AD_PHYS, 1, 6),
2116. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2117. 	SIZ(2500, 500, 0, MS_HUMANOID, MZ_LARGE), 0, 0,
2118. 	M1_HUMANOID|M1_OMNIVORE, M2_STRONG|M2_GREEDY|M2_COLLECT,
2119. 	M3_INFRAVISIBLE, CLR_BROWN),
2120.     MON("forest centaur", S_CENTAUR,
2121. 	LVL(5, 18, 3, 10, -1), (G_NOHELL|G_GENO|3),
2122. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_KICK, AD_PHYS, 1, 6),
2123. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2124. 	SIZ(2550, 600, 0, MS_HUMANOID, MZ_LARGE), 0, 0,
2125. 	M1_HUMANOID|M1_OMNIVORE, M2_STRONG|M2_GREEDY|M2_COLLECT,
2126. 	M3_INFRAVISIBLE|M3_TRAITOR, CLR_GREEN),
2127.     MON("mountain centaur", S_CENTAUR,
2128. 	LVL(6, 20, 2, 10, -3), (G_NOHELL|G_GENO|3),
2129. 	A(ATTK(AT_WEAP, AD_PHYS, 1,10), ATTK(AT_KICK, AD_PHYS, 1, 6),
2130. 	  ATTK(AT_KICK, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK),
2131. 	SIZ(2550, 500, 0, MS_HUMANOID, MZ_LARGE), 0, 0,
2132. 	M1_HUMANOID|M1_OMNIVORE, M2_STRONG|M2_GREEDY|M2_COLLECT,
2133. 	M3_INFRAVISIBLE|M3_TRAITOR, CLR_CYAN),
2134. /*
2135.  * Dragons
2136.  */
2137. 	/* The order of the dragons is VERY IMPORTANT.  Quite a few
2138. 	 * pieces of code depend on gray being first and yellow being last.
2139. 	 * The code also depends on the *order* being the same as that for
2140. 	 * dragon scale mail and dragon scales in objects.c.  Baby dragons
2141. 	 * cannot confer intrinsics, to avoid polyself/egg abuse.
2142. 	 *
2143. 	 * As reptiles, dragons are cold-blooded and thus aren't seen
2144. 	 * with infravision.  Red dragons are the exception.
2145. 	 */
2146.     MON("baby gray dragon", S_DRAGON,
2147. 	LVL(4, 9, 2, 10, 0), (G_GENO|2),
2148. 	A(ATTK(AT_BITE, AD_PHYS, 2, 6),
2149. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2150. 	SIZ(500, 500, 0, MS_ROAR, MZ_HUGE), MR_HITASONE, 0,
2151. 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE,
2152. 	M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_GRAY),
2153.     MON("baby silver dragon", S_DRAGON,
2154. 	LVL(4, 9, 2, 40, 0), (G_GENO|2),
2155. 	A(ATTK(AT_BITE, AD_PHYS, 2, 6),
2156. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2157. 	SIZ(500, 500, 0, MS_ROAR, MZ_HUGE), 0, 0,
2158. 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE,
2159. 	M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, DRAGON_SILVER),
2160.     MON("baby shimmering dragon", S_DRAGON,
2161. 	LVL(4, 9, -4, 10, 0), (G_GENO|2),
2162. 	A(ATTK(AT_BITE, AD_PHYS, 2, 6),
2163. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2164. 	SIZ(500, 500, 0, MS_ROAR, MZ_HUGE), 0, 0,
2165. 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE,
2166. 	M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_CYAN),
2167.     MON("baby deep dragon", S_DRAGON, 
2168. 	LVL(4, 9, 0, 10, 0), (G_GENO|2),
2169. 	A(ATTK(AT_BITE, AD_DRST, 2, 6), NO_ATTK, NO_ATTK,
2170. 	  NO_ATTK, NO_ATTK, NO_ATTK),
2171. 	SIZ(500, 500, 0, MS_ROAR, MZ_HUGE), 0, 0,
2172. 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE,
2173. 	M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_MAGENTA),
2174.     MON("baby red dragon", S_DRAGON,
2175. 	LVL(4, 9, 2, 10, 0), (G_GENO|2),
2176. 	A(ATTK(AT_BITE, AD_PHYS, 2, 6),
2177. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2178. 	SIZ(500, 500, 0, MS_ROAR, MZ_HUGE), MR_FIRE|MR_HITASONE, 0,
2179. 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE,
2180. 	M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, M3_INFRAVISIBLE, CLR_RED),
2181.     MON("baby white dragon", S_DRAGON,
2182. 	LVL(4, 9, 2, 10, 0), (G_GENO|2),
2183. 	A(ATTK(AT_BITE, AD_PHYS, 2, 6),
2184. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2185. 	SIZ(500, 500, 0, MS_ROAR, MZ_HUGE), MR_COLD|MR_HITASONE, 0,
2186. 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE,
2187. 	M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_WHITE),
2188.     MON("baby orange dragon", S_DRAGON,
2189. 	LVL(4, 9, 2, 10, 0), (G_GENO|2),
2190. 	A(ATTK(AT_BITE, AD_PHYS, 2, 6),
2191. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2192. 	SIZ(500, 500, 0, MS_ROAR, MZ_HUGE), MR_SLEEP|MR_HITASONE, 0,
2193. 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE,
2194. 	M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_ORANGE),
2195.     MON("baby black dragon", S_DRAGON,
2196. 	LVL(4, 9, 2, 10, 0), (G_GENO|2),
2197. 	A(ATTK(AT_BITE, AD_PHYS, 2, 6),
2198. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2199. 	SIZ(500, 500, 0, MS_ROAR, MZ_HUGE), MR_DISINT|MR_HITASONE, 0,
2200. 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE,
2201. 	M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_BLACK),
2202.     MON("baby blue dragon", S_DRAGON,
2203. 	LVL(4, 9, 2, 10, 0), (G_GENO|2),
2204. 	A(ATTK(AT_BITE, AD_PHYS, 2, 6),
2205. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2206. 	SIZ(500, 500, 0, MS_ROAR, MZ_HUGE), MR_ELEC|MR_HITASONE, 0,
2207. 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE,
2208. 	M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_BLUE),
2209.     MON("baby green dragon", S_DRAGON,
2210. 	LVL(4, 9, 2, 10, 0), (G_GENO|2),
2211. 	A(ATTK(AT_BITE, AD_PHYS, 2, 6),
2212. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2213. 	SIZ(500, 500, 0, MS_ROAR, MZ_HUGE), MR_POISON|MR_HITASONE, 0,
2214. 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE|M1_POIS,
2215. 	M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_GREEN),
2216.     MON("baby yellow dragon", S_DRAGON,
2217. 	LVL(4, 9, 2, 10, 0), (G_GENO|2),
2218. 	A(ATTK(AT_BITE, AD_PHYS, 2, 6),
2219. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2220. 	SIZ(500, 500, 0, MS_ROAR, MZ_HUGE), MR_ACID|MR_STONE|MR_HITASONE, 0,
2221. 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE|M1_ACID,
2222. 	M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_YELLOW),
2223.     MON("gray dragon", S_DRAGON,
2224. 	LVL(18, 9, -4, 20, 4), (G_GENO|3),
2225. 	A(ATTK(AT_BREA, AD_MAGM, 4, 6), ATTK(AT_BITE, AD_PHYS, 4, 8),
2226. 	  ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4),
2227. 	  NO_ATTK, NO_ATTK),
2228. 	SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_HITASTHREE, 0,
2229. 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS|
2230. 	  M1_CARNIVORE,
2231. 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 0, CLR_GRAY),
2232.     MON("silver dragon", S_DRAGON,
2233. 	LVL(18, 9, -1, 95, 4), (G_GENO|3),
2234. 	A(ATTK(AT_BREA, AD_COLD, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8),
2235. 	  ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
2236. 	  NO_ATTK, NO_ATTK),
2237. 	SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_COLD, 0,
2238. 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS|
2239. 	  M1_CARNIVORE,
2240. 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC,
2241. 	0, DRAGON_SILVER),
2242.     MON("shimmering dragon", S_DRAGON,
2243. 	LVL(18, 9, -8, 20, 4), (G_GENO|3),
2244. 	A(ATTK(AT_BREA, AD_MAGM, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8),
2245. 	  ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
2246. 	  NO_ATTK, NO_ATTK),
2247. 	SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), 0, 0,
2248. 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS|
2249. 	  M1_CARNIVORE,
2250. 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC,
2251. 	0, CLR_CYAN),
2252.     MON("deep dragon", S_DRAGON, 
2253. 	LVL(18, 9, -4, 20, -6), (G_GENO|3),
2254. 	A(ATTK(AT_BREA, AD_DRST, 4, 10), ATTK(AT_BITE, AD_DRLI, 4, 8),
2255. 	  ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4),
2256. 	  NO_ATTK, NO_ATTK),
2257. 	SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC),
2258. 	MR_DRAIN|MR_POISON|MR_HITASTHREE, MR_POISON,
2259. 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS|M1_CARNIVORE|
2260. 	  M1_POIS,
2261. 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC,
2262. 	M3_TRAITOR, CLR_MAGENTA),
2263.     MON("red dragon", S_DRAGON,
2264. 	LVL(18, 9, -4, 20, -4), (G_GENO|3),
2265. 	A(ATTK(AT_BREA, AD_FIRE, 6, 6), ATTK(AT_BITE, AD_PHYS, 4, 8),
2266. 	  ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4),
2267. 	  NO_ATTK, NO_ATTK),
2268. 	SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_FIRE|MR_HITASTHREE, MR_FIRE,
2269. 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS|
2270. 	  M1_CARNIVORE,
2271. 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC,
2272. 	M3_INFRAVISIBLE|M3_TRAITOR, CLR_RED),
2273.     MON("white dragon", S_DRAGON,
2274. 	LVL(18, 9, -4, 20, -5), (G_GENO|3),
2275. 	A(ATTK(AT_BREA, AD_COLD, 4, 6), ATTK(AT_BITE, AD_PHYS, 4, 8),
2276. 	  ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4),
2277. 	  NO_ATTK, NO_ATTK),
2278. 	SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_COLD|MR_HITASTHREE, MR_COLD,
2279. 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS|
2280. 	  M1_CARNIVORE,
2281. 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, M3_TRAITOR, CLR_WHITE),
2282.     MON("orange dragon", S_DRAGON,
2283. 	LVL(18, 9, -4, 20, 5), (G_GENO|3),
2284. 	A(ATTK(AT_BREA, AD_SLEE, 4,25), ATTK(AT_BITE, AD_PHYS, 4, 8),
2285. 	  ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4),
2286. 	  NO_ATTK, NO_ATTK),
2287. 	SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_SLEEP|MR_HITASTHREE, MR_SLEEP,
2288. 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS|
2289. 	  M1_CARNIVORE,
2290. 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC,
2291. 	M3_TRAITOR, CLR_ORANGE),
2292.     MON("black dragon", S_DRAGON,
2293. 	LVL(18, 9, -4, 20, -6), (G_GENO|3),
2294. 	A(ATTK(AT_BREA, AD_DISN, 4,10), ATTK(AT_BITE, AD_PHYS, 4, 8),
2295. 	  ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4),
2296. 	  NO_ATTK, NO_ATTK),
2297. 	SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_DISINT|MR_HITASTHREE, MR_DISINT,
2298. 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS|
2299. 	  M1_CARNIVORE,
2300. 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, M3_TRAITOR, CLR_BLACK),
2301.     MON("blue dragon", S_DRAGON,
2302. 	LVL(18, 9, -4, 20, -7), (G_GENO|3),
2303. 	A(ATTK(AT_BREA, AD_ELEC, 4, 6), ATTK(AT_BITE, AD_PHYS, 4, 8),
2304. 	  ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4),
2305. 	  NO_ATTK, NO_ATTK),
2306. 	SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_ELEC|MR_HITASTHREE, MR_ELEC,
2307. 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS|
2308. 	  M1_CARNIVORE,
2309. 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, M3_TRAITOR, CLR_BLUE),
2310.     MON("green dragon", S_DRAGON,
2311. 	LVL(18, 9, -4, 20, 6), (G_GENO|3),
2312. 	A(ATTK(AT_BREA, AD_DRST, 4, 6), ATTK(AT_BITE, AD_PHYS, 4, 8),
2313. 	  ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4),
2314. 	  NO_ATTK, NO_ATTK),
2315. 	SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_POISON|MR_HITASTHREE, MR_POISON,
2316. 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS|
2317. 	  M1_CARNIVORE|M1_POIS,
2318. 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 0, CLR_GREEN),
2319.     MON("yellow dragon", S_DRAGON,
2320. 	LVL(18, 9, -4, 20, 7), (G_GENO|3),
2321. 	A(ATTK(AT_BREA, AD_ACID, 4, 6), ATTK(AT_BITE, AD_PHYS, 4, 8),
2322. 	  ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4),
2323. 	  NO_ATTK, NO_ATTK),
2324. 	SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC),
2325. 	MR_ACID|MR_STONE|MR_HITASTHREE, MR_STONE,
2326. 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS|
2327. 	  M1_CARNIVORE|M1_ACID,
2328. 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC,
2329. 	0, CLR_YELLOW),
2330.     MON("wyvern", S_DRAGON, 
2331. 	LVL(18, 9, -4, 20, 7), (G_GENO|1),
2332. 	A(ATTK(AT_STNG, AD_DRST, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8),
2333. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2334. 	SIZ(WT_DRAGON, 500, 0, MS_ROAR, MZ_GIGANTIC),
2335. 	MR_POISON|MR_STONE|MR_HITASTWO, MR_POISON,
2336. 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_CARNIVORE,
2337. 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC,
2338. 	0, CLR_BROWN),
2339.     MON("hydra", S_DRAGON, 
2340. 	LVL(26, 9, -4, 20, 7), (G_GENO|1),
2341. 	A(ATTK(AT_BITE, AD_PHYS, 2, 8), ATTK(AT_BITE, AD_PHYS, 2, 8),
2342. 	  ATTK(AT_BITE, AD_PHYS, 2, 8), ATTK(AT_BITE, AD_PHYS, 2, 8),
2343. 	  ATTK(AT_BITE, AD_PHYS, 2, 8), ATTK(AT_BITE, AD_PHYS, 2, 8)),
2344. 	SIZ(WT_DRAGON, 500, 0, MS_ROAR, MZ_GIGANTIC),
2345. 	MR_POISON|MR_STONE|MR_HITASTWO, MR_POISON,
2346. 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_CARNIVORE,
2347. 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC,
2348. 	0, CLR_BRIGHT_GREEN),
2349. /*
2350.  * Elementals
2351.  */
2352.     MON("stalker", S_ELEMENTAL,
2353. 	LVL(8, 12, 3, 0, 0), (G_GENO|3),
2354. 	A(ATTK(AT_CLAW, AD_PHYS, 4, 4),
2355. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2356. 	SIZ(900, 400, 0, MS_SILENT, MZ_LARGE), 0, 0,
2357. 	M1_ANIMAL|M1_FLY|M1_SEE_INVIS,
2358. 	M2_WANDER|M2_STALK|M2_HOSTILE|M2_STRONG, M3_INFRAVISION|M3_TRAITOR, CLR_WHITE),
2359.     MON("air elemental", S_ELEMENTAL,
2360. 	LVL(8, 36, 2, 30, 0), (G_NOHELL|G_NOCORPSE|2),
2361. 	A(ATTK(AT_ENGL, AD_PHYS, 1, 10),
2362. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2363. 	SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), MR_POISON|MR_STONE, 0,
2364. 	M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_UNSOLID|M1_FLY,
2365. 	M2_STRONG|M2_NEUTER, 0, CLR_CYAN),
2366.     MON("fire elemental", S_ELEMENTAL,
2367. 	LVL(8, 12, 2, 30, 0), (G_NOHELL|G_NOCORPSE|2),
2368. 	A(ATTK(AT_CLAW, AD_FIRE, 3, 6), ATTK(AT_NONE, AD_FIRE, 0, 4),
2369. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2370. 	SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), MR_FIRE|MR_POISON|MR_STONE, 0,
2371. 	M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_UNSOLID|M1_FLY|M1_NOTAKE,
2372. 	M2_STRONG|M2_NEUTER, M3_INFRAVISIBLE, CLR_YELLOW),
2373.     MON("earth elemental", S_ELEMENTAL,
2374. 	LVL(8, 6, 2, 30, 0), (G_NOHELL|G_NOCORPSE|2),
2375. 	A(ATTK(AT_CLAW, AD_PHYS, 4, 6),
2376. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2377. 	SIZ(2500, 0, 0, MS_SILENT, MZ_HUGE),
2378. 	MR_FIRE|MR_COLD|MR_POISON|MR_STONE, 0,
2379. 	M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_BREATHLESS|
2380. 	  M1_WALLWALK|M1_THICK_HIDE,
2381. 	M2_STRONG|M2_NEUTER, 0, CLR_BROWN),
2382.     MON("water elemental", S_ELEMENTAL,
2383. 	LVL(8, 6, 2, 30, 0), (G_NOHELL|G_NOCORPSE|2),
2384. 	A(ATTK(AT_CLAW, AD_PHYS, 5, 6),
2385. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2386. 	SIZ(2500, 0, 0, MS_SILENT, MZ_HUGE), MR_POISON|MR_STONE, 0,
2387. 	M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_AMPHIBIOUS|M1_SWIM,
2388. 	M2_STRONG|M2_NEUTER, 0, CLR_BLUE),
2389. /*
2390.  * Fungi
2391.  */
2392.     MON("lichen", S_FUNGUS,
2393. 	LVL(0, 1, 9, 0, 0), (G_GENO|4),
2394. 	A(ATTK(AT_TUCH, AD_STCK, 0, 0),
2395. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2396. 	SIZ(20, 200, 0, MS_SILENT, MZ_SMALL), 0, 0,
2397. 	M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_NOTAKE,
2398. 	M2_HOSTILE|M2_NEUTER, 0, CLR_BRIGHT_GREEN),
2399.     MON("brown mold", S_FUNGUS,
2400. 	LVL(1, 0, 9, 0, 0), (G_NOHELL|G_GENO|1),
2401. 	A(ATTK(AT_NONE, AD_COLD, 0, 6),
2402. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2403. 	SIZ(50, 30, 0, MS_SILENT, MZ_SMALL),
2404. 	MR_COLD|MR_POISON, MR_COLD|MR_POISON,
2405. 	M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_NOTAKE,
2406. 	M2_HOSTILE|M2_NEUTER, 0, CLR_BROWN),
2407.     MON("yellow mold", S_FUNGUS,
2408. 	LVL(1, 0, 9, 0, 0), (G_NOHELL|G_GENO|2),
2409. 	A(ATTK(AT_NONE, AD_STUN, 0, 4),
2410. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2411. 	SIZ(50, 30, 0, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON,
2412. 	M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_POIS|M1_NOTAKE,
2413. 	M2_HOSTILE|M2_NEUTER, 0, CLR_YELLOW),
2414.     MON("green mold", S_FUNGUS,
2415. 	LVL(1, 0, 9, 0, 0), (G_NOHELL|G_GENO|1),
2416. 	A(ATTK(AT_NONE, AD_ACID, 0, 4),
2417. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2418. 	SIZ(50, 30, 0, MS_SILENT, MZ_SMALL), MR_ACID|MR_STONE, MR_STONE,
2419. 	M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_ACID|M1_NOTAKE,
2420. 	M2_HOSTILE|M2_NEUTER, 0, CLR_GREEN),
2421.     MON("red mold", S_FUNGUS,
2422. 	LVL(1, 0, 9, 0, 0), (G_NOHELL|G_GENO|1),
2423. 	A(ATTK(AT_NONE, AD_FIRE, 0, 4),
2424. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2425. 	SIZ(50, 30, 0, MS_SILENT, MZ_SMALL),
2426. 	MR_FIRE|MR_POISON, MR_FIRE|MR_POISON,
2427. 	M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_NOTAKE,
2428. 	M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_RED),
2429.     MON("shrieker", S_FUNGUS,
2430. 	LVL(3, 1, 7, 0, 0), (G_NOHELL|G_GENO|2),
2431. 	A(NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2432. 	SIZ(100, 100, 0, MS_SHRIEK, MZ_SMALL), MR_DEATH|MR_POISON, MR_POISON,
2433. 	M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS,
2434. 	M2_HOSTILE|M2_NEUTER, 0, CLR_MAGENTA),
2435.     MON("violet fungus", S_FUNGUS,
2436. 	LVL(3, 1, 7, 0, 0), (G_NOHELL|G_GENO|2),
2437. 	A(ATTK(AT_TUCH, AD_PHYS, 1, 4), ATTK(AT_TUCH, AD_STCK, 0, 0),
2438. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2439. 	SIZ(100, 100, 0, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON,
2440. 	M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_NOTAKE,
2441. 	M2_HOSTILE|M2_NEUTER, 0, CLR_MAGENTA),
2442.     MON("disgusting mold", S_FUNGUS,
2443. 	LVL(5, 0, 7, 0, 0), (G_HELL|G_GENO|1),
2444. 	A(ATTK(AT_NONE, AD_DRST, 1, 8), ATTK(AT_NONE, AD_ACID, 2, 4),
2445. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2446. 	SIZ(100, 100, 0, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON,
2447. 	M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|
2448. 	M1_OMNIVORE|M1_NOTAKE, M2_HOSTILE|M2_NEUTER, 0, CLR_CYAN),
2449.     MON("black mold", S_FUNGUS,
2450. 	LVL(6, 0, 7, 0, 0), (G_HELL|G_GENO|1),
2451. 	A(ATTK(AT_NONE, AD_DRST, 0, 4), ATTK(AT_NONE, AD_ACID, 1, 8),
2452. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2453. 	SIZ(100, 100, 0, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON,
2454. 	M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|
2455. 	M1_OMNIVORE|M1_NOTAKE, M2_HOSTILE|M2_NEUTER, 0, CLR_BLACK),
2456. /*
2457.  * Gnomes
2458.  */
2459.     MON("gnome", S_GNOME,
2460. 	LVL(1, 6, MARM(10,5), 4, 0), (G_NOHELL|G_GENO|G_SGROUP|4),
2461. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
2462. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2463. 	SIZ(650, 100, 0, MS_ORC, MZ_SMALL), 0, 0,
2464. 	M1_HUMANOID|M1_OMNIVORE, M2_NOPOLY|M2_GNOME|M2_COLLECT,
2465. 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BROWN),
2466.     MON("gnome thief", S_GNOME, 
2467. 	LVL(1, 6, MARM(10,5), 4, 0), (G_GENO|G_NOGEN),
2468. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_TUCH, AD_SITM, 0, 0), 
2469. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2470. 	SIZ(650, 100, 0, MS_ORC, MZ_SMALL), 0, 0,
2471. 	M1_HUMANOID|M1_OMNIVORE, M2_HOSTILE|M2_COLLECT,
2472. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR,
2473. 	CLR_BLACK),
2474.     MON("gnome lord", S_GNOME,
2475. 	LVL(3, 8, MARM(10,4), 4, 0), (G_NOHELL|G_GENO|2),
2476. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8),
2477. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2478. 	SIZ(700, 120, 0, MS_ORC, MZ_SMALL), 0, 0,
2479. 	M1_HUMANOID|M1_OMNIVORE, M2_GNOME|M2_LORD|M2_MALE|M2_COLLECT,
2480. 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BLUE),
2481.     MON("gnomish wizard", S_GNOME,
2482. 	LVL(3, 10, 4, 10, 0), (G_NOHELL|G_GENO|2),
2483. 	A(ATTK(AT_MAGC, AD_SPEL, 0, 0),
2484. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2485. 	SIZ(700, 120, 0, MS_ORC, MZ_SMALL), 0, 0,
2486. 	M1_HUMANOID|M1_OMNIVORE, M2_GNOME|M2_MAGIC,
2487. 	M3_INFRAVISIBLE|M3_INFRAVISION, HI_ZAP),
2488.     MON("deep gnome", S_GNOME, 
2489. 	LVL(5, 10, MARM(10,2), 20, 0), (G_HELL|G_GENO|1),
2490. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK,
2491. 	  NO_ATTK, NO_ATTK, NO_ATTK),
2492. 	SIZ(750, 150, 0, MS_ORC, MZ_SMALL), MR_HITASONE, 0,
2493. 	M1_HUMANOID|M1_OMNIVORE|M1_TUNNEL|M1_NEEDPICK, M2_MALE|M2_GREEDY|
2494. 	M2_JEWELS|M2_COLLECT, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GRAY),
2495.     MON("gnome warrior", S_GNOME, 
2496. 	LVL(5, 10, MARM(10,2), 20, 0), (G_HELL|G_GENO|1),
2497. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK,
2498. 	  NO_ATTK, NO_ATTK, NO_ATTK),
2499. 	SIZ(750, 150, 0, MS_ORC, MZ_SMALL), MR_HITASONE, 0,
2500. 	M1_HUMANOID|M1_OMNIVORE, M2_MALE|M2_COLLECT,
2501. 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED),
2502.     MON("Ruggo the Gnome King", S_GNOME, 
2503. 	LVL(16, 10, MARM(10,2), 10, -3), (G_UNIQ|1),
2504. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK,
2505. 	  NO_ATTK, NO_ATTK, NO_ATTK),
2506. 	SIZ(750, 150, 0, MS_ORC, MZ_SMALL), MR_POISON|MR_STONE|MR_HITASONE, 0,
2507. 	M1_HUMANOID|M1_OMNIVORE,
2508. 	M2_PNAME|M2_PRINCE|M2_MALE|M2_COLLECT|M2_GREEDY|
2509. 	M2_STALK|M2_HOSTILE|M2_NASTY|M2_NOPOLY|M2_JEWELS|M2_MAGIC,
2510. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, HI_LORD),
2511.     MON("gnome king", S_GNOME,
2512. 	LVL(5, 10, 10, 20, 0), (G_GENO|1),
2513. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6),
2514. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2515. 	SIZ(750, 150, 0, MS_ORC, MZ_SMALL), 0, 0,
2516. 	M1_HUMANOID|M1_OMNIVORE, M2_GNOME|M2_PRINCE|M2_MALE|M2_COLLECT,
2517. 	M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
2518.     /* [Lethe] Gnolls are no longer S_HUMANOID */
2519.     MON("gnoll", S_GNOME,
2520. 	LVL(18, 12, 5, 10, -5), (G_GENO|G_HELL|1),
2521. 	A(ATTK(AT_WEAP, AD_PHYS, 3, 6),  ATTK(AT_WEAP, AD_PHYS, 3, 6),
2522. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2523. 	SIZ(1800, 100, 0, MS_ORC, MZ_LARGE), 0, 0,
2524. 	M1_HIDE|M1_HUMANOID|M1_POIS|M1_SEE_INVIS|M1_OMNIVORE,
2525. 	M2_NOPOLY|M2_HOSTILE|M2_COLLECT|M2_MAGIC|M2_GREEDY|M2_JEWELS,
2526. 	M3_INFRAVISION|M3_TRAITOR, CLR_GRAY),
2527.     MON("gnoll warrior", S_GNOME,
2528. 	LVL(24, 15, 0, 20, -6), (G_GENO|G_HELL|1),
2529. 	A(ATTK(AT_WEAP, AD_PHYS, 3, 6),  ATTK(AT_WEAP, AD_PHYS, 3, 6),
2530. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2531. 	SIZ(1800, 100, 0, MS_ORC, MZ_LARGE), 0, 0,
2532. 	M1_HIDE|M1_HUMANOID|M1_POIS|M1_SEE_INVIS|M1_OMNIVORE,
2533. 	M2_NOPOLY|M2_HOSTILE|M2_COLLECT|M2_MAGIC|M2_GREEDY|M2_JEWELS,
2534. 	M3_INFRAVISION|M3_TRAITOR, CLR_WHITE),
2535.     MON("gnoll chieftain", S_GNOME,
2536. 	LVL(30, 18, -5, 40, -8), (G_GENO|G_HELL|1),
2537. 	A(ATTK(AT_WEAP, AD_PHYS, 3, 6),  ATTK(AT_WEAP, AD_PHYS, 3, 6),
2538. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2539. 	SIZ(1800, 100, 0, MS_ORC, MZ_LARGE), 0, 0,
2540. 	M1_HIDE|M1_HUMANOID|M1_POIS|M1_SEE_INVIS|M1_OMNIVORE,
2541. 	M2_NOPOLY|M2_HOSTILE|M2_COLLECT|M2_MAGIC|M2_GREEDY|M2_JEWELS,
2542. 	M3_INFRAVISION|M3_TRAITOR, CLR_MAGENTA),
2543.     MON("gnoll shaman", S_GNOME,
2544. 	LVL(18, 15, 0, 60, -10), (G_GENO|G_HELL|1),
2545. 	A(ATTK(AT_MAGC, AD_SPEL, 0, 0),  ATTK(AT_MAGC, AD_CLRC, 0, 0),
2546. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2547. 	SIZ(1800, 100, 0, MS_ORC, MZ_LARGE), 0, 0,
2548. 	M1_HIDE|M1_HUMANOID|M1_POIS|M1_SEE_INVIS|M1_OMNIVORE,
2549. 	M2_NOPOLY|M2_HOSTILE|M2_COLLECT|M2_MAGIC|M2_GREEDY|M2_JEWELS,
2550. 	M3_INFRAVISION|M3_TRAITOR, CLR_YELLOW),
2551. #ifdef SPLITMON_1
2552. };
2553. #endif
2554. #endif /* !SPLITMON_2 */
2555. 
2556. /* horrible kludge alert:
2557.  * This is a compiler-specific kludge to allow the compilation of monst.o in
2558.  * two pieces, by defining first SPLITMON_1 and then SPLITMON_2. The
2559.  * resulting assembler files (monst1.s and monst2.s) are then run through
2560.  * sed to change local symbols, concatenated together, and assembled to
2561.  * produce monst.o. THIS ONLY WORKS WITH THE ATARI GCC, and should only
2562.  * be done if you don't have enough memory to compile monst.o the "normal"
2563.  * way.  --ERS
2564.  */
2565. 
2566. #ifndef SPLITMON_1
2567. #ifdef SPLITMON_2
2568. struct permonst _mons2[] = {
2569. #endif
2570. /*
2571.  * giant Humanoids
2572.  */
2573.     MON("giant", S_GIANT,
2574. 	LVL(6, 6, 0, 0, 2), (G_NOHELL|G_GENO|G_NOGEN),
2575. 	A(ATTK(AT_WEAP, AD_PHYS, 2,10),
2576. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2577. 	SIZ(2250, 750, 0, MS_BOAST, MZ_HUGE), MR_HITASONE, 0,
2578. 	M1_HUMANOID|M1_CARNIVORE,
2579. 	M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS,
2580. 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED),
2581.     MON("stone giant", S_GIANT,
2582. 	LVL(6, 6, 0, 0, 2), (G_NOHELL|G_GENO|G_SGROUP|2),
2583. 	A(ATTK(AT_WEAP, AD_PHYS, 2,10),
2584. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2585. 	SIZ(2250, 750, 0, MS_BOAST, MZ_HUGE), MR_HITASTWO, 0,
2586. 	M1_HUMANOID|M1_CARNIVORE,
2587. 	M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS,
2588. 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GRAY),
2589.     MON("hill giant", S_GIANT,
2590. 	LVL(8, 10, 6, 0, -2), (G_NOHELL|G_GENO|G_SGROUP|2),
2591. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 8),
2592. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2593. 	SIZ(2200, 700, 0, MS_BOAST, MZ_HUGE), MR_HITASTWO, 0,
2594. 	M1_HUMANOID|M1_CARNIVORE,
2595. 	M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS,
2596. 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_CYAN),
2597.     MON("fire giant", S_GIANT,
2598. 	LVL(9, 12, 4, 5, 2), (G_GENO|G_SGROUP|2),
2599. 	A(ATTK(AT_WEAP, AD_PHYS, 2,10),
2600. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2601. 	SIZ(2250, 750, 0, MS_BOAST, MZ_HUGE), MR_FIRE|MR_HITASTWO, MR_FIRE,
2602. 	M1_HUMANOID|M1_CARNIVORE,
2603. 	M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS,
2604. 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_YELLOW),
2605.     MON("frost giant", S_GIANT,
2606. 	LVL(10, 12, 3, 10, -3), (G_NOHELL|G_GENO|G_SGROUP|1),
2607. 	A(ATTK(AT_WEAP, AD_PHYS, 2,12),
2608. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2609. 	SIZ(2250, 750, 0, MS_BOAST, MZ_HUGE), MR_COLD|MR_HITASTWO, MR_COLD,
2610. 	M1_HUMANOID|M1_CARNIVORE,
2611. 	M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS,
2612. 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_WHITE),
2613.     MON("ettin", S_GIANT,
2614. 	LVL(10, 12, 3, 0, 0), (G_NOHELL|G_GENO|1),
2615. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 8), ATTK(AT_WEAP, AD_PHYS, 3, 6),
2616. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2617. 	SIZ(1700, 500, 0, MS_GRUNT, MZ_HUGE), MR_HITASTWO, 0,
2618. 	M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE,
2619. 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_COLLECT,
2620. 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BROWN),
2621.     MON("titan", S_GIANT,
2622. 	LVL(16, 18, -3, 70, 9), (G_NOHELL|G_GENO|1),
2623. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 8), ATTK(AT_MAGC, AD_SPEL, 0, 0),
2624. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2625. 	SIZ(2300, 900, 0, MS_SPELL, MZ_HUGE), MR_DEATH, 0,
2626. 	M1_FLY|M1_HUMANOID|M1_OMNIVORE,
2627. 	M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_MAGIC,
2628. 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_MAGENTA),
2629.     MON("storm giant", S_GIANT,
2630. 	LVL(16, 12, 3, 10, -3), (G_GENO|G_SGROUP|1),
2631. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 12),
2632. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2633. 	SIZ(2250, 750, 0, MS_BOAST, MZ_HUGE), MR_ELEC, MR_ELEC,
2634. 	M1_HUMANOID|M1_CARNIVORE,
2635. 	M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS,
2636. 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BLUE),
2637.     MON("minotaur", S_GIANT,
2638. 	LVL(15, 15, 6, 0, 0), (G_GENO|G_NOGEN),
2639. 	A(ATTK(AT_CLAW, AD_PHYS, 3,10), ATTK(AT_CLAW, AD_PHYS, 3,10),
2640. 	  ATTK(AT_BUTT, AD_PHYS, 2, 8), NO_ATTK, NO_ATTK, NO_ATTK),
2641. 	SIZ(1500, 700, 0, MS_SILENT, MZ_LARGE), MR_DEATH|MR_HITASTWO, 0,
2642. 	M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE,M2_MALE|M2_HOSTILE|M2_STRONG|
2643. 	M2_NASTY, M3_INFRAVISIBLE|M3_INFRAVISION,CLR_BROWN),
2644.     MON("the Largest Giant", S_GIANT, 
2645. 	LVL(26, 12, 0, 15, -3), (G_UNIQ|1),
2646. 	A(ATTK(AT_WEAP, AD_PHYS, 3, 10), NO_ATTK, NO_ATTK,
2647. 	  NO_ATTK, NO_ATTK, NO_ATTK),
2648. 	SIZ(2250, 750, 0, MS_SILENT, MZ_HUGE), MR_FIRE|MR_HITASTHREE|
2649. 	MR_POISON|MR_STONE, MR_FIRE, M1_HUMANOID|M1_CARNIVORE,
2650. 	M2_PNAME|M2_PRINCE|M2_MALE|M2_STALK|M2_HOSTILE|
2651. 	M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|
2652. 	M2_NOPOLY|M2_MAGIC|M2_JEWELS, M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, HI_LORD),
2653.     MON("Father Dagon", S_GIANT,
2654. 	LVL(100, 15, -10, 90, -10), (G_UNIQ|G_NOGEN),
2655. 	A(ATTK(AT_CLAW, AD_PHYS, 8, 10), ATTK(AT_CLAW, AD_PHYS, 8, 10),
2656. 	  ATTK(AT_BITE, AD_PHYS, 6, 6), NO_ATTK, NO_ATTK, NO_ATTK),
2657. 	SIZ(5000, 500, 0, MS_GURGLE, MZ_GIGANTIC), MR_COLD|MR_POISON, MR_POISON,
2658. 	M1_SWIM|M1_AMPHIBIOUS|M1_HUMANOID|M1_OMNIVORE|M1_POIS|M1_THICK_HIDE,
2659.         M2_NOPOLY|M2_HOSTILE|M2_STALK|M2_GREEDY|M2_JEWELS|M2_COLLECT|M2_MINION|M2_STRONG|M2_ROCKTHROW|M2_PNAME|M2_MALE,
2660.         M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR|M3_NOTAME,
2661. 	CLR_GREEN),
2662.     MON("Mother Hydra", S_GIANT,
2663. 	LVL(102, 18, -12, 90, -10), (G_UNIQ|G_NOGEN),
2664. 	A(ATTK(AT_CLAW, AD_PHYS, 8, 12), ATTK(AT_CLAW, AD_PHYS, 8, 10),
2665. 	  ATTK(AT_BITE, AD_PHYS, 6, 8), NO_ATTK, NO_ATTK, NO_ATTK),
2666. 	SIZ(5000, 500, 0, MS_GURGLE, MZ_GIGANTIC), MR_COLD|MR_POISON, MR_POISON,
2667. 	M1_SWIM|M1_AMPHIBIOUS|M1_HUMANOID|M1_OMNIVORE|M1_POIS|M1_THICK_HIDE,
2668.         M2_NOPOLY|M2_HOSTILE|M2_STALK|M2_GREEDY|M2_JEWELS|M2_COLLECT|M2_MINION|M2_STRONG|M2_ROCKTHROW|M2_PNAME|M2_FEMALE,
2669.         M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR|M3_NOTAME,
2670. 	CLR_GREEN),
2671. /* 'I' is a visual marker for all invisible monsters and must be unused */
2672. /*
2673.  * Jabberwock
2674.  */
2675.     MON("jabberwock", S_JABBERWOCK,
2676. 	LVL(15, 12, -2, 50, 0), (G_NOHELL|G_GENO|1),
2677. 	A(ATTK(AT_BITE, AD_PHYS, 2,10), ATTK(AT_BITE, AD_PHYS, 2,10),
2678. 	  ATTK(AT_CLAW, AD_PHYS, 2,10), ATTK(AT_CLAW, AD_PHYS, 2,10),
2679. 	  NO_ATTK, NO_ATTK),
2680. 	SIZ(1300, 600, 0, MS_BURBLE, MZ_LARGE), MR_HITASONE, 0,
2681. 	M1_ANIMAL|M1_FLY|M1_CARNIVORE,
2682. 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_COLLECT, M3_INFRAVISIBLE, CLR_ORANGE),
2683.     MON("vorpal jabberwock", S_JABBERWOCK,       
2684. 	LVL(20, 12, -2, 50, 0), (G_NOHELL|G_GENO|1),
2685. 	A(ATTK(AT_BITE, AD_PHYS, 3, 10), ATTK(AT_BITE, AD_PHYS, 3, 10),
2686. 	  ATTK(AT_CLAW, AD_PHYS, 3, 10), ATTK(AT_CLAW, AD_PHYS, 3, 10),
2687. 	  NO_ATTK, NO_ATTK),
2688. 	SIZ(1300, 600, 0, MS_BURBLE, MZ_LARGE), MR_HITASTHREE, 0,
2689. 	M1_ANIMAL|M1_FLY|M1_CARNIVORE,
2690. 	M2_HOSTILE|M2_STRONG|M2_NASTY|M2_COLLECT, M3_INFRAVISIBLE, HI_LORD),
2691. #ifdef KOPS
2692. /*
2693.  * Kops
2694.  */
2695.     MON("Keystone Kop", S_KOP,
2696. 	LVL(1, 6, MARM(10,7), 10, 9), (G_GENO|G_LGROUP|G_NOGEN),
2697. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 4),
2698. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2699. 	SIZ(WT_HUMAN, 200, 0, MS_ARREST, MZ_HUMAN), 0, 0, M1_HUMANOID,
2700. 	M2_HUMAN|M2_WANDER|M2_HOSTILE|M2_MALE|M2_COLLECT, M3_INFRAVISIBLE,
2701. 	CLR_BLUE),
2702.     MON("Kop Sergeant", S_KOP,
2703. 	LVL(2, 8, MARM(10,6), 10, 10), (G_GENO|G_SGROUP|G_NOGEN),
2704. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
2705. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2706. 	SIZ(WT_HUMAN, 200, 0, MS_ARREST, MZ_HUMAN), 0, 0, M1_HUMANOID,
2707. 	M2_HUMAN|M2_WANDER|M2_HOSTILE|M2_STRONG|M2_MALE|M2_COLLECT,
2708. 	M3_INFRAVISIBLE, CLR_BLUE),
2709.     MON("Kop Lieutenant", S_KOP,
2710. 	LVL(3, 10, MARM(10,5), 20, 11), (G_GENO|G_NOGEN),
2711. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8),
2712. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2713. 	SIZ(WT_HUMAN, 200, 0, MS_ARREST, MZ_HUMAN), 0, 0, M1_HUMANOID,
2714. 	M2_HUMAN|M2_WANDER|M2_HOSTILE|M2_STRONG|M2_MALE|M2_COLLECT,
2715. 	M3_INFRAVISIBLE, CLR_CYAN),
2716.     MON("Kop Kaptain", S_KOP,
2717. 	LVL(4, 12, MARM(10,4), 20, 12), (G_GENO|G_NOGEN),
2718. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6),
2719. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2720. 	SIZ(WT_HUMAN, 200, 0, MS_ARREST, MZ_HUMAN), 0, 0, M1_HUMANOID,
2721. 	M2_HUMAN|M2_WANDER|M2_HOSTILE|M2_STRONG|M2_MALE|M2_COLLECT,
2722. 	M3_INFRAVISIBLE, HI_LORD),
2723. #endif
2724. /*
2725.  * Liches
2726.  */
2727.     MON("lich", S_LICH,
2728. 	LVL(11, 6, 0, 30, -9), (G_GENO|G_NOCORPSE|1),
2729. 	A(ATTK(AT_TUCH, AD_COLD, 1,10), ATTK(AT_MAGC, AD_SPEL, 0, 0),
2730. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2731. 	SIZ(1200, 100, 0, MS_MUMBLE, MZ_HUMAN),
2732. 	MR_COLD|MR_SLEEP|MR_POISON|MR_PLUSTWO, MR_COLD,
2733. 	M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN,
2734. 	M2_UNDEAD|M2_HOSTILE|M2_MAGIC, M3_INFRAVISION|M3_TRAITOR, CLR_BROWN),
2735.     MON("demilich", S_LICH,
2736. 	LVL(14, 9, -2, 60, -12), (G_GENO|G_NOCORPSE|1),
2737. 	A(ATTK(AT_TUCH, AD_COLD, 3, 4), ATTK(AT_MAGC, AD_SPEL, 0, 0),
2738. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2739. 	SIZ(1200, 100, 0, MS_MUMBLE, MZ_HUMAN),
2740. 	MR_COLD|MR_SLEEP|MR_POISON|MR_PLUSTHREE, MR_COLD,
2741. 	M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN,
2742. 	M2_UNDEAD|M2_HOSTILE|M2_MAGIC, M3_INFRAVISION|M3_TRAITOR, CLR_RED),
2743.     MON("master lich", S_LICH,
2744. 	LVL(17, 9, -4, 90, -15), (G_HELL|G_GENO|G_NOCORPSE|1),
2745. 	A(ATTK(AT_TUCH, AD_COLD, 3, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0),
2746. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2747. 	SIZ(1200, 100, 0, MS_MUMBLE, MZ_HUMAN),
2748. 	MR_FIRE|MR_COLD|MR_SLEEP|MR_POISON|MR_PLUSTHREE, MR_FIRE|MR_COLD,
2749. 	M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN,
2750. 	M2_UNDEAD|M2_HOSTILE|M2_MAGIC, M3_WANTSBOOK|M3_TRAITOR, HI_LORD),
2751.     MON("arch-lich", S_LICH,
2752. 	LVL(25, 9, -6, 90, -15), (G_HELL|G_GENO|G_NOCORPSE|1),
2753. 	A(ATTK(AT_TUCH, AD_COLD, 5, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0),
2754. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2755. 	SIZ(1200, 100, 0, MS_MUMBLE, MZ_HUMAN),
2756. 	MR_FIRE|MR_COLD|MR_SLEEP|MR_ELEC|MR_POISON|MR_PLUSTHREE, MR_FIRE|MR_COLD,
2757. 	M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN,
2758. 	M2_UNDEAD|M2_HOSTILE|M2_MAGIC, M3_WANTSBOOK|M3_INFRAVISION|M3_TRAITOR, HI_LORD),
2759. /*
2760.  * Mummies
2761.  */
2762.     MON("kobold mummy", S_MUMMY,
2763. 	LVL(3, 8, 6, 20, -2), (G_GENO|G_NOCORPSE|1),
2764. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 4),
2765. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2766. 	SIZ(400, 50, 0, MS_SILENT, MZ_SMALL), MR_COLD|MR_SLEEP|MR_POISON, 0,
2767. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS,
2768. 	M2_UNDEAD|M2_HOSTILE, M3_INFRAVISION, CLR_BROWN),
2769.     MON("gnome mummy", S_MUMMY,
2770. 	LVL(4, 10, 6, 20, -3), (G_GENO|G_NOCORPSE|1),
2771. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 6),
2772. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2773. 	SIZ(650, 50, 0, MS_SILENT, MZ_SMALL), MR_COLD|MR_SLEEP|MR_POISON, 0,
2774. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS,
2775. 	M2_UNDEAD|M2_HOSTILE|M2_GNOME, M3_INFRAVISION, CLR_RED),
2776.     MON("orc mummy", S_MUMMY,
2777. 	LVL(5, 10, 5, 20, -4), (G_GENO|G_NOCORPSE|1),
2778. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 6),
2779. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2780. 	SIZ(850, 75, 0, MS_SILENT, MZ_HUMAN), MR_COLD|MR_SLEEP|MR_POISON, 0,
2781. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS,
2782. 	M2_UNDEAD|M2_HOSTILE|M2_ORC|M2_GREEDY|M2_JEWELS, M3_INFRAVISION,
2783. 	CLR_GRAY),
2784.     MON("dwarf mummy", S_MUMMY,
2785. 	LVL(5, 10, 5, 20, -4), (G_GENO|G_NOCORPSE|1),
2786. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 6),
2787. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2788. 	SIZ(900, 150, 0, MS_SILENT, MZ_HUMAN), MR_COLD|MR_SLEEP|MR_POISON, 0,
2789. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS,
2790. 	M2_UNDEAD|M2_HOSTILE|M2_DWARF|M2_GREEDY|M2_JEWELS, M3_INFRAVISION,
2791. 	CLR_RED),
2792.     MON("elf mummy", S_MUMMY,
2793. 	LVL(6, 12, 4, 30, 5), (G_GENO|G_NOCORPSE|1),
2794. 	A(ATTK(AT_CLAW, AD_PHYS, 2, 4),
2795. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2796. 	SIZ(WT_ELF, 175, 0, MS_SILENT, MZ_HUMAN),
2797. 	MR_COLD|MR_SLEEP|MR_POISON, 0,
2798. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS,
2799. 	M2_UNDEAD|M2_HOSTILE|M2_ELF, M3_INFRAVISION, CLR_GREEN),
2800.     MON("human mummy", S_MUMMY,
2801. 	LVL(6, 12, 4, 30, -5), (G_GENO|G_NOCORPSE|1),
2802. 	A(ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4),
2803. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2804. 	SIZ(WT_HUMAN, 200, 0, MS_SILENT, MZ_HUMAN),
2805. 	MR_COLD|MR_SLEEP|MR_POISON, 0,
2806. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS,
2807. 	M2_UNDEAD|M2_HOSTILE, M3_INFRAVISION, CLR_GRAY),
2808.     MON("ettin mummy", S_MUMMY,
2809. 	LVL(7, 12, 4, 30, -6), (G_GENO|G_NOCORPSE|1),
2810. 	A(ATTK(AT_CLAW, AD_PHYS, 2, 6), ATTK(AT_CLAW, AD_PHYS, 2, 6),
2811. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2812. 	SIZ(1700, 250, 0, MS_SILENT, MZ_HUGE),
2813. 	MR_COLD|MR_SLEEP|MR_POISON, 0,
2814. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS,
2815. 	M2_UNDEAD|M2_HOSTILE|M2_STRONG, M3_INFRAVISION, CLR_BLUE),
2816.     MON("giant mummy", S_MUMMY,
2817. 	LVL(8, 14, 3, 30, -7), (G_GENO|G_NOCORPSE|1),
2818. 	A(ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4),
2819. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2820. 	SIZ(2050, 375, 0, MS_SILENT, MZ_HUGE),
2821. 	MR_COLD|MR_SLEEP|MR_POISON, 0,
2822. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS,
2823. 	M2_UNDEAD|M2_HOSTILE|M2_GIANT|M2_STRONG|M2_JEWELS, M3_INFRAVISION,
2824. 	CLR_CYAN),
2825.     MON("troll mummy", S_MUMMY, 
2826. 	LVL(9, 14, 3, 30, -8), (G_GENO|G_NOCORPSE|1),
2827. 	A(ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4),
2828. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2829. 	SIZ(1500, 375, 0, MS_SILENT, MZ_HUGE),
2830. 	MR_COLD|MR_SLEEP|MR_POISON, 0,
2831. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS,
2832. 	M2_UNDEAD|M2_HOSTILE|M2_GIANT|M2_STRONG|M2_JEWELS,
2833. 	0, CLR_BROWN),
2834. /*
2835.  * Nagas
2836.  */
2837.     MON("red naga hatchling", S_NAGA,
2838. 	LVL(3, 10, 6, 0, 0), G_GENO,
2839. 	A(ATTK(AT_BITE, AD_PHYS, 1, 4),
2840. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2841. 	SIZ(500, 100, 0, MS_MUMBLE, MZ_LARGE),
2842. 	MR_FIRE|MR_POISON, MR_FIRE|MR_POISON,
2843. 	M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_NOTAKE|M1_OMNIVORE, M2_STRONG,
2844. 	M3_INFRAVISIBLE, CLR_RED),
2845.     MON("black naga hatchling", S_NAGA,
2846. 	LVL(3, 10, 6, 0, 0), G_GENO,
2847. 	A(ATTK(AT_BITE, AD_PHYS, 1, 4),
2848. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2849. 	SIZ(500, 100, 0, MS_MUMBLE, MZ_LARGE),
2850. 	MR_POISON|MR_ACID|MR_STONE, MR_POISON|MR_STONE,
2851. 	M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_ACID|M1_NOTAKE|M1_CARNIVORE,
2852. 	M2_STRONG, 0, CLR_BLACK),
2853.     MON("golden naga hatchling", S_NAGA,
2854. 	LVL(3, 10, 6, 0, 0), G_GENO,
2855. 	A(ATTK(AT_BITE, AD_PHYS, 1, 4),
2856. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2857. 	SIZ(500, 100, 0, MS_MUMBLE, MZ_LARGE), MR_POISON, MR_POISON,
2858. 	M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_NOTAKE|M1_OMNIVORE,
2859. 	M2_STRONG, 0, HI_GOLD),
2860.     MON("guardian naga hatchling", S_NAGA,
2861. 	LVL(3, 10, 6, 0, 0), G_GENO,
2862. 	A(ATTK(AT_BITE, AD_PHYS, 1, 4),
2863. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2864. 	SIZ(500, 100, 0, MS_MUMBLE, MZ_LARGE), MR_POISON, MR_POISON,
2865. 	M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_NOTAKE|M1_OMNIVORE,
2866. 	M2_STRONG, 0, CLR_GREEN),
2867.     MON("red naga", S_NAGA,
2868. 	LVL(6, 12, 4, 0, -4), (G_NOHELL|G_GENO|1),
2869. 	A(ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_BREA, AD_FIRE, 2, 6),
2870. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2871. 	SIZ(2600, 400, 0, MS_MUMBLE, MZ_HUGE),
2872. 	MR_FIRE|MR_POISON, MR_FIRE|MR_POISON,
2873. 	M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_OVIPAROUS|M1_NOTAKE|M1_OMNIVORE,
2874. 	M2_STRONG, M3_INFRAVISIBLE, CLR_RED),
2875.     MON("black naga", S_NAGA,
2876. 	LVL(8, 14, 2, 10, 4), (G_NOHELL|G_GENO|1),
2877. 	A(ATTK(AT_BITE, AD_PHYS, 2, 6), ATTK(AT_SPIT, AD_ACID, 0, 0),
2878. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2879. 	SIZ(2600, 400, 0, MS_MUMBLE, MZ_HUGE),
2880. 	MR_POISON|MR_ACID|MR_STONE, MR_POISON|MR_STONE,
2881. 	M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_OVIPAROUS|M1_ACID|M1_NOTAKE|
2882. 	  M1_CARNIVORE,
2883. 	M2_STRONG, 0, CLR_BLACK),
2884.     MON("golden naga", S_NAGA,
2885. 	LVL(10, 14, 2, 70, 5), (G_NOHELL|G_GENO|1),
2886. 	A(ATTK(AT_BITE, AD_PHYS, 2, 6), ATTK(AT_MAGC, AD_SPEL, 4, 6),
2887. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2888. 	SIZ(2600, 400, 0, MS_MUMBLE, MZ_HUGE), MR_POISON|MR_HITASONE, MR_POISON,
2889. 	M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_OVIPAROUS|M1_NOTAKE|M1_OMNIVORE,
2890. 	M2_STRONG, 0, HI_GOLD),
2891.     MON("guardian naga", S_NAGA,
2892. 	LVL(12, 16, 0, 50, 7), (G_NOHELL|G_GENO|1),
2893. 	A(ATTK(AT_BITE, AD_PLYS, 1, 6), ATTK(AT_SPIT, AD_DRST, 1, 6),
2894. 	  ATTK(AT_HUGS, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK),
2895. 	SIZ(2600, 400, 0, MS_MUMBLE, MZ_HUGE), MR_POISON|MR_HITASONE, MR_POISON,
2896. 	M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_OVIPAROUS|M1_POIS|M1_NOTAKE|
2897. 	  M1_OMNIVORE,
2898. 	M2_STRONG, 0, CLR_GREEN),
2899. /*
2900.  * Ogres
2901.  */
2902.     MON("ogre", S_OGRE,
2903. 	LVL(5, 10, 5, 0, -3), (G_NOHELL|G_SGROUP|G_GENO|2),
2904. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 5),
2905. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2906. 	SIZ(1600, 500, 0, MS_GRUNT, MZ_LARGE), 0, 0, M1_HUMANOID|M1_CARNIVORE,
2907. 	M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT,
2908. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_BROWN),
2909.     MON("ogre lord", S_OGRE,
2910. 	LVL(7, 12, 3, 30, -5), (G_NOHELL|G_GENO|1),
2911. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6),
2912. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2913. 	SIZ(1700, 700, 0, MS_GRUNT, MZ_LARGE), 0, 0, M1_HUMANOID|M1_CARNIVORE,
2914. 	M2_STRONG|M2_LORD|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT,
2915. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_RED),
2916.     MON("ogre mage", S_OGRE, 
2917. 	LVL(7, 12, 3, 30, -5), (G_NOHELL|G_GENO),
2918. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0),
2919. 	   NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2920. 	SIZ(1700, 700, 0, MS_GRUNT, MZ_LARGE), 0, 0, M1_HUMANOID|M1_CARNIVORE,
2921. 	M2_STRONG|M2_LORD|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT,
2922. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, HI_ZAP),
2923.     MON("ogre king", S_OGRE,
2924. 	LVL(9, 14, 4, 60, -7), (G_GENO|2),
2925. 	A(ATTK(AT_WEAP, AD_PHYS, 3, 5),
2926. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2927. 	SIZ(1700, 750, 0, MS_GRUNT, MZ_LARGE), MR_HITASONE, 0,
2928. 	M1_HUMANOID|M1_CARNIVORE,
2929. 	M2_STRONG|M2_PRINCE|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT,
2930. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, HI_LORD),
2931.     MON("shadow ogre", S_OGRE, 
2932. 	LVL(10, 14, 0, 60, -7), (G_HELL|G_GENO),
2933. 	A(ATTK(AT_WEAP, AD_PHYS, 3, 5), ATTK(AT_TUCH, AD_DRLI, 3, 5), 
2934. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2935. 	SIZ(1700, 750, 0, MS_GRUNT, MZ_LARGE), MR_PLUSONE, 0,
2936. 	M1_HUMANOID|M1_CARNIVORE,
2937. 	M2_STRONG|M2_PRINCE|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT,
2938. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_BLACK),
2939. /*
2940.  * Puddings
2941.  */
2942.     MON("gray ooze", S_PUDDING,
2943. 	LVL(3, 1, 8, 0, 0), (G_NOHELL|G_GENO|3),
2944. 	A(ATTK(AT_BITE, AD_RUST, 2, 8),
2945. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2946. 	SIZ(500, 250, 0, MS_SILENT, MZ_MEDIUM),
2947. 	MR_DEATH|MR_FIRE|MR_COLD|MR_POISON|MR_ACID|MR_STONE, MR_FIRE|MR_COLD|MR_POISON,
2948. 	M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|
2949. 	  M1_MINDLESS|M1_OMNIVORE|M1_ACID,
2950. 	M2_HOSTILE|M2_NEUTER, 0, CLR_GRAY),
2951.     MON("brown pudding", S_PUDDING,
2952. 	LVL(5, 3, 8, 0, 0), (G_NOHELL|G_GENO|1),
2953. 	A(ATTK(AT_BITE, AD_DCAY, 0, 0),
2954. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2955. 	SIZ(500, 250, 0, MS_SILENT, MZ_MEDIUM),
2956. 	MR_DEATH|MR_COLD|MR_ELEC|MR_POISON|MR_ACID|MR_STONE|MR_HITASONE, MR_COLD|MR_ELEC|MR_POISON,
2957. 	M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|
2958. 	  M1_MINDLESS|M1_OMNIVORE|M1_ACID,
2959. 	M2_HOSTILE|M2_NEUTER, 0, CLR_BROWN),
2960.     MON("moldy pudding", S_PUDDING, 
2961. 	LVL(8, 3, 8, 0, 0), (G_NOHELL|G_GENO),
2962. 	A(ATTK(AT_ENGL, AD_DCAY, 4, 4), NO_ATTK, NO_ATTK,
2963. 	  NO_ATTK, NO_ATTK, NO_ATTK),
2964. 	SIZ(500, 250, 0, MS_SILENT, MZ_MEDIUM),
2965. 	MR_DEATH|MR_COLD|MR_ELEC|MR_POISON|MR_ACID|MR_STONE|MR_HITASONE,
2966. 	MR_COLD|MR_ELEC|MR_POISON,
2967. 	M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|
2968. 	  M1_MINDLESS|M1_OMNIVORE|M1_ACID,
2969. 	M2_HOSTILE|M2_NEUTER, 0, CLR_GREEN),
2970.     MON("black pudding", S_PUDDING,
2971. 	LVL(10, 6, 6, 0, 0), (G_NOHELL|G_GENO|1),
2972. 	A(ATTK(AT_BITE, AD_CORR, 3, 8), ATTK(AT_NONE, AD_CORR, 0, 0),
2973. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2974. 	SIZ(900, 250, 0, MS_SILENT, MZ_LARGE),
2975. 	MR_DEATH|MR_COLD|MR_ELEC|MR_POISON|MR_ACID|MR_STONE|MR_HITASTWO, MR_COLD|MR_ELEC|MR_POISON,
2976. 	M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|
2977. 	  M1_MINDLESS|M1_OMNIVORE|M1_ACID,
2978. 	M2_HOSTILE|M2_NEUTER, 0, CLR_BLACK),
2979.     MON("green slime", S_PUDDING, 
2980. 	LVL(6, 6, 6, 0, 0), (G_HELL|G_GENO|1),
2981. 	A(ATTK(AT_TUCH, AD_SLIM, 1, 4), ATTK(AT_NONE, AD_SLIM, 0, 0),
2982. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2983. 	SIZ(400, 150, 0, MS_SILENT, MZ_LARGE),
2984. 	MR_COLD|MR_ELEC|MR_POISON|MR_ACID|MR_STONE, 0,
2985. 	M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|
2986. 	  M1_MINDLESS|M1_OMNIVORE|M1_ACID|M1_POIS,
2987. 	M2_HOSTILE|M2_NEUTER, 0, CLR_GREEN),
2988.     MON("shoggoth", S_PUDDING,
2989. 	LVL(18, 15, -5, 25, -5), (G_GENO|1),
2990. 	A(ATTK(AT_CLAW, AD_PHYS, 4, 8), ATTK(AT_TUCH, AD_CORR, 0, 0),
2991. 	  ATTK(AT_NONE, AD_CORR, 0, 0), ATTK(AT_ENGL, AD_ACID, 4, 8),
2992. 	  NO_ATTK, NO_ATTK),
2993. 	SIZ(2500, 500, 0, MS_SILENT, MZ_LARGE),
2994. 	MR_COLD|MR_ELEC|MR_POISON|MR_ACID|MR_STONE, MR_COLD|MR_ELEC|MR_POISON,
2995. 	M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD
2996. 	  |M1_OMNIVORE|M1_ACID|M1_HIDE|M1_REGEN|M1_METALLIVORE,
2997. 	M2_HOSTILE|M2_NEUTER|M2_STALK|M2_NASTY|M2_STRONG|M2_COLLECT|M2_MAGIC, 
2998. 	M3_INFRAVISION|M3_TRAITOR, CLR_BLACK),
2999.     MON("giant shoggoth", S_PUDDING,
3000. 	LVL(36, 20, -10, 50, -10), (G_GENO|1),
3001. 	A(ATTK(AT_CLAW, AD_PHYS, 5, 10),    ATTK(AT_CLAW, AD_PHYS, 5, 10),
3002. 	  ATTK(AT_TUCH, AD_CORR, 0, 0), ATTK(AT_TUCH, AD_CORR, 0, 0),
3003. 	  ATTK(AT_NONE, AD_CORR, 0, 0),  ATTK(AT_ENGL, AD_ACID, 8, 10) ),
3004. 	SIZ(2500, 500, 0, MS_SILENT, MZ_LARGE),
3005. 	MR_COLD|MR_ELEC|MR_POISON|MR_ACID|MR_STONE, MR_COLD|MR_ELEC|MR_POISON,
3006. 	M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_TPORT
3007. 	  |M1_OMNIVORE|M1_ACID|M1_HIDE|M1_REGEN|M1_METALLIVORE|M1_TPORT_CNTRL,
3008. 	M2_HOSTILE|M2_NEUTER|M2_STALK|M2_NASTY|M2_STRONG|M2_COLLECT|M2_MAGIC, 
3009. 	M3_INFRAVISION|M3_TRAITOR, CLR_BLACK),
3010. /*
3011.  * Quantum mechanics
3012.  */
3013.     MON("quantum mechanic", S_QUANTMECH,
3014. 	LVL(7, 12, 3, 10, 0), (G_NOHELL|G_GENO|2),
3015. 	A(ATTK(AT_CLAW, AD_TLPT, 1, 4),
3016. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3017. 	SIZ(WT_HUMAN, 20, 0, MS_HUMANOID, MZ_HUMAN), MR_POISON|MR_HITASONE, 0,
3018. 	M1_HUMANOID|M1_OMNIVORE|M1_POIS|M1_TPORT, M2_HOSTILE, M3_INFRAVISIBLE,
3019. 	CLR_CYAN),
3020.     MON("genetic engineer", S_QUANTMECH,
3021. 	LVL(12, 12, 3, 10, 0), (G_HELL|G_GENO|1),
3022. 	A(ATTK(AT_CLAW, AD_POLY, 1, 4),
3023. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3024. 	SIZ(WT_HUMAN, 20, 0, MS_HUMANOID, MZ_HUMAN), MR_POISON, 0,
3025. 	M1_HUMANOID|M1_OMNIVORE|M1_POIS|M1_TPORT, M2_HOSTILE, M3_INFRAVISIBLE,
3026. 	CLR_GREEN),
3027.     MON("Doctor Frankenstein", S_QUANTMECH,
3028. 	LVL(20, 12, -10, 75, 0), (G_NOGEN|G_UNIQ),
3029. 	A(ATTK(AT_WEAP, AD_PHYS, 4, 4), ATTK(AT_CLAW, AD_TLPT, 1, 4),
3030. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3031. 	SIZ(WT_HUMAN, 20, 0, MS_HUMANOID, MZ_HUMAN), MR_POISON|MR_ELEC|MR_SLEEP, 0,
3032. 	M1_HUMANOID|M1_OMNIVORE|M1_POIS|M1_TPORT, 
3033. 	M2_HOSTILE|M2_NOPOLY|M2_MALE|M2_PNAME, M3_INFRAVISIBLE|M3_NOTAME, HI_LORD),
3034. /*
3035.  * Rust monster or disenchanter
3036.  */
3037.     MON("rust monster", S_RUSTMONST,
3038. 	LVL(5, 18, 2, 0, 0), (G_NOHELL|G_GENO|2),
3039. 	A(ATTK(AT_TUCH, AD_RUST, 0, 0), ATTK(AT_TUCH, AD_RUST, 0, 0),
3040. 	  ATTK(AT_NONE, AD_RUST, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK),
3041. 	SIZ(1000, 250, 0, MS_SILENT, MZ_MEDIUM), MR_HITASONE, 0,
3042. 	M1_SWIM|M1_ANIMAL|M1_NOHANDS|M1_METALLIVORE, M2_HOSTILE,
3043. 	M3_INFRAVISIBLE, CLR_BROWN),
3044.     MON("disenchanter", S_RUSTMONST,
3045. 	LVL(12, 12, -10, 0, -3), (G_HELL|G_GENO|2),
3046. 	A(ATTK(AT_CLAW, AD_ENCH, 4, 4), ATTK(AT_NONE, AD_ENCH, 0, 0),
3047. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3048. 	SIZ(750, 200, 0, MS_GROWL, MZ_LARGE), 0, 0,
3049. 	M1_ANIMAL|M1_CARNIVORE, M2_HOSTILE,
3050. 	M3_INFRAVISIBLE|M3_TRAITOR, CLR_BLUE),
3051. /*
3052.  * Snakes
3053.  */
3054.     MON("garter snake", S_SNAKE,
3055. 	LVL(1, 8, 8, 0, 0), (G_LGROUP|G_GENO|1),
3056. 	A(ATTK(AT_BITE, AD_PHYS, 1, 2),
3057. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3058. 	SIZ(50, 60, 0, MS_HISS, MZ_TINY), 0, 0,
3059. 	M1_SWIM|M1_CONCEAL|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_OVIPAROUS|
3060. 	  M1_CARNIVORE|M1_NOTAKE,
3061. 	0, 0, CLR_GREEN),
3062.     MON("snake", S_SNAKE,
3063. 	LVL(4, 15, 3, 0, 0), (G_NOHELL|G_GENO|2),
3064. 	A(ATTK(AT_BITE, AD_DRST, 1, 6),
3065. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3066. 	SIZ(100, 80, 0, MS_HISS, MZ_SMALL), MR_POISON, MR_POISON,
3067. 	M1_SWIM|M1_CONCEAL|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_POIS|
3068. 	  M1_OVIPAROUS|M1_CARNIVORE|M1_NOTAKE,
3069. 	M2_HOSTILE, 0, CLR_BROWN),
3070.     MON("water moccasin", S_SNAKE,
3071. 	LVL(4, 15, 3, 0, 0), (G_GENO|G_NOGEN|G_LGROUP),
3072. 	A(ATTK(AT_BITE, AD_DRST, 1, 6),
3073. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3074. 	SIZ(150, 80, 0, MS_HISS, MZ_SMALL), MR_POISON, MR_POISON,
3075. 	M1_SWIM|M1_CONCEAL|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_POIS|
3076. 	  M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE,
3077. 	M2_HOSTILE, 0, CLR_RED),
3078.     MON("pit viper", S_SNAKE,
3079. 	LVL(6, 15, 2, 0, 0), (G_NOHELL|G_GENO|1),
3080. 	A(ATTK(AT_BITE, AD_DRST, 1, 4), ATTK(AT_BITE, AD_DRST, 1, 4),
3081. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3082. 	SIZ(100, 60, 0, MS_HISS, MZ_MEDIUM),
3083. 	MR_POISON, MR_POISON,
3084. 	M1_SWIM|M1_CONCEAL|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_POIS|
3085. 	  M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE,
3086. 	M2_HOSTILE, M3_INFRAVISION, CLR_BLUE),
3087.     MON("python", S_SNAKE,
3088. 	LVL(6, 3, 5, 0, 0), (G_NOHELL|G_GENO|1),
3089. 	A(ATTK(AT_BITE, AD_PHYS, 1, 4), ATTK(AT_TUCH, AD_PHYS, 0, 0),
3090. 	  ATTK(AT_HUGS, AD_WRAP, 1, 4), ATTK(AT_HUGS, AD_PHYS, 2, 4),
3091. 	  NO_ATTK, NO_ATTK),
3092. 	SIZ(250, 100, 0, MS_HISS, MZ_LARGE), MR_POISON|MR_HITASONE, MR_POISON,
3093. 	M1_SWIM|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|
3094. 	  M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE,
3095. 	M2_HOSTILE|M2_STRONG, M3_INFRAVISION, CLR_MAGENTA),
3096.     MON("cobra", S_SNAKE,
3097. 	LVL(6, 18, 2, 0, 0), (G_NOHELL|G_GENO|1),
3098. 	A(ATTK(AT_BITE, AD_DRST, 2, 4), ATTK(AT_SPIT, AD_BLND, 0, 0),
3099. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3100. 	SIZ(250, 100, 0, MS_HISS, MZ_MEDIUM),
3101. 	MR_POISON, MR_POISON,
3102. 	M1_SWIM|M1_CONCEAL|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_POIS|
3103. 	  M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE,
3104. 	M2_HOSTILE, 0, CLR_BLUE),
3105.     MON("king cobra", S_SNAKE, 
3106. 	LVL(9, 15, 2, 0, 0), (G_NOHELL|G_GENO),
3107. 	A(ATTK(AT_BITE, AD_DRST, 3, 4), ATTK(AT_BITE, AD_DRST, 3, 4),
3108. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3109. 	SIZ(200, 120, 0, MS_HISS, MZ_MEDIUM), MR_POISON, MR_POISON,
3110. 	M1_SWIM|M1_CONCEAL|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_POIS|
3111. 	M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE, M2_HOSTILE, 0, CLR_GRAY),
3112.     MON("weresnake", S_SNAKE, 
3113. 	LVL(9, 12, 2, 20, -7), G_NOGEN|G_NOCORPSE,
3114. 	A(ATTK(AT_BITE, AD_WERE, 3, 6), ATTK(AT_BITE, AD_DRST, 2, 6),
3115. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3116. 	SIZ(300, 120, 0, MS_HISS, MZ_MEDIUM), MR_POISON, 0,
3117. 	M1_NOLIMBS|M1_SWIM|M1_SLITHY|M1_POIS|M1_REGEN|M1_CARNIVORE,
3118. 	M2_NOPOLY|M2_WERE|M2_HOSTILE|M1_NOTAKE, 0, CLR_BROWN),
3119.     MON("asphynx", S_SNAKE, 
3120. 	LVL(8, 15, 3, 0, 0), (G_NOHELL|G_GENO|1),
3121. 	A(ATTK(AT_BITE, AD_STON, 1, 6), ATTK(AT_NONE, AD_STON, 0, 0), 
3122. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3123. 	SIZ(100, 80, 0, MS_HISS, MZ_SMALL), MR_POISON|MR_STONE, 
3124. 	MR_POISON|MR_STONE,
3125. 	M1_SWIM|M1_CONCEAL|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_POIS|
3126. 	M1_OVIPAROUS|M1_CARNIVORE|M1_NOTAKE, M2_HOSTILE, 0, CLR_BLACK),
3127. /*
3128.  * Trolls
3129.  */
3130.     MON("troll", S_TROLL,
3131. 	LVL(7, 12, 4, 0, -3), (G_NOHELL|G_GENO|2),
3132. 	A(ATTK(AT_WEAP, AD_PHYS, 4, 2), ATTK(AT_CLAW, AD_PHYS, 4, 2),
3133. 	  ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
3134. 	SIZ(800, 350, 0, MS_GRUNT, MZ_LARGE), MR_HITASONE, 0,
3135. 	M1_HUMANOID|M1_REGEN|M1_CARNIVORE,
3136. 	M2_STRONG|M2_STALK|M2_HOSTILE, M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR,
3137. 	CLR_BROWN),
3138.     MON("ice troll", S_TROLL,
3139. 	LVL(9, 10, 2, 20, -3), (G_NOHELL|G_GENO|1),
3140. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_CLAW, AD_COLD, 2, 6),
3141. 	  ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
3142. 	SIZ(1000, 300, 0, MS_GRUNT, MZ_LARGE), MR_COLD|MR_HITASONE, MR_COLD,
3143. 	M1_HUMANOID|M1_REGEN|M1_CARNIVORE,
3144. 	M2_STRONG|M2_STALK|M2_HOSTILE, M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR,
3145. 	CLR_WHITE),
3146.     MON("rock troll", S_TROLL,
3147. 	LVL(9, 12, 0, 0, -3), (G_NOHELL|G_GENO|1),
3148. 	A(ATTK(AT_WEAP, AD_PHYS, 3, 6), ATTK(AT_CLAW, AD_PHYS, 2, 8),
3149. 	  ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
3150. 	SIZ(1200, 300, 0, MS_GRUNT, MZ_LARGE), MR_HITASTWO, 0,
3151. 	M1_HUMANOID|M1_REGEN|M1_CARNIVORE,
3152. 	M2_STRONG|M2_STALK|M2_HOSTILE|M2_COLLECT,
3153. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_CYAN),
3154.     MON("two-headed troll", S_TROLL, 
3155. 	LVL(10, 12, 8, 0, -3), (G_NOHELL|G_GENO|1),
3156. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6),
3157. 	  ATTK(AT_BITE, AD_PHYS, 1, 10), ATTK(AT_BITE, AD_PHYS, 1, 10),
3158. 	  NO_ATTK, NO_ATTK),
3159. 	SIZ(1200, 300, 0, MS_GRUNT, MZ_LARGE), MR_HITASTWO, 0,
3160. 	M1_HUMANOID|M1_REGEN|M1_CARNIVORE,
3161. 	M2_STRONG|M2_STALK|M2_HOSTILE|M2_COLLECT, M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, 
3162. 	CLR_GREEN),
3163.     MON("water troll", S_TROLL,
3164. 	LVL(11, 14, 4, 40, -3), (G_NOGEN|G_GENO),
3165. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 8), ATTK(AT_CLAW, AD_PHYS, 2, 8),
3166. 	  ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
3167. 	SIZ(1200, 350, 0, MS_GRUNT, MZ_LARGE), MR_HITASTWO, 0,
3168. 	M1_HUMANOID|M1_REGEN|M1_CARNIVORE|M1_SWIM,
3169. 	M2_STRONG|M2_STALK|M2_HOSTILE, M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR,
3170. 	CLR_BLUE),
3171.     MON("Olog-hai", S_TROLL,
3172. 	LVL(13, 12, -4, 0, -7), (G_NOHELL|G_GENO|1),
3173. 	A(ATTK(AT_WEAP, AD_PHYS, 3, 6), ATTK(AT_CLAW, AD_PHYS, 2, 8),
3174. 	  ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
3175. 	SIZ(1500, 400, 0, MS_GRUNT, MZ_LARGE), MR_HITASTWO, 0,
3176. 	M1_HUMANOID|M1_REGEN|M1_CARNIVORE,
3177. 	M2_STRONG|M2_STALK|M2_HOSTILE|M2_COLLECT,
3178. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, HI_LORD),
3179.     MON("black troll", S_TROLL, 
3180. 	LVL(17, 12, -4, 0, -7), (G_HELL|G_GENO|1),
3181. 	A(ATTK(AT_WEAP, AD_PHYS, 3, 6), ATTK(AT_CLAW, AD_PHYS, 3, 8),
3182. 	  ATTK(AT_BITE, AD_PHYS, 3, 6), NO_ATTK, NO_ATTK, NO_ATTK),
3183. 	SIZ(1500, 400, 0, MS_GRUNT, MZ_LARGE), MR_HITASTHREE, 0,
3184. 	M1_HUMANOID|M1_REGEN|M1_CARNIVORE,
3185. 	M2_STRONG|M2_STALK|M2_HOSTILE|M2_COLLECT,
3186. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_BLACK),
3187. /*
3188.  * Umber hulk
3189.  */
3190.     MON("umber hulk", S_UMBER,
3191. 	LVL(9, 6, 2, 25, 0), (G_NOHELL|G_GENO|2),
3192. 	A(ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4),
3193. 	  ATTK(AT_BITE, AD_PHYS, 2, 5), ATTK(AT_GAZE, AD_CONF, 0, 0),
3194. 	  NO_ATTK, NO_ATTK),
3195. 	SIZ(1200, 500, 0, MS_SILENT, MZ_LARGE), MR_HITASONE, 0,
3196. 	M1_TUNNEL|M1_CARNIVORE, M2_STRONG, M3_INFRAVISIBLE, CLR_BROWN),
3197.     MON("water hulk", S_UMBER, 
3198. 	LVL(11, 6, 2, 25, 0), (G_HELL|G_GENO|1),
3199. 	A(ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4),
3200. 	  ATTK(AT_BITE, AD_PHYS, 2, 5), ATTK(AT_GAZE, AD_CONF, 0, 0),
3201. 	  NO_ATTK, NO_ATTK),
3202. 	SIZ(1200, 500, 0, MS_SILENT, MZ_LARGE), MR_HITASONE, 0,
3203. 	M1_SWIM|M1_TUNNEL|M1_CARNIVORE, M2_STRONG, 0, CLR_GREEN),
3204. /*
3205.  * Vampires
3206.  */
3207.     MON("vampire", S_VAMPIRE,
3208. 	LVL(10, 12, 1, 25, -8), (G_GENO|G_NOCORPSE|2),
3209. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_BITE, AD_DRLI, 1, 6),
3210. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3211. 	SIZ(WT_HUMAN, 400, 0, MS_VAMPIRE, MZ_HUMAN), MR_SLEEP|MR_POISON|MR_PLUSTWO, 0,
3212. 	M1_FLY|M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN|M1_CARNIVORE,
3213. 	M2_NOPOLY|M2_UNDEAD|M2_VAMPIRE|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY,
3214. 	M3_INFRAVISIBLE|M3_TRAITOR, CLR_RED),
3215.     MON("vampire lord", S_VAMPIRE,
3216. 	LVL(12, 14, 0, 50, -9), (G_GENO|G_NOCORPSE|2),
3217. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 8), ATTK(AT_BITE, AD_DRLI, 1, 8),
3218. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3219. 	SIZ(WT_HUMAN, 400, 0, MS_VAMPIRE, MZ_HUMAN), MR_SLEEP|MR_POISON|MR_PLUSTHREE, 0,
3220. 	M1_FLY|M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN|M1_CARNIVORE,
3221. 	M2_UNDEAD|M2_VAMPIRE|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_LORD|M2_MALE,
3222. 	M3_INFRAVISIBLE|M3_TRAITOR, CLR_BLUE),
3223.     MON("fire vampire", S_VAMPIRE,
3224. 	LVL(12, 24, 0, 50, -5), (G_GENO|G_NOCORPSE|1),
3225. 	  A(ATTK(AT_CLAW, AD_FIRE, 2, 4), ATTK(AT_CLAW, AD_FIRE, 2, 4),
3226. 	  ATTK(AT_BITE, AD_DRLI, 2, 4), ATTK(AT_TUCH, AD_DREN, 2, 4),
3227.     	  ATTK(AT_MAGC, AD_FIRE, 2, 12), NO_ATTK),
3228. 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_HUMAN), MR_SLEEP|MR_POISON|MR_COLD|MR_FIRE, 0,
3229.   	M1_FLY|M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN|M1_CARNIVORE,
3230. 	M2_VAMPIRE|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_NEUTER,
3231. 	M3_INFRAVISIBLE|M3_TRAITOR, CLR_RED),
3232.     MON("star vampire", S_VAMPIRE,
3233. 	LVL(18, 18, -5, 60, -5), (G_GENO|G_NOCORPSE|1),
3234. 	A(ATTK(AT_TENT, AD_PHYS, 2, 6), ATTK(AT_TENT, AD_DRLI, 2, 6),
3235. 	  ATTK(AT_TENT, AD_PHYS, 2, 6), ATTK(AT_TENT, AD_DRLI, 2, 6),
3236. 	  ATTK(AT_TENT, AD_PHYS, 2, 6), ATTK(AT_TENT, AD_DRLI, 2, 6)),
3237. 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON|MR_COLD, 0,
3238. 	M1_FLY|M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN|M1_CARNIVORE,
3239. 	M2_VAMPIRE|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_NEUTER,
3240. 	M3_INFRAVISIBLE|M3_TRAITOR, CLR_WHITE),
3241.     MON("vampire mage", S_VAMPIRE,
3242. 	LVL(20, 14, -4, 50, -9), (G_GENO|G_NOCORPSE|1),
3243. 	A(ATTK(AT_CLAW, AD_DRLI, 2, 8), ATTK(AT_BITE, AD_DRLI, 1, 8),
3244. 	  ATTK(AT_MAGC, AD_SPEL, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
3245. 	SIZ(WT_HUMAN, 400, 0, MS_VAMPIRE, MZ_HUMAN), MR_SLEEP|MR_POISON|
3246. 	MR_PLUSTHREE, 0, M1_FLY|M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN|M1_CARNIVORE, 
3247. 	M2_UNDEAD|M2_VAMPIRE|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_LORD|M2_MALE|
3248. 	M2_MAGIC, M3_INFRAVISIBLE|M3_TRAITOR, HI_ZAP),
3249.     MON("Vlad the Impaler", S_VAMPIRE,
3250. 	LVL(14, 18, -3, 80, -10), (G_NOGEN|G_NOCORPSE|G_UNIQ),
3251. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 10), ATTK(AT_BITE, AD_DRLI, 1, 10),
3252. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3253. 	SIZ(WT_HUMAN, 400, 0, MS_VAMPIRE, MZ_HUMAN), MR_SLEEP|MR_POISON|MR_PLUSTHREE, 0,
3254. 	M1_FLY|M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN|M1_CARNIVORE,
3255. 	M2_NOPOLY|M2_UNDEAD|M2_VAMPIRE|M2_STALK|M2_HOSTILE|M2_PNAME|M2_STRONG|
3256. 	  M2_NASTY|M2_PRINCE|M2_MALE,
3257. 	M3_WAITFORU|M3_WANTSCAND|M3_INFRAVISIBLE, HI_LORD),
3258. /*
3259.  * Wraiths
3260.  */
3261.     MON("barrow wight", S_WRAITH,
3262. 	LVL(3, 12, 5, 5, -3), (G_GENO|G_NOCORPSE|1),
3263. 	A(ATTK(AT_WEAP, AD_DRLI, 0, 0), ATTK(AT_MAGC, AD_SPEL, 0, 0),
3264. 	  ATTK(AT_CLAW, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK),
3265. 	SIZ(1200, 0, 0, MS_SPELL, MZ_HUMAN), MR_COLD|MR_SLEEP|MR_POISON, 0,
3266. 	M1_BREATHLESS|M1_HUMANOID,
3267. 	M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_COLLECT, 0, CLR_GRAY),
3268.     MON("wight", S_WRAITH, 
3269. 	LVL(5, 12, 5, 5, -3), (G_NOCORPSE|G_GENO|1),
3270. 	A(ATTK(AT_CLAW, AD_DRLI, 1, 4), ATTK(AT_BITE, AD_PHYS, 2, 3),
3271. 	  ATTK(AT_CLAW, AD_DRLI, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK),
3272. 	SIZ(1200, 0, 0, MS_SILENT, MZ_HUMAN), MR_COLD|MR_SLEEP|MR_POISON, 0,
3273. 	M1_BREATHLESS|M1_HUMANOID,
3274. 	M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_COLLECT, 0, CLR_GRAY),
3275.     MON("wraith", S_WRAITH,
3276. 	LVL(6, 12, 4, 15, -6), (G_GENO|2),
3277. 	A(ATTK(AT_TUCH, AD_DRLI, 1, 6),
3278. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3279. 	SIZ(0, 0, 0, MS_SILENT, MZ_HUMAN),
3280. 	MR_COLD|MR_SLEEP|MR_POISON|MR_STONE|MR_PLUSONE|MR_HITASTWO, 0,
3281. 	M1_BREATHLESS|M1_FLY|M1_HUMANOID|M1_UNSOLID,
3282. 	M2_UNDEAD|M2_STALK|M2_HOSTILE, 0, CLR_BLACK),
3283.     MON("Nazgul", S_WRAITH,
3284. 	LVL(13, 12, 0, 25, -17), (G_GENO|G_NOCORPSE|1),
3285. 	A(ATTK(AT_WEAP, AD_DRLI, 1, 4), ATTK(AT_BREA, AD_SLEE, 2,25),
3286. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3287. 	SIZ(WT_HUMAN, 0, 0, MS_SPELL, MZ_HUMAN),
3288. 	MR_COLD|MR_SLEEP|MR_POISON|MR_PLUSONE|MR_HITASTWO, 0, M1_BREATHLESS|M1_HUMANOID,
3289. 	M2_NOPOLY|M2_UNDEAD|M2_STALK|M2_STRONG|M2_HOSTILE|M2_MALE|M2_COLLECT,
3290. 	0, HI_LORD),
3291. /*
3292.  * Xorn
3293.  */
3294.     MON("xorn", S_XORN,
3295. 	LVL(8, 9,-2, 20, 0), (G_NOHELL|G_GENO|3),
3296. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3),
3297. 	  ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_BITE, AD_PHYS, 4, 6),
3298. 	  NO_ATTK, NO_ATTK),
3299. 	SIZ(1200, 700, 0, MS_ROAR, MZ_MEDIUM),
3300. 	MR_FIRE|MR_COLD|MR_STONE|MR_HITASTWO, MR_COLD|MR_FIRE|MR_STONE,
3301. 	M1_BREATHLESS|M1_WALLWALK|M1_THICK_HIDE|M1_METALLIVORE,
3302. 	M2_HOSTILE|M2_STRONG, 0, CLR_BROWN),
3303. /*
3304.  * Apelike beasts
3305.  */
3306.     MON("monkey", S_YETI,
3307. 	LVL(2, 12, 6, 0, 0), (G_GENO|1),
3308. 	A(ATTK(AT_CLAW, AD_SITM, 0, 0), ATTK(AT_BITE, AD_PHYS, 1, 3),
3309. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3310. 	SIZ(100, 50, 0, MS_GROWL, MZ_SMALL), 0, 0,
3311. 	M1_ANIMAL|M1_HUMANOID|M1_OMNIVORE, 0, M3_INFRAVISIBLE, CLR_GRAY),
3312.     MON("ape", S_YETI,
3313. 	LVL(4, 12, 6, 0, 0), (G_NOHELL|G_GENO|G_SGROUP|2),
3314. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3),
3315. 	  ATTK(AT_BITE, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK),
3316. 	SIZ(1100, 500, 0, MS_GROWL, MZ_LARGE), 0, 0,
3317. 	M1_ANIMAL|M1_HUMANOID|M1_OMNIVORE, M2_STRONG, M3_INFRAVISIBLE,
3318. 	CLR_BROWN),
3319.     MON("owlbear", S_YETI,
3320. 	LVL(5, 12, 5, 0, 0), (G_NOHELL|G_GENO|3),
3321. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6),
3322. 	  ATTK(AT_HUGS, AD_PHYS, 2, 8), NO_ATTK, NO_ATTK, NO_ATTK),
3323. 	SIZ(1700, 700, 0, MS_ROAR, MZ_LARGE), MR_HITASONE, 0,
3324. 	M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE,
3325. 	M2_HOSTILE|M2_STRONG|M2_NASTY, M3_INFRAVISIBLE, CLR_BROWN),
3326.     MON("yeti", S_YETI,
3327. 	LVL(5, 15, 6, 0, 0), (G_NOHELL|G_GENO|2),
3328. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6),
3329. 	  ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK),
3330. 	SIZ(1600, 700, 0, MS_GROWL, MZ_LARGE), MR_COLD|MR_HITASONE, MR_COLD,
3331. 	M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, M2_HOSTILE|M2_STRONG,
3332. 	M3_INFRAVISIBLE, CLR_WHITE),
3333.     MON("carnivorous ape", S_YETI,
3334. 	LVL(6, 12, 6, 0, 0), (G_NOHELL|G_GENO|1),
3335. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
3336. 	  ATTK(AT_HUGS, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK),
3337. 	SIZ(1250, 550, 0, MS_GROWL, MZ_LARGE), 0, 0,
3338. 	M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, M2_HOSTILE|M2_STRONG,
3339. 	M3_INFRAVISIBLE, CLR_BLACK),
3340.     MON("sasquatch", S_YETI,
3341. 	LVL(7, 15, 6, 0, 2), (G_NOHELL|G_GENO|1),
3342. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6),
3343. 	  ATTK(AT_KICK, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK),
3344. 	SIZ(1550, 750, 0, MS_GROWL, MZ_LARGE), MR_HITASONE, 0,
3345. 	M1_ANIMAL|M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, M2_STRONG,
3346. 	M3_INFRAVISIBLE, CLR_GRAY),
3347. 	/* Moved from 'z' */
3348.     MON("zruty", S_YETI,
3349. 	LVL(9, 8, 3, 0, 0), (G_NOHELL|G_GENO|2),
3350. 	A(ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4),
3351. 	  ATTK(AT_BITE, AD_PHYS, 3, 6), NO_ATTK, NO_ATTK, NO_ATTK),
3352. 	SIZ(1200, 600, 0, MS_SILENT, MZ_LARGE), MR_HITASONE, 0,
3353. 	M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE,
3354. 	M2_HOSTILE|M2_STRONG, M3_INFRAVISIBLE, CLR_GREEN),
3355. /*
3356.  * Zombies
3357.  */
3358.     MON("kobold zombie", S_ZOMBIE,
3359. 	LVL(0, 6, 10, 0, -2), (G_GENO|G_NOCORPSE|1),
3360. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 4),
3361. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3362. 	SIZ(400, 50, 0, MS_SILENT, MZ_SMALL), MR_COLD|MR_SLEEP|MR_POISON, 0,
3363. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS,
3364. 	M2_UNDEAD|M2_STALK|M2_HOSTILE, M3_INFRAVISION, CLR_BROWN),
3365.     MON("gnome zombie", S_ZOMBIE,
3366. 	LVL(1, 6, 10, 0, -2), (G_GENO|G_NOCORPSE|1),
3367. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 5),
3368. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3369. 	SIZ(650, 50, 0, MS_SILENT, MZ_SMALL), MR_COLD|MR_SLEEP|MR_POISON, 0,
3370. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS,
3371. 	M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_GNOME, M3_INFRAVISION, CLR_BROWN),
3372.     MON("orc zombie", S_ZOMBIE,
3373. 	LVL(2, 6, 9, 0, -3), (G_GENO|G_SGROUP|G_NOCORPSE|1),
3374. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 6),
3375. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3376. 	SIZ(850, 75, 0, MS_SILENT, MZ_HUMAN), MR_COLD|MR_SLEEP|MR_POISON, 0,
3377. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS,
3378. 	M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_ORC, M3_INFRAVISION, CLR_GRAY),
3379.     MON("dwarf zombie", S_ZOMBIE,
3380. 	LVL(2, 6, 9, 0, -3), (G_GENO|G_SGROUP|G_NOCORPSE|1),
3381. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 6),
3382. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3383. 	SIZ(900, 150, 0, MS_SILENT, MZ_HUMAN), MR_COLD|MR_SLEEP|MR_POISON, 0,
3384. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS,
3385. 	M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_DWARF, M3_INFRAVISION, CLR_RED),
3386.     MON("elf zombie", S_ZOMBIE,
3387. 	LVL(3, 6, 9, 0, 3), (G_GENO|G_SGROUP|G_NOCORPSE|1),
3388. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 7),
3389. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3390. 	SIZ(WT_ELF, 175, 0, MS_SILENT, MZ_HUMAN),
3391. 	MR_COLD|MR_SLEEP|MR_POISON, 0,
3392. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID,
3393. 	M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_ELF, M3_INFRAVISION, CLR_GREEN),
3394.     MON("human zombie", S_ZOMBIE,
3395. 	LVL(4, 6, 8, 0, -3), (G_GENO|G_SGROUP|G_NOCORPSE|1),
3396. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 8),
3397. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3398. 	SIZ(WT_HUMAN, 200, 0, MS_SILENT, MZ_HUMAN),
3399. 	MR_COLD|MR_SLEEP|MR_POISON, 0,
3400. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID,
3401. 	M2_UNDEAD|M2_STALK|M2_HOSTILE, M3_INFRAVISION, HI_DOMESTIC),
3402.     MON("ghoul", S_ZOMBIE,
3403. 	LVL(5, 6, 10, 0, -2), (G_GENO|G_NOCORPSE|1),
3404. 	A(ATTK(AT_CLAW, AD_PLYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 4),
3405. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3406. 	SIZ(400, 50, 0, MS_SILENT, MZ_SMALL),
3407. 	MR_COLD|MR_SLEEP|MR_POISON, 0,
3408. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS|M1_CARNIVORE,
3409. 	M2_UNDEAD|M2_WANDER|M2_HOSTILE, M3_INFRAVISION, CLR_BLACK),
3410.     MON("ghoul mage", S_ZOMBIE,
3411. 	LVL(10, 12, 4, 10, -4), (G_GENO|G_NOCORPSE|1),
3412. 	A(ATTK(AT_CLAW, AD_PLYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 4),
3413. 	  ATTK(AT_MAGC, AD_SPEL, 6, 6), NO_ATTK, NO_ATTK, NO_ATTK),
3414. 	SIZ(400, 50, 0, MS_SILENT, MZ_SMALL),
3415. 	MR_COLD|MR_SLEEP|MR_POISON, 0,
3416. 	M1_HUMANOID|M1_POIS|M1_TUNNEL|M1_NEEDPICK|M1_CARNIVORE,
3417. 	M2_UNDEAD|M2_WANDER|M2_HOSTILE|M2_COLLECT|M2_MAGIC,
3418. 	M3_INFRAVISION|M3_TRAITOR, CLR_BLACK),
3419.     MON("ettin zombie", S_ZOMBIE,
3420. 	LVL(6, 8, 6, 0, -4), (G_GENO|G_NOCORPSE|1),
3421. 	A(ATTK(AT_CLAW, AD_PHYS, 1,10), ATTK(AT_CLAW, AD_PHYS, 1,10),
3422. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3423. 	SIZ(1700, 250, 0, MS_SILENT, MZ_HUGE),
3424. 	MR_COLD|MR_SLEEP|MR_POISON, 0,
3425. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID,
3426. 	M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_STRONG, M3_INFRAVISION, CLR_BLUE),
3427.     MON("ghast", S_ZOMBIE, 
3428. 	LVL(4, 6, 10, 0, -2), (G_GENO|G_NOCORPSE|1),
3429. 	A(ATTK(AT_CLAW, AD_PLYS, 1, 2), ATTK(AT_CLAW, AD_PHYS, 1, 4),
3430. 	  ATTK(AT_BITE, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK),
3431. 	SIZ(400, 50, 0, MS_SILENT, MZ_SMALL),
3432. 	MR_COLD|MR_SLEEP|MR_POISON, 0,
3433. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS|M1_CARNIVORE,
3434. 	M2_UNDEAD|M2_STALK|M2_HOSTILE, 0, CLR_MAGENTA),
3435.     MON("giant zombie", S_ZOMBIE,
3436. 	LVL(8, 8, 6, 0, -4), (G_GENO|G_NOCORPSE|1),
3437. 	A(ATTK(AT_CLAW, AD_PHYS, 2, 8), ATTK(AT_CLAW, AD_PHYS, 2, 8),
3438. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3439. 	SIZ(2050, 375, 0, MS_SILENT, MZ_HUGE),
3440. 	MR_COLD|MR_SLEEP|MR_POISON, 0,
3441. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID,
3442. 	M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_GIANT|M2_STRONG, M3_INFRAVISION,
3443. 	CLR_CYAN),
3444.     MON("skeleton", S_ZOMBIE,
3445. 	LVL(12, 8, 4, 0, 0), (G_NOCORPSE|G_NOGEN),
3446. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_TUCH, AD_SLOW, 1, 6),
3447. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3448. 	SIZ(300, 5, 0, MS_BONES, MZ_HUMAN),
3449. 	MR_COLD|MR_SLEEP|MR_POISON|MR_STONE|MR_PLUSTWO, 0,
3450. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE,
3451. 	M2_UNDEAD|M2_WANDER|M2_HOSTILE|M2_STRONG|M2_COLLECT|M2_NASTY,
3452. 	M3_INFRAVISION, CLR_WHITE),
3453.     MON("ghoul queen", S_ZOMBIE,
3454. 	LVL(14, 12, 0, 30, -8), (G_GENO|G_NOCORPSE|G_NOGEN|1),
3455. 	A(ATTK(AT_CLAW, AD_PLYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 4),
3456. 	  ATTK(AT_MAGC, AD_SPEL, 4, 6), ATTK(AT_MAGC, AD_SPEL, 4, 6),
3457. 	  NO_ATTK, NO_ATTK),
3458. 	SIZ(400, 50, 0, MS_SILENT, MZ_SMALL),
3459. 	MR_COLD|MR_SLEEP|MR_POISON, 0,
3460. 	M1_HUMANOID|M1_POIS|M1_TUNNEL|M1_NEEDPICK|M1_CARNIVORE,
3461. 	M2_UNDEAD|M2_WANDER|M2_HOSTILE|M2_FEMALE|M2_COLLECT|M2_MAGIC,
3462. 	M3_INFRAVISION|M3_TRAITOR, CLR_BLACK),
3463.     MON("gug", S_ZOMBIE,
3464. 	LVL(15, 18, 5, 15, -4), (G_GENO|G_NOCORPSE|1|G_LGROUP),
3465. 	A(ATTK(AT_CLAW, AD_PHYS, 2, 6), ATTK(AT_CLAW, AD_PHYS, 2, 6),
3466. 	  ATTK(AT_BITE, AD_PLYS, 3, 6), NO_ATTK, NO_ATTK, NO_ATTK),
3467. 	SIZ(1800, 150, 0, MS_SILENT, MZ_MEDIUM),
3468. 	MR_COLD|MR_SLEEP|MR_POISON, 0,
3469. 	M1_HUMANOID|M1_POIS|M1_TUNNEL|M1_NEEDPICK|M1_THICK_HIDE|M1_CARNIVORE,
3470. 	M2_UNDEAD|M2_WANDER|M2_HOSTILE|M2_STRONG|M2_STALK|M2_COLLECT|M2_MAGIC,
3471. 	M3_INFRAVISION|M3_TRAITOR, CLR_BLACK),
3472. /*
3473.  * golems
3474.  */
3475.     MON("straw golem", S_GOLEM,
3476. 	LVL(3, 12, 10, 0, 0), (G_NOCORPSE|1),
3477. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 2), ATTK(AT_CLAW, AD_PHYS, 1, 2),
3478. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3479. 	SIZ(400, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON|MR_HITASONE, 0,
3480. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID,
3481. 	M2_HOSTILE|M2_NEUTER, 0, CLR_YELLOW),
3482.     MON("paper golem", S_GOLEM,
3483. 	LVL(3, 12, 10, 0, 0), (G_NOCORPSE|1),
3484. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 3),
3485. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3486. 	SIZ(400, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0,
3487. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID,
3488. 	M2_HOSTILE|M2_NEUTER, 0, HI_PAPER),
3489.     MON("wax golem", S_GOLEM,
3490. 	LVL(3, 12, 9, 0, 0), (G_NOCORPSE|1),
3491. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 2), ATTK(AT_TUCH, AD_FIRE, 1, 4),
3492. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3493. 	SIZ(400, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0,
3494. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID,
3495. 	M2_HOSTILE|M2_NEUTER, 0, CLR_GRAY),
3496.     MON("plastic golem", S_GOLEM,
3497. 	LVL(4, 12, 9, 0, 0), (G_NOCORPSE|1),
3498. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3),
3499. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3500. 	SIZ(400, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0,
3501. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID,
3502. 	M2_HOSTILE|M2_NEUTER, 0, CLR_BLACK),
3503.     MON("rope golem", S_GOLEM,
3504. 	LVL(4, 9, 8, 0, 0), (G_NOCORPSE|1),
3505. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
3506. 	  ATTK(AT_HUGS, AD_PHYS, 6, 1), NO_ATTK, NO_ATTK, NO_ATTK),
3507. 	SIZ(450, 0, 0, MS_SILENT, MZ_LARGE), MR_DEATH|MR_SLEEP|MR_POISON|MR_HITASONE, 0,
3508. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID,
3509. 	M2_HOSTILE|M2_NEUTER, 0, CLR_BROWN),
3510.     MON("gold golem", S_GOLEM,
3511. 	LVL(5, 9, 6, 0, 0), (G_NOCORPSE|1),
3512. 	A(ATTK(AT_CLAW, AD_PHYS, 2, 3), ATTK(AT_CLAW, AD_PHYS, 2, 3),
3513. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3514. 	SIZ(450, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON|MR_ACID, 0,
3515. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE,
3516. 	M2_HOSTILE|M2_NEUTER, 0, HI_GOLD),
3517.     MON("leather golem", S_GOLEM,
3518. 	LVL(6, 6, 6, 0, 0), (G_NOCORPSE|1),
3519. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6),
3520. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3521. 	SIZ(800, 0, 0, MS_SILENT, MZ_LARGE), MR_DEATH|MR_SLEEP|MR_POISON|MR_HITASONE, 0,
3522. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID,
3523. 	M2_HOSTILE|M2_NEUTER, 0, HI_LEATHER),
3524.     MON("wood golem", S_GOLEM,
3525. 	LVL(7, 3, 4, 0, 0), (G_NOCORPSE|1),
3526. 	A(ATTK(AT_CLAW, AD_PHYS, 3, 4),
3527. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3528. 	SIZ(900, 0, 0, MS_SILENT, MZ_LARGE), MR_DEATH|MR_SLEEP|MR_POISON|MR_HITASONE, 0,
3529. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE,
3530. 	M2_HOSTILE|M2_NEUTER, 0, HI_WOOD),
3531.     MON("flesh golem", S_GOLEM,
3532. 	LVL(9, 8, 9, 30, 0), (1),
3533. 	A(ATTK(AT_CLAW, AD_PHYS, 2, 8), ATTK(AT_CLAW, AD_PHYS, 2, 8),
3534. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3535. 	SIZ(1400, 600, 0, MS_SILENT, MZ_LARGE),
3536. 	MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_PLUSONE|MR_HITASTWO,
3537. 	MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON,
3538. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID,
3539. 	M2_HOSTILE|M2_STRONG, 0, CLR_RED),
3540.     MON("clay golem", S_GOLEM,
3541. 	LVL(11, 7, 7, 40, 0), (G_NOCORPSE|1),
3542. 	A(ATTK(AT_CLAW, AD_PHYS, 3,10),
3543. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3544. 	SIZ(1550, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0,
3545. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE,
3546. 	M2_HOSTILE|M2_STRONG, 0, CLR_BROWN),
3547.     MON("stone golem", S_GOLEM,
3548. 	LVL(14, 6, 5, 50, 0), (G_NOCORPSE|1),
3549. 	A(ATTK(AT_CLAW, AD_PHYS, 3, 8),
3550. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3551. 	SIZ(1900, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON|MR_STONE, 0,
3552. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE,
3553. 	M2_HOSTILE|M2_STRONG, 0, CLR_GRAY),
3554.     MON("glass golem", S_GOLEM,
3555. 	LVL(16, 6, 1, 50, 0), (G_NOCORPSE|1),
3556. 	A(ATTK(AT_CLAW, AD_PHYS, 2, 8), ATTK(AT_CLAW, AD_PHYS, 2, 8),
3557. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3558. 	SIZ(1800, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON|MR_ACID, 0,
3559. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE,
3560. 	M2_HOSTILE|M2_STRONG, 0, CLR_CYAN),
3561.     MON("iron golem", S_GOLEM,
3562. 	LVL(18, 6, 3, 60, 0), (G_NOCORPSE|1),
3563. 	A(ATTK(AT_WEAP, AD_PHYS, 4,10), ATTK(AT_BREA, AD_DRST, 4, 6),
3564. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3565. 	SIZ(2000, 0, 0, MS_SILENT, MZ_LARGE),
3566. 	MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 0,
3567. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE|M1_POIS,
3568. 	M2_HOSTILE|M2_STRONG|M2_COLLECT, 0, HI_METAL),
3569.     MON("Frankenstein's Monster", S_GOLEM,
3570. 	LVL(20, 8, -5, 50, 0), (G_NOGEN|G_UNIQ),
3571. 	A(ATTK(AT_CLAW, AD_PHYS, 3, 8), ATTK(AT_CLAW, AD_PHYS, 3, 8),
3572. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3573. 	SIZ(1400, 600, 0, MS_SILENT, MZ_LARGE),
3574. 	MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON,
3575. 	MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON,
3576. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID,
3577. 	M2_HOSTILE|M2_STRONG|M2_UNDEAD|M2_NOPOLY|M2_MALE|M2_PNAME, 0, HI_LORD),
3578.     /* [Lethe] Greater golems */
3579.     MON("ruby golem", S_GOLEM,
3580. 	LVL(24, 12, 3, 60, 0), (G_NOCORPSE|1),
3581. 	A(ATTK(AT_WEAP, AD_PHYS, 4,10), ATTK(AT_BREA, AD_FIRE, 5, 6),
3582. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3583. 	SIZ(2000, 0, 0, MS_SILENT, MZ_LARGE),
3584. 	MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 0,
3585. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE|M1_POIS,
3586. 	M2_HOSTILE|M2_STRONG|M2_COLLECT|M2_NEUTER, 0, CLR_RED),
3587.     MON("diamond golem", S_GOLEM,
3588. 	LVL(26, 12, 3, 60, 0), (G_NOCORPSE|1),
3589. 	A(ATTK(AT_WEAP, AD_PHYS, 5,10), ATTK(AT_BREA, AD_MAGM, 5, 6),
3590. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3591. 	SIZ(2000, 0, 0, MS_SILENT, MZ_LARGE),
3592. 	MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 0,
3593. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE|M1_POIS,
3594. 	M2_HOSTILE|M2_STRONG|M2_COLLECT|M2_NEUTER, 0, CLR_WHITE),
3595.     MON("sapphire golem", S_GOLEM,
3596. 	LVL(28, 12, 3, 60, 0), (G_NOCORPSE|1),
3597. 	A(ATTK(AT_WEAP, AD_PHYS, 6,10), ATTK(AT_BREA, AD_ELEC, 5, 8),
3598. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3599. 	SIZ(2000, 0, 0, MS_SILENT, MZ_LARGE),
3600. 	MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 0,
3601. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE|M1_POIS,
3602. 	M2_HOSTILE|M2_STRONG|M2_COLLECT|M2_NEUTER, 0, CLR_BRIGHT_CYAN),
3603.     MON("steel golem", S_GOLEM,
3604. 	LVL(30, 15, 3, 60, 0), (G_NOCORPSE|1),
3605. 	A(ATTK(AT_WEAP, AD_PHYS, 6,10), ATTK(AT_BREA, AD_COLD, 5, 8),
3606. 	  ATTK(AT_NONE, AD_ENCH, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK),
3607. 	SIZ(2000, 0, 0, MS_SILENT, MZ_LARGE),
3608. 	MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 0,
3609. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE|M1_POIS,
3610. 	M2_HOSTILE|M2_STRONG|M2_COLLECT|M2_NEUTER, 0, CLR_BRIGHT_BLUE),
3611.     MON("crystal golem", S_GOLEM,
3612. 	LVL(32, 15, 3, 60, 0), (G_NOCORPSE|1),
3613. 	A(ATTK(AT_WEAP, AD_PHYS, 8,12), ATTK(AT_BREA, AD_RBRE, 6, 8),
3614. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3615. 	SIZ(2000, 0, 0, MS_SILENT, MZ_LARGE),
3616. 	MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 0,
3617. 	M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE|M1_POIS,
3618. 	M2_HOSTILE|M2_STRONG|M2_COLLECT|M2_NEUTER, 0, CLR_BRIGHT_BLUE),
3619. /*
3620.  * humans, including elves and were-critters
3621.  */
3622.     MON("human", S_HUMAN,
3623. 	LVL(0, 12, 10, 0, 0), G_NOGEN,		/* for corpses */
3624. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 3), ATTK(AT_WEAP, AD_PHYS, 1, 3),
3625. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3626. 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
3627. 	M1_HUMANOID|M1_OMNIVORE,
3628. 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT,
3629. 	M3_INFRAVISIBLE, HI_DOMESTIC),
3630.     MON("wererat", S_HUMAN,
3631. 	LVL(2, 12, 10, 10, -7), (1),
3632. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4),
3633. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3634. 	SIZ(WT_HUMAN, 400, 0, MS_WERE, MZ_HUMAN), MR_POISON, 0,
3635. 	M1_HUMANOID|M1_POIS|M1_REGEN|M1_OMNIVORE,
3636. 	M2_NOPOLY|M2_WERE|M2_HOSTILE|M2_HUMAN|M2_COLLECT, M3_INFRAVISIBLE,
3637. 	CLR_BROWN),
3638.     MON("werejackal", S_HUMAN,
3639. 	LVL(2, 12, 10, 10, -7), (1),
3640. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4),
3641. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3642. 	SIZ(WT_HUMAN, 400, 0, MS_WERE, MZ_HUMAN), MR_POISON, 0,
3643. 	M1_HUMANOID|M1_POIS|M1_REGEN|M1_OMNIVORE,
3644. 	M2_NOPOLY|M2_WERE|M2_HOSTILE|M2_HUMAN|M2_COLLECT, M3_INFRAVISIBLE,
3645. 	CLR_RED),
3646.     MON("werewolf", S_HUMAN,
3647. 	LVL(5, 12, 10, 20, -7), (1),
3648. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4),
3649. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3650. 	SIZ(WT_HUMAN, 400, 0, MS_WERE, MZ_HUMAN), MR_POISON, 0,
3651. 	M1_HUMANOID|M1_POIS|M1_REGEN|M1_OMNIVORE,
3652. 	M2_NOPOLY|M2_WERE|M2_HUMAN|M2_COLLECT,
3653. 	M3_INFRAVISIBLE, CLR_ORANGE),
3654.     MON("werepanther", S_HUMAN, 
3655. 	LVL(5, 15, MARM(10,6), 20, -7), (1),
3656. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK,
3657. 	  NO_ATTK, NO_ATTK, NO_ATTK),
3658. 	SIZ(WT_HUMAN, 400, 0, MS_GROWL, MZ_HUMAN), MR_POISON, 0,
3659. 	M1_HUMANOID|M1_POIS|M1_REGEN|M1_OMNIVORE,
3660. 	M2_NOPOLY|M2_WERE|M2_HOSTILE|M2_HUMAN|M2_COLLECT,
3661. 	M3_INFRAVISIBLE, CLR_BLACK),
3662.     MON("weretiger", S_HUMAN, 
3663. 	LVL(7, 12, MARM(10,5), 20, -7), (1),
3664. 	A(ATTK(AT_WEAP, AD_PHYS, 3, 4), NO_ATTK, NO_ATTK,
3665. 	  NO_ATTK, NO_ATTK, NO_ATTK),
3666. 	SIZ(WT_HUMAN, 400, 0, MS_GROWL, MZ_HUMAN), MR_POISON, 0,
3667. 	M1_HUMANOID|M1_POIS|M1_REGEN|M1_OMNIVORE,
3668. 	M2_NOPOLY|M2_WERE|M2_HOSTILE|M2_HUMAN|M2_COLLECT,
3669. 	M3_INFRAVISIBLE, CLR_YELLOW),
3670.     MON("weresnake", S_HUMAN, 
3671. 	LVL(9, 12, MARM(10,3), 20, -7), (0),
3672. 	A(ATTK(AT_WEAP, AD_PHYS, 3, 4), NO_ATTK, NO_ATTK,
3673. 	  NO_ATTK, NO_ATTK, NO_ATTK),
3674. 	SIZ(WT_HUMAN, 400, 0, MS_HISS, MZ_HUMAN), MR_POISON, 0,
3675. 	M1_HUMANOID|M1_POIS|M1_REGEN|M1_OMNIVORE,
3676. 	M2_NOPOLY|M2_WERE|M2_HOSTILE|M2_HUMAN|M2_COLLECT,
3677. 	0, CLR_BROWN),
3678.     MON("werespider", S_HUMAN, 
3679. 	LVL(9, 12, MARM(10,3), 20, -7), (0),
3680. 	A(ATTK(AT_WEAP, AD_PHYS, 3, 4), NO_ATTK, NO_ATTK,
3681. 	  NO_ATTK, NO_ATTK, NO_ATTK),
3682. 	SIZ(WT_HUMAN, 400, 0, MS_HISS, MZ_HUMAN), MR_POISON, 0,
3683. 	M1_HUMANOID|M1_POIS|M1_REGEN|M1_OMNIVORE,
3684. 	M2_NOPOLY|M2_WERE|M2_HOSTILE|M2_HUMAN|M2_COLLECT,
3685. 	0, CLR_BLACK),
3686.     MON("gibberling", S_HUMAN, 
3687. 	LVL(6, 12, 10, 0, -2), (G_HELL|G_GENO|G_VLGROUP|1),
3688. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK,
3689. 	  NO_ATTK, NO_ATTK, NO_ATTK),
3690. 	SIZ(WT_HUMAN, 400, 0, MS_WAIL, MZ_HUMAN), 0, 0, 
3691. 	M1_HUMANOID|M1_OMNIVORE, M2_NOPOLY|M2_HUMAN|M2_COLLECT, 
3692. 	M3_INFRAVISIBLE|M3_TRAITOR, CLR_GRAY),
3693.     MON("grimlock", S_HUMAN, 
3694. 	LVL(8, 12, 5, 0, -2), (G_HELL|G_GENO|G_VLGROUP|1),
3695. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK,
3696. 	  NO_ATTK, NO_ATTK, NO_ATTK),
3697. 	SIZ(WT_HUMAN, 400, 0, MS_GRUNT, MZ_HUMAN),
3698. 	0, 0, M1_HUMANOID|M1_OMNIVORE|M1_NOEYES,
3699. 	M2_NOPOLY|M2_HUMAN|M2_COLLECT, M3_INFRAVISIBLE|M3_TRAITOR, CLR_BLACK),
3700.     /* [ALI] Elves in the Slash'EM universe are based on Tolkien
3701.      * and are lawful rather than chaotic. To quote Elrond from the FotR:
3702.      *   "The Three were not made by Sauron, nor did he ever touch
3703.      *    them. But of them it is not permitted to speak. So much
3704.      *    only in this hour of doubt I may now say. They are not
3705.      *    idle. But they were not made as weapons of war or conquest:
3706.      *    that is not their power. Those who made them did not
3707.      *    desire strength or domination or hoarded wealth, but
3708.      *    understanding, making, and healing, to preserve all things
3709.      *    unstained. These things the Elves of Middle-earth have in
3710.      *    some measure gained, though with sorrow."
3711.      */
3712.     MON("elf", S_HUMAN,
3713. 	LVL(10, 12, 10, 2, 3), G_NOGEN,		/* for corpses */
3714. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 4), ATTK(AT_WEAP, AD_PHYS, 1, 4),
3715. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3716. 	SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
3717. 	M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS,
3718. 	M2_NOPOLY|M2_ELF|M2_STRONG|M2_COLLECT, M3_INFRAVISION|M3_INFRAVISIBLE,
3719. 	HI_DOMESTIC),
3720.     MON("Woodland-elf", S_HUMAN,
3721. 	LVL(4, 12, 10, 10, 5), (G_GENO|G_SGROUP|3),
3722. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4),
3723. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3724. 	SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
3725. 	M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS,
3726. 	M2_ELF|M2_COLLECT, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GREEN),
3727.     MON("Green-elf", S_HUMAN,
3728. 	LVL(5, 12, 10, 10, 6), (G_GENO|G_SGROUP|3),
3729. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4),
3730. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3731. 	SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
3732. 	M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS,
3733. 	M2_ELF|M2_COLLECT, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BRIGHT_GREEN),
3734.     MON("Grey-elf", S_HUMAN,
3735. 	LVL(6, 12, 10, 10, 7), (G_GENO|G_SGROUP|3),
3736. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4),
3737. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3738. 	SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
3739. 	M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS,
3740. 	M2_ELF|M2_COLLECT, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GRAY),
3741.     MON("High-elf", S_HUMAN,
3742. 	LVL(7, 12, 10, 10, 9), G_NOGEN,
3743. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_MAGC, AD_CLRC, 2, 17),
3744. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3745. 	SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
3746. 	M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS,
3747. 	M2_ELF|M2_STRONG|M2_COLLECT,
3748. 	M3_INFRAVISION|M3_INFRAVISIBLE, CLR_WHITE),
3749.     MON("elf-lord", S_HUMAN,
3750. 	LVL(8, 12, 10, 20, 9), (G_GENO|G_SGROUP|2),
3751. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4),
3752. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3753. 	SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
3754. 	M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS,
3755. 	M2_ELF|M2_STRONG|M2_LORD|M2_MALE|M2_COLLECT,
3756. 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BRIGHT_BLUE),
3757.     MON("drow", S_HUMAN, 
3758. 	LVL(6, 12, MARM(4,0), 60, -9), (G_GENO|G_SGROUP|1),
3759. 	A(ATTK(AT_WEAP, AD_SLEE, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4),
3760. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3761. 	SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
3762. 	M1_HUMANOID|M1_OMNIVORE,
3763. 	M2_NOPOLY|M2_ELF|M2_STRONG|M2_LORD|M2_MALE|M2_COLLECT|M2_HOSTILE,
3764. 	M3_TRAITOR, CLR_BLACK),
3765.     MON("Elvenking", S_HUMAN,
3766. 	LVL(9, 12, 10, 25, 10), (G_GENO|1),
3767. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4),
3768. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3769. 	SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
3770. 	M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS,
3771. 	M2_ELF|M2_STRONG|M2_PRINCE|M2_MALE|M2_COLLECT,
3772. 	M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
3773.     MON("doppelganger", S_HUMAN,
3774. 	LVL(9, 12, 5, 20, 0), (G_GENO|1),
3775. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 12),
3776. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3777. 	SIZ(WT_HUMAN, 400, 0, MS_IMITATE, MZ_HUMAN), MR_SLEEP, 0,
3778. 	M1_HUMANOID|M1_OMNIVORE,
3779. 	M2_NOPOLY|M2_HUMAN|M2_HOSTILE|M2_STRONG|M2_COLLECT,
3780. 	M3_INFRAVISIBLE, HI_DOMESTIC),
3781.     MON("mugger", S_HUMAN, 
3782. 	LVL(2, 12, MARM(10,7), 0, -8), (G_GENO|G_NOGEN),
3783. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 4), NO_ATTK,
3784. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3785. 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN),
3786. 	0, 0, M1_HUMANOID|M1_OMNIVORE,
3787. 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_HOSTILE|M2_COLLECT, 
3788. 	M3_INFRAVISIBLE|M3_TRAITOR, CLR_BLACK),
3789.     MON("nurse", S_HUMAN,
3790. 	LVL(11, 6, 0, 0, 0), (G_GENO|3),
3791. 	A(ATTK(AT_CLAW, AD_HEAL, 2, 6),
3792. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3793. 	SIZ(WT_HUMAN, 400, 0, MS_NURSE, MZ_HUMAN), MR_POISON, MR_POISON,
3794. 	M1_HUMANOID|M1_OMNIVORE, M2_NOPOLY|M2_HUMAN|M2_HOSTILE,
3795. 	M3_INFRAVISIBLE, HI_DOMESTIC),
3796.     MON("gypsy", S_HUMAN,
3797. 	LVL(20, 12, -2, 90, 0), (G_GENO|2),
3798. 	A(ATTK(AT_CLAW, AD_CURS, 2,12), ATTK(AT_MAGC, AD_SPEL, 0, 0),
3799. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3800. 	SIZ(WT_HUMAN, 400, sizeof(struct egyp), MS_GYPSY, MZ_HUMAN),
3801. 	MR_DEATH|MR_SLEEP|MR_POISON, 0,
3802. 	M1_HUMANOID|M1_REGEN|M1_SEE_INVIS|M1_TPORT|M1_OMNIVORE,
3803. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_GREEDY|M2_MAGIC,
3804. 	M3_TRAITOR, HI_DOMESTIC),
3805.     MON("shopkeeper", S_HUMAN,
3806. 	LVL(24, 18, -6, 50, 0), G_NOGEN,
3807. 	A(ATTK(AT_WEAP, AD_PHYS, 4, 4), ATTK(AT_WEAP, AD_PHYS, 4, 4),
3808. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3809. 	SIZ(WT_HUMAN, 400, sizeof(struct eshk), MS_SELL, MZ_HUMAN), 0, 0,
3810. 	M1_HUMANOID|M1_OMNIVORE,
3811. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT|M2_MAGIC,
3812. 	M3_INFRAVISIBLE, HI_DOMESTIC),
3813. #ifdef BLACKMARKET
3814. /* the black marketeer's speed (24) matches the speed boots he's wearing */
3815.     MON("black marketeer", S_HUMAN, 
3816. 	LVL(25, 24, -8, 50, -2), G_NOGEN,
3817. 	A(ATTK(AT_WEAP, AD_PHYS, 4, 10), NO_ATTK, NO_ATTK,
3818. 	  NO_ATTK, NO_ATTK, NO_ATTK),
3819. 	SIZ(WT_HUMAN, 400, sizeof(struct eshk), MS_SELL, MZ_HUMAN),
3820. 	MR_DEATH|MR_FIRE|MR_COLD|MR_SLEEP|MR_ELEC|MR_STONE|MR_HITASFOUR,
3821. 	MR_SLEEP, M1_HUMANOID|M1_OMNIVORE,
3822. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|
3823. 	M2_COLLECT|M2_MAGIC|M2_MALE, M3_INFRAVISIBLE, CLR_BLACK),
3824. #endif /* BLACKMARKET */
3825.     MON("guard", S_HUMAN,
3826. 	LVL(12, 12, 10, 40, 10), G_NOGEN,
3827. 	A(ATTK(AT_WEAP, AD_PHYS, 4,10),
3828. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3829. 	SIZ(WT_HUMAN, 400, sizeof(struct egd), MS_GUARD, MZ_HUMAN), 0, 0,
3830. 	M1_HUMANOID|M1_OMNIVORE,
3831. 	M2_NOPOLY|M2_HUMAN|M2_MERC|M2_PEACEFUL|M2_STRONG|M2_COLLECT,
3832. 	M3_INFRAVISIBLE, CLR_BLUE),
3833.     MON("prisoner", S_HUMAN,
3834. 	LVL(12, 12, 10, 0, 0), G_NOGEN,          /* for special levels */
3835. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
3836. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3837. 	SIZ(WT_HUMAN, 400, 0, MS_DJINNI, MZ_HUMAN), 0, 0,
3838. 	M1_HUMANOID|M1_OMNIVORE,
3839. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT,
3840. 	M3_INFRAVISIBLE|M3_CLOSE, HI_DOMESTIC),
3841.     MON("Oracle", S_HUMAN,
3842. 	LVL(12, 0, 0, 50, 0), (G_NOGEN|G_UNIQ),
3843. 	A(ATTK(AT_NONE, AD_MAGM, 0, 4),
3844. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3845. 	SIZ(WT_HUMAN, 400, 0, MS_ORACLE, MZ_HUMAN), 0, 0,
3846. 	M1_HUMANOID|M1_OMNIVORE,
3847. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_FEMALE, M3_INFRAVISIBLE, HI_ZAP),
3848.     MON("aligned priest", S_HUMAN,
3849. 	LVL(12, 12, 10, 50, 0), G_NOGEN,
3850. 	A(ATTK(AT_WEAP, AD_PHYS, 4,10), ATTK(AT_KICK, AD_PHYS, 1, 4),
3851. 	  ATTK(AT_MAGC, AD_CLRC, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK),
3852. 	SIZ(WT_HUMAN, 400, sizeof(struct epri), MS_PRIEST, MZ_HUMAN),
3853. 	MR_ELEC, 0, M1_HUMANOID|M1_OMNIVORE,
3854. 	M2_NOPOLY|M2_HUMAN|M2_LORD|M2_PEACEFUL|M2_COLLECT, M3_INFRAVISIBLE,
3855. 	CLR_WHITE),
3856.     MON("high priest", S_HUMAN,
3857. 	LVL(25, 15, 7, 70, 0), (G_NOGEN|G_UNIQ),
3858. 	A(ATTK(AT_WEAP, AD_PHYS, 4,10), ATTK(AT_KICK, AD_PHYS, 2, 8),
3859. 	  ATTK(AT_MAGC, AD_CLRC, 2, 8), ATTK(AT_MAGC, AD_CLRC, 2, 8),
3860. 	  NO_ATTK, NO_ATTK),
3861. 	SIZ(WT_HUMAN, 400, sizeof(struct epri), MS_PRIEST, MZ_HUMAN),
3862. 	MR_FIRE|MR_ELEC|MR_SLEEP|MR_POISON, 0,
3863. 	M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE,
3864. 	M2_NOPOLY|M2_HUMAN|M2_MINION|M2_PRINCE|M2_NASTY|M2_COLLECT|M2_MAGIC,
3865. 	M3_INFRAVISIBLE, CLR_WHITE),
3866. /* #ifndef MUSE
3867.     MON("unarmored watchman", S_HUMAN, 
3868. 	LVL(6, 4, 10, 0, -2), G_NOGEN,
3869. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK,
3870. 	  NO_ATTK, NO_ATTK, NO_ATTK),
3871. 	SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN),
3872. 	0, 0, M1_HUMANOID|M1_OMNIVORE,
3873. 	M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_PEACEFUL|M2_STRONG|
3874. 	M2_COLLECT, M3_INFRAVISIBLE, CLR_BROWN),
3875. #endif */
3876. /* # ifndef MUSE
3877.     MON("unarmored soldier", S_HUMAN, 
3878. 	LVL(6, 4, 10, 0, -2), G_NOGEN,
3879. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK,
3880. 	  NO_ATTK, NO_ATTK, NO_ATTK),
3881. 	SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN),
3882. 	0, 0, M1_HUMANOID|M1_OMNIVORE,
3883. 	M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_HOSTILE|M2_STRONG|
3884. 	M2_COLLECT, M3_INFRAVISIBLE, CLR_BROWN),
3885. # endif */
3886.     MON("soldier", S_HUMAN,
3887. 	LVL(6, 10, 10, 0, -2), (G_SGROUP|G_GENO|1),
3888. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8),
3889. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3890. 	SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0,
3891. 	M1_HUMANOID|M1_OMNIVORE,
3892. 	M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_HOSTILE|M2_STRONG|M2_COLLECT,
3893. 	M3_INFRAVISIBLE, CLR_GRAY),
3894.     MON("sergeant", S_HUMAN,
3895. 	LVL(8, 10, 10, 5, -3), (G_SGROUP|G_GENO|1),
3896. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6),
3897. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3898. 	SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0,
3899. 	M1_HUMANOID|M1_OMNIVORE,
3900. 	M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_HOSTILE|M2_STRONG|M2_COLLECT,
3901. 	M3_INFRAVISIBLE, CLR_RED),
3902.     MON("lieutenant", S_HUMAN,
3903. 	LVL(10, 10, 10, 15, -4), (G_GENO|1),
3904. 	A(ATTK(AT_WEAP, AD_PHYS, 3, 4), ATTK(AT_WEAP, AD_PHYS, 3, 4),
3905. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3906. 	SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0,
3907. 	M1_HUMANOID|M1_OMNIVORE,
3908. 	M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_HOSTILE|M2_STRONG|M2_COLLECT,
3909. 	M3_INFRAVISIBLE, CLR_GREEN),
3910.     MON("captain", S_HUMAN,
3911. 	LVL(12, 10, 10, 15, -5), (G_GENO|1),
3912. 	A(ATTK(AT_WEAP, AD_PHYS, 4, 4), ATTK(AT_WEAP, AD_PHYS, 4, 4),
3913. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3914. 	SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0,
3915. 	M1_HUMANOID|M1_OMNIVORE,
3916. 	M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_HOSTILE|M2_STRONG|M2_COLLECT,
3917. 	M3_INFRAVISIBLE, CLR_BLUE),
3918. 	/* Keep these separate - some of the mkroom code assumes that
3919. 	 * all the soldiers are contiguous.
3920. 	 */
3921.     MON("watchman", S_HUMAN,
3922. 	LVL(6, 10, 10, 0, -2), (G_SGROUP|G_NOGEN|G_GENO|1),
3923. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8),
3924. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3925. 	SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0,
3926. 	M1_HUMANOID|M1_OMNIVORE,
3927. 	M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_PEACEFUL|M2_STRONG|M2_COLLECT,
3928. 	M3_INFRAVISIBLE, CLR_GRAY),
3929.     MON("watch captain", S_HUMAN,
3930. 	LVL(10, 10, 10, 15, -4), (G_NOGEN|G_GENO|1),
3931. 	A(ATTK(AT_WEAP, AD_PHYS, 3, 4), ATTK(AT_WEAP, AD_PHYS, 3, 4),
3932. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3933. 	SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0,
3934. 	M1_HUMANOID|M1_OMNIVORE,
3935. 	M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_PEACEFUL|M2_STRONG|M2_COLLECT,
3936. 	M3_INFRAVISIBLE, CLR_GREEN),
3937. 	/* Unique humans not tied to quests.
3938. 	 */
3939.     MON("Medusa", S_HUMAN,
3940. 	LVL(20, 12, 2, 50, -15), (G_NOGEN|G_UNIQ),
3941. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 1, 8),
3942. 	  ATTK(AT_GAZE, AD_STON, 0, 0), ATTK(AT_BITE, AD_DRST, 1, 6),
3943. 	  NO_ATTK, NO_ATTK),
3944. 	SIZ(WT_HUMAN, 400, 0, MS_HISS, MZ_LARGE),
3945. 	MR_POISON|MR_STONE, MR_POISON|MR_STONE,
3946. 	M1_FLY|M1_SWIM|M1_AMPHIBIOUS|M1_HUMANOID|M1_POIS|M1_OMNIVORE,
3947. 	M2_NOPOLY|M2_HOSTILE|M2_STRONG|M2_PNAME|M2_FEMALE,
3948. 	M3_WAITFORU|M3_INFRAVISIBLE, CLR_BRIGHT_GREEN),
3949.     MON("Wizard of Yendor", S_HUMAN,
3950. 	LVL(30, 12, -8, 100, A_NONE), (G_NOGEN|G_UNIQ),
3951. 	A(ATTK(AT_CLAW, AD_SAMU, 2,12), ATTK(AT_MAGC, AD_SPEL, 0, 0),
3952. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3953. 	SIZ(WT_HUMAN, 400, 0, MS_CUSS, MZ_HUMAN),
3954. 	MR_FIRE|MR_POISON, MR_FIRE|MR_POISON,
3955. 	M1_FLY|M1_BREATHLESS|M1_HUMANOID|M1_REGEN|M1_SEE_INVIS|M1_TPORT|
3956. 	  M1_TPORT_CNTRL|M1_OMNIVORE,
3957. 	M2_NOPOLY|M2_HUMAN|M2_HOSTILE|M2_STRONG|M2_NASTY|
3958. 	  M2_PRINCE|M2_MALE|M2_MAGIC,
3959. 	M3_COVETOUS|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD),
3960.     MON("Croesus", S_HUMAN,
3961. 	LVL(20, 15, 0, 40, 15), (G_UNIQ|G_NOGEN),
3962. 	A(ATTK(AT_WEAP, AD_PHYS, 4,10),
3963. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3964. 	SIZ(WT_HUMAN, 400, 0, MS_GUARD, MZ_HUMAN), 0, 0,
3965. 	M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE,
3966. 	M2_NOPOLY|M2_HUMAN|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_PNAME|
3967. 	  M2_PRINCE|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT|M2_MAGIC,
3968. 	M3_INFRAVISIBLE, HI_LORD),
3969. #ifdef CHARON
3970.     MON("Charon", S_HUMAN,
3971. 	LVL(76, 18, -5, 120, 0), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ),
3972. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_TUCH, AD_PLYS, 1, 8),
3973. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3974. 	SIZ(WT_HUMAN, 400, 0, MS_FERRY, MZ_HUMAN),
3975. 	MR_FIRE|MR_COLD|MR_POISON|MR_STONE, 0,
3976. 	M1_BREATHLESS|M1_SEE_INVIS|M1_HUMANOID,
3977. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_PNAME|M2_MALE|M2_GREEDY|M2_COLLECT,
3978. 	M3_INFRAVISIBLE, CLR_WHITE),
3979. #endif
3980. /*
3981.  * ghosts
3982.  */
3983.     MON("shadow", S_GHOST, 
3984. 	LVL(4, 9, 4, 0, 0), (G_NOCORPSE|G_NOGEN),
3985. 	A(ATTK(AT_TUCH, AD_DRST, 1, 4), ATTK(AT_TUCH, AD_COLD, 1, 4),
3986. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3987. 	SIZ(WT_HUMAN, 0, 0, MS_WAIL, MZ_HUMAN),
3988. 	MR_COLD|MR_DISINT|MR_SLEEP|MR_POISON|MR_STONE, 0,
3989. 	M1_FLY|M1_BREATHLESS|M1_WALLWALK|M1_HUMANOID|M1_SEE_INVIS,
3990. 	M2_NOPOLY|M2_UNDEAD|M2_WANDER|M2_HOSTILE|M2_NASTY,
3991. 	0, CLR_BLACK),
3992.     MON("ghost", S_GHOST,
3993. 	LVL(10, 3, -5, 50, -5), (G_NOCORPSE|G_NOGEN),
3994. 	A(ATTK(AT_TUCH, AD_PHYS, 1, 1),
3995. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3996. 	SIZ(WT_HUMAN, 0, 0, MS_SILENT, MZ_HUMAN),
3997. 	MR_COLD|MR_DISINT|MR_SLEEP|MR_POISON|MR_STONE, 0,
3998. 	M1_FLY|M1_BREATHLESS|M1_WALLWALK|M1_HUMANOID|M1_UNSOLID,
3999. 	M2_NOPOLY|M2_UNDEAD|M2_STALK|M2_HOSTILE, M3_INFRAVISION, CLR_GRAY),
4000.     MON("shade", S_GHOST,
4001. 	LVL(12, 10, 10, 0, 0), (G_NOCORPSE|G_NOGEN),
4002. 	A(ATTK(AT_TUCH, AD_PLYS, 2, 6), ATTK(AT_TUCH, AD_SLOW, 1, 6),
4003. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4004. 	SIZ(WT_HUMAN, 0, 0, MS_WAIL, MZ_HUMAN),
4005. 	MR_COLD|MR_DISINT|MR_SLEEP|MR_POISON|MR_STONE, 0,
4006. 	M1_FLY|M1_BREATHLESS|M1_WALLWALK|M1_HUMANOID|M1_UNSOLID|M1_SEE_INVIS,
4007. 	M2_NOPOLY|M2_UNDEAD|M2_WANDER|M2_STALK|M2_HOSTILE|M2_NASTY,
4008. 	M3_INFRAVISION, CLR_BLACK),
4009. /*
4010.  * (major) demons
4011.  */
4012.     MON("water demon", S_DEMON,
4013. 	LVL(8, 12,-4, 30, -7), (G_NOCORPSE|G_NOGEN),
4014. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3),
4015. 	  ATTK(AT_BITE, AD_PHYS, 1, 3), NO_ATTK, NO_ATTK, NO_ATTK),
4016. 	SIZ(WT_HUMAN, 400, 0, MS_DJINNI, MZ_HUMAN), MR_FIRE|MR_POISON, 0,
4017. 	M1_HUMANOID|M1_POIS|M1_SWIM,
4018. 	M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_COLLECT,
4019. 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BLUE),
4020. 	/* standard demons & devils
4021. 	 */
4022.     MON("horned devil", S_DEMON,
4023. 	LVL(6, 9, -5, 50, 11), (G_HELL|G_NOCORPSE|2),
4024. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
4025. 	  ATTK(AT_BITE, AD_PHYS, 2, 3), ATTK(AT_STNG, AD_PHYS, 1, 3),
4026. 	  NO_ATTK, NO_ATTK),
4027. 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_HUMAN), MR_FIRE|MR_POISON, 0,
4028. 	M1_POIS|M1_THICK_HIDE,
4029. 	M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY, M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR,
4030. 	CLR_BROWN),
4031.     MON("spined devil", S_DEMON, 
4032. 	LVL(5, 18, 1, 45, 7), (G_HELL|G_LGROUP|G_NOCORPSE|2),
4033. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 4),
4034. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4035. 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_HUMAN),
4036. 	MR_DEATH|MR_FIRE|MR_POISON|MR_PLUSONE, 0, 
4037. 	M1_FLY|M1_POIS|M1_THICK_HIDE,
4038. 	M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY, M3_TRAITOR, CLR_GREEN),
4039.     MON("bearded devil", S_DEMON, 
4040. 	LVL(8, 15, 1, 45, 7), (G_HELL|G_NOCORPSE|1),
4041. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 10), ATTK(AT_WEAP, AD_PHYS, 1, 10),
4042. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4043. 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_HUMAN),
4044. 	MR_DEATH|MR_FIRE|MR_POISON|MR_PLUSONE|MR_HITASTWO, 0, 
4045. 	M1_POIS|M1_THICK_HIDE,
4046. 	M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY, M3_TRAITOR, CLR_BLACK),
4047. #ifdef SEDUCE
4048. # define SEDUCTION_ATTACKS \
4049. 	A(ATTK(AT_BITE, AD_SSEX, 0, 0), ATTK(AT_CLAW, AD_PHYS, 1, 3), \
4050. 	  ATTK(AT_CLAW, AD_PHYS, 1, 3), NO_ATTK, NO_ATTK, NO_ATTK)
4051. #else
4052. # define SEDUCTION_ATTACKS \
4053. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3), \
4054. 	  ATTK(AT_BITE, AD_DRLI, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK)
4055. #endif
4056.     MON("succubus", S_DEMON,
4057. 	LVL(6, 12, 0, 70, -9), (G_NOCORPSE|2),
4058. 	SEDUCTION_ATTACKS,
4059. 	SIZ(WT_HUMAN, 400, 0, MS_SEDUCE, MZ_HUMAN), MR_FIRE|MR_POISON, 0,
4060. 	M1_HUMANOID|M1_FLY|M1_POIS,
4061. 	M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_FEMALE,
4062. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_GRAY),
4063.     MON("incubus", S_DEMON,
4064. 	LVL(6, 12, 0, 70, -9), (G_NOCORPSE|2),
4065. 	SEDUCTION_ATTACKS,
4066. 	SIZ(WT_HUMAN, 400, 0, MS_SEDUCE, MZ_HUMAN), MR_FIRE|MR_POISON, 0,
4067. 	M1_HUMANOID|M1_FLY|M1_POIS,
4068. 	M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_MALE,
4069. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_GRAY),
4070. #undef SEDUCTION_ATTACKS
4071.     /* Used by AD&D for a type of demon, originally one of the Furies */
4072.     /* and spelled this way */
4073.     MON("erinys", S_DEMON,
4074. 	LVL(7, 12, 2, 30, 10), (G_HELL|G_NOCORPSE|G_SGROUP|1),
4075. 	A(ATTK(AT_WEAP, AD_DRST, 2, 4),
4076. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4077. 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_HUMAN), MR_FIRE|MR_POISON, 0,
4078. 	M1_HUMANOID|M1_POIS,
4079. 	M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_FEMALE|
4080. 	  M2_COLLECT,
4081. 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED),
4082.     MON("barbed devil", S_DEMON,
4083. 	LVL(8, 12, 0, 35, 8), (G_HELL|G_NOCORPSE|G_SGROUP|2),
4084. 	A(ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4),
4085. 	  ATTK(AT_STNG, AD_PHYS, 3, 4), NO_ATTK, NO_ATTK, NO_ATTK),
4086. 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_HUMAN), MR_FIRE|MR_POISON, 0,
4087. 	M1_POIS|M1_THICK_HIDE, M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY,
4088. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_RED),
4089.     MON("marilith", S_DEMON,
4090. 	LVL(7, 12, -6, 80, -12), (G_HELL|G_NOCORPSE|1),
4091. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4),
4092. 	  ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4),
4093. 	  ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4)),
4094. 	SIZ(WT_HUMAN, 400, 0, MS_CUSS, MZ_LARGE), MR_FIRE|MR_POISON, 0,
4095. 	M1_HUMANOID|M1_SLITHY|M1_SEE_INVIS|M1_POIS,
4096. 	M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_FEMALE|M2_COLLECT,
4097. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_RED),
4098.     MON("bar-lgura", S_DEMON, 
4099. 	LVL(7, 15, -3, 45, -9), (G_HELL|G_NOCORPSE|G_SGROUP|1),
4100. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6),
4101. 	  ATTK(AT_BITE, AD_PHYS, 2, 12), NO_ATTK, NO_ATTK, NO_ATTK),
4102. 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE),
4103. 	MR_DEATH|MR_FIRE|MR_POISON|MR_PLUSONE|MR_HITASTWO, 0, M1_POIS,
4104. 	M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY,
4105. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_ORANGE),
4106.     MON("chasme", S_DEMON, 
4107. 	LVL(8, 21, -1, 40, -9), (G_HELL|G_NOCORPSE|G_SGROUP|1),
4108. 	A(ATTK(AT_CLAW, AD_PHYS, 2, 6), ATTK(AT_CLAW, AD_PHYS, 2, 6),
4109. 	  ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_GAZE, AD_SLEE, 1, 6),
4110. 	  NO_ATTK, NO_ATTK),
4111. 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_MEDIUM),
4112. 	MR_DEATH|MR_FIRE|MR_POISON|MR_PLUSONE|MR_HITASTWO, 0, M1_POIS|M1_FLY,
4113. 	M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY, 
4114. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_CYAN),
4115.     MON("vrock", S_DEMON,
4116. 	LVL(8, 12, 0, 50, -9), (G_HELL|G_NOCORPSE|G_SGROUP|2),
4117. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
4118. 	  ATTK(AT_CLAW, AD_PHYS, 1, 8), ATTK(AT_CLAW, AD_PHYS, 1, 8),
4119. 	  ATTK(AT_BITE, AD_PHYS, 1, 6), NO_ATTK),
4120. 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), MR_FIRE|MR_POISON, 0,
4121. 	M1_POIS, M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY,
4122. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_RED),
4123.     MON("babau", S_DEMON, 
4124. 	LVL(9, 15, -3, 50, -9), (G_HELL|G_NOCORPSE|G_SGROUP|1),
4125. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6),
4126. 	  ATTK(AT_GAZE, AD_DRST, 1, 8), ATTK(AT_BITE, AD_PHYS, 1, 8),
4127. 	  NO_ATTK, NO_ATTK),
4128. 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE),
4129. 	MR_DEATH|MR_FIRE|MR_POISON|MR_PLUSONE|MR_HITASTWO, 0, M1_POIS,
4130. 	M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY, 
4131. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_BLACK),
4132.     MON("hezrou", S_DEMON,
4133. 	LVL(9, 6, -2, 55, -10), (G_HELL|G_NOCORPSE|G_SGROUP|2),
4134. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3),
4135. 	  ATTK(AT_BITE, AD_PHYS, 4, 4), NO_ATTK, NO_ATTK, NO_ATTK),
4136. 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), MR_FIRE|MR_POISON, 0,
4137. 	M1_HUMANOID|M1_POIS, M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY,
4138. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_RED),
4139.     MON("bone devil", S_DEMON,
4140. 	LVL(9, 15, -1, 40, -9), (G_HELL|G_NOCORPSE|G_SGROUP|2),
4141. 	A(ATTK(AT_WEAP, AD_PHYS, 3, 4), ATTK(AT_STNG, AD_DRST, 2, 4),
4142. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4143. 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), MR_FIRE|MR_POISON, 0,
4144. 	M1_POIS, M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_COLLECT,
4145. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_GRAY),
4146.     MON("ice devil", S_DEMON,
4147. 	LVL(11, 6, -4, 55, -12), (G_HELL|G_NOCORPSE|2),
4148. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
4149. 	  ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_STNG, AD_COLD, 3, 4),
4150. 	  NO_ATTK, NO_ATTK),
4151. 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE),
4152. 	MR_FIRE|MR_COLD|MR_POISON, 0, M1_SEE_INVIS|M1_POIS,
4153. 	M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY, M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR,
4154. 	CLR_WHITE),
4155.     MON("nalfeshnee", S_DEMON,
4156. 	LVL(11, 9, -1, 65, -11), (G_HELL|G_NOCORPSE|1),
4157. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
4158. 	  ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_MAGC, AD_SPEL, 0, 0),
4159. 	  NO_ATTK, NO_ATTK),
4160. 	SIZ(WT_HUMAN, 400, 0, MS_SPELL, MZ_LARGE), MR_FIRE|MR_POISON, 0,
4161. 	M1_HUMANOID|M1_POIS, M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY,
4162. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_RED),
4163.     MON("nabassu", S_DEMON, 
4164. 	LVL(9, 15, -5, 50, -11), (G_HELL|G_NOCORPSE|1),
4165. 	A(ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4),
4166. 	  ATTK(AT_BITE, AD_DRLI, 3, 4), ATTK(AT_MAGC, AD_SPEL, 0, 0),
4167. 	  NO_ATTK, NO_ATTK),
4168. 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE),
4169. 	MR_DEATH|MR_FIRE|MR_POISON|MR_PLUSONE|MR_HITASTHREE, 0, 
4170. 	M1_HUMANOID|M1_POIS|M1_FLY,
4171. 	M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY, 
4172. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_BLACK),
4173.     MON("pit fiend", S_DEMON,
4174. 	LVL(13, 6, -3, 65, -13), (G_HELL|G_NOCORPSE|2),
4175. 	A(ATTK(AT_WEAP, AD_PHYS, 4, 2), ATTK(AT_WEAP, AD_PHYS, 4, 2),
4176. 	  ATTK(AT_HUGS, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK),
4177. 	SIZ(WT_HUMAN, 400, 0, MS_GROWL, MZ_LARGE), MR_FIRE|MR_POISON, 0,
4178. 	M1_SEE_INVIS|M1_POIS,
4179. 	M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_COLLECT,
4180. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_RED),
4181.     MON("balrog", S_DEMON,
4182. 	LVL(16, 5, -2, 75, -14), (G_HELL|G_NOCORPSE|1),
4183. 	A(ATTK(AT_WEAP, AD_PHYS, 8, 4), ATTK(AT_WEAP, AD_PHYS, 4, 6),
4184. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4185. 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), MR_FIRE|MR_POISON, 0,
4186. 	M1_FLY|M1_SEE_INVIS|M1_POIS,
4187. 	M2_DEMON|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_COLLECT,
4188. 	M3_INFRAVISIBLE|M3_INFRAVISION|M3_TRAITOR, CLR_RED),
4189. 	/* Named demon lords & princes plus Arch-Devils.
4190. 	 * (their order matters; see minion.c)
4191. 	 */
4192.     MON("Juiblex", S_DEMON,
4193. 	LVL(50, 3, -7, 65, -15), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ),
4194. 	A(ATTK(AT_ENGL, AD_DISE, 4,10), ATTK(AT_SPIT, AD_ACID, 3, 6),
4195. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4196. 	SIZ(1500, 0, 0, MS_GURGLE, MZ_LARGE),
4197. 	MR_FIRE|MR_POISON|MR_ACID|MR_STONE, 0,
4198. 	M1_AMPHIBIOUS|M1_AMORPHOUS|M1_NOHEAD|M1_FLY|M1_SEE_INVIS|M1_ACID|
4199. 	  M1_POIS,
4200. 	M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY|M2_LORD|
4201. 	  M2_MALE,
4202. 	M3_WAITFORU|M3_WANTSAMUL|M3_INFRAVISION, CLR_BRIGHT_GREEN),
4203.     MON("Yeenoghu", S_DEMON,
4204. 	LVL(56, 18, -5, 80, -15), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ),
4205. 	A(ATTK(AT_WEAP, AD_PHYS, 3, 6), ATTK(AT_WEAP, AD_CONF, 2, 8),
4206. 	  ATTK(AT_CLAW, AD_PLYS, 1, 6), ATTK(AT_MAGC, AD_MAGM, 2, 6),
4207. 	  NO_ATTK, NO_ATTK),
4208. 	SIZ(900, 500, 0, MS_ORC, MZ_LARGE), MR_FIRE|MR_POISON, 0,
4209. 	M1_FLY|M1_SEE_INVIS|M1_POIS,
4210. 	M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY|M2_LORD|
4211. 	  M2_MALE|M2_COLLECT,
4212. 	M3_WAITFORU|M3_WANTSAMUL|M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
4213.     MON("Orcus", S_DEMON,
4214. 	LVL(66, 9, -6, 85, -20), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ),
4215. 	A(ATTK(AT_WEAP, AD_PHYS, 3, 6), ATTK(AT_CLAW, AD_PHYS, 3, 4),
4216. 	  ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_MAGC, AD_SPEL, 8, 6),
4217. 	  ATTK(AT_STNG, AD_DRST, 2, 4), NO_ATTK),
4218. 	SIZ(1500, 500, 0, MS_ORC, MZ_HUGE), MR_FIRE|MR_POISON, 0,
4219. 	M1_FLY|M1_SEE_INVIS|M1_POIS,
4220. 	M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY|M2_PRINCE|
4221. 	  M2_MALE|M2_COLLECT,
4222. 	M3_WAITFORU|M3_WANTSBOOK|M3_WANTSAMUL|M3_INFRAVISIBLE|M3_INFRAVISION,
4223. 	HI_LORD),
4224.     MON("Geryon", S_DEMON,
4225. 	LVL(72, 3, -3, 75, 15), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ),
4226. 	A(ATTK(AT_CLAW, AD_PHYS, 3, 6), ATTK(AT_CLAW, AD_PHYS, 3, 6),
4227. 	  ATTK(AT_STNG, AD_DRST, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK),
4228. 	SIZ(1500, 500, 0, MS_BRIBE, MZ_HUGE), MR_FIRE|MR_POISON, 0,
4229. 	M1_FLY|M1_SEE_INVIS|M1_POIS|M1_SLITHY,
4230. 	M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY|
4231. 	  M2_PRINCE|M2_MALE,
4232. 	M3_WAITFORU|M3_WANTSAMUL|M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
4233.     MON("Dispater", S_DEMON,
4234. 	LVL(78, 15, -2, 80, 15), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ),
4235. 	A(ATTK(AT_WEAP, AD_PHYS, 4, 6), ATTK(AT_MAGC, AD_SPEL, 6, 6),
4236. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4237. 	SIZ(1500, 500, 0, MS_BRIBE, MZ_HUMAN), MR_FIRE|MR_POISON, 0,
4238. 	M1_FLY|M1_SEE_INVIS|M1_POIS|M1_HUMANOID,
4239. 	M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY|
4240. 	  M2_PRINCE|M2_MALE|M2_COLLECT,
4241. 	M3_WAITFORU|M3_WANTSAMUL|M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
4242.     MON("Baalzebub", S_DEMON,
4243. 	LVL(89, 9, -5, 85, 20), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ),
4244. 	A(ATTK(AT_BITE, AD_DRST, 2, 6), ATTK(AT_GAZE, AD_STUN, 2, 6),
4245. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4246. 	SIZ(1500, 500, 0, MS_BRIBE, MZ_LARGE), MR_FIRE|MR_POISON, 0,
4247. 	M1_FLY|M1_SEE_INVIS|M1_POIS,
4248. 	M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY|
4249. 	  M2_PRINCE|M2_MALE,
4250. 	M3_WANTSAMUL|M3_WAITFORU|M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
4251.     MON("Asmodeus", S_DEMON,
4252. 	LVL(105, 12, -7, 90, 20), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ),
4253. 	A(ATTK(AT_CLAW, AD_PHYS, 4, 4), ATTK(AT_MAGC, AD_COLD, 6, 6),
4254. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4255. 	SIZ(1500, 500, 0, MS_BRIBE, MZ_HUGE), MR_FIRE|MR_COLD|MR_POISON, 0,
4256. 	M1_FLY|M1_SEE_INVIS|M1_HUMANOID|M1_POIS,
4257. 	M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_STRONG|
4258. 	  M2_NASTY|M2_PRINCE|M2_MALE,
4259. 	M3_WANTSAMUL|M3_WAITFORU|M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
4260.     MON("Demogorgon", S_DEMON,
4261. 	LVL(106, 15, -8, 95, -20), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ),
4262. 	A(ATTK(AT_MAGC, AD_SPEL, 8, 6), ATTK(AT_STNG, AD_DRLI, 1, 4),
4263. 	  ATTK(AT_CLAW, AD_DISE, 1, 6), ATTK(AT_CLAW, AD_DISE, 1, 6),
4264. 	  NO_ATTK, NO_ATTK),
4265. 	SIZ(1500, 500, 0, MS_GROWL, MZ_HUGE), MR_FIRE|MR_POISON, 0,
4266. 	M1_FLY|M1_SEE_INVIS|M1_NOHANDS|M1_POIS,
4267. 	M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY|
4268. 	  M2_PRINCE|M2_MALE,
4269. 	M3_WAITFORU|M3_WANTSAMUL|M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
4270.    /* Cthulhu MUST be placed after Demogorgon so he will not be summoned as a 
4271.       random demon lord or demon prince.  See minion.c */
4272.     MON("Cthulhu", S_DEMON,
4273.         LVL(106, 18, -15, 95, 0), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ),
4274.         A(ATTK(AT_MAGC, AD_CLRC, 4, 6), ATTK(AT_CLAW, AD_PHYS, 6, 8),
4275.           ATTK(AT_BITE, AD_PHYS, 4, 10), ATTK(AT_HUGS, AD_PHYS, 6, 6),
4276.           ATTK(AT_TENT, AD_DRIN, 2, 1), ATTK(AT_GAZE, AD_CONF, 0, 0)),
4277.         SIZ(3000, 500, 0, MS_ROAR, MZ_GIGANTIC), 
4278. 	MR_POISON|MR_STONE|MR_DISINT|MR_SLEEP|MR_ACID, 0,
4279.         M1_SWIM|M1_AMPHIBIOUS|M1_BREATHLESS|M1_THICK_HIDE|M1_SEE_INVIS|
4280.           M1_NOHANDS|M1_POIS,
4281.         M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY|M2_STRONG|
4282.           M2_PRINCE|M2_NEUTER,
4283.         M3_WAITFORU|M3_INFRAVISION|M3_NOTAME, HI_LORD),
4284. 	/* Riders -- the Four Horsemen of the Apocalypse ("War" == player)
4285. 	 */
4286.     MON("Death", S_DEMON,
4287. 	LVL(30, 12, -5, 100, 0), (G_UNIQ|G_NOGEN),
4288. 	A(ATTK(AT_TUCH, AD_DETH, 8, 8), ATTK(AT_TUCH, AD_DETH, 8, 8),
4289. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4290. 	SIZ(WT_HUMAN, 1, 0, MS_RIDER, MZ_HUMAN),
4291. 	MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_STONE, 0,
4292. 	M1_FLY|M1_HUMANOID|M1_REGEN|M1_SEE_INVIS|M1_TPORT_CNTRL,
4293. 	M2_NOPOLY|M2_STALK|M2_HOSTILE|M2_PNAME|M2_STRONG|M2_NASTY,
4294. 	M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
4295.     MON("Pestilence", S_DEMON,
4296. 	LVL(30, 12, -5, 100, 0), (G_UNIQ|G_NOGEN),
4297. 	A(ATTK(AT_TUCH, AD_PEST, 8, 8), ATTK(AT_TUCH, AD_PEST, 8, 8),
4298. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4299. 	SIZ(WT_HUMAN, 1, 0, MS_RIDER, MZ_HUMAN),
4300. 	MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_STONE, 0,
4301. 	M1_FLY|M1_HUMANOID|M1_REGEN|M1_SEE_INVIS|M1_TPORT_CNTRL,
4302. 	M2_NOPOLY|M2_STALK|M2_HOSTILE|M2_PNAME|M2_STRONG|M2_NASTY,
4303. 	M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
4304.     MON("Famine", S_DEMON,
4305. 	LVL(30, 12, -5, 100, 0), (G_UNIQ|G_NOGEN),
4306. 	A(ATTK(AT_TUCH, AD_FAMN, 8, 8), ATTK(AT_TUCH, AD_FAMN, 8, 8),
4307. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4308. 	SIZ(WT_HUMAN, 1, 0, MS_RIDER, MZ_HUMAN),
4309. 	MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_STONE, 0,
4310. 	M1_FLY|M1_HUMANOID|M1_REGEN|M1_SEE_INVIS|M1_TPORT_CNTRL,
4311. 	M2_NOPOLY|M2_STALK|M2_HOSTILE|M2_PNAME|M2_STRONG|M2_NASTY,
4312. 	M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD),
4313. 	/* other demons
4314. 	 */
4315. #ifdef MAIL
4316.     MON("mail daemon", S_DEMON,
4317. 	LVL(56, 24, 10, 127, 0), (G_NOGEN|G_NOCORPSE),
4318. 	A(NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4319. 	SIZ(600, 300, 0, MS_SILENT, MZ_HUMAN),
4320. 	MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_STONE, 0,
4321. 	M1_FLY|M1_SWIM|M1_BREATHLESS|M1_SEE_INVIS|M1_HUMANOID|M1_POIS,
4322. 	M2_NOPOLY|M2_STALK|M2_PEACEFUL, M3_INFRAVISIBLE|M3_INFRAVISION,
4323. 	CLR_BRIGHT_BLUE),
4324. /* Neither rain nor sleet nor gloom of night shall stay this courier... */
4325. #endif
4326.     MON("djinni", S_DEMON,
4327. 	LVL(7, 12, 4, 30, 0), (G_NOGEN|G_NOCORPSE),
4328. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 8),
4329. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4330. 	SIZ(1500, 400, 0, MS_DJINNI, MZ_HUMAN), MR_POISON|MR_STONE, 0,
4331. 	M1_HUMANOID|M1_FLY|M1_POIS,
4332. 	M2_NOPOLY|M2_STALK|M2_COLLECT, M3_INFRAVISIBLE, CLR_YELLOW),
4333. #if 0
4334. 	/* KMH -- Redundant djinni types removed
4335. 	 * These were causing problems with the djinni chances.  Since
4336. 	 * they are basically different names for the same monster, why
4337. 	 * should we keep them?
4338. 	 */
4339.     MON("efreeti", S_DEMON, 
4340. 	LVL(7, 12, 4, 30, 0), (G_NOGEN|G_NOCORPSE),
4341. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 8), NO_ATTK, NO_ATTK,
4342. 	  NO_ATTK, NO_ATTK, NO_ATTK),
4343. 	SIZ(1500, 400, 0, MS_DJINNI, MZ_HUMAN), MR_POISON|MR_STONE|
4344. 	MR_FIRE|MR_ELEC, 0,
4345. 	M1_HUMANOID|M1_FLY|M1_POIS,
4346. 	M2_NOPOLY|M2_STALK|M2_COLLECT, 0, CLR_RED),
4347.     MON("dao", S_DEMON, 
4348. 	LVL(7, 12, 4, 30, 0), (G_NOGEN|G_NOCORPSE),
4349. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 8), NO_ATTK, NO_ATTK,
4350. 	  NO_ATTK, NO_ATTK, NO_ATTK),
4351. 	SIZ(1500, 400, 0, MS_DJINNI, MZ_HUMAN), MR_POISON|MR_STONE, 0,
4352. 	M1_HUMANOID|M1_FLY|M1_POIS,
4353. 	M2_NOPOLY|M2_STALK|M2_COLLECT, 0, CLR_BROWN),
4354.     MON("marid", S_DEMON, 
4355. 	LVL(7, 12, 4, 30, 0), (G_NOGEN|G_NOCORPSE),
4356. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 8), NO_ATTK, NO_ATTK,
4357. 	  NO_ATTK, NO_ATTK, NO_ATTK),
4358. 	SIZ(1500, 400, 0, MS_DJINNI, MZ_HUMAN), MR_COLD|MR_POISON|MR_STONE, 0,
4359. 	M1_HUMANOID|M1_FLY|M1_POIS,
4360. 	M2_NOPOLY|M2_STALK|M2_COLLECT, 0, CLR_BLUE),
4361. #endif
4362. 
4363.     MON("sandestin", S_DEMON,
4364. 	LVL(13, 12, 4, 60, -5), (G_HELL|G_NOCORPSE|1),
4365. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6),
4366. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4367. 	SIZ(1500, 400, 0, MS_CUSS, MZ_HUMAN), MR_STONE, 0,
4368. 	M1_HUMANOID, M2_NOPOLY|M2_STALK|M2_STRONG|M2_COLLECT,
4369. 	M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GRAY),
4370. 
4371. 
4372. /*
4373.  * sea monsters
4374.  */
4375.     MON("jellyfish", S_EEL,
4376. 	LVL(3, 3, 6, 0, 0), (G_GENO|G_NOGEN),
4377. 	A(ATTK(AT_STNG, AD_DRST, 3, 3), NO_ATTK,
4378. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4379. 	SIZ(80, 20, 0, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON,
4380. 	M1_SWIM|M1_AMPHIBIOUS|M1_SLITHY|M1_NOLIMBS|M1_NOTAKE|M1_POIS,
4381. 	M2_HOSTILE, 0, CLR_BLUE),
4382.     MON("piranha", S_EEL,
4383. 	LVL(5, 12, 4, 0, 0), (G_GENO|G_NOGEN|G_SGROUP),
4384. 	A(ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK,
4385. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4386. 	SIZ(60, 30, 0, MS_SILENT, MZ_SMALL), 0, 0,
4387. 	M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|
4388. 	  M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE,
4389. 	M2_HOSTILE, 0, CLR_RED),
4390.     MON("giant eel", S_EEL,
4391. 	LVL(5, 9, -1, 0, 0), (G_GENO|G_NOGEN),
4392. 	A(ATTK(AT_BITE, AD_PHYS, 3, 6), ATTK(AT_TUCH, AD_WRAP, 0, 0),
4393. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4394. 	SIZ(200, 250, 0, MS_SILENT, MZ_HUGE), 0, 0,
4395. 	M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|
4396. 	  M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE,
4397. 	M2_HOSTILE, M3_INFRAVISIBLE, CLR_CYAN),
4398.     MON("shark", S_EEL,
4399. 	LVL(7, 12, 2, 0, 0), (G_GENO|G_NOGEN),
4400. 	A(ATTK(AT_BITE, AD_PHYS, 5, 6), NO_ATTK,
4401. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4402. 	SIZ(500, 350, 0, MS_SILENT, MZ_LARGE), 0, 0,
4403. 	M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|
4404. 	  M1_CARNIVORE|M1_OVIPAROUS|M1_THICK_HIDE|M1_NOTAKE,
4405. 	M2_HOSTILE, 0, CLR_GRAY),
4406.     MON("giant crab", S_EEL, 
4407. 	LVL(7, 12, 0, 0, 0), (G_GENO|G_NOGEN),
4408. 	A(ATTK(AT_CLAW, AD_PHYS, 3, 6), ATTK(AT_CLAW, AD_PHYS, 3, 6),
4409. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4410. 	SIZ(500, 350, 0, MS_SILENT, MZ_HUGE),
4411. 	0, 0, M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_OVIPAROUS,
4412. 	M2_HOSTILE, 0, CLR_GREEN),
4413.     MON("electric eel", S_EEL,
4414. 	LVL(7, 10, -3, 0, 0), (G_GENO|G_NOGEN),
4415. 	A(ATTK(AT_BITE, AD_ELEC, 4, 6), ATTK(AT_TUCH, AD_WRAP, 0, 0),
4416. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4417. 	SIZ(200, 250, 0, MS_SILENT, MZ_HUGE), MR_ELEC, MR_ELEC,
4418. 	M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|
4419. 	  M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE,
4420. 	M2_HOSTILE, M3_INFRAVISIBLE, CLR_BRIGHT_BLUE),
4421.     MON("kraken", S_EEL,
4422. 	LVL(20, 3, 6, 0, -3), (G_GENO|G_NOGEN),
4423. 	A(ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4),
4424. 	  ATTK(AT_HUGS, AD_WRAP, 2, 6), ATTK(AT_BITE, AD_PHYS, 5, 4),
4425. 	  NO_ATTK, NO_ATTK),
4426. 	SIZ(1800, 1000, 0, MS_SILENT, MZ_HUGE), 0, 0,
4427. 	M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
4428. 	M2_NOPOLY|M2_HOSTILE|M2_STRONG, M3_INFRAVISIBLE, CLR_RED),
4429. /*
4430.  * lizards, &c
4431.  */
4432.     MON("newt", S_LIZARD,
4433. 	LVL(0, 6, 8, 0, 0), (G_GENO|5),
4434. 	A(ATTK(AT_BITE, AD_PHYS, 1, 2),
4435. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4436. 	SIZ(10, 20, 0, MS_SILENT, MZ_TINY), 0, 0,
4437. 	M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
4438. 	M2_HOSTILE, 0, CLR_YELLOW),
4439.     MON("gecko", S_LIZARD,
4440. 	LVL(1, 6, 8, 0, 0), (G_GENO|5),
4441. 	A(ATTK(AT_BITE, AD_PHYS, 1, 3),
4442. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4443. 	SIZ(10, 20, 0, MS_SQEEK, MZ_TINY), 0, 0,
4444. 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_GREEN),
4445.     MON("iguana", S_LIZARD,
4446. 	LVL(2, 6, 7, 0, 0), (G_GENO|5),
4447. 	A(ATTK(AT_BITE, AD_PHYS, 1, 4),
4448. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4449. 	SIZ(30, 30, 0, MS_SILENT, MZ_TINY), 0, 0,
4450. 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_BROWN),
4451.     MON("baby crocodile", S_LIZARD,
4452. 	LVL(3, 6, 7, 0, 0), G_GENO,
4453. 	A(ATTK(AT_BITE, AD_PHYS, 1, 4),
4454. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4455. 	SIZ(200, 200, 0, MS_SILENT, MZ_MEDIUM), 0, 0,
4456. 	M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,
4457. 	M2_HOSTILE, 0, CLR_BROWN),
4458.     MON("lizard", S_LIZARD,
4459. 	LVL(5, 6, 6, 10, 0), (G_GENO|5),
4460. 	A(ATTK(AT_BITE, AD_PHYS, 1, 6),
4461. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4462. 	SIZ(10, 40, 0, MS_SILENT, MZ_TINY), MR_STONE, MR_STONE,
4463. 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_GREEN),
4464.     MON("gila monster", S_LIZARD, 
4465. 	LVL(6, 6, 6, 10, 0), (G_NOHELL|G_GENO|1),
4466. 	A(ATTK(AT_BITE, AD_DRST, 2, 6), NO_ATTK, NO_ATTK,
4467. 	  NO_ATTK, NO_ATTK, NO_ATTK),
4468. 	SIZ(10, 40, 0, MS_SILENT, MZ_TINY), MR_POISON, 0,
4469. 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_ORANGE),
4470.     MON("chameleon", S_LIZARD,
4471. 	LVL(6, 5, 6, 10, 0), (G_GENO|2),
4472. 	A(ATTK(AT_BITE, AD_PHYS, 4, 2),
4473. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4474. 	SIZ(100, 100, 0, MS_SILENT, MZ_TINY), 0, 0,
4475. 	M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_NOPOLY|M2_HOSTILE, 0, CLR_BROWN),
4476.     MON("crocodile", S_LIZARD,
4477. 	LVL(6, 9, 5, 0, 0), (G_GENO|1),
4478. 	A(ATTK(AT_BITE, AD_PHYS, 4, 2), ATTK(AT_CLAW, AD_PHYS, 1,12),
4479. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4480. 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), 0, 0,
4481. 	M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS|
4482. 	  M1_OVIPAROUS|M1_CARNIVORE,
4483. 	M2_STRONG|M2_HOSTILE, 0, CLR_BROWN),
4484.     MON("salamander", S_LIZARD,
4485. 	LVL(8, 12, -1, 0, -9), (G_HELL|1),
4486. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 8), ATTK(AT_TUCH, AD_FIRE, 1, 6),
4487. 	  ATTK(AT_HUGS, AD_PHYS, 2, 6), ATTK(AT_HUGS, AD_FIRE, 3, 6),
4488. 	  NO_ATTK, NO_ATTK),
4489. 	SIZ(1500, 400, 0, MS_MUMBLE, MZ_HUMAN), MR_SLEEP|MR_FIRE, MR_FIRE,
4490. 	M1_HUMANOID|M1_SLITHY|M1_THICK_HIDE|M1_POIS,
4491. 	M2_STALK|M2_HOSTILE|M2_COLLECT|M2_MAGIC, M3_INFRAVISIBLE, CLR_ORANGE),
4492.     MON("rhaumbusun", S_LIZARD, 
4493. 	LVL(2, 9, 5, 0, 0), (G_HELL|G_GENO|1),
4494. 	A(ATTK(AT_GAZE, AD_PLYS, 1, 2), NO_ATTK,
4495. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4496. 	SIZ(20, 40, 0, MS_SILENT, MZ_TINY), MR_POISON, MR_POISON,
4497. 	M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS|
4498. 	M1_OVIPAROUS|M1_CARNIVORE, M2_NASTY|M2_HOSTILE, 0, CLR_MAGENTA),
4499.     MON("basilisk", S_LIZARD, 
4500. 	LVL(8, 9, 5, 0, 0), (G_GENO|1),
4501. 	A(ATTK(AT_BITE, AD_STON, 4, 2), ATTK(AT_NONE, AD_STON, 0, 0),
4502. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4503. 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), MR_POISON|MR_STONE, 
4504. 	MR_POISON|MR_STONE,
4505. 	M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS|
4506. 	M1_OVIPAROUS|M1_CARNIVORE, M2_STRONG|M2_HOSTILE, 0, CLR_BLACK),
4507.     MON("komodo dragon", S_LIZARD, 
4508. 	LVL(9, 9, 5, 0, 0), (G_NOHELL|G_GENO|1),
4509. 	A(ATTK(AT_BITE, AD_DRCO, 2, 6), ATTK(AT_CLAW, AD_PHYS, 1, 12),
4510. 	  ATTK(AT_CLAW, AD_PHYS, 1, 12), NO_ATTK, NO_ATTK, NO_ATTK),
4511. 	SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), 0, 0,
4512. 	M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS|
4513. 	M1_OVIPAROUS|M1_CARNIVORE, M2_STRONG|M2_HOSTILE, 0, CLR_GREEN),
4514. /*      evil food         */
4515. /*      WAC moved Evil Food here - otherwise won't get generated */
4516.     MON("bad egg", S_BAD_FOOD, 
4517. 	LVL(4, 9, 7, 0, 0), (G_NOHELL|G_GENO|G_NOCORPSE),
4518. 	A(ATTK(AT_BITE, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK,
4519. 	  NO_ATTK, NO_ATTK, NO_ATTK),
4520. 	SIZ(0, 0, 0, MS_SILENT, MZ_SMALL), 0, 0,
4521. 	M1_BREATHLESS|M1_NOEYES|M1_NOHEAD|M1_MINDLESS|
4522. 	M1_NOLIMBS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_WHITE),
4523.     MON("killer tripe ration", S_BAD_FOOD, 
4524. 	LVL(7, 9, 7, 0, 0), (G_NOHELL|G_GENO|G_NOCORPSE),
4525. 	A(ATTK(AT_BITE, AD_PHYS, 2, 8), NO_ATTK, NO_ATTK,
4526. 	  NO_ATTK, NO_ATTK, NO_ATTK),
4527. 	SIZ(0, 0, 0, MS_SILENT, MZ_SMALL), 0, 0,
4528. 	M1_BREATHLESS|M1_NOEYES|M1_NOHEAD|M1_MINDLESS|
4529. 	M1_NOLIMBS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_BROWN),
4530.     MON("killer food ration", S_BAD_FOOD, 
4531. 	LVL(9, 9, 7, 0, 0), (G_NOHELL|G_GENO|G_NOCORPSE),
4532. 	A(ATTK(AT_BITE, AD_PHYS, 2, 10), NO_ATTK, NO_ATTK,
4533. 	  NO_ATTK, NO_ATTK, NO_ATTK),
4534. 	SIZ(0, 0, 0, MS_SILENT, MZ_SMALL), 0, 0,
4535. 	M1_BREATHLESS|M1_NOEYES|M1_NOHEAD|M1_MINDLESS|
4536. 	M1_NOLIMBS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_BROWN),
4537. /*      evil coins        */
4538.     MON("pile of killer coins", S_BAD_COINS, 
4539. 	LVL(6, 9, 7, 0, 0), (G_NOHELL|G_GENO|G_NOCORPSE),
4540. 	A(ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK,
4541. 	  NO_ATTK, NO_ATTK, NO_ATTK),
4542. 	SIZ(0, 0, 0, MS_SILENT, MZ_SMALL), 0, 0,
4543. 	M1_BREATHLESS|M1_NOEYES|M1_NOHEAD|M1_MINDLESS |
4544. 	M1_NOLIMBS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_YELLOW),
4545.     MON("large pile of killer coins", S_BAD_COINS, 
4546. 	LVL(9, 12, 7, 0, 0), (G_NOHELL|G_GENO|G_NOCORPSE),
4547. 	A(ATTK(AT_BITE, AD_PHYS, 3, 6), NO_ATTK, NO_ATTK,
4548. 	  NO_ATTK, NO_ATTK, NO_ATTK),
4549. 	SIZ(0, 0, 0, MS_SILENT, MZ_SMALL), 0, 0,
4550. 	M1_BREATHLESS|M1_NOEYES|M1_NOHEAD|M1_MINDLESS|
4551. 	M1_NOLIMBS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_YELLOW),
4552.     MON("huge pile of killer coins", S_BAD_COINS, 
4553. 	LVL(11, 12, 7, 0, 0), (G_NOHELL|G_GENO|G_NOCORPSE),
4554. 	A(ATTK(AT_BITE, AD_PHYS, 4, 6), NO_ATTK, NO_ATTK,
4555. 	  NO_ATTK, NO_ATTK, NO_ATTK),
4556. 	SIZ(0, 0, 0, MS_SILENT, MZ_SMALL), 0, 0,
4557. 	M1_BREATHLESS|M1_NOEYES|M1_NOHEAD|M1_MINDLESS|
4558. 	M1_NOLIMBS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_YELLOW),
4559. /*
4560.  * dummy monster needed for visual interface
4561.  */
4562. 	/* (marking it unique prevents figurines)
4563. 	 */
4564.     MON("long worm tail", S_WORM_TAIL,
4565. 	LVL(0, 0, 0, 0, 0), (G_NOGEN|G_NOCORPSE|G_UNIQ),
4566. 	A(NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4567. 	SIZ(0, 0, 0, 0, 0), 0, 0, 0L, M2_NOPOLY, 0, CLR_BROWN),
4568. 
4569. 	/* Note:
4570. 	 * Worm tail must be between the normal monsters and the special
4571. 	 * quest & pseudo-character ones because an optimization in the
4572. 	 * random monster selection code assumes everything beyond here
4573. 	 * has the G_NOGEN and M2_NOPOLY attributes.
4574. 	 */
4575. 
4576. /*
4577.  * KMH -- Monsters of the aligned key quests
4578.  */
4579.     MON("Nightmare", S_UNICORN, 
4580. 	LVL(12, 24, -2, 70, 15), (G_UNIQ|G_NOGEN|G_NOCORPSE),
4581. 	A(ATTK(AT_BUTT, AD_PHYS, 3, 12), ATTK(AT_KICK, AD_PHYS, 3, 6),
4582. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4583. 	SIZ(1500, 300, 0, MS_NEIGH, MZ_LARGE),
4584. 	MR_POISON|MR_FIRE|MR_COLD|MR_ELEC|MR_HITASTWO,
4585. 	MR_POISON|MR_FIRE|MR_COLD|MR_ELEC,
4586. 	M1_ANIMAL|M1_NOHANDS|M1_HERBIVORE,
4587. 	M2_NOPOLY|M2_PNAME|M2_FEMALE|M2_HOSTILE|M2_NASTY|M2_STALK|
4588. 	M2_WANDER|M2_STRONG,
4589. 	M3_WAITFORU|M3_WANTSALL, CLR_RED),
4590.     MON("Beholder", S_EYE, 
4591. 	LVL(15, 9, -4, 70, 0), (G_UNIQ|G_NOGEN|G_NOCORPSE),
4592. 	A(ATTK(AT_GAZE, AD_DETH, 1, 4), ATTK(AT_GAZE, AD_PHYS, 3, 8),
4593. 	  ATTK(AT_GAZE, AD_STUN, 1, 3), ATTK(AT_GAZE, AD_CONF, 1, 3),
4594. 	  ATTK(AT_GAZE, AD_SLEE, 1, 4), NO_ATTK),
4595. 	SIZ(500, 100, 0, MS_SILENT, MZ_LARGE),
4596. 	0, 0,
4597. 	M1_FLY|M1_NOLIMBS|M1_NOHEAD|M1_REGEN,
4598. 	M2_NOPOLY|M2_NEUTER|M2_HOSTILE|M2_NASTY|M2_STALK,
4599. 	M3_INFRAVISIBLE|M3_WAITFORU|M3_WANTSALL, CLR_GRAY),
4600.     MON("Vecna", S_LICH, 
4601. 	LVL(49, 9, -8, 90, -15), (G_UNIQ|G_NOGEN|G_NOCORPSE),
4602. 	A(ATTK(AT_TUCH, AD_COLD, 9, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0),
4603. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4604. 	SIZ(1200, 100, 0, MS_MUMBLE, MZ_HUMAN),
4605. 	MR_FIRE|MR_COLD|MR_SLEEP|MR_POISON|MR_STONE|MR_PLUSFOUR,
4606. 	MR_FIRE|MR_COLD,
4607. 	M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN,
4608. 	M2_NOPOLY|M2_PNAME|M2_PRINCE|M2_MALE|M2_HOSTILE|M2_NASTY|M2_STALK|
4609. 	M2_GREEDY|M2_JEWELS|M2_COLLECT|M2_UNDEAD|M2_STRONG|M2_MAGIC,
4610. 	M3_WAITFORU|M3_WANTSALL, HI_LORD),
4611. 
4612. /* WAC fixed so all classes have G_NOGEN only, level 10 */
4613. /*
4614.  * character classes
4615.  */
4616.     MON("archeologist", S_HUMAN,
4617. 	LVL(10, 12, 10, 1, 3), G_NOGEN,
4618. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
4619. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4620. 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
4621. 	M1_HUMANOID|M1_TUNNEL|M1_NEEDPICK|M1_OMNIVORE,
4622. 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, HI_DOMESTIC),
4623.     MON("barbarian", S_HUMAN,
4624. 	LVL(10, 12, 10, 1, 0), G_NOGEN,
4625. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
4626. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4627. 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), MR_POISON, 0,
4628. 	M1_HUMANOID|M1_OMNIVORE,
4629. 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, HI_DOMESTIC),
4630.     MON("caveman", S_HUMAN,
4631. 	LVL(10, 12, 10, 0, 1), G_NOGEN,
4632. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4),
4633. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4634. 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
4635. 	M1_HUMANOID|M1_OMNIVORE,
4636. 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_MALE|M2_COLLECT, M3_INFRAVISIBLE,
4637. 	HI_DOMESTIC),
4638.     MON("cavewoman", S_HUMAN,
4639. 	LVL(10, 12, 10, 0, 1), G_NOGEN,
4640. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4),
4641. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4642. 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
4643. 	M1_HUMANOID|M1_OMNIVORE,
4644. 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_FEMALE|M2_COLLECT, M3_INFRAVISIBLE,
4645. 	HI_DOMESTIC),
4646.     MON("flame mage", S_HUMAN, 
4647.         LVL(10, 12, 10, 3, 0), G_NOGEN,
4648. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
4649. 	  ATTK(AT_MAGC, AD_SPEL, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK),
4650. 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
4651. 	M1_HUMANOID|M1_OMNIVORE,
4652. 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT|M2_MAGIC|M2_HOSTILE,
4653. 	M3_INFRAVISIBLE, CLR_RED),
4654.     MON("healer", S_HUMAN,
4655. 	LVL(10, 12, 10, 1, 0), G_NOGEN,
4656. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
4657. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4658. 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), MR_POISON, 0,
4659. 	M1_HUMANOID|M1_OMNIVORE,
4660. 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, HI_DOMESTIC),
4661.     MON("ice mage", S_HUMAN, 
4662.         LVL(10, 12, 10, 3, 0), G_NOGEN,
4663. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
4664. 	  ATTK(AT_MAGC, AD_SPEL, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK),
4665. 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
4666. 	M1_HUMANOID|M1_OMNIVORE,
4667. 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT|M2_MAGIC|M2_HOSTILE,
4668. 	M3_INFRAVISIBLE, CLR_WHITE),
4669.     MON("knight", S_HUMAN,
4670. 	LVL(10, 12, 10, 1, 3), G_NOGEN,
4671. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
4672. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4673. 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
4674. 	M1_HUMANOID|M1_OMNIVORE,
4675. 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, HI_DOMESTIC),
4676.     MON("monk", S_HUMAN, 
4677. 	LVL(10, 12, 10, 2, 0), G_NOGEN,
4678. 	A(ATTK(AT_CLAW, AD_PHYS, 1, 8), ATTK(AT_KICK, AD_PHYS, 1, 8),
4679. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4680. 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
4681. 	M1_HUMANOID|M1_HERBIVORE,
4682. 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT|M2_MALE,
4683. 	M3_INFRAVISIBLE, HI_DOMESTIC),
4684.     MON("necromancer", S_HUMAN, 
4685.         LVL(10, 12, 10, 3, 0), G_NOGEN,
4686. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0), 
4687. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4688. 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
4689. 	M1_HUMANOID|M1_OMNIVORE,
4690. 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT|M2_MAGIC|M2_HOSTILE,
4691. 	M3_INFRAVISIBLE, CLR_BLACK),
4692.     MON("priest", S_HUMAN,
4693. 	LVL(10, 12, 10, 2, 0), G_NOGEN,
4694. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
4695. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4696. 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
4697. 	M1_HUMANOID|M1_OMNIVORE,
4698. 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_MALE|M2_COLLECT, M3_INFRAVISIBLE,
4699. 	HI_DOMESTIC),
4700.     MON("priestess", S_HUMAN,
4701. 	LVL(10, 12, 10, 2, 0), G_NOGEN,
4702. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
4703. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4704. 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
4705. 	M1_HUMANOID|M1_OMNIVORE,
4706. 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_FEMALE|M2_COLLECT, M3_INFRAVISIBLE,
4707. 	HI_DOMESTIC),
4708.     MON("ranger", S_HUMAN,
4709. 	LVL(10, 12, 10, 2, -3), G_NOGEN,
4710. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 4),
4711. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4712. 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
4713. 	M1_HUMANOID|M1_OMNIVORE,
4714. 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE,
4715. 	HI_DOMESTIC),
4716.     MON("rogue", S_HUMAN,
4717. 	LVL(10, 12, 10, 1, -3), G_NOGEN,
4718. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
4719. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4720. 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
4721. 	M1_HUMANOID|M1_OMNIVORE,
4722. 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT,
4723. 	M3_INFRAVISIBLE, HI_DOMESTIC),
4724.     MON("samurai", S_HUMAN,
4725. 	LVL(10, 12, 10, 1, 3), G_NOGEN,
4726. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 8),
4727. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4728. 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
4729. 	M1_HUMANOID|M1_OMNIVORE,
4730. 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, HI_DOMESTIC),
4731. #ifdef TOURIST
4732.     MON("tourist", S_HUMAN,
4733. 	LVL(10, 12, 10, 1, 0), G_NOGEN,
4734. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
4735. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4736. 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
4737. 	M1_HUMANOID|M1_OMNIVORE,
4738. 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, HI_DOMESTIC),
4739. #endif
4740.     MON("undead slayer", S_HUMAN, 
4741.         LVL(10, 10, 10, 1, -1), G_NOGEN,
4742. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK,
4743. 	  NO_ATTK, NO_ATTK, NO_ATTK),
4744. 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), MR_DRAIN, 0,
4745. 	M1_HUMANOID|M1_OMNIVORE,
4746. 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_FEMALE|M2_COLLECT|M2_HOSTILE,
4747. 	M3_INFRAVISIBLE, CLR_BLACK),
4748.     MON("valkyrie", S_HUMAN,
4749. 	LVL(10, 12, 10, 1, -1), G_NOGEN,
4750. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 8),
4751. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4752. 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), MR_COLD, 0,
4753. 	M1_HUMANOID|M1_OMNIVORE,
4754. 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_FEMALE|M2_COLLECT, M3_INFRAVISIBLE,
4755. 	HI_DOMESTIC),
4756. #ifdef YEOMAN
4757.     MON("yeoman", S_HUMAN,
4758. 	LVL(10, 10, 10, 1, 3), G_NOGEN,
4759. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
4760. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4761. 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
4762. 	M1_HUMANOID|M1_OMNIVORE,
4763. 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE,
4764. 	HI_DOMESTIC),
4765. #endif
4766. 	/* Wizard should be last.  Sigh. */
4767.     MON("wizard", S_HUMAN,
4768. 	LVL(10, 12, 10, 3, 0), G_NOGEN,
4769. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
4770. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4771. 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
4772. 	M1_HUMANOID|M1_OMNIVORE,
4773. 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT|M2_MAGIC, M3_INFRAVISIBLE,
4774. 	HI_DOMESTIC),
4775. /*
4776.  * quest leaders
4777.  */
4778.     MON("Lord Carnarvon", S_HUMAN,
4779. 	LVL(20, 12, 0, 30, 20), (G_NOGEN|G_UNIQ),
4780. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
4781. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4782. 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0,
4783. 	M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID|M1_OMNIVORE,
4784. 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE|
4785. 	  M2_COLLECT|M2_MAGIC,
4786. 	M3_CLOSE|M3_INFRAVISIBLE, HI_LORD),
4787.     MON("Pelias", S_HUMAN,
4788. 	LVL(20, 12, 0, 30, 0), (G_NOGEN|G_UNIQ),
4789. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
4790. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4791. 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), MR_POISON, 0,
4792. 	M1_HUMANOID|M1_OMNIVORE,
4793. 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE|
4794. 	  M2_COLLECT|M2_MAGIC,
4795. 	M3_CLOSE|M3_INFRAVISIBLE, HI_LORD),
4796.     MON("Shaman Karnov", S_HUMAN,
4797. 	LVL(20, 12, 0, 30, 20), (G_NOGEN|G_UNIQ),
4798. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4),
4799. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4800. 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0,
4801. 	M1_HUMANOID|M1_OMNIVORE,
4802. 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE|
4803. 	  M2_COLLECT|M2_MAGIC,
4804. 	M3_CLOSE|M3_INFRAVISIBLE, HI_LORD),
4805. #if 0	/* OBSOLETE */
4806.     MON("Master Shifter", S_HUMAN, 
4807. 	LVL(20, 12, 0, 30, 0), (G_NOGEN|G_UNIQ),
4808. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4), 
4809. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4810. 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), MR_HITASFOUR, 0,
4811. 	M1_HUMANOID|M1_OMNIVORE,
4812. 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE|
4813. 	M2_COLLECT|M2_MAGIC,
4814. 	M3_CLOSE, HI_LORD),
4815. #ifdef DWARF
4816.     MON("Thorin", S_HUMANOID,
4817. 	LVL(20, 12, 0, 30, 20), (G_NOGEN|G_UNIQ),
4818. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6), 
4819. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4820. 	SIZ(900, 300, 0, MS_LEADER, MZ_HUMAN), 0, 0,
4821. 	M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID|M1_OMNIVORE,
4822. 	M2_DWARF|M2_STRONG|M2_NOPOLY|M2_PNAME|M2_MALE|M2_GREEDY|
4823. 	  M2_JEWELS|M2_COLLECT|M2_MAGIC|M2_PEACEFUL,
4824. 	M3_CLOSE, HI_LORD),
4825. #endif
4826. 	/* Two for elves - one of each sex.
4827. 	 */
4828.     MON("Earendil", S_HUMAN,
4829. 	LVL(20, 12, 0, 50, 20), (G_NOGEN|G_UNIQ),
4830. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8),
4831. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4832. 	SIZ(WT_ELF, 350, 0, MS_LEADER, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
4833. 	M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE,
4834. 	M2_NOPOLY|M2_ELF|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|
4835. 	  M2_MALE|M2_COLLECT|M2_MAGIC,
4836. 	M3_CLOSE|M3_INFRAVISION|M3_INFRAVISIBLE, HI_LORD),
4837.     MON("Elwing", S_HUMAN,
4838. 	LVL(20, 12, 0, 50, 20), (G_NOGEN|G_UNIQ),
4839. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8),
4840. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4841. 	SIZ(WT_ELF, 350, 0, MS_LEADER, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
4842. 	M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE,
4843. 	M2_NOPOLY|M2_ELF|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|
4844. 	  M2_FEMALE|M2_COLLECT|M2_MAGIC,
4845. 	M3_CLOSE|M3_INFRAVISION|M3_INFRAVISIBLE, HI_LORD),
4846. #endif	/* 0 */
4847.     MON("High Flame Mage", S_HUMAN, 
4848. 	LVL(20, 12, 0, 40, 0), (G_NOGEN|G_UNIQ),
4849. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
4850. 	  ATTK(AT_MAGC, AD_SPEL, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK),
4851. 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), MR_POISON|MR_HITASFOUR, 
4852. 	MR_POISON, M1_HUMANOID|M1_OMNIVORE,
4853. 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE|
4854. 	M2_COLLECT|M2_MAGIC, M3_CLOSE|M3_INFRAVISIBLE, HI_LORD),
4855.     MON("Hippocrates", S_HUMAN,
4856. 	LVL(20, 12, 0, 40, 0), (G_NOGEN|G_UNIQ),
4857. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
4858. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4859. 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), MR_POISON, 0,
4860. 	M1_HUMANOID|M1_OMNIVORE,
4861. 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE|
4862. 	  M2_COLLECT|M2_MAGIC,
4863. 	M3_CLOSE, HI_LORD),
4864. #if 0	/* OBSOLETE */
4865.     MON("Bilbo Baggins", S_HUMANOID,
4866. 	LVL(20, 9, MARM(10,7), 0, 6), (G_NOGEN|G_UNIQ),
4867. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8),
4868. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4869. 	SIZ(500, 200, 0, MS_LEADER, MZ_SMALL), 0, 0,
4870. 	M1_HUMANOID|M1_OMNIVORE,
4871. 	M2_NOPOLY|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE|M2_COLLECT|M2_MAGIC|
4872. 	M2_HOBBIT, M3_CLOSE, HI_LORD),
4873. #endif	/* 0 */
4874.     MON("High Ice Mage", S_HUMAN, 
4875. 	LVL(20, 12, 0, 40, 0), (G_NOGEN|G_UNIQ),
4876. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
4877. 	  ATTK(AT_MAGC, AD_SPEL, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK),
4878. 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), MR_POISON|MR_HITASFOUR, 
4879. 	MR_POISON, M1_HUMANOID|M1_OMNIVORE,
4880. 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE|
4881. 	M2_COLLECT|M2_MAGIC, M3_CLOSE|M3_INFRAVISIBLE, HI_LORD),
4882.     MON("King Arthur", S_HUMAN,
4883. 	LVL(20, 12, 0, 40, 20), (G_NOGEN|G_UNIQ),
4884. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
4885. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4886. 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0,
4887. 	M1_HUMANOID|M1_OMNIVORE,
4888. 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE|
4889. 	  M2_COLLECT|M2_MAGIC,
4890. 	M3_CLOSE|M3_INFRAVISIBLE, HI_LORD),
4891. #if 0	/* OBSOLETE */
4892.     MON("High Lycanthrope", S_HUMAN, 
4893. 	LVL(20, 12, 0, 40, -20), (G_NOGEN|G_UNIQ),
4894. 	A(ATTK(AT_BITE, AD_PHYS, 3, 6), ATTK(AT_BITE, AD_PHYS, 3, 6), 
4895. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4896. 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), MR_POISON|MR_HITASFOUR, 
4897. 	MR_POISON, M1_HUMANOID|M1_OMNIVORE,
4898. 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE|
4899. 	M2_COLLECT|M2_MAGIC, M3_CLOSE|M3_INFRAVISIBLE, HI_LORD),
4900. #endif	/* 0 */
4901.     MON("Grand Master", S_HUMAN,
4902. 	LVL(25, 12, 0, 70, 0), (G_NOGEN|G_UNIQ),
4903. 	A(ATTK(AT_CLAW, AD_PHYS, 4, 10), ATTK(AT_KICK, AD_PHYS, 2, 8),
4904. 	  ATTK(AT_MAGC, AD_CLRC, 2, 8), ATTK(AT_MAGC, AD_CLRC, 2, 8),
4905. 	  NO_ATTK, NO_ATTK),
4906. 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN),
4907. 	MR_FIRE|MR_ELEC|MR_SLEEP|MR_POISON, 0,
4908. 	M1_HUMANOID|M1_SEE_INVIS|M1_HERBIVORE,
4909. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_NASTY|M2_MAGIC,
4910. 	M3_CLOSE|M3_INFRAVISIBLE, CLR_BLACK),
4911.     MON("Dark Lord", S_HUMAN, 
4912. 	LVL(20, 12, 0, 60, -20), (G_NOGEN|G_UNIQ),
4913. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK,
4914. 	  NO_ATTK, NO_ATTK, NO_ATTK),
4915. 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), MR_HITASFOUR, 0,
4916. 	M1_HUMANOID|M1_OMNIVORE,
4917. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|
4918. 	M2_COLLECT|M2_MAGIC, M3_CLOSE, HI_LORD),
4919.     MON("Arch Priest", S_HUMAN,
4920. 	LVL(25, 12, 7, 70, 0), (G_NOGEN|G_UNIQ),
4921. 	A(ATTK(AT_WEAP, AD_PHYS, 4,10), ATTK(AT_KICK, AD_PHYS, 2, 8),
4922. 	  ATTK(AT_MAGC, AD_CLRC, 2, 8), ATTK(AT_MAGC, AD_CLRC, 2, 8),
4923. 	  NO_ATTK, NO_ATTK),
4924. 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN),
4925. 	MR_FIRE|MR_ELEC|MR_SLEEP|MR_POISON, 0,
4926. 	M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE,
4927. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT|M2_MAGIC,
4928. 	M3_CLOSE|M3_INFRAVISIBLE, CLR_WHITE),
4929.     MON("Orion", S_HUMAN,
4930. 	LVL(20, 12, 0, 30, 0), (G_NOGEN|G_UNIQ),
4931. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
4932. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4933. 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0,
4934. 	M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS|M1_SWIM|M1_AMPHIBIOUS,
4935. 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE|
4936. 	  M2_COLLECT|M2_MAGIC,
4937. 	M3_CLOSE|M3_INFRAVISION|M3_INFRAVISIBLE, HI_LORD),
4938. 	/* Note: Master of Thieves is also the Tourist's nemesis.
4939. 	 */
4940.     MON("Master of Thieves", S_HUMAN,
4941. 	LVL(20, 12, 0, 30, -20), (G_NOGEN|G_UNIQ),
4942. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6),
4943. 	  ATTK(AT_CLAW, AD_SAMU, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK),
4944. 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), MR_STONE, 0,
4945. 	M1_HUMANOID|M1_OMNIVORE,
4946. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_MALE|M2_GREEDY|
4947. 	  M2_JEWELS|M2_COLLECT|M2_MAGIC,
4948. 	M3_CLOSE|M3_INFRAVISIBLE, HI_LORD),
4949.     MON("Lord Sato", S_HUMAN,
4950. 	LVL(20, 12, 0, 30, 20), (G_NOGEN|G_UNIQ),
4951. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 6),
4952. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4953. 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0,
4954. 	M1_HUMANOID|M1_OMNIVORE,
4955. 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE|
4956. 	  M2_COLLECT|M2_MAGIC,
4957. 	M3_CLOSE|M3_INFRAVISIBLE, HI_LORD),
4958. #ifdef TOURIST
4959.     MON("Twoflower", S_HUMAN,
4960. 	LVL(20, 12, 10, 20, 0), (G_NOGEN|G_UNIQ),
4961. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
4962. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4963. 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0,
4964. 	M1_HUMANOID|M1_OMNIVORE,
4965. 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE|
4966. 	  M2_COLLECT|M2_MAGIC,
4967. 	M3_CLOSE|M3_INFRAVISIBLE, HI_DOMESTIC),
4968. #endif
4969.     MON("Van Helsing", S_HUMAN, 
4970. 	LVL(20, 12, 0, 40, 20), (G_NOGEN|G_UNIQ),
4971. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6), 
4972. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4973. 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), MR_HITASFOUR, 0,
4974. 	M1_HUMANOID|M1_OMNIVORE,
4975. 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE|
4976. 	M2_COLLECT|M2_MAGIC, M3_CLOSE, HI_LORD),
4977.     MON("Norn", S_HUMAN,
4978. 	LVL(20, 12, 0, 80, 0), (G_NOGEN|G_UNIQ),
4979. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 6),
4980. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4981. 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), MR_COLD, 0,
4982. 	M1_HUMANOID|M1_OMNIVORE,
4983. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_FEMALE|
4984. 	  M2_COLLECT|M2_MAGIC,
4985. 	M3_CLOSE|M3_INFRAVISIBLE, HI_LORD),
4986.     MON("Neferet the Green", S_HUMAN,
4987. 	LVL(20, 12, 0, 60, 0), (G_NOGEN|G_UNIQ),
4988. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_SPEL, 2, 8),
4989. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
4990. 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0,
4991. 	M1_HUMANOID|M1_OMNIVORE,
4992. 	M2_NOPOLY|M2_HUMAN|M2_FEMALE|M2_PNAME|M2_PEACEFUL|
4993. 	  M2_STRONG|M2_COLLECT|M2_MAGIC,
4994. 	M3_CLOSE|M3_INFRAVISIBLE, CLR_GREEN),
4995. #if 0	/* OBSOLETE */
4996.     MON("Lolth", S_SPIDER, 
4997. 	LVL(20, 15, 0, 50, -20), (G_NOGEN|G_UNIQ),
4998. 	A(ATTK(AT_BITE, AD_DRST, 5, 8), NO_ATTK, NO_ATTK,
4999. 	  NO_ATTK, NO_ATTK, NO_ATTK),
5000. 	SIZ(WT_ELF, 350, 0, MS_LEADER, MZ_HUMAN), MR_SLEEP|MR_HITASFOUR, 
5001. 	MR_SLEEP, M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE,
5002. 	M2_NOPOLY|M2_ELF|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|
5003. 	M2_FEMALE|M2_COLLECT|M2_MAGIC, M3_CLOSE, HI_LORD),
5004. #endif
5005. #ifdef YEOMAN
5006.     MON("Chief Yeoman Warder", S_HUMAN,
5007. 	LVL(20, 12, 0, 40, 20), (G_NOGEN|G_UNIQ),
5008. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
5009. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
5010. 	SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0,
5011. 	M1_HUMANOID|M1_OMNIVORE,
5012. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_MALE|M2_COLLECT|M2_MAGIC,
5013. 	M3_CLOSE, HI_LORD),
5014. #endif
5015. 
5016. /*
5017.  * quest nemeses
5018.  */
5019.     MON("Minion of Huhetotl", S_DEMON,
5020. 	LVL(16, 12, -2, 75, -14), (G_NOCORPSE|G_NOGEN|G_UNIQ),
5021. 	A(ATTK(AT_WEAP, AD_PHYS, 8, 4), ATTK(AT_WEAP, AD_PHYS, 4, 6),
5022. 	  ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_CLAW, AD_SAMU, 2, 6),
5023. 	  NO_ATTK, NO_ATTK),
5024. 	SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_LARGE),
5025. 	MR_FIRE|MR_POISON|MR_STONE, 0, M1_FLY|M1_SEE_INVIS|M1_POIS,
5026. 	M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_COLLECT,
5027. 	M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISION|M3_INFRAVISIBLE, CLR_RED),
5028.     MON("Thoth Amon", S_HUMAN,
5029. 	LVL(16, 12, 0, 10, -14), (G_NOGEN|G_UNIQ|G_NOCORPSE),
5030. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0),
5031. 	  ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_CLAW, AD_SAMU, 1, 4),
5032. 	  NO_ATTK, NO_ATTK),
5033. 	SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN), MR_POISON|MR_STONE, 0,
5034. 	M1_HUMANOID|M1_OMNIVORE,
5035. 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_STRONG|M2_MALE|M2_STALK|M2_HOSTILE|
5036. 	  M2_NASTY|M2_COLLECT|M2_MAGIC,
5037. 	M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD),
5038. 	/* Multi-headed, possessing the breath attacks of all the other dragons
5039. 	 * (selected at random when attacking).
5040. 	 */
5041.     MON("Chromatic Dragon", S_DRAGON,
5042. 	LVL(16, 12, 0, 30, -14), (G_NOGEN|G_UNIQ),
5043. 	A(ATTK(AT_BREA, AD_RBRE, 6, 8), ATTK(AT_MAGC, AD_SPEL, 0, 0),
5044. 	  ATTK(AT_CLAW, AD_SAMU, 2, 8), ATTK(AT_BITE, AD_PHYS, 4, 8),
5045. 	  ATTK(AT_BITE, AD_PHYS, 4, 8), ATTK(AT_STNG, AD_PHYS, 1, 6)),
5046. 	SIZ(WT_DRAGON, 1700, 0, MS_NEMESIS, MZ_GIGANTIC),
5047. 	MR_FIRE|MR_COLD|MR_SLEEP|MR_DISINT|MR_ELEC|MR_POISON|MR_ACID|MR_STONE,
5048. 	MR_FIRE|MR_COLD|MR_SLEEP|MR_DISINT|MR_ELEC|MR_POISON|MR_STONE,
5049. 	M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE|M1_SEE_INVIS|M1_POIS,
5050. 	M2_NOPOLY|M2_HOSTILE|M2_FEMALE|M2_STALK|M2_STRONG|M2_NASTY|
5051. 	  M2_GREEDY|M2_JEWELS|M2_MAGIC,
5052. 	M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD),
5053. #if 0	/* OBSOLETE */
5054.     MON("Transmuter", S_HUMAN, 
5055. 	LVL(25, 10, -10, 30, -20), (G_NOGEN|G_UNIQ),
5056. 	A(ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_MAGC, AD_SPEL, 0, 0),
5057. 	  ATTK(AT_CLAW, AD_SAMU, 2, 8), ATTK(AT_CLAW, AD_SAMU, 2, 8),
5058. 	  ATTK(AT_CLAW, AD_SAMU, 2, 8), ATTK(AT_CLAW, AD_SAMU, 2, 8)),
5059. 	SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN),
5060. 	MR_DEATH|MR_FIRE|MR_COLD|MR_ELEC|MR_POISON|MR_HITASFOUR,
5061. 	MR_FIRE|MR_COLD|MR_ELEC|MR_POISON,
5062. 	M1_CARNIVORE|M1_SEE_INVIS,
5063. 	M2_NOPOLY|M2_HOSTILE|M2_PNAME|M2_STALK|
5064. 	M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC,
5065. 	M3_WANTSARTI|M3_WAITFORU, HI_LORD),
5066. #ifdef DWARF
5067.     MON("Smaug", S_DRAGON,
5068. 	LVL(16, 10, 0, 20, -14), (G_NOGEN|G_UNIQ),
5069. 	A(ATTK(AT_BREA, AD_FIRE, 6, 8), ATTK(AT_BREA, AD_FIRE, 2, 6),
5070. 	  ATTK(AT_CLAW, AD_SAMU, 2, 8), ATTK(AT_BITE, AD_PHYS, 1, 6),
5071. 	  ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4)),
5072. 	SIZ(WT_DRAGON, 1800, 0, MS_NEMESIS, MZ_GIGANTIC),
5073. 	MR_FIRE, MR_FIRE,
5074. 	M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE|M1_FLY,
5075. 	M2_NOPOLY|M2_PNAME|M2_HOSTILE|M2_MALE|M2_STALK|M2_STRONG|M2_NASTY|
5076. 	  M2_GREEDY|M2_JEWELS|M2_MAGIC,
5077. 	M3_WANTSARTI|M3_WAITFORU, CLR_RED),
5078. #endif
5079.     MON("Goblin King", S_ORC,
5080. 	LVL(15, 12, 10, 0, -15), (G_NOGEN|G_UNIQ),
5081. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6),
5082. 	  ATTK(AT_CLAW, AD_SAMU, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK),
5083. 	SIZ(750, 350, 0, MS_NEMESIS, MZ_HUMAN), 0, 0,
5084. 	M1_HUMANOID|M1_OMNIVORE,
5085. 	M2_NOPOLY|M2_ORC|M2_HOSTILE|M2_STRONG|M2_STALK|M2_NASTY|M2_MALE|
5086. 	  M2_GREEDY|M2_JEWELS|M2_COLLECT|M2_MAGIC,
5087. 	M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISION|M3_INFRAVISIBLE, HI_LORD),
5088. #endif	/* 0 */
5089.     MON("Water Mage", S_HUMAN, 
5090. 	LVL(25, 10, -10, 10, 20), (G_NOGEN|G_UNIQ),
5091. 	A(ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_MAGC, AD_SPEL, 0, 0),
5092. 	  ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_SAMU, 1, 4),
5093. 	  NO_ATTK, NO_ATTK),
5094. 	SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN), MR_DEATH|MR_POISON|
5095. 	MR_HITASFOUR, MR_POISON, M1_HUMANOID|M1_OMNIVORE,
5096. 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_STALK|M2_HOSTILE|M2_NASTY|
5097. 	M2_COLLECT|M2_MAGIC, M3_WANTSARTI|M3_WAITFORU, HI_LORD),
5098. #if 0	/* OBSOLETE */
5099.     MON("Lareth", S_HUMAN, 
5100. 	LVL(25, 15, 0, 50, 20), (G_NOGEN|G_UNIQ),
5101. 	A(ATTK(AT_WEAP, AD_PHYS, 4, 8), ATTK(AT_WEAP, AD_SLEE, 2, 5),
5102. 	  ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_MAGC, AD_SPEL, 0, 0),
5103. 	  NO_ATTK, NO_ATTK),
5104. 	SIZ(WT_ELF, 350, 0, MS_NEMESIS, MZ_HUMAN), MR_SLEEP|MR_HITASFOUR|
5105. 	MR_DEATH, MR_SLEEP, M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE,
5106. 	M2_NOPOLY|M2_ELF|M2_HUMAN|M2_STRONG|M2_PNAME|M2_HOSTILE|M2_NASTY|
5107. 	M2_MALE|M2_COLLECT|M2_JEWELS|M2_MAGIC|M2_STALK,
5108. 	M3_WANTSARTI|M3_WAITFORU, CLR_BLACK),
5109. #endif
5110.     MON("Cyclops", S_GIANT,
5111. 	LVL(18, 12, 0, 0, -15), (G_NOGEN|G_UNIQ),
5112. 	A(ATTK(AT_WEAP, AD_PHYS, 4, 8), ATTK(AT_WEAP, AD_PHYS, 4, 8),
5113. 	  ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
5114. 	SIZ(1900, 700, 0, MS_NEMESIS, MZ_HUGE), MR_STONE, 0,
5115. 	M1_HUMANOID|M1_OMNIVORE,
5116. 	M2_NOPOLY|M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_STALK|M2_HOSTILE|
5117. 	  M2_NASTY|M2_MALE|M2_JEWELS|M2_COLLECT,
5118. 	M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISION|M3_INFRAVISIBLE, CLR_GRAY),
5119. #if 0	/* OBSOLETE */
5120.     MON("Gollum", S_HUMANOID,
5121. 	LVL(16, 10, -5, 0, -6), (G_NOGEN|G_UNIQ),
5122. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
5123. 	  ATTK(AT_TUCH, AD_DRST, 1, 2), NO_ATTK, NO_ATTK, NO_ATTK),
5124. 	SIZ(500, 200, 0, MS_NEMESIS, MZ_SMALL), MR_POISON, MR_POISON,
5125. 	M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS|M1_POIS,
5126. 	M2_NOPOLY|M2_PNAME|M2_STRONG|M2_STALK|M2_HOSTILE|M2_NASTY|
5127. 	M2_MALE|M2_COLLECT|M2_JEWELS|M2_MAGIC,
5128. 	M3_WANTSARTI|M3_WAITFORU, CLR_BLACK),
5129. #endif
5130.     MON("Earth Mage", S_HUMAN, 
5131. 	LVL(25, 10, -10, 10, 20), (G_NOGEN|G_UNIQ),
5132. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0),
5133. 	  ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_CLAW, AD_SAMU, 1, 4),
5134. 	  NO_ATTK, NO_ATTK),
5135. 	SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN), MR_DEATH|MR_POISON|
5136. 	MR_HITASFOUR, MR_POISON, M1_HUMANOID|M1_OMNIVORE,
5137. 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_STALK|M2_HOSTILE|M2_NASTY|
5138. 	M2_COLLECT|M2_MAGIC, M3_WANTSARTI|M3_WAITFORU, HI_LORD),
5139.     MON("Ixoth", S_DRAGON,
5140. 	LVL(15, 12, -1, 20, -14), (G_NOGEN|G_UNIQ),
5141. 	A(ATTK(AT_BREA, AD_FIRE, 8, 6), ATTK(AT_BITE, AD_PHYS, 4, 8),
5142. 	  ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_CLAW, AD_PHYS, 2, 4),
5143. 	  ATTK(AT_CLAW, AD_SAMU, 2, 4), NO_ATTK ),
5144. 	SIZ(WT_DRAGON, 1600, 0, MS_NEMESIS, MZ_GIGANTIC),
5145. 	MR_FIRE|MR_STONE, MR_FIRE,
5146. 	M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE|M1_SEE_INVIS,
5147. 	M2_NOPOLY|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_STALK|
5148. 	  M2_GREEDY|M2_JEWELS|M2_MAGIC,
5149. 	M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, CLR_RED),
5150. #if 0	/* OBSOLETE */
5151.     MON("Sir Lorimar", S_HUMAN, 
5152. 	LVL(25, 15, -10, 40, -20), (G_NOGEN|G_UNIQ),
5153. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6),
5154. 	  ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
5155. 	SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN), MR_DEATH|MR_HITASFOUR, 0,
5156. 	M1_HUMANOID|M1_OMNIVORE,
5157. 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_PNAME|M2_HOSTILE|M2_STALK|
5158. 	M2_NASTY|M2_MALE|M2_COLLECT|M2_MAGIC,
5159. 	M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD),
5160. #endif
5161.     MON("Master Kaen", S_HUMAN,
5162. 	LVL(25, 12, -10, 10, -20), (G_NOGEN|G_UNIQ),
5163. 	A(ATTK(AT_CLAW, AD_PHYS, 16, 2), ATTK(AT_CLAW, AD_PHYS, 16, 2),
5164. 	  ATTK(AT_MAGC, AD_CLRC, 0, 0), ATTK(AT_CLAW, AD_SAMU, 1, 4),
5165. 	  NO_ATTK, NO_ATTK),
5166. 	SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN),
5167. 	MR_POISON|MR_STONE, MR_POISON,
5168. 	M1_HUMANOID|M1_HERBIVORE|M1_SEE_INVIS,
5169. 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_NASTY|
5170. 	  M2_STALK|M2_COLLECT|M2_MAGIC,
5171. 	M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD),
5172.     MON("Maugneshaagar", S_DEMON, 
5173. 	LVL(16, 10, -10, 85, -20), (G_NOGEN|G_UNIQ|G_NOCORPSE),
5174. 	A(ATTK(AT_WEAP, AD_PHYS, 8, 4), ATTK(AT_WEAP, AD_PHYS, 4, 6),
5175. 	  ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_CLAW, AD_SAMU, 2, 6),
5176. 	  NO_ATTK, NO_ATTK),
5177. 	SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_LARGE), MR_DEATH|MR_FIRE|
5178. 	MR_POISON|MR_HITASFOUR, 0, M1_FLY|M1_SEE_INVIS|M1_POIS,
5179. 	M2_NOPOLY|M2_DEMON|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_STALK|
5180. 	M2_NASTY|M2_COLLECT, M3_WANTSARTI|M3_WAITFORU, CLR_BLACK),
5181.     MON("Nalzok", S_DEMON,
5182. 	LVL(16, 12, -2, 85, -127), (G_NOGEN|G_UNIQ|G_NOCORPSE),
5183. 	A(ATTK(AT_WEAP, AD_PHYS, 8, 4), ATTK(AT_WEAP, AD_PHYS, 4, 6),
5184. 	  ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_CLAW, AD_SAMU, 2, 6),
5185. 	  NO_ATTK, NO_ATTK),
5186. 	SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_LARGE),
5187. 	MR_FIRE|MR_POISON|MR_STONE, 0, M1_FLY|M1_SEE_INVIS|M1_POIS,
5188. 	M2_NOPOLY|M2_DEMON|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_STALK|
5189. 	  M2_NASTY|M2_COLLECT,
5190. 	M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISION|M3_INFRAVISIBLE, CLR_RED),
5191.     MON("Scorpius", S_SPIDER,
5192. 	LVL(15, 12, 10, 0, -15), (G_NOGEN|G_UNIQ),
5193. 	A(ATTK(AT_CLAW, AD_PHYS, 2, 6), ATTK(AT_CLAW, AD_SAMU, 2, 6),
5194. 	  ATTK(AT_STNG, AD_DISE, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK),
5195. 	SIZ(750, 350, 0, MS_NEMESIS, MZ_HUMAN), MR_POISON|MR_STONE, MR_POISON,
5196. 	M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_POIS|M1_CARNIVORE,
5197. 	M2_NOPOLY|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_STALK|M2_NASTY|
5198. 	  M2_COLLECT|M2_MAGIC,
5199. 	M3_WANTSARTI|M3_WAITFORU, HI_LORD),
5200.     MON("Master Assassin", S_HUMAN,
5201. 	LVL(15, 12, 0, 30, 18), (G_NOGEN|G_UNIQ),
5202. 	A(ATTK(AT_WEAP, AD_DRST, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 8),
5203. 	  ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
5204. 	SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN), MR_STONE, 0,
5205. 	M1_HUMANOID|M1_OMNIVORE,
5206. 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_HOSTILE|M2_STALK|M2_NASTY|
5207. 	  M2_COLLECT|M2_MAGIC,
5208. 	M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD),
5209. 	/* A renegade daimyo who led a 13 year civil war against the shogun
5210. 	 * of his time.
5211. 	 */
5212.     MON("Ashikaga Takauji", S_HUMAN,
5213. 	LVL(15, 12, 0, 40, -13), (G_NOGEN|G_UNIQ|G_NOCORPSE),
5214. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6),
5215. 	  ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
5216. 	SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN), MR_STONE, 0,
5217. 	M1_HUMANOID|M1_OMNIVORE,
5218. 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_STALK|
5219. 	  M2_NASTY|M2_MALE|M2_COLLECT|M2_MAGIC,
5220. 	M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD),
5221. #ifdef TOURIST
5222. 	/*
5223. 	 * Note: the Master of Thieves was defined above.
5224. 	 */
5225. #endif
5226.     MON("Count Dracula", S_VAMPIRE, 
5227. 	LVL(25, 18, -8, 80, -10), (G_NOGEN|G_NOCORPSE|G_UNIQ),
5228. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6),
5229. 	  ATTK(AT_BITE, AD_DRLI, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
5230. 	SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN),
5231. 	MR_SLEEP|MR_POISON|MR_HITASFOUR, 0,
5232. 	M1_FLY|M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN,
5233. 	M2_NOPOLY|M2_UNDEAD|M2_VAMPIRE|M2_STALK|M2_HOSTILE|M2_PNAME|
5234. 	  M2_STRONG|M2_NASTY|M2_PRINCE|M2_MALE,
5235. 	M3_WAITFORU|M3_WANTSARTI, HI_LORD),
5236.     MON("Lord Surtur", S_GIANT,
5237. 	LVL(15, 12, 2, 50, 12), (G_NOGEN|G_UNIQ),
5238. 	A(ATTK(AT_WEAP, AD_PHYS, 2,10), ATTK(AT_WEAP, AD_PHYS, 2,10),
5239. 	  ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
5240. 	SIZ(2250, 850, 0, MS_NEMESIS, MZ_HUGE), MR_FIRE|MR_STONE, MR_FIRE,
5241. 	M1_HUMANOID|M1_OMNIVORE,
5242. 	M2_NOPOLY|M2_GIANT|M2_MALE|M2_PNAME|M2_HOSTILE|M2_STALK|
5243. 	  M2_STRONG|M2_NASTY|M2_ROCKTHROW|M2_JEWELS|M2_COLLECT,
5244. 	M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISION|M3_INFRAVISIBLE, HI_LORD),
5245.     MON("Dark One", S_HUMAN,
5246. 	LVL(15, 12, 0, 80, -10), (G_NOGEN|G_UNIQ|G_NOCORPSE),
5247. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
5248. 	  ATTK(AT_CLAW, AD_SAMU, 1, 4), ATTK(AT_MAGC, AD_SPEL, 0, 0),
5249. 	  NO_ATTK, NO_ATTK),
5250. 	SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN), MR_STONE, 0,
5251. 	M1_HUMANOID|M1_OMNIVORE,
5252. 	M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_HOSTILE|M2_STALK|M2_NASTY|
5253. 	  M2_COLLECT|M2_MAGIC,
5254. 	M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, CLR_BLACK),
5255. #ifdef YEOMAN
5256.     MON("Colonel Blood", S_HUMAN,
5257. 	LVL(20, 10, 5, 10, -10), (G_NOGEN|G_UNIQ),
5258. 	A(ATTK(AT_WEAP, AD_PHYS, 4, 6), ATTK(AT_WEAP, AD_PHYS, 4, 6),
5259. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
5260. 	SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN), MR_POISON, 0,
5261. 	M1_HUMANOID|M1_OMNIVORE,
5262. 	M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_STRONG|M2_MALE|M2_STALK|M2_HOSTILE|
5263. 	  M2_NASTY|M2_COLLECT|M2_MAGIC,
5264. 	M3_WANTSARTI|M3_WAITFORU, HI_LORD),
5265. #endif
5266. 
5267. /*
5268.  * quest "guardians"
5269.  */
5270.     MON("student", S_HUMAN,
5271. 	LVL(5, 12, 10, 10, 3), G_NOGEN,
5272. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
5273. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
5274. 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0,
5275. 	M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID|M1_OMNIVORE,
5276. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE,
5277. 	HI_DOMESTIC),
5278.     MON("chieftain", S_HUMAN,
5279. 	LVL(5, 12, 10, 10, 0), G_NOGEN,
5280. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
5281. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
5282. 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), MR_POISON, 0,
5283. 	M1_HUMANOID|M1_OMNIVORE,
5284. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE,
5285. 	HI_DOMESTIC),
5286.     MON("neanderthal", S_HUMAN,
5287. 	LVL(5, 12, 10, 10, 1), G_NOGEN,
5288. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4),
5289. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
5290. 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0,
5291. 	M1_HUMANOID|M1_OMNIVORE,
5292. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE,
5293. 	HI_DOMESTIC),
5294. #if 0	/* OBSOLETE */
5295.     MON("shifter", S_HUMAN, 
5296. 	LVL(5, 12, 0, 10, 0), G_NOGEN,
5297. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4),
5298. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
5299. 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), MR_HITASONE, 0,
5300. 	M1_HUMANOID|M1_OMNIVORE,
5301. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_COLLECT, 
5302. 	M3_INFRAVISIBLE, CLR_GRAY),
5303. #ifdef DWARF
5304.     MON("dwarf warrior", S_HUMANOID,
5305. 	LVL(5, 10, 10, 10, 5), G_NOGEN,
5306. 	A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4),
5307. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
5308. 	SIZ(900, 300, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0,
5309. 	M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID|M1_OMNIVORE,
5310. 	M2_DWARF|M2_STRONG|M2_NOPOLY|M2_MALE|M2_GREEDY|M2_JEWELS|
5311. 	  M2_COLLECT|M2_PEACEFUL,
5312. 	M3_INFRAVISION|M3_INFRAVISIBLE, HI_DOMESTIC),
5313. #endif
5314. #endif
5315.     MON("igniter", S_HUMAN, 
5316. 	LVL(5, 10, 10, 10, 3), G_NOGEN,
5317. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
5318. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
5319. 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), MR_POISON|MR_HITASONE, 
5320. 	MR_POISON, M1_HUMANOID|M1_OMNIVORE,
5321. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT,
5322. 	M3_INFRAVISIBLE, CLR_RED),
5323.     MON("froster", S_HUMAN, 
5324. 	LVL(5, 10, 10, 10, 3), G_NOGEN,
5325. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
5326. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
5327. 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), MR_POISON|MR_HITASONE, 
5328. 	MR_POISON, M1_HUMANOID|M1_OMNIVORE,
5329. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT,
5330. 	M3_INFRAVISIBLE, CLR_WHITE),
5331. #if 0	/* OBSOLETE */
5332.     MON("fiend", S_HUMAN, 
5333. 	LVL(5, 10, 10, 10, 3), G_NOGEN,
5334. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK,
5335. 	  NO_ATTK, NO_ATTK, NO_ATTK),
5336. 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), MR_POISON|MR_HITASONE, 
5337. 	MR_POISON, M1_HUMANOID|M1_OMNIVORE,
5338. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT,
5339. 	M3_INFRAVISION|M3_INFRAVISIBLE, CLR_ORANGE),
5340. #endif
5341.     MON("attendant", S_HUMAN,
5342. 	LVL(5, 12, 10, 10, 3), G_NOGEN,
5343. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6),
5344. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
5345. 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), MR_POISON, 0,
5346. 	M1_HUMANOID|M1_OMNIVORE,
5347. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE,
5348. 	HI_DOMESTIC),
5349. #if 0	/* OBSOLETE */
5350.     MON("proudfoot", S_HUMANOID,
5351. 	LVL(5, 9, MARM(10,7), 0, 6), G_NOGEN,
5352. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8),
5353. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
5354. 	SIZ(500, 200, 0, MS_GUARDIAN, MZ_SMALL), 0, 0,
5355. 	M1_HUMANOID|M1_OMNIVORE,
5356. 	M2_NOPOLY|M2_PEACEFUL|M2_COLLECT|M2_HOBBIT, 
5357. 	M3_INFRAVISION|M3_INFRAVISIBLE, HI_DOMESTIC),
5358.     MON("intern", S_HUMAN, 
5359. 	LVL(5, 10, 10, 10, 3), G_NOGEN,
5360. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK,
5361. 	  NO_ATTK, NO_ATTK, NO_ATTK),
5362. 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), MR_POISON|MR_HITASONE, 
5363. 	MR_POISON, M1_HUMANOID|M1_OMNIVORE,
5364. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT,
5365. 	M3_INFRAVISIBLE, HI_DOMESTIC),
5366. #endif
5367.     MON("page", S_HUMAN,
5368. 	LVL(5, 12, 10, 10, 3), G_NOGEN,
5369. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
5370. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
5371. 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0,
5372. 	M1_HUMANOID|M1_OMNIVORE,
5373. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE,
5374. 	HI_DOMESTIC),
5375.     MON("abbot", S_HUMAN, 
5376. 	LVL(5, 12, 10, 20, 0), G_NOGEN,
5377. 	A(ATTK(AT_CLAW, AD_PHYS, 8, 2), ATTK(AT_KICK, AD_STUN, 3, 2),
5378. 	  ATTK(AT_MAGC, AD_CLRC, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK),
5379. 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0,
5380. 	M1_HUMANOID|M1_HERBIVORE,
5381. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE,
5382. 	HI_DOMESTIC),
5383.     MON("embalmer", S_HUMAN, 
5384. 	LVL(5, 12, 10, 30, 0), G_NOGEN,
5385. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0),
5386. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
5387. 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), MR_HITASONE, 0,
5388. 	M1_HUMANOID|M1_OMNIVORE,
5389. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|
5390. 	M2_COLLECT|M2_MAGIC, M3_INFRAVISIBLE, CLR_BLACK),
5391.     MON("acolyte", S_HUMAN,
5392. 	LVL(5, 12, 10, 20, 0), G_NOGEN,
5393. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_CLRC, 0, 0),
5394. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
5395. 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0,
5396. 	M1_HUMANOID|M1_OMNIVORE,
5397. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE,
5398. 	HI_DOMESTIC),
5399.     MON("hunter", S_HUMAN,
5400. 	LVL(5, 12, 10, 10, -7), G_NOGEN,
5401. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 4),
5402. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
5403. 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0,
5404. 	M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE,
5405. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT,
5406. 	M3_INFRAVISION|M3_INFRAVISIBLE, HI_DOMESTIC),
5407.     MON("thug", S_HUMAN,
5408. 	LVL(5, 12, 10, 10, -3), G_NOGEN,
5409. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
5410. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
5411. 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0,
5412. 	M1_HUMANOID|M1_OMNIVORE,
5413. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_GREEDY|M2_COLLECT,
5414. 	M3_INFRAVISIBLE, HI_DOMESTIC),
5415.     MON("ninja", S_HUMAN,
5416. 	LVL(5, 12, 10, 10, 3), G_NOGEN,
5417. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 8),
5418. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
5419. 	SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0,
5420. 	M1_HUMANOID|M1_OMNIVORE,
5421. 	M2_NOPOLY|M2_HUMAN|M2_HOSTILE|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE,
5422. 	HI_DOMESTIC),
5423.     MON("roshi", S_HUMAN,
5424. 	LVL(5, 12, 10, 10, 3), G_NOGEN,
5425. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 8),
5426. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
5427. 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0,
5428. 	M1_HUMANOID|M1_OMNIVORE,
5429. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE,
5430. 	HI_DOMESTIC),
5431. #ifdef TOURIST
5432.     MON("guide", S_HUMAN,
5433. 	LVL(5, 12, 10, 20, 0), G_NOGEN,
5434. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0),
5435. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
5436. 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0,
5437. 	M1_HUMANOID|M1_OMNIVORE,
5438. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT|M2_MAGIC,
5439. 	M3_INFRAVISIBLE, HI_DOMESTIC),
5440. #endif
5441.     MON("exterminator", S_HUMAN, 
5442. 	LVL(8, 10, 10, 10, 10), G_NOGEN,
5443. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK,
5444. 	  NO_ATTK, NO_ATTK, NO_ATTK),
5445. 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), MR_HITASONE, 0,
5446. 	M1_HUMANOID|M1_OMNIVORE,
5447. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT,
5448. 	M3_INFRAVISIBLE, CLR_BLACK),
5449.     MON("warrior", S_HUMAN,
5450. 	LVL(5, 12, 10, 10, -1), G_NOGEN,
5451. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 8),
5452. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
5453. 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0,
5454. 	M1_HUMANOID|M1_OMNIVORE,
5455. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT|M2_FEMALE, M3_INFRAVISIBLE,
5456. 	HI_DOMESTIC),
5457.     MON("apprentice", S_HUMAN,
5458. 	LVL(5, 12, 10, 30, 0), G_NOGEN,
5459. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0),
5460. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
5461. 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0,
5462. 	M1_HUMANOID|M1_OMNIVORE,
5463. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT|M2_MAGIC,
5464. 	M3_INFRAVISIBLE, HI_DOMESTIC),
5465. #ifdef YEOMAN
5466.     MON("Yeoman Warder", S_HUMAN,
5467. 	LVL(5, 10, 10, 10, 3), G_NOGEN,
5468. 	A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
5469. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
5470. 	SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0,
5471. 	M1_HUMANOID|M1_OMNIVORE,
5472. 	M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE,
5473. 	HI_DOMESTIC),
5474. #endif
5475. 
5476. /*
5477.  * Other quest uniques
5478.  */
5479. #if 0	/* OBSOLETE */
5480. 	/* He's making a guest appearance from Angband. -RJ */
5481.     MON("Farmer Maggot", S_HUMANOID,
5482. 	LVL(11, 9, 10, 0, 6), (G_NOGEN|G_UNIQ),
5483. 	A(ATTK(/*AT_MOAN*/AT_NONE, AD_PHYS, 0, 0), ATTK(/*AT_MOAN*/AT_NONE, AD_PHYS, 0, 0),
5484. 	  NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
5485. 	SIZ(500, 200, 0, MS_HUMANOID, MZ_SMALL), 0, 0,
5486. 	M1_HUMANOID|M1_OMNIVORE,
5487. 	M2_NOPOLY|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE,
5488. 	CLR_BROWN),
5489. #endif
5490. 
5491. /*
5492.  * array terminator
5493.  */
5494.     MON("", 0,
5495. 	LVL(0, 0, 0, 0, 0), (0),
5496. 	A(NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
5497. 	SIZ(0, 0, 0, 0, 0), 0, 0, 0L, 0L, 0, 0)
5498. };
5499. #endif /* !SPLITMON_1 */
5500. 
5501. #ifndef SPLITMON_1
5502. /* dummy routine used to force linkage */
5503. void
5504. monst_init()
5505. {
5506.     return;
5507. }
5508. #endif
5509. 
5510. /*monst.c*/