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