1 /* NetHack 3.6 monst.c $NHDT-Date: 1510531569 2017/11/13 00:06:09 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.59 $ */
2 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
3 /*-Copyright (c) Michael Allison, 2006. */
4 /* NetHack may be freely redistributed. See license for details. */
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 * For AT_BREA attacks, '# sides' is ignored; 6 is used for most
45 * damage types, 25 for sleep, not applicable for death or poison.
47 #define MON(nam, sym, lvl, gen, atk, siz, mr1, mr2, flg1, flg2, flg3, col) \
49 nam, sym, lvl, gen, atk, siz, mr1, mr2, flg1, flg2, flg3, C(col) \
51 /* LVL() and SIZ() collect several fields to cut down on # of args for MON()
53 #define LVL(lvl, mov, ac, mr, aln) lvl, mov, ac, mr, aln
54 #define SIZ(wt, nut, snd, siz) wt, nut, snd, siz
55 /* ATTK() and A() are to avoid braces and commas within args to MON() */
56 #define ATTK(at, ad, n, d) \
60 #define A(a1, a2, a3, a4, a5, a6) \
62 a1, a2, a3, a4, a5, a6 \
66 * Rule #1: monsters of a given class are contiguous in the
69 * Rule #2: monsters of a given class are presented in ascending
72 * Rule #3: monster frequency is included in the geno mask;
73 * the frequency can be from 0 to 7. 0's will also
74 * be skipped during generation.
76 * Rule #4: monster subclasses (e.g. giants) should be kept
77 * together, unless it violates Rule 2. NOGEN monsters
78 * won't violate Rule 2.
80 * Guidelines for color assignment:
82 * * Use the same color for all `growth stages' of a monster (ex.
83 * little dog/big dog, baby naga/full-grown naga.
85 * * Use colors given in names wherever possible. If the class has `real'
86 * members with strong color associations, use those.
88 * * Favor `cool' colors for cold-resistant monsters, `warm' ones for
89 * fire-resistant ones.
91 * * Try to reserve purple (magenta) for powerful `ruler' monsters (queen
92 * bee, kobold lord, &c.).
94 * * Subject to all these constraints, try to use color to make as many
95 * distinctions as the / command (that is, within a monster letter
96 * distinct names should map to distinct colors).
98 * The aim in assigning colors is to be consistent enough so a player can
99 * become `intuitive' about them, deducing some or all of these rules
100 * unconsciously. Use your common sense.
104 NEARDATA struct permonst mons[] = {
108 MON("giant ant", S_ANT, LVL(2, 18, 3, 0, 0), (G_GENO | G_SGROUP | 3),
109 A(ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
111 SIZ(10, 10, MS_SILENT, MZ_TINY), 0, 0,
112 M1_ANIMAL | M1_NOHANDS | M1_OVIPAROUS | M1_CARNIVORE, M2_HOSTILE, 0,
114 MON("killer bee", S_ANT, LVL(1, 18, -1, 0, 0), (G_GENO | G_LGROUP | 2),
115 A(ATTK(AT_STNG, AD_DRST, 1, 3), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
117 SIZ(1, 5, MS_BUZZ, MZ_TINY), MR_POISON, MR_POISON,
118 M1_ANIMAL | M1_FLY | M1_NOHANDS | M1_POIS, M2_HOSTILE | M2_FEMALE, 0,
120 MON("soldier ant", S_ANT, LVL(3, 18, 3, 0, 0), (G_GENO | G_SGROUP | 2),
121 A(ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_STNG, AD_DRST, 3, 4), NO_ATTK,
122 NO_ATTK, NO_ATTK, NO_ATTK),
123 SIZ(20, 5, MS_SILENT, MZ_TINY), MR_POISON, MR_POISON,
124 M1_ANIMAL | M1_NOHANDS | M1_OVIPAROUS | M1_POIS | M1_CARNIVORE,
125 M2_HOSTILE, 0, CLR_BLUE),
126 MON("fire ant", S_ANT, LVL(3, 18, 3, 10, 0), (G_GENO | G_SGROUP | 1),
127 A(ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_BITE, AD_FIRE, 2, 4), NO_ATTK,
128 NO_ATTK, NO_ATTK, NO_ATTK),
129 SIZ(30, 10, MS_SILENT, MZ_TINY), MR_FIRE, MR_FIRE,
130 M1_ANIMAL | M1_NOHANDS | M1_OVIPAROUS | M1_CARNIVORE, M2_HOSTILE,
131 M3_INFRAVISIBLE, CLR_RED),
132 MON("giant beetle", S_ANT, LVL(5, 6, 4, 0, 0), (G_GENO | 3),
133 A(ATTK(AT_BITE, AD_PHYS, 3, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
135 SIZ(10, 10, MS_SILENT, MZ_LARGE), MR_POISON, MR_POISON,
136 M1_ANIMAL | M1_NOHANDS | M1_POIS | M1_CARNIVORE, M2_HOSTILE, 0,
138 MON("queen bee", S_ANT, LVL(9, 24, -4, 0, 0), (G_GENO | G_NOGEN),
139 A(ATTK(AT_STNG, AD_DRST, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
141 SIZ(1, 5, MS_BUZZ, MZ_TINY), MR_POISON, MR_POISON,
142 M1_ANIMAL | M1_FLY | M1_NOHANDS | M1_OVIPAROUS | M1_POIS,
143 M2_HOSTILE | M2_FEMALE | M2_PRINCE, 0, HI_LORD),
147 MON("acid blob", S_BLOB, LVL(1, 3, 8, 0, 0), (G_GENO | 2),
148 A(ATTK(AT_NONE, AD_ACID, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
150 SIZ(30, 10, MS_SILENT, MZ_TINY),
151 MR_SLEEP | MR_POISON | MR_ACID | MR_STONE, MR_STONE,
152 M1_BREATHLESS | M1_AMORPHOUS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD
153 | M1_MINDLESS | M1_ACID,
154 M2_WANDER | M2_NEUTER, 0, CLR_GREEN),
155 MON("quivering blob", S_BLOB, LVL(5, 1, 8, 0, 0), (G_GENO | 2),
156 A(ATTK(AT_TUCH, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
158 SIZ(200, 100, MS_SILENT, MZ_SMALL), MR_SLEEP | MR_POISON, MR_POISON,
159 M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS,
160 M2_WANDER | M2_HOSTILE | M2_NEUTER, 0, CLR_WHITE),
161 MON("gelatinous cube", S_BLOB, LVL(6, 6, 8, 0, 0), (G_GENO | 2),
162 A(ATTK(AT_TUCH, AD_PLYS, 2, 4), ATTK(AT_NONE, AD_PLYS, 1, 4), NO_ATTK,
163 NO_ATTK, NO_ATTK, NO_ATTK),
164 SIZ(600, 150, MS_SILENT, MZ_LARGE),
165 MR_FIRE | MR_COLD | MR_ELEC | MR_SLEEP | MR_POISON | MR_ACID
167 MR_FIRE | MR_COLD | MR_ELEC | MR_SLEEP,
168 M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS | M1_OMNIVORE
170 M2_WANDER | M2_HOSTILE | M2_NEUTER, 0, CLR_CYAN),
174 MON("chickatrice", S_COCKATRICE, LVL(4, 4, 8, 30, 0),
175 (G_GENO | G_SGROUP | 1),
176 A(ATTK(AT_BITE, AD_PHYS, 1, 2), ATTK(AT_TUCH, AD_STON, 0, 0),
177 ATTK(AT_NONE, AD_STON, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK),
178 SIZ(10, 10, MS_HISS, MZ_TINY), MR_POISON | MR_STONE,
179 MR_POISON | MR_STONE, M1_ANIMAL | M1_NOHANDS | M1_OMNIVORE,
180 M2_HOSTILE, M3_INFRAVISIBLE, CLR_BROWN),
181 MON("cockatrice", S_COCKATRICE, LVL(5, 6, 6, 30, 0), (G_GENO | 5),
182 A(ATTK(AT_BITE, AD_PHYS, 1, 3), ATTK(AT_TUCH, AD_STON, 0, 0),
183 ATTK(AT_NONE, AD_STON, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK),
184 SIZ(30, 30, MS_HISS, MZ_SMALL), MR_POISON | MR_STONE,
185 MR_POISON | MR_STONE,
186 M1_ANIMAL | M1_NOHANDS | M1_OMNIVORE | M1_OVIPAROUS, M2_HOSTILE,
187 M3_INFRAVISIBLE, CLR_YELLOW),
188 MON("pyrolisk", S_COCKATRICE, LVL(6, 6, 6, 30, 0), (G_GENO | 1),
189 A(ATTK(AT_GAZE, AD_FIRE, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
191 SIZ(30, 30, MS_HISS, MZ_SMALL), MR_POISON | MR_FIRE,
193 M1_ANIMAL | M1_NOHANDS | M1_OMNIVORE | M1_OVIPAROUS, M2_HOSTILE,
194 M3_INFRAVISIBLE, CLR_RED),
196 * dogs & other canines
198 MON("jackal", S_DOG, LVL(0, 12, 7, 0, 0), (G_GENO | G_SGROUP | 3),
199 A(ATTK(AT_BITE, AD_PHYS, 1, 2), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
201 SIZ(300, 250, MS_BARK, MZ_SMALL), 0, 0,
202 M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
204 MON("fox", S_DOG, LVL(0, 15, 7, 0, 0), (G_GENO | 1),
205 A(ATTK(AT_BITE, AD_PHYS, 1, 3), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
207 SIZ(300, 250, MS_BARK, MZ_SMALL), 0, 0,
208 M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
210 MON("coyote", S_DOG, LVL(1, 12, 7, 0, 0), (G_GENO | G_SGROUP | 1),
211 A(ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
213 SIZ(300, 250, MS_BARK, MZ_SMALL), 0, 0,
214 M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
216 MON("werejackal", S_DOG, LVL(2, 12, 7, 10, -7), (G_NOGEN | G_NOCORPSE),
217 A(ATTK(AT_BITE, AD_WERE, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
219 SIZ(300, 250, MS_BARK, MZ_SMALL), MR_POISON, 0,
220 M1_NOHANDS | M1_POIS | M1_REGEN | M1_CARNIVORE,
221 M2_NOPOLY | M2_WERE | M2_HOSTILE, M3_INFRAVISIBLE, CLR_BROWN),
222 MON("little dog", S_DOG, LVL(2, 18, 6, 0, 0), (G_GENO | 1),
223 A(ATTK(AT_BITE, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
225 SIZ(150, 150, MS_BARK, MZ_SMALL), 0, 0,
226 M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_DOMESTIC, M3_INFRAVISIBLE,
228 MON("dingo", S_DOG, LVL(4, 16, 5, 0, 0), (G_GENO | 1),
229 A(ATTK(AT_BITE, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
231 SIZ(400, 200, MS_BARK, MZ_MEDIUM), 0, 0,
232 M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
234 MON("dog", S_DOG, LVL(4, 16, 5, 0, 0), (G_GENO | 1),
235 A(ATTK(AT_BITE, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
237 SIZ(400, 200, MS_BARK, MZ_MEDIUM), 0, 0,
238 M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_DOMESTIC, M3_INFRAVISIBLE,
240 MON("large dog", S_DOG, LVL(6, 15, 4, 0, 0), (G_GENO | 1),
241 A(ATTK(AT_BITE, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
243 SIZ(800, 250, MS_BARK, MZ_MEDIUM), 0, 0,
244 M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_STRONG | M2_DOMESTIC,
245 M3_INFRAVISIBLE, HI_DOMESTIC),
246 MON("wolf", S_DOG, LVL(5, 12, 4, 0, 0), (G_GENO | G_SGROUP | 2),
247 A(ATTK(AT_BITE, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
249 SIZ(500, 250, MS_BARK, MZ_MEDIUM), 0, 0,
250 M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
252 MON("werewolf", S_DOG, LVL(5, 12, 4, 20, -7), (G_NOGEN | G_NOCORPSE),
253 A(ATTK(AT_BITE, AD_WERE, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
255 SIZ(500, 250, MS_BARK, MZ_MEDIUM), MR_POISON, 0,
256 M1_NOHANDS | M1_POIS | M1_REGEN | M1_CARNIVORE,
257 M2_NOPOLY | M2_WERE | M2_HOSTILE, M3_INFRAVISIBLE, CLR_BROWN),
258 MON("winter wolf cub", S_DOG, LVL(5, 12, 4, 0, -5),
259 (G_NOHELL | G_GENO | G_SGROUP | 2),
260 A(ATTK(AT_BITE, AD_PHYS, 1, 8), ATTK(AT_BREA, AD_COLD, 1, 6), NO_ATTK,
261 NO_ATTK, NO_ATTK, NO_ATTK),
262 SIZ(250, 200, MS_BARK, MZ_SMALL), MR_COLD, MR_COLD,
263 M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_HOSTILE, 0, CLR_CYAN),
264 MON("warg", S_DOG, LVL(7, 12, 4, 0, -5), (G_GENO | G_SGROUP | 2),
265 A(ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
267 SIZ(850, 350, MS_BARK, MZ_MEDIUM), 0, 0,
268 M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
270 MON("winter wolf", S_DOG, LVL(7, 12, 4, 20, 0), (G_NOHELL | G_GENO | 1),
271 A(ATTK(AT_BITE, AD_PHYS, 2, 6), ATTK(AT_BREA, AD_COLD, 2, 6), NO_ATTK,
272 NO_ATTK, NO_ATTK, NO_ATTK),
273 SIZ(700, 300, MS_BARK, MZ_LARGE), MR_COLD, MR_COLD,
274 M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_HOSTILE | M2_STRONG, 0,
276 MON("hell hound pup", S_DOG, LVL(7, 12, 4, 20, -5),
277 (G_HELL | G_GENO | G_SGROUP | 1),
278 A(ATTK(AT_BITE, AD_PHYS, 2, 6), ATTK(AT_BREA, AD_FIRE, 2, 6), NO_ATTK,
279 NO_ATTK, NO_ATTK, NO_ATTK),
280 SIZ(200, 200, MS_BARK, MZ_SMALL), MR_FIRE, MR_FIRE,
281 M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
283 MON("hell hound", S_DOG, LVL(12, 14, 2, 20, 0), (G_HELL | G_GENO | 1),
284 A(ATTK(AT_BITE, AD_PHYS, 3, 6), ATTK(AT_BREA, AD_FIRE, 3, 6), NO_ATTK,
285 NO_ATTK, NO_ATTK, NO_ATTK),
286 SIZ(600, 300, MS_BARK, MZ_MEDIUM), MR_FIRE, MR_FIRE,
287 M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_HOSTILE | M2_STRONG,
288 M3_INFRAVISIBLE, CLR_RED),
290 MON("Cerberus", S_DOG, LVL(12, 10, 2, 20, -7),
291 (G_NOGEN | G_UNIQ | G_HELL),
292 A(ATTK(AT_BITE, AD_PHYS, 3, 6), ATTK(AT_BITE, AD_PHYS, 3, 6),
293 ATTK(AT_BITE, AD_PHYS, 3, 6), NO_ATTK, NO_ATTK, NO_ATTK),
294 SIZ(1000, 350, MS_BARK, MZ_LARGE), MR_FIRE, MR_FIRE,
295 M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE,
296 M2_NOPOLY | M2_HOSTILE | M2_STRONG | M2_PNAME | M2_MALE,
297 M3_INFRAVISIBLE, CLR_RED),
302 MON("gas spore", S_EYE, LVL(1, 3, 10, 0, 0), (G_NOCORPSE | G_GENO | 1),
303 A(ATTK(AT_BOOM, AD_PHYS, 4, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
305 SIZ(10, 10, MS_SILENT, MZ_SMALL), 0, 0,
306 M1_FLY | M1_BREATHLESS | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS,
307 M2_HOSTILE | M2_NEUTER, 0, CLR_GRAY),
308 MON("floating eye", S_EYE, LVL(2, 1, 9, 10, 0), (G_GENO | 5),
309 A(ATTK(AT_NONE, AD_PLYS, 0, 70), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
311 SIZ(10, 10, MS_SILENT, MZ_SMALL), 0, 0,
312 M1_FLY | M1_AMPHIBIOUS | M1_NOLIMBS | M1_NOHEAD | M1_NOTAKE,
313 M2_HOSTILE | M2_NEUTER, M3_INFRAVISIBLE, CLR_BLUE),
314 MON("freezing sphere", S_EYE, LVL(6, 13, 4, 0, 0),
315 (G_NOCORPSE | G_NOHELL | G_GENO | 2),
316 A(ATTK(AT_EXPL, AD_COLD, 4, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
318 SIZ(10, 10, MS_SILENT, MZ_SMALL), MR_COLD, MR_COLD,
319 M1_FLY | M1_BREATHLESS | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS
321 M2_HOSTILE | M2_NEUTER, M3_INFRAVISIBLE, CLR_WHITE),
322 MON("flaming sphere", S_EYE, LVL(6, 13, 4, 0, 0),
323 (G_NOCORPSE | G_GENO | 2), A(ATTK(AT_EXPL, AD_FIRE, 4, 6), NO_ATTK,
324 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
325 SIZ(10, 10, MS_SILENT, MZ_SMALL), MR_FIRE, MR_FIRE,
326 M1_FLY | M1_BREATHLESS | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS
328 M2_HOSTILE | M2_NEUTER, M3_INFRAVISIBLE, CLR_RED),
329 MON("shocking sphere", S_EYE, LVL(6, 13, 4, 0, 0),
330 (G_NOCORPSE | G_GENO | 2), A(ATTK(AT_EXPL, AD_ELEC, 4, 6), NO_ATTK,
331 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
332 SIZ(10, 10, MS_SILENT, MZ_SMALL), MR_ELEC, MR_ELEC,
333 M1_FLY | M1_BREATHLESS | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS
335 M2_HOSTILE | M2_NEUTER, M3_INFRAVISIBLE, HI_ZAP),
336 #if 0 /* not yet implemented */
337 MON("beholder", S_EYE,
338 LVL(6, 3, 4, 0, -10), (G_GENO | 2),
339 A(ATTK(AT_GAZE, AD_SLOW, 0, 0), ATTK(AT_GAZE, AD_SLEE, 2,25),
340 ATTK(AT_GAZE, AD_DISN, 0, 0), ATTK(AT_GAZE, AD_STON, 0, 0),
341 ATTK(AT_GAZE, AD_CNCL, 2, 4), ATTK(AT_BITE, AD_PHYS, 2, 4)),
342 SIZ(10, 10, MS_SILENT, MZ_SMALL), MR_COLD, 0,
343 M1_FLY | M1_BREATHLESS | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS,
344 M2_NOPOLY | M2_HOSTILE | M2_NEUTER, M3_INFRAVISIBLE, CLR_BROWN),
349 MON("kitten", S_FELINE, LVL(2, 18, 6, 0, 0), (G_GENO | 1),
350 A(ATTK(AT_BITE, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
352 SIZ(150, 150, MS_MEW, MZ_SMALL), 0, 0,
353 M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_WANDER | M2_DOMESTIC,
354 M3_INFRAVISIBLE, HI_DOMESTIC),
355 MON("housecat", S_FELINE, LVL(4, 16, 5, 0, 0), (G_GENO | 1),
356 A(ATTK(AT_BITE, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
358 SIZ(200, 200, MS_MEW, MZ_SMALL), 0, 0,
359 M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_DOMESTIC, M3_INFRAVISIBLE,
361 MON("jaguar", S_FELINE, LVL(4, 15, 6, 0, 0), (G_GENO | 2),
362 A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
363 ATTK(AT_BITE, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK),
364 SIZ(600, 300, MS_GROWL, MZ_LARGE), 0, 0,
365 M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
367 MON("lynx", S_FELINE, LVL(5, 15, 6, 0, 0), (G_GENO | 1),
368 A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
369 ATTK(AT_BITE, AD_PHYS, 1, 10), NO_ATTK, NO_ATTK, NO_ATTK),
370 SIZ(600, 300, MS_GROWL, MZ_SMALL), 0, 0,
371 M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
373 MON("panther", S_FELINE, LVL(5, 15, 6, 0, 0), (G_GENO | 1),
374 A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6),
375 ATTK(AT_BITE, AD_PHYS, 1, 10), NO_ATTK, NO_ATTK, NO_ATTK),
376 SIZ(600, 300, MS_GROWL, MZ_LARGE), 0, 0,
377 M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
379 MON("large cat", S_FELINE, LVL(6, 15, 4, 0, 0), (G_GENO | 1),
380 A(ATTK(AT_BITE, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
382 SIZ(250, 250, MS_MEW, MZ_SMALL), 0, 0,
383 M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_STRONG | M2_DOMESTIC,
384 M3_INFRAVISIBLE, HI_DOMESTIC),
385 MON("tiger", S_FELINE, LVL(6, 12, 6, 0, 0), (G_GENO | 2),
386 A(ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4),
387 ATTK(AT_BITE, AD_PHYS, 1, 10), NO_ATTK, NO_ATTK, NO_ATTK),
388 SIZ(600, 300, MS_GROWL, MZ_LARGE), 0, 0,
389 M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
392 * gremlins and gargoyles
394 MON("gremlin", S_GREMLIN, LVL(5, 12, 2, 25, -9), (G_GENO | 2),
395 A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6),
396 ATTK(AT_BITE, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_CURS, 0, 0), NO_ATTK,
398 SIZ(100, 20, MS_LAUGH, MZ_SMALL), MR_POISON, MR_POISON,
399 M1_SWIM | M1_HUMANOID | M1_POIS, M2_STALK, M3_INFRAVISIBLE,
401 MON("gargoyle", S_GREMLIN, LVL(6, 10, -4, 0, -9), (G_GENO | 2),
402 A(ATTK(AT_CLAW, AD_PHYS, 2, 6), ATTK(AT_CLAW, AD_PHYS, 2, 6),
403 ATTK(AT_BITE, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK),
404 SIZ(1000, 200, MS_GRUNT, MZ_HUMAN), MR_STONE, MR_STONE,
405 M1_HUMANOID | M1_THICK_HIDE | M1_BREATHLESS, M2_HOSTILE | M2_STRONG,
407 MON("winged gargoyle", S_GREMLIN, LVL(9, 15, -2, 0, -12), (G_GENO | 1),
408 A(ATTK(AT_CLAW, AD_PHYS, 3, 6), ATTK(AT_CLAW, AD_PHYS, 3, 6),
409 ATTK(AT_BITE, AD_PHYS, 3, 4), NO_ATTK, NO_ATTK, NO_ATTK),
410 SIZ(1200, 300, MS_GRUNT, MZ_HUMAN), MR_STONE, MR_STONE,
411 M1_FLY | M1_HUMANOID | M1_THICK_HIDE | M1_BREATHLESS | M1_OVIPAROUS,
412 M2_LORD | M2_HOSTILE | M2_STRONG | M2_MAGIC, 0, HI_LORD),
416 MON("hobbit", S_HUMANOID, LVL(1, 9, 10, 0, 6), (G_GENO | 2),
417 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
419 SIZ(500, 200, MS_HUMANOID, MZ_SMALL), 0, 0, M1_HUMANOID | M1_OMNIVORE,
420 M2_COLLECT, M3_INFRAVISIBLE | M3_INFRAVISION, CLR_GREEN),
421 MON("dwarf", S_HUMANOID, LVL(2, 6, 10, 10, 4), (G_GENO | 3),
422 A(ATTK(AT_WEAP, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
424 SIZ(900, 300, MS_HUMANOID, MZ_HUMAN), 0, 0,
425 M1_TUNNEL | M1_NEEDPICK | M1_HUMANOID | M1_OMNIVORE,
426 M2_NOPOLY | M2_DWARF | M2_STRONG | M2_GREEDY | M2_JEWELS | M2_COLLECT,
427 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_RED),
428 MON("bugbear", S_HUMANOID, LVL(3, 9, 5, 0, -6), (G_GENO | 1),
429 A(ATTK(AT_WEAP, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
431 SIZ(1250, 250, MS_GROWL, MZ_LARGE), 0, 0, M1_HUMANOID | M1_OMNIVORE,
432 M2_STRONG | M2_COLLECT, M3_INFRAVISIBLE | M3_INFRAVISION, CLR_BROWN),
433 MON("dwarf lord", S_HUMANOID, LVL(4, 6, 10, 10, 5), (G_GENO | 2),
434 A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4), NO_ATTK,
435 NO_ATTK, NO_ATTK, NO_ATTK),
436 SIZ(900, 300, MS_HUMANOID, MZ_HUMAN), 0, 0,
437 M1_TUNNEL | M1_NEEDPICK | M1_HUMANOID | M1_OMNIVORE,
438 M2_DWARF | M2_STRONG | M2_LORD | M2_MALE | M2_GREEDY | M2_JEWELS
440 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_BLUE),
441 MON("dwarf king", S_HUMANOID, LVL(6, 6, 10, 20, 6), (G_GENO | 1),
442 A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6), NO_ATTK,
443 NO_ATTK, NO_ATTK, NO_ATTK),
444 SIZ(900, 300, MS_HUMANOID, MZ_HUMAN), 0, 0,
445 M1_TUNNEL | M1_NEEDPICK | M1_HUMANOID | M1_OMNIVORE,
446 M2_DWARF | M2_STRONG | M2_PRINCE | M2_MALE | M2_GREEDY | M2_JEWELS
448 M3_INFRAVISIBLE | M3_INFRAVISION, HI_LORD),
449 MON("mind flayer", S_HUMANOID, LVL(9, 12, 5, 90, -8), (G_GENO | 1),
450 A(ATTK(AT_WEAP, AD_PHYS, 1, 4), ATTK(AT_TENT, AD_DRIN, 2, 1),
451 ATTK(AT_TENT, AD_DRIN, 2, 1), ATTK(AT_TENT, AD_DRIN, 2, 1), NO_ATTK,
453 SIZ(1450, 400, MS_HISS, MZ_HUMAN), 0, 0,
454 M1_HUMANOID | M1_FLY | M1_SEE_INVIS | M1_OMNIVORE,
455 M2_HOSTILE | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_COLLECT,
456 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_MAGENTA),
457 MON("master mind flayer", S_HUMANOID, LVL(13, 12, 0, 90, -8),
459 A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_TENT, AD_DRIN, 2, 1),
460 ATTK(AT_TENT, AD_DRIN, 2, 1), ATTK(AT_TENT, AD_DRIN, 2, 1),
461 ATTK(AT_TENT, AD_DRIN, 2, 1), ATTK(AT_TENT, AD_DRIN, 2, 1)),
462 SIZ(1450, 400, MS_HISS, MZ_HUMAN), 0, 0,
463 M1_HUMANOID | M1_FLY | M1_SEE_INVIS | M1_OMNIVORE,
464 M2_HOSTILE | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_COLLECT,
465 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_MAGENTA),
467 * imps & other minor demons/devils
469 MON("manes", S_IMP, LVL(1, 3, 7, 0, -7),
470 (G_GENO | G_LGROUP | G_NOCORPSE | 1),
471 A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3),
472 ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK),
473 SIZ(100, 100, MS_SILENT, MZ_SMALL), MR_SLEEP | MR_POISON, 0, M1_POIS,
474 M2_HOSTILE | M2_STALK, M3_INFRAVISIBLE | M3_INFRAVISION, CLR_RED),
475 MON("homunculus", S_IMP, LVL(2, 12, 6, 10, -7), (G_GENO | 2),
476 A(ATTK(AT_BITE, AD_SLEE, 1, 3), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
478 SIZ(60, 100, MS_SILENT, MZ_TINY), MR_SLEEP | MR_POISON,
479 MR_SLEEP | MR_POISON, M1_FLY | M1_POIS, M2_STALK,
480 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_GREEN),
481 MON("imp", S_IMP, LVL(3, 12, 2, 20, -7), (G_GENO | 1),
482 A(ATTK(AT_CLAW, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
484 SIZ(20, 10, MS_CUSS, MZ_TINY), 0, 0, M1_REGEN, M2_WANDER | M2_STALK,
485 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_RED),
486 MON("lemure", S_IMP, LVL(3, 3, 7, 0, -7),
487 (G_HELL | G_GENO | G_LGROUP | G_NOCORPSE | 1),
488 A(ATTK(AT_CLAW, AD_PHYS, 1, 3), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
490 SIZ(150, 100, MS_SILENT, MZ_MEDIUM), MR_SLEEP | MR_POISON, MR_SLEEP,
491 M1_POIS | M1_REGEN, M2_HOSTILE | M2_WANDER | M2_STALK | M2_NEUTER,
492 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_BROWN),
493 MON("quasit", S_IMP, LVL(3, 15, 2, 20, -7), (G_GENO | 2),
494 A(ATTK(AT_CLAW, AD_DRDX, 1, 2), ATTK(AT_CLAW, AD_DRDX, 1, 2),
495 ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK),
496 SIZ(200, 200, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON, M1_REGEN,
497 M2_STALK, M3_INFRAVISIBLE | M3_INFRAVISION, CLR_BLUE),
498 MON("tengu", S_IMP, LVL(6, 13, 5, 30, 7), (G_GENO | 3),
499 A(ATTK(AT_BITE, AD_PHYS, 1, 7), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
501 SIZ(300, 200, MS_SQAWK, MZ_SMALL), MR_POISON, MR_POISON,
502 M1_TPORT | M1_TPORT_CNTRL, M2_STALK, M3_INFRAVISIBLE | M3_INFRAVISION,
507 MON("blue jelly", S_JELLY, LVL(4, 0, 8, 10, 0), (G_GENO | 2),
508 A(ATTK(AT_NONE, AD_COLD, 0, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
510 SIZ(50, 20, MS_SILENT, MZ_MEDIUM), MR_COLD | MR_POISON,
512 M1_BREATHLESS | M1_AMORPHOUS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD
513 | M1_MINDLESS | M1_NOTAKE,
514 M2_HOSTILE | M2_NEUTER, 0, CLR_BLUE),
515 MON("spotted jelly", S_JELLY, LVL(5, 0, 8, 10, 0), (G_GENO | 1),
516 A(ATTK(AT_NONE, AD_ACID, 0, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
518 SIZ(50, 20, MS_SILENT, MZ_MEDIUM), MR_ACID | MR_STONE, 0,
519 M1_BREATHLESS | M1_AMORPHOUS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD
520 | M1_MINDLESS | M1_ACID | M1_NOTAKE,
521 M2_HOSTILE | M2_NEUTER, 0, CLR_GREEN),
522 MON("ochre jelly", S_JELLY, LVL(6, 3, 8, 20, 0), (G_GENO | 2),
523 A(ATTK(AT_ENGL, AD_ACID, 3, 6), ATTK(AT_NONE, AD_ACID, 3, 6), NO_ATTK,
524 NO_ATTK, NO_ATTK, NO_ATTK),
525 SIZ(50, 20, MS_SILENT, MZ_MEDIUM), MR_ACID | MR_STONE, 0,
526 M1_BREATHLESS | M1_AMORPHOUS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD
527 | M1_MINDLESS | M1_ACID | M1_NOTAKE,
528 M2_HOSTILE | M2_NEUTER, 0, CLR_BROWN),
532 MON("kobold", S_KOBOLD, LVL(0, 6, 10, 0, -2), (G_GENO | 1),
533 A(ATTK(AT_WEAP, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
535 SIZ(400, 100, MS_ORC, MZ_SMALL), MR_POISON, 0,
536 M1_HUMANOID | M1_POIS | M1_OMNIVORE, M2_HOSTILE | M2_COLLECT,
537 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_BROWN),
538 MON("large kobold", S_KOBOLD, LVL(1, 6, 10, 0, -3), (G_GENO | 1),
539 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
541 SIZ(450, 150, MS_ORC, MZ_SMALL), MR_POISON, 0,
542 M1_HUMANOID | M1_POIS | M1_OMNIVORE, M2_HOSTILE | M2_COLLECT,
543 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_RED),
544 MON("kobold lord", S_KOBOLD, LVL(2, 6, 10, 0, -4), (G_GENO | 1),
545 A(ATTK(AT_WEAP, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
547 SIZ(500, 200, MS_ORC, MZ_SMALL), MR_POISON, 0,
548 M1_HUMANOID | M1_POIS | M1_OMNIVORE,
549 M2_HOSTILE | M2_LORD | M2_MALE | M2_COLLECT,
550 M3_INFRAVISIBLE | M3_INFRAVISION, HI_LORD),
551 MON("kobold shaman", S_KOBOLD, LVL(2, 6, 6, 10, -4), (G_GENO | 1),
552 A(ATTK(AT_MAGC, AD_SPEL, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
554 SIZ(450, 150, MS_ORC, MZ_SMALL), MR_POISON, 0,
555 M1_HUMANOID | M1_POIS | M1_OMNIVORE, M2_HOSTILE | M2_MAGIC,
556 M3_INFRAVISIBLE | M3_INFRAVISION, HI_ZAP),
560 MON("leprechaun", S_LEPRECHAUN, LVL(5, 15, 8, 20, 0), (G_GENO | 4),
561 A(ATTK(AT_CLAW, AD_SGLD, 1, 2), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
563 SIZ(60, 30, MS_LAUGH, MZ_TINY), 0, 0, M1_HUMANOID | M1_TPORT,
564 M2_HOSTILE | M2_GREEDY, M3_INFRAVISIBLE, CLR_GREEN),
568 MON("small mimic", S_MIMIC, LVL(7, 3, 7, 0, 0), (G_GENO | 2),
569 A(ATTK(AT_CLAW, AD_PHYS, 3, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
571 SIZ(300, 200, MS_SILENT, MZ_MEDIUM), MR_ACID, 0,
572 M1_BREATHLESS | M1_AMORPHOUS | M1_HIDE | M1_ANIMAL | M1_NOEYES
573 | M1_NOHEAD | M1_NOLIMBS | M1_THICK_HIDE | M1_CARNIVORE,
574 M2_HOSTILE, 0, CLR_BROWN),
575 MON("large mimic", S_MIMIC, LVL(8, 3, 7, 10, 0), (G_GENO | 1),
576 A(ATTK(AT_CLAW, AD_STCK, 3, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
578 SIZ(600, 400, MS_SILENT, MZ_LARGE), MR_ACID, 0,
579 M1_CLING | M1_BREATHLESS | M1_AMORPHOUS | M1_HIDE | M1_ANIMAL
580 | M1_NOEYES | M1_NOHEAD | M1_NOLIMBS | M1_THICK_HIDE
582 M2_HOSTILE | M2_STRONG, 0, CLR_RED),
583 MON("giant mimic", S_MIMIC, LVL(9, 3, 7, 20, 0), (G_GENO | 1),
584 A(ATTK(AT_CLAW, AD_STCK, 3, 6), ATTK(AT_CLAW, AD_STCK, 3, 6), NO_ATTK,
585 NO_ATTK, NO_ATTK, NO_ATTK),
586 SIZ(800, 500, MS_SILENT, MZ_LARGE), MR_ACID, 0,
587 M1_CLING | M1_BREATHLESS | M1_AMORPHOUS | M1_HIDE | M1_ANIMAL
588 | M1_NOEYES | M1_NOHEAD | M1_NOLIMBS | M1_THICK_HIDE
590 M2_HOSTILE | M2_STRONG, 0, HI_LORD),
594 MON("wood nymph", S_NYMPH, LVL(3, 12, 9, 20, 0), (G_GENO | 2),
595 A(ATTK(AT_CLAW, AD_SITM, 0, 0), ATTK(AT_CLAW, AD_SEDU, 0, 0), NO_ATTK,
596 NO_ATTK, NO_ATTK, NO_ATTK),
597 SIZ(600, 300, MS_SEDUCE, MZ_HUMAN), 0, 0, M1_HUMANOID | M1_TPORT,
598 M2_HOSTILE | M2_FEMALE | M2_COLLECT, M3_INFRAVISIBLE, CLR_GREEN),
599 MON("water nymph", S_NYMPH, LVL(3, 12, 9, 20, 0), (G_GENO | 2),
600 A(ATTK(AT_CLAW, AD_SITM, 0, 0), ATTK(AT_CLAW, AD_SEDU, 0, 0), NO_ATTK,
601 NO_ATTK, NO_ATTK, NO_ATTK),
602 SIZ(600, 300, MS_SEDUCE, MZ_HUMAN), 0, 0,
603 M1_HUMANOID | M1_TPORT | M1_SWIM, M2_HOSTILE | M2_FEMALE | M2_COLLECT,
604 M3_INFRAVISIBLE, CLR_BLUE),
605 MON("mountain nymph", S_NYMPH, LVL(3, 12, 9, 20, 0), (G_GENO | 2),
606 A(ATTK(AT_CLAW, AD_SITM, 0, 0), ATTK(AT_CLAW, AD_SEDU, 0, 0), NO_ATTK,
607 NO_ATTK, NO_ATTK, NO_ATTK),
608 SIZ(600, 300, MS_SEDUCE, MZ_HUMAN), 0, 0, M1_HUMANOID | M1_TPORT,
609 M2_HOSTILE | M2_FEMALE | M2_COLLECT, M3_INFRAVISIBLE, CLR_BROWN),
613 MON("goblin", S_ORC, LVL(0, 6, 10, 0, -3), (G_GENO | 2),
614 A(ATTK(AT_WEAP, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
616 SIZ(400, 100, MS_ORC, MZ_SMALL), 0, 0, M1_HUMANOID | M1_OMNIVORE,
617 M2_ORC | M2_COLLECT, M3_INFRAVISIBLE | M3_INFRAVISION, CLR_GRAY),
618 MON("hobgoblin", S_ORC, LVL(1, 9, 10, 0, -4), (G_GENO | 2),
619 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
621 SIZ(1000, 200, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID | M1_OMNIVORE,
622 M2_ORC | M2_STRONG | M2_COLLECT, M3_INFRAVISIBLE | M3_INFRAVISION,
624 /* plain "orc" for zombie corpses only; not created at random
626 MON("orc", S_ORC, LVL(1, 9, 10, 0, -3), (G_GENO | G_NOGEN | G_LGROUP),
627 A(ATTK(AT_WEAP, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
629 SIZ(850, 150, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID | M1_OMNIVORE,
630 M2_NOPOLY | M2_ORC | M2_STRONG | M2_GREEDY | M2_JEWELS | M2_COLLECT,
631 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_RED),
632 MON("hill orc", S_ORC, LVL(2, 9, 10, 0, -4), (G_GENO | G_LGROUP | 2),
633 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
635 SIZ(1000, 200, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID | M1_OMNIVORE,
636 M2_ORC | M2_STRONG | M2_GREEDY | M2_JEWELS | M2_COLLECT,
637 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_YELLOW),
638 MON("Mordor orc", S_ORC, LVL(3, 5, 10, 0, -5), (G_GENO | G_LGROUP | 1),
639 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
641 SIZ(1200, 200, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID | M1_OMNIVORE,
642 M2_ORC | M2_STRONG | M2_GREEDY | M2_JEWELS | M2_COLLECT,
643 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_BLUE),
644 MON("Uruk-hai", S_ORC, LVL(3, 7, 10, 0, -4), (G_GENO | G_LGROUP | 1),
645 A(ATTK(AT_WEAP, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
647 SIZ(1300, 300, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID | M1_OMNIVORE,
648 M2_ORC | M2_STRONG | M2_GREEDY | M2_JEWELS | M2_COLLECT,
649 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_BLACK),
650 MON("orc shaman", S_ORC, LVL(3, 9, 5, 10, -5), (G_GENO | 1),
651 A(ATTK(AT_MAGC, AD_SPEL, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
653 SIZ(1000, 300, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID | M1_OMNIVORE,
654 M2_ORC | M2_STRONG | M2_GREEDY | M2_JEWELS | M2_MAGIC,
655 M3_INFRAVISIBLE | M3_INFRAVISION, HI_ZAP),
656 MON("orc-captain", S_ORC, LVL(5, 5, 10, 0, -5), (G_GENO | 1),
657 A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4), NO_ATTK,
658 NO_ATTK, NO_ATTK, NO_ATTK),
659 SIZ(1350, 350, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID | M1_OMNIVORE,
660 M2_ORC | M2_STRONG | M2_GREEDY | M2_JEWELS | M2_COLLECT,
661 M3_INFRAVISIBLE | M3_INFRAVISION, HI_LORD),
665 MON("rock piercer", S_PIERCER, LVL(3, 1, 3, 0, 0), (G_GENO | 4),
666 A(ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
668 SIZ(200, 200, MS_SILENT, MZ_SMALL), 0, 0,
669 M1_CLING | M1_HIDE | M1_ANIMAL | M1_NOEYES | M1_NOLIMBS | M1_CARNIVORE
671 M2_HOSTILE, 0, CLR_GRAY),
672 MON("iron piercer", S_PIERCER, LVL(5, 1, 0, 0, 0), (G_GENO | 2),
673 A(ATTK(AT_BITE, AD_PHYS, 3, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
675 SIZ(400, 300, MS_SILENT, MZ_MEDIUM), 0, 0,
676 M1_CLING | M1_HIDE | M1_ANIMAL | M1_NOEYES | M1_NOLIMBS | M1_CARNIVORE
678 M2_HOSTILE, 0, CLR_CYAN),
679 MON("glass piercer", S_PIERCER, LVL(7, 1, 0, 0, 0), (G_GENO | 1),
680 A(ATTK(AT_BITE, AD_PHYS, 4, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
682 SIZ(400, 300, MS_SILENT, MZ_MEDIUM), MR_ACID, 0,
683 M1_CLING | M1_HIDE | M1_ANIMAL | M1_NOEYES | M1_NOLIMBS | M1_CARNIVORE
685 M2_HOSTILE, 0, CLR_WHITE),
689 MON("rothe", S_QUADRUPED, LVL(2, 9, 7, 0, 0), (G_GENO | G_SGROUP | 4),
690 A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_BITE, AD_PHYS, 1, 3),
691 ATTK(AT_BITE, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK),
692 SIZ(400, 100, MS_SILENT, MZ_LARGE), 0, 0,
693 M1_ANIMAL | M1_NOHANDS | M1_OMNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
695 MON("mumak", S_QUADRUPED, LVL(5, 9, 0, 0, -2), (G_GENO | 1),
696 A(ATTK(AT_BUTT, AD_PHYS, 4, 12), ATTK(AT_BITE, AD_PHYS, 2, 6),
697 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
698 SIZ(2500, 500, MS_ROAR, MZ_LARGE), 0, 0,
699 M1_ANIMAL | M1_THICK_HIDE | M1_NOHANDS | M1_HERBIVORE,
700 M2_HOSTILE | M2_STRONG, M3_INFRAVISIBLE, CLR_GRAY),
701 MON("leocrotta", S_QUADRUPED, LVL(6, 18, 4, 10, 0), (G_GENO | 2),
702 A(ATTK(AT_CLAW, AD_PHYS, 2, 6), ATTK(AT_BITE, AD_PHYS, 2, 6),
703 ATTK(AT_CLAW, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
704 SIZ(1200, 500, MS_IMITATE, MZ_LARGE), 0, 0,
705 M1_ANIMAL | M1_NOHANDS | M1_OMNIVORE, M2_HOSTILE | M2_STRONG,
706 M3_INFRAVISIBLE, CLR_RED),
707 MON("wumpus", S_QUADRUPED, LVL(8, 3, 2, 10, 0), (G_GENO | 1),
708 A(ATTK(AT_BITE, AD_PHYS, 3, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
710 SIZ(2500, 500, MS_BURBLE, MZ_LARGE), 0, 0,
711 M1_CLING | M1_ANIMAL | M1_NOHANDS | M1_OMNIVORE,
712 M2_HOSTILE | M2_STRONG, M3_INFRAVISIBLE, CLR_CYAN),
713 MON("titanothere", S_QUADRUPED, LVL(12, 12, 6, 0, 0), (G_GENO | 2),
714 A(ATTK(AT_CLAW, AD_PHYS, 2, 8), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
716 SIZ(2650, 650, MS_SILENT, MZ_LARGE), 0, 0,
717 M1_ANIMAL | M1_THICK_HIDE | M1_NOHANDS | M1_HERBIVORE,
718 M2_HOSTILE | M2_STRONG, M3_INFRAVISIBLE, CLR_GRAY),
719 MON("baluchitherium", S_QUADRUPED, LVL(14, 12, 5, 0, 0), (G_GENO | 2),
720 A(ATTK(AT_CLAW, AD_PHYS, 5, 4), ATTK(AT_CLAW, AD_PHYS, 5, 4), NO_ATTK,
721 NO_ATTK, NO_ATTK, NO_ATTK),
722 SIZ(3800, 800, MS_SILENT, MZ_LARGE), 0, 0,
723 M1_ANIMAL | M1_THICK_HIDE | M1_NOHANDS | M1_HERBIVORE,
724 M2_HOSTILE | M2_STRONG, M3_INFRAVISIBLE, CLR_GRAY),
725 MON("mastodon", S_QUADRUPED, LVL(20, 12, 5, 0, 0), (G_GENO | 1),
726 A(ATTK(AT_BUTT, AD_PHYS, 4, 8), ATTK(AT_BUTT, AD_PHYS, 4, 8), NO_ATTK,
727 NO_ATTK, NO_ATTK, NO_ATTK),
728 SIZ(3800, 800, MS_SILENT, MZ_LARGE), 0, 0,
729 M1_ANIMAL | M1_THICK_HIDE | M1_NOHANDS | M1_HERBIVORE,
730 M2_HOSTILE | M2_STRONG, M3_INFRAVISIBLE, CLR_BLACK),
734 MON("sewer rat", S_RODENT, LVL(0, 12, 7, 0, 0), (G_GENO | G_SGROUP | 1),
735 A(ATTK(AT_BITE, AD_PHYS, 1, 3), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
737 SIZ(20, 12, MS_SQEEK, MZ_TINY), 0, 0,
738 M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
740 MON("giant rat", S_RODENT, LVL(1, 10, 7, 0, 0), (G_GENO | G_SGROUP | 2),
741 A(ATTK(AT_BITE, AD_PHYS, 1, 3), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
743 SIZ(30, 30, MS_SQEEK, MZ_TINY), 0, 0,
744 M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE,
746 MON("rabid rat", S_RODENT, LVL(2, 12, 6, 0, 0), (G_GENO | 1),
747 A(ATTK(AT_BITE, AD_DRCO, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
749 SIZ(30, 5, MS_SQEEK, MZ_TINY), MR_POISON, 0,
750 M1_ANIMAL | M1_NOHANDS | M1_POIS | M1_CARNIVORE, M2_HOSTILE,
751 M3_INFRAVISIBLE, CLR_BROWN),
752 MON("wererat", S_RODENT, LVL(2, 12, 6, 10, -7), (G_NOGEN | G_NOCORPSE),
753 A(ATTK(AT_BITE, AD_WERE, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
755 SIZ(40, 30, MS_SQEEK, MZ_TINY), MR_POISON, 0,
756 M1_NOHANDS | M1_POIS | M1_REGEN | M1_CARNIVORE,
757 M2_NOPOLY | M2_WERE | M2_HOSTILE, M3_INFRAVISIBLE, CLR_BROWN),
758 MON("rock mole", S_RODENT, LVL(3, 3, 0, 20, 0), (G_GENO | 2),
759 A(ATTK(AT_BITE, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
761 SIZ(30, 30, MS_SILENT, MZ_SMALL), 0, 0,
762 M1_TUNNEL | M1_ANIMAL | M1_NOHANDS | M1_METALLIVORE,
763 M2_HOSTILE | M2_GREEDY | M2_JEWELS | M2_COLLECT, M3_INFRAVISIBLE,
765 MON("woodchuck", S_RODENT, LVL(3, 3, 0, 20, 0), (G_NOGEN | G_GENO),
766 A(ATTK(AT_BITE, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
768 SIZ(30, 30, MS_SILENT, MZ_SMALL), 0, 0,
769 M1_TUNNEL /*LOGGING*/ | M1_ANIMAL | M1_NOHANDS | M1_SWIM
771 /* In reality, they tunnel instead of cutting lumber. Oh, well. */
772 M2_WANDER | M2_HOSTILE, M3_INFRAVISIBLE, CLR_BROWN),
774 * spiders & scorpions (keep webmaker() in sync if new critters are added)
776 MON("cave spider", S_SPIDER, LVL(1, 12, 3, 0, 0), (G_GENO | G_SGROUP | 2),
777 A(ATTK(AT_BITE, AD_PHYS, 1, 2), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
779 SIZ(50, 50, MS_SILENT, MZ_TINY), MR_POISON, MR_POISON,
780 M1_CONCEAL | M1_ANIMAL | M1_NOHANDS | M1_OVIPAROUS | M1_CARNIVORE,
781 M2_HOSTILE, 0, CLR_GRAY),
782 MON("centipede", S_SPIDER, LVL(2, 4, 3, 0, 0), (G_GENO | 1),
783 A(ATTK(AT_BITE, AD_DRST, 1, 3), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
785 SIZ(50, 50, MS_SILENT, MZ_TINY), MR_POISON, MR_POISON,
786 M1_CONCEAL | M1_ANIMAL | M1_NOHANDS | M1_OVIPAROUS | M1_CARNIVORE,
787 M2_HOSTILE, 0, CLR_YELLOW),
788 MON("giant spider", S_SPIDER, LVL(5, 15, 4, 0, 0), (G_GENO | 1),
789 A(ATTK(AT_BITE, AD_DRST, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
791 SIZ(100, 100, MS_SILENT, MZ_LARGE), MR_POISON, MR_POISON,
792 M1_ANIMAL | M1_NOHANDS | M1_OVIPAROUS | M1_POIS | M1_CARNIVORE,
793 M2_HOSTILE | M2_STRONG, 0, CLR_MAGENTA),
794 MON("scorpion", S_SPIDER, LVL(5, 15, 3, 0, 0), (G_GENO | 2),
795 A(ATTK(AT_CLAW, AD_PHYS, 1, 2), ATTK(AT_CLAW, AD_PHYS, 1, 2),
796 ATTK(AT_STNG, AD_DRST, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK),
797 SIZ(50, 100, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON,
798 M1_CONCEAL | M1_ANIMAL | M1_NOHANDS | M1_OVIPAROUS | M1_POIS
800 M2_HOSTILE, 0, CLR_RED),
802 * trappers, lurkers, &c
804 MON("lurker above", S_TRAPPER, LVL(10, 3, 3, 0, 0), (G_GENO | 2),
805 A(ATTK(AT_ENGL, AD_DGST, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
807 SIZ(800, 350, MS_SILENT, MZ_HUGE), 0, 0,
808 M1_HIDE | M1_FLY | M1_ANIMAL | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD
810 M2_HOSTILE | M2_STALK | M2_STRONG, 0, CLR_GRAY),
811 MON("trapper", S_TRAPPER, LVL(12, 3, 3, 0, 0), (G_GENO | 2),
812 A(ATTK(AT_ENGL, AD_DGST, 1, 10), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
814 SIZ(800, 350, MS_SILENT, MZ_HUGE), 0, 0,
815 M1_HIDE | M1_ANIMAL | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD
817 M2_HOSTILE | M2_STALK | M2_STRONG, 0, CLR_GREEN),
819 * unicorns and horses
821 MON("pony", S_UNICORN, LVL(3, 16, 6, 0, 0), (G_GENO | 2),
822 A(ATTK(AT_KICK, AD_PHYS, 1, 6), ATTK(AT_BITE, AD_PHYS, 1, 2), NO_ATTK,
823 NO_ATTK, NO_ATTK, NO_ATTK),
824 SIZ(1300, 250, MS_NEIGH, MZ_MEDIUM), 0, 0,
825 M1_ANIMAL | M1_NOHANDS | M1_HERBIVORE,
826 M2_WANDER | M2_STRONG | M2_DOMESTIC, M3_INFRAVISIBLE, CLR_BROWN),
827 MON("white unicorn", S_UNICORN, LVL(4, 24, 2, 70, 7), (G_GENO | 2),
828 A(ATTK(AT_BUTT, AD_PHYS, 1, 12), ATTK(AT_KICK, AD_PHYS, 1, 6),
829 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
830 SIZ(1300, 300, MS_NEIGH, MZ_LARGE), MR_POISON, MR_POISON,
831 M1_NOHANDS | M1_HERBIVORE, M2_WANDER | M2_STRONG | M2_JEWELS,
832 M3_INFRAVISIBLE, CLR_WHITE),
833 MON("gray unicorn", S_UNICORN, LVL(4, 24, 2, 70, 0), (G_GENO | 1),
834 A(ATTK(AT_BUTT, AD_PHYS, 1, 12), ATTK(AT_KICK, AD_PHYS, 1, 6),
835 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
836 SIZ(1300, 300, MS_NEIGH, MZ_LARGE), MR_POISON, MR_POISON,
837 M1_NOHANDS | M1_HERBIVORE, M2_WANDER | M2_STRONG | M2_JEWELS,
838 M3_INFRAVISIBLE, CLR_GRAY),
839 MON("black unicorn", S_UNICORN, LVL(4, 24, 2, 70, -7), (G_GENO | 1),
840 A(ATTK(AT_BUTT, AD_PHYS, 1, 12), ATTK(AT_KICK, AD_PHYS, 1, 6),
841 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
842 SIZ(1300, 300, MS_NEIGH, MZ_LARGE), MR_POISON, MR_POISON,
843 M1_NOHANDS | M1_HERBIVORE, M2_WANDER | M2_STRONG | M2_JEWELS,
844 M3_INFRAVISIBLE, CLR_BLACK),
845 MON("horse", S_UNICORN, LVL(5, 20, 5, 0, 0), (G_GENO | 2),
846 A(ATTK(AT_KICK, AD_PHYS, 1, 8), ATTK(AT_BITE, AD_PHYS, 1, 3), NO_ATTK,
847 NO_ATTK, NO_ATTK, NO_ATTK),
848 SIZ(1500, 300, MS_NEIGH, MZ_LARGE), 0, 0,
849 M1_ANIMAL | M1_NOHANDS | M1_HERBIVORE,
850 M2_WANDER | M2_STRONG | M2_DOMESTIC, M3_INFRAVISIBLE, CLR_BROWN),
851 MON("warhorse", S_UNICORN, LVL(7, 24, 4, 0, 0), (G_GENO | 2),
852 A(ATTK(AT_KICK, AD_PHYS, 1, 10), ATTK(AT_BITE, AD_PHYS, 1, 4),
853 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
854 SIZ(1800, 350, MS_NEIGH, MZ_LARGE), 0, 0,
855 M1_ANIMAL | M1_NOHANDS | M1_HERBIVORE,
856 M2_WANDER | M2_STRONG | M2_DOMESTIC, M3_INFRAVISIBLE, CLR_BROWN),
860 MON("fog cloud", S_VORTEX, LVL(3, 1, 0, 0, 0), (G_GENO | G_NOCORPSE | 2),
861 A(ATTK(AT_ENGL, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
863 SIZ(0, 0, MS_SILENT, MZ_HUGE), MR_SLEEP | MR_POISON | MR_STONE, 0,
864 M1_FLY | M1_BREATHLESS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD
865 | M1_MINDLESS | M1_AMORPHOUS | M1_UNSOLID,
866 M2_HOSTILE | M2_NEUTER, 0, CLR_GRAY),
867 MON("dust vortex", S_VORTEX, LVL(4, 20, 2, 30, 0),
868 (G_GENO | G_NOCORPSE | 2), A(ATTK(AT_ENGL, AD_BLND, 2, 8), NO_ATTK,
869 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
870 SIZ(0, 0, MS_SILENT, MZ_HUGE), MR_SLEEP | MR_POISON | MR_STONE, 0,
871 M1_FLY | M1_BREATHLESS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD
873 M2_HOSTILE | M2_NEUTER, 0, CLR_BROWN),
874 MON("ice vortex", S_VORTEX, LVL(5, 20, 2, 30, 0),
875 (G_NOHELL | G_GENO | G_NOCORPSE | 1),
876 A(ATTK(AT_ENGL, AD_COLD, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
878 SIZ(0, 0, MS_SILENT, MZ_HUGE),
879 MR_COLD | MR_SLEEP | MR_POISON | MR_STONE, 0,
880 M1_FLY | M1_BREATHLESS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD
882 M2_HOSTILE | M2_NEUTER, M3_INFRAVISIBLE, CLR_CYAN),
883 MON("energy vortex", S_VORTEX, LVL(6, 20, 2, 30, 0),
884 (G_GENO | G_NOCORPSE | 1),
885 A(ATTK(AT_ENGL, AD_ELEC, 1, 6), ATTK(AT_ENGL, AD_DREN, 2, 6),
886 ATTK(AT_NONE, AD_ELEC, 0, 4), NO_ATTK, NO_ATTK, NO_ATTK),
887 SIZ(0, 0, MS_SILENT, MZ_HUGE),
888 MR_ELEC | MR_SLEEP | MR_DISINT | MR_POISON | MR_STONE, 0,
889 M1_FLY | M1_BREATHLESS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD
890 | M1_MINDLESS | M1_UNSOLID,
891 M2_HOSTILE | M2_NEUTER, 0, HI_ZAP),
892 MON("steam vortex", S_VORTEX, LVL(7, 22, 2, 30, 0),
893 (G_HELL | G_GENO | G_NOCORPSE | 2),
894 A(ATTK(AT_ENGL, AD_FIRE, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
896 SIZ(0, 0, MS_SILENT, MZ_HUGE),
897 MR_FIRE | MR_SLEEP | MR_POISON | MR_STONE, 0,
898 M1_FLY | M1_BREATHLESS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD
899 | M1_MINDLESS | M1_UNSOLID,
900 M2_HOSTILE | M2_NEUTER, M3_INFRAVISIBLE, CLR_BLUE),
901 MON("fire vortex", S_VORTEX, LVL(8, 22, 2, 30, 0),
902 (G_HELL | G_GENO | G_NOCORPSE | 1),
903 A(ATTK(AT_ENGL, AD_FIRE, 1, 10), ATTK(AT_NONE, AD_FIRE, 0, 4),
904 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
905 SIZ(0, 0, MS_SILENT, MZ_HUGE),
906 MR_FIRE | MR_SLEEP | MR_POISON | MR_STONE, 0,
907 M1_FLY | M1_BREATHLESS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD
908 | M1_MINDLESS | M1_UNSOLID,
909 M2_HOSTILE | M2_NEUTER, M3_INFRAVISIBLE, CLR_YELLOW),
913 MON("baby long worm", S_WORM, LVL(5, 3, 5, 0, 0), G_GENO,
914 A(ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
916 SIZ(600, 250, MS_SILENT, MZ_LARGE), 0, 0,
917 M1_ANIMAL | M1_SLITHY | M1_NOLIMBS | M1_CARNIVORE | M1_NOTAKE,
918 M2_HOSTILE, 0, CLR_BROWN),
919 MON("baby purple worm", S_WORM, LVL(8, 3, 5, 0, 0), G_GENO,
920 A(ATTK(AT_BITE, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
922 SIZ(600, 250, MS_SILENT, MZ_LARGE), 0, 0,
923 M1_ANIMAL | M1_SLITHY | M1_NOLIMBS | M1_CARNIVORE, M2_HOSTILE, 0,
925 MON("long worm", S_WORM, LVL(9, 3, 5, 10, 0), (G_GENO | 2),
926 A(ATTK(AT_BITE, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
928 SIZ(1500, 500, MS_SILENT, MZ_GIGANTIC), 0, 0,
929 M1_ANIMAL | M1_SLITHY | M1_NOLIMBS | M1_OVIPAROUS | M1_CARNIVORE
931 M2_HOSTILE | M2_STRONG | M2_NASTY, 0, CLR_BROWN),
932 MON("purple worm", S_WORM, LVL(15, 9, 6, 20, 0), (G_GENO | 2),
933 A(ATTK(AT_BITE, AD_PHYS, 2, 8), ATTK(AT_ENGL, AD_DGST, 1, 10),
934 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
935 SIZ(2700, 700, MS_SILENT, MZ_GIGANTIC), 0, 0,
936 M1_ANIMAL | M1_SLITHY | M1_NOLIMBS | M1_OVIPAROUS | M1_CARNIVORE,
937 M2_HOSTILE | M2_STRONG | M2_NASTY, 0, CLR_MAGENTA),
941 MON("grid bug", S_XAN, LVL(0, 12, 9, 0, 0),
942 (G_GENO | G_SGROUP | G_NOCORPSE | 3),
943 A(ATTK(AT_BITE, AD_ELEC, 1, 1), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
945 SIZ(15, 10, MS_BUZZ, MZ_TINY), MR_ELEC | MR_POISON, 0, M1_ANIMAL,
946 M2_HOSTILE, M3_INFRAVISIBLE, CLR_MAGENTA),
947 MON("xan", S_XAN, LVL(7, 18, -4, 0, 0), (G_GENO | 3),
948 A(ATTK(AT_STNG, AD_LEGS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
950 SIZ(300, 300, MS_BUZZ, MZ_TINY), MR_POISON, MR_POISON,
951 M1_FLY | M1_ANIMAL | M1_NOHANDS | M1_POIS, M2_HOSTILE,
952 M3_INFRAVISIBLE, CLR_RED),
956 MON("yellow light", S_LIGHT, LVL(3, 15, 0, 0, 0),
957 (G_NOCORPSE | G_GENO | 4), A(ATTK(AT_EXPL, AD_BLND, 10, 20), NO_ATTK,
958 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
959 SIZ(0, 0, MS_SILENT, MZ_SMALL),
960 MR_FIRE | MR_COLD | MR_ELEC | MR_DISINT | MR_SLEEP | MR_POISON
961 | MR_ACID | MR_STONE,
962 0, M1_FLY | M1_BREATHLESS | M1_AMORPHOUS | M1_NOEYES | M1_NOLIMBS
963 | M1_NOHEAD | M1_MINDLESS | M1_UNSOLID | M1_NOTAKE,
964 M2_HOSTILE | M2_NEUTER, M3_INFRAVISIBLE, CLR_YELLOW),
965 MON("black light", S_LIGHT, LVL(5, 15, 0, 0, 0),
966 (G_NOCORPSE | G_GENO | 2), A(ATTK(AT_EXPL, AD_HALU, 10, 12), NO_ATTK,
967 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
968 SIZ(0, 0, MS_SILENT, MZ_SMALL),
969 MR_FIRE | MR_COLD | MR_ELEC | MR_DISINT | MR_SLEEP | MR_POISON
970 | MR_ACID | MR_STONE,
972 M1_FLY | M1_BREATHLESS | M1_AMORPHOUS | M1_NOEYES | M1_NOLIMBS
973 | M1_NOHEAD | M1_MINDLESS | M1_UNSOLID | M1_SEE_INVIS | M1_NOTAKE,
974 M2_HOSTILE | M2_NEUTER, 0, CLR_BLACK),
978 MON("zruty", S_ZRUTY, LVL(9, 8, 3, 0, 0), (G_GENO | 2),
979 A(ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4),
980 ATTK(AT_BITE, AD_PHYS, 3, 6), NO_ATTK, NO_ATTK, NO_ATTK),
981 SIZ(1200, 600, MS_SILENT, MZ_LARGE), 0, 0,
982 M1_ANIMAL | M1_HUMANOID | M1_CARNIVORE, M2_HOSTILE | M2_STRONG,
983 M3_INFRAVISIBLE, CLR_BROWN),
985 * Angels and other lawful minions
987 MON("couatl", S_ANGEL, LVL(8, 10, 5, 30, 7),
988 (G_NOHELL | G_SGROUP | G_NOCORPSE | 1),
989 A(ATTK(AT_BITE, AD_DRST, 2, 4), ATTK(AT_BITE, AD_PHYS, 1, 3),
990 ATTK(AT_HUGS, AD_WRAP, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK),
991 SIZ(900, 400, MS_HISS, MZ_LARGE), MR_POISON, 0,
992 M1_FLY | M1_NOHANDS | M1_SLITHY | M1_POIS,
993 M2_MINION | M2_STALK | M2_STRONG | M2_NASTY,
994 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_GREEN),
995 MON("Aleax", S_ANGEL, LVL(10, 8, 0, 30, 7), (G_NOHELL | G_NOCORPSE | 1),
996 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
997 ATTK(AT_KICK, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK),
998 SIZ(WT_HUMAN, 400, MS_IMITATE, MZ_HUMAN),
999 MR_COLD | MR_ELEC | MR_SLEEP | MR_POISON, 0,
1000 M1_HUMANOID | M1_SEE_INVIS,
1001 M2_MINION | M2_STALK | M2_NASTY | M2_COLLECT,
1002 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_YELLOW),
1003 /* Angels start with the emin extension attached, and usually have
1004 the isminion flag set; however, non-minion Angels can be tamed
1005 and will switch to edog (guardian Angel is handled specially and
1006 always sticks with emin) */
1007 MON("Angel", S_ANGEL, LVL(14, 10, -4, 55, 12),
1008 (G_NOHELL | G_NOCORPSE | 1),
1009 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
1010 ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_MAGC, AD_MAGM, 2, 6), NO_ATTK,
1012 SIZ(WT_HUMAN, 400, MS_CUSS, MZ_HUMAN),
1013 MR_COLD | MR_ELEC | MR_SLEEP | MR_POISON, 0,
1014 M1_FLY | M1_HUMANOID | M1_SEE_INVIS,
1015 M2_NOPOLY | M2_MINION | M2_STALK | M2_STRONG | M2_NASTY | M2_COLLECT,
1016 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_WHITE),
1017 MON("ki-rin", S_ANGEL, LVL(16, 18, -5, 90, 15),
1018 (G_NOHELL | G_NOCORPSE | 1),
1019 A(ATTK(AT_KICK, AD_PHYS, 2, 4), ATTK(AT_KICK, AD_PHYS, 2, 4),
1020 ATTK(AT_BUTT, AD_PHYS, 3, 6), ATTK(AT_MAGC, AD_SPEL, 2, 6), NO_ATTK,
1022 SIZ(WT_HUMAN, 400, MS_NEIGH, MZ_LARGE), 0, 0,
1023 M1_FLY | M1_ANIMAL | M1_NOHANDS | M1_SEE_INVIS,
1024 M2_NOPOLY | M2_MINION | M2_STALK | M2_STRONG | M2_NASTY | M2_LORD,
1025 M3_INFRAVISIBLE | M3_INFRAVISION, HI_GOLD),
1026 MON("Archon", S_ANGEL, LVL(19, 16, -6, 80, 15),
1027 (G_NOHELL | G_NOCORPSE | 1),
1028 A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4),
1029 ATTK(AT_GAZE, AD_BLND, 2, 6), ATTK(AT_CLAW, AD_PHYS, 1, 8),
1030 ATTK(AT_MAGC, AD_SPEL, 4, 6), NO_ATTK),
1031 SIZ(WT_HUMAN, 400, MS_CUSS, MZ_LARGE),
1032 MR_FIRE | MR_COLD | MR_ELEC | MR_SLEEP | MR_POISON, 0,
1033 M1_FLY | M1_HUMANOID | M1_SEE_INVIS | M1_REGEN,
1034 M2_NOPOLY | M2_MINION | M2_STALK | M2_STRONG | M2_NASTY | M2_LORD
1035 | M2_COLLECT | M2_MAGIC,
1036 M3_INFRAVISIBLE | M3_INFRAVISION, HI_LORD),
1040 MON("bat", S_BAT, LVL(0, 22, 8, 0, 0), (G_GENO | G_SGROUP | 1),
1041 A(ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1043 SIZ(20, 20, MS_SQEEK, MZ_TINY), 0, 0,
1044 M1_FLY | M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_WANDER,
1045 M3_INFRAVISIBLE, CLR_BROWN),
1046 MON("giant bat", S_BAT, LVL(2, 22, 7, 0, 0), (G_GENO | 2),
1047 A(ATTK(AT_BITE, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1049 SIZ(30, 30, MS_SQEEK, MZ_SMALL), 0, 0,
1050 M1_FLY | M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE,
1051 M2_WANDER | M2_HOSTILE, M3_INFRAVISIBLE, CLR_RED),
1052 MON("raven", S_BAT, LVL(4, 20, 6, 0, 0), (G_GENO | 2),
1053 A(ATTK(AT_BITE, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_BLND, 1, 6), NO_ATTK,
1054 NO_ATTK, NO_ATTK, NO_ATTK),
1055 SIZ(40, 20, MS_SQAWK, MZ_SMALL), 0, 0,
1056 M1_FLY | M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE,
1057 M2_WANDER | M2_HOSTILE, M3_INFRAVISIBLE, CLR_BLACK),
1058 MON("vampire bat", S_BAT, LVL(5, 20, 6, 0, 0), (G_GENO | 2),
1059 A(ATTK(AT_BITE, AD_PHYS, 1, 6), ATTK(AT_BITE, AD_DRST, 0, 0), NO_ATTK,
1060 NO_ATTK, NO_ATTK, NO_ATTK),
1061 SIZ(30, 20, MS_SQEEK, MZ_SMALL), MR_SLEEP | MR_POISON, 0,
1062 M1_FLY | M1_ANIMAL | M1_NOHANDS | M1_POIS | M1_REGEN | M1_OMNIVORE,
1063 M2_HOSTILE, M3_INFRAVISIBLE, CLR_BLACK),
1067 MON("plains centaur", S_CENTAUR, LVL(4, 18, 4, 0, 0), (G_GENO | 1),
1068 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_KICK, AD_PHYS, 1, 6), NO_ATTK,
1069 NO_ATTK, NO_ATTK, NO_ATTK),
1070 SIZ(2500, 500, MS_HUMANOID, MZ_LARGE), 0, 0,
1071 M1_HUMANOID | M1_OMNIVORE, M2_STRONG | M2_GREEDY | M2_COLLECT,
1072 M3_INFRAVISIBLE, CLR_BROWN),
1073 MON("forest centaur", S_CENTAUR, LVL(5, 18, 3, 10, -1), (G_GENO | 1),
1074 A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_KICK, AD_PHYS, 1, 6), NO_ATTK,
1075 NO_ATTK, NO_ATTK, NO_ATTK),
1076 SIZ(2550, 600, MS_HUMANOID, MZ_LARGE), 0, 0,
1077 M1_HUMANOID | M1_OMNIVORE, M2_STRONG | M2_GREEDY | M2_COLLECT,
1078 M3_INFRAVISIBLE, CLR_GREEN),
1079 MON("mountain centaur", S_CENTAUR, LVL(6, 20, 2, 10, -3), (G_GENO | 1),
1080 A(ATTK(AT_WEAP, AD_PHYS, 1, 10), ATTK(AT_KICK, AD_PHYS, 1, 6),
1081 ATTK(AT_KICK, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK),
1082 SIZ(2550, 500, MS_HUMANOID, MZ_LARGE), 0, 0,
1083 M1_HUMANOID | M1_OMNIVORE, M2_STRONG | M2_GREEDY | M2_COLLECT,
1084 M3_INFRAVISIBLE, CLR_CYAN),
1088 /* The order of the dragons is VERY IMPORTANT. Quite a few
1089 * pieces of code depend on gray being first and yellow being last.
1090 * The code also depends on the *order* being the same as that for
1091 * dragon scale mail and dragon scales in objects.c. Baby dragons
1092 * cannot confer intrinsics, to avoid polyself/egg abuse.
1094 * As reptiles, dragons are cold-blooded and thus aren't seen
1095 * with infravision. Red dragons are the exception.
1097 MON("baby gray dragon", S_DRAGON, LVL(12, 9, 2, 10, 0), G_GENO,
1098 A(ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1100 SIZ(1500, 500, MS_ROAR, MZ_HUGE), 0, 0,
1101 M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_CARNIVORE,
1102 M2_HOSTILE | M2_STRONG | M2_GREEDY | M2_JEWELS, 0, CLR_GRAY),
1103 MON("baby silver dragon", S_DRAGON, LVL(12, 9, 2, 10, 0), G_GENO,
1104 A(ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1106 SIZ(1500, 500, MS_ROAR, MZ_HUGE), 0, 0,
1107 M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_CARNIVORE,
1108 M2_HOSTILE | M2_STRONG | M2_GREEDY | M2_JEWELS, 0, DRAGON_SILVER),
1109 #if 0 /* DEFERRED */
1110 MON("baby shimmering dragon", S_DRAGON,
1111 LVL(12, 9, 2, 10, 0), G_GENO,
1112 A(ATTK(AT_BITE, AD_PHYS, 2, 6),
1113 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1114 SIZ(1500, 500, MS_ROAR, MZ_HUGE), 0, 0,
1115 M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_CARNIVORE,
1116 M2_HOSTILE | M2_STRONG | M2_GREEDY | M2_JEWELS, 0, CLR_CYAN),
1118 MON("baby red dragon", S_DRAGON, LVL(12, 9, 2, 10, 0), G_GENO,
1119 A(ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1121 SIZ(1500, 500, MS_ROAR, MZ_HUGE), MR_FIRE, 0,
1122 M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_CARNIVORE,
1123 M2_HOSTILE | M2_STRONG | M2_GREEDY | M2_JEWELS, M3_INFRAVISIBLE,
1125 MON("baby white dragon", S_DRAGON, LVL(12, 9, 2, 10, 0), G_GENO,
1126 A(ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1128 SIZ(1500, 500, MS_ROAR, MZ_HUGE), MR_COLD, 0,
1129 M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_CARNIVORE,
1130 M2_HOSTILE | M2_STRONG | M2_GREEDY | M2_JEWELS, 0, CLR_WHITE),
1131 MON("baby orange dragon", S_DRAGON, LVL(12, 9, 2, 10, 0), G_GENO,
1132 A(ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1134 SIZ(1500, 500, MS_ROAR, MZ_HUGE), MR_SLEEP, 0,
1135 M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_CARNIVORE,
1136 M2_HOSTILE | M2_STRONG | M2_GREEDY | M2_JEWELS, 0, CLR_ORANGE),
1137 MON("baby black dragon", S_DRAGON, LVL(12, 9, 2, 10, 0), G_GENO,
1138 A(ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1140 SIZ(1500, 500, MS_ROAR, MZ_HUGE), MR_DISINT, 0,
1141 M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_CARNIVORE,
1142 M2_HOSTILE | M2_STRONG | M2_GREEDY | M2_JEWELS, 0, CLR_BLACK),
1143 MON("baby blue dragon", S_DRAGON, LVL(12, 9, 2, 10, 0), G_GENO,
1144 A(ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1146 SIZ(1500, 500, MS_ROAR, MZ_HUGE), MR_ELEC, 0,
1147 M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_CARNIVORE,
1148 M2_HOSTILE | M2_STRONG | M2_GREEDY | M2_JEWELS, 0, CLR_BLUE),
1149 MON("baby green dragon", S_DRAGON, LVL(12, 9, 2, 10, 0), G_GENO,
1150 A(ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1152 SIZ(1500, 500, MS_ROAR, MZ_HUGE), MR_POISON, 0,
1153 M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_CARNIVORE | M1_POIS,
1154 M2_HOSTILE | M2_STRONG | M2_GREEDY | M2_JEWELS, 0, CLR_GREEN),
1155 MON("baby yellow dragon", S_DRAGON, LVL(12, 9, 2, 10, 0), G_GENO,
1156 A(ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1158 SIZ(1500, 500, MS_ROAR, MZ_HUGE), MR_ACID | MR_STONE, 0,
1159 M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_CARNIVORE | M1_ACID,
1160 M2_HOSTILE | M2_STRONG | M2_GREEDY | M2_JEWELS, 0, CLR_YELLOW),
1161 MON("gray dragon", S_DRAGON, LVL(15, 9, -1, 20, 4), (G_GENO | 1),
1162 A(ATTK(AT_BREA, AD_MAGM, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8),
1163 ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), NO_ATTK,
1165 SIZ(WT_DRAGON, 1500, MS_ROAR, MZ_GIGANTIC), 0, 0,
1166 M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS
1168 M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC,
1170 MON("silver dragon", S_DRAGON, LVL(15, 9, -1, 20, 4), (G_GENO | 1),
1171 A(ATTK(AT_BREA, AD_COLD, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8),
1172 ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), NO_ATTK,
1174 SIZ(WT_DRAGON, 1500, MS_ROAR, MZ_GIGANTIC), MR_COLD, 0,
1175 M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS
1177 M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC,
1179 #if 0 /* DEFERRED */
1180 MON("shimmering dragon", S_DRAGON,
1181 LVL(15, 9, -1, 20, 4), (G_GENO | 1),
1182 A(ATTK(AT_BREA, AD_MAGM, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8),
1183 ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
1185 SIZ(WT_DRAGON, 1500, MS_ROAR, MZ_GIGANTIC), 0, 0,
1186 M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS
1188 M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC,
1191 MON("red dragon", S_DRAGON, LVL(15, 9, -1, 20, -4), (G_GENO | 1),
1192 A(ATTK(AT_BREA, AD_FIRE, 6, 6), ATTK(AT_BITE, AD_PHYS, 3, 8),
1193 ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), NO_ATTK,
1195 SIZ(WT_DRAGON, 1500, MS_ROAR, MZ_GIGANTIC), MR_FIRE, MR_FIRE,
1196 M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS
1198 M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC,
1199 M3_INFRAVISIBLE, CLR_RED),
1200 MON("white dragon", S_DRAGON, LVL(15, 9, -1, 20, -5), (G_GENO | 1),
1201 A(ATTK(AT_BREA, AD_COLD, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8),
1202 ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), NO_ATTK,
1204 SIZ(WT_DRAGON, 1500, MS_ROAR, MZ_GIGANTIC), MR_COLD, MR_COLD,
1205 M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS
1207 M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC,
1209 MON("orange dragon", S_DRAGON, LVL(15, 9, -1, 20, 5), (G_GENO | 1),
1210 A(ATTK(AT_BREA, AD_SLEE, 4, 25), ATTK(AT_BITE, AD_PHYS, 3, 8),
1211 ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), NO_ATTK,
1213 SIZ(WT_DRAGON, 1500, MS_ROAR, MZ_GIGANTIC), MR_SLEEP, MR_SLEEP,
1214 M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS
1216 M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC,
1218 /* disintegration breath is actually all or nothing, not 1d255 */
1219 MON("black dragon", S_DRAGON, LVL(15, 9, -1, 20, -6), (G_GENO | 1),
1220 A(ATTK(AT_BREA, AD_DISN, 1, 255), ATTK(AT_BITE, AD_PHYS, 3, 8),
1221 ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), NO_ATTK,
1223 SIZ(WT_DRAGON, 1500, MS_ROAR, MZ_GIGANTIC), MR_DISINT, MR_DISINT,
1224 M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS
1226 M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC,
1228 MON("blue dragon", S_DRAGON, LVL(15, 9, -1, 20, -7), (G_GENO | 1),
1229 A(ATTK(AT_BREA, AD_ELEC, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8),
1230 ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), NO_ATTK,
1232 SIZ(WT_DRAGON, 1500, MS_ROAR, MZ_GIGANTIC), MR_ELEC, MR_ELEC,
1233 M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS
1235 M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC,
1237 MON("green dragon", S_DRAGON, LVL(15, 9, -1, 20, 6), (G_GENO | 1),
1238 A(ATTK(AT_BREA, AD_DRST, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8),
1239 ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), NO_ATTK,
1241 SIZ(WT_DRAGON, 1500, MS_ROAR, MZ_GIGANTIC), MR_POISON, MR_POISON,
1242 M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS
1243 | M1_CARNIVORE | M1_POIS,
1244 M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC,
1246 MON("yellow dragon", S_DRAGON, LVL(15, 9, -1, 20, 7), (G_GENO | 1),
1247 A(ATTK(AT_BREA, AD_ACID, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8),
1248 ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), NO_ATTK,
1250 SIZ(WT_DRAGON, 1500, MS_ROAR, MZ_GIGANTIC), MR_ACID | MR_STONE,
1251 MR_STONE, M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS
1252 | M1_OVIPAROUS | M1_CARNIVORE | M1_ACID,
1253 M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC,
1258 MON("stalker", S_ELEMENTAL, LVL(8, 12, 3, 0, 0), (G_GENO | 3),
1259 A(ATTK(AT_CLAW, AD_PHYS, 4, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1261 SIZ(900, 400, MS_SILENT, MZ_LARGE), 0, 0,
1262 M1_ANIMAL | M1_FLY | M1_SEE_INVIS,
1263 M2_WANDER | M2_STALK | M2_HOSTILE | M2_STRONG, M3_INFRAVISION,
1265 MON("air elemental", S_ELEMENTAL, LVL(8, 36, 2, 30, 0), (G_NOCORPSE | 1),
1266 A(ATTK(AT_ENGL, AD_PHYS, 1, 10), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1268 SIZ(0, 0, MS_SILENT, MZ_HUGE), MR_POISON | MR_STONE, 0,
1269 M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS | M1_BREATHLESS
1270 | M1_UNSOLID | M1_FLY,
1271 M2_STRONG | M2_NEUTER, 0, CLR_CYAN),
1272 MON("fire elemental", S_ELEMENTAL, LVL(8, 12, 2, 30, 0), (G_NOCORPSE | 1),
1273 A(ATTK(AT_CLAW, AD_FIRE, 3, 6), ATTK(AT_NONE, AD_FIRE, 0, 4), NO_ATTK,
1274 NO_ATTK, NO_ATTK, NO_ATTK),
1275 SIZ(0, 0, MS_SILENT, MZ_HUGE), MR_FIRE | MR_POISON | MR_STONE, 0,
1276 M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS | M1_BREATHLESS
1277 | M1_UNSOLID | M1_FLY | M1_NOTAKE,
1278 M2_STRONG | M2_NEUTER, M3_INFRAVISIBLE, CLR_YELLOW),
1279 MON("earth elemental", S_ELEMENTAL, LVL(8, 6, 2, 30, 0), (G_NOCORPSE | 1),
1280 A(ATTK(AT_CLAW, AD_PHYS, 4, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1282 SIZ(2500, 0, MS_SILENT, MZ_HUGE),
1283 MR_FIRE | MR_COLD | MR_POISON | MR_STONE, 0,
1284 M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS | M1_BREATHLESS
1285 | M1_WALLWALK | M1_THICK_HIDE,
1286 M2_STRONG | M2_NEUTER, 0, CLR_BROWN),
1287 MON("water elemental", S_ELEMENTAL, LVL(8, 6, 2, 30, 0), (G_NOCORPSE | 1),
1288 A(ATTK(AT_CLAW, AD_PHYS, 5, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1290 SIZ(2500, 0, MS_SILENT, MZ_HUGE), MR_POISON | MR_STONE, 0,
1291 M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS | M1_BREATHLESS
1292 | M1_UNSOLID | M1_AMPHIBIOUS | M1_SWIM,
1293 M2_STRONG | M2_NEUTER, 0, CLR_BLUE),
1297 MON("lichen", S_FUNGUS, LVL(0, 1, 9, 0, 0), (G_GENO | 4),
1298 A(ATTK(AT_TUCH, AD_STCK, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1300 SIZ(20, 200, MS_SILENT, MZ_SMALL), 0, 0,
1301 M1_BREATHLESS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS
1303 M2_HOSTILE | M2_NEUTER, 0, CLR_BRIGHT_GREEN),
1304 MON("brown mold", S_FUNGUS, LVL(1, 0, 9, 0, 0), (G_GENO | 1),
1305 A(ATTK(AT_NONE, AD_COLD, 0, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1307 SIZ(50, 30, MS_SILENT, MZ_SMALL), MR_COLD | MR_POISON,
1308 MR_COLD | MR_POISON, M1_BREATHLESS | M1_NOEYES | M1_NOLIMBS
1309 | M1_NOHEAD | M1_MINDLESS | M1_NOTAKE,
1310 M2_HOSTILE | M2_NEUTER, 0, CLR_BROWN),
1311 MON("yellow mold", S_FUNGUS, LVL(1, 0, 9, 0, 0), (G_GENO | 2),
1312 A(ATTK(AT_NONE, AD_STUN, 0, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1314 SIZ(50, 30, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON,
1315 M1_BREATHLESS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS
1316 | M1_POIS | M1_NOTAKE,
1317 M2_HOSTILE | M2_NEUTER, 0, CLR_YELLOW),
1318 MON("green mold", S_FUNGUS, LVL(1, 0, 9, 0, 0), (G_GENO | 1),
1319 A(ATTK(AT_NONE, AD_ACID, 0, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1321 SIZ(50, 30, MS_SILENT, MZ_SMALL), MR_ACID | MR_STONE, MR_STONE,
1322 M1_BREATHLESS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS
1323 | M1_ACID | M1_NOTAKE,
1324 M2_HOSTILE | M2_NEUTER, 0, CLR_GREEN),
1325 MON("red mold", S_FUNGUS, LVL(1, 0, 9, 0, 0), (G_GENO | 1),
1326 A(ATTK(AT_NONE, AD_FIRE, 0, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1328 SIZ(50, 30, MS_SILENT, MZ_SMALL), MR_FIRE | MR_POISON,
1329 MR_FIRE | MR_POISON, M1_BREATHLESS | M1_NOEYES | M1_NOLIMBS
1330 | M1_NOHEAD | M1_MINDLESS | M1_NOTAKE,
1331 M2_HOSTILE | M2_NEUTER, M3_INFRAVISIBLE, CLR_RED),
1332 MON("shrieker", S_FUNGUS, LVL(3, 1, 7, 0, 0), (G_GENO | 1),
1333 A(NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1334 SIZ(100, 100, MS_SHRIEK, MZ_SMALL), MR_POISON, MR_POISON,
1335 M1_BREATHLESS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS
1337 M2_HOSTILE | M2_NEUTER, 0, CLR_MAGENTA),
1338 MON("violet fungus", S_FUNGUS, LVL(3, 1, 7, 0, 0), (G_GENO | 2),
1339 A(ATTK(AT_TUCH, AD_PHYS, 1, 4), ATTK(AT_TUCH, AD_STCK, 0, 0), NO_ATTK,
1340 NO_ATTK, NO_ATTK, NO_ATTK),
1341 SIZ(100, 100, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON,
1342 M1_BREATHLESS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS
1344 M2_HOSTILE | M2_NEUTER, 0, CLR_MAGENTA),
1348 MON("gnome", S_GNOME, LVL(1, 6, 10, 4, 0), (G_GENO | G_SGROUP | 1),
1349 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1351 SIZ(650, 100, MS_ORC, MZ_SMALL), 0, 0, M1_HUMANOID | M1_OMNIVORE,
1352 M2_NOPOLY | M2_GNOME | M2_COLLECT, M3_INFRAVISIBLE | M3_INFRAVISION,
1354 MON("gnome lord", S_GNOME, LVL(3, 8, 10, 4, 0), (G_GENO | 2),
1355 A(ATTK(AT_WEAP, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1357 SIZ(700, 120, MS_ORC, MZ_SMALL), 0, 0, M1_HUMANOID | M1_OMNIVORE,
1358 M2_GNOME | M2_LORD | M2_MALE | M2_COLLECT,
1359 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_BLUE),
1360 MON("gnomish wizard", S_GNOME, LVL(3, 10, 4, 10, 0), (G_GENO | 1),
1361 A(ATTK(AT_MAGC, AD_SPEL, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1363 SIZ(700, 120, MS_ORC, MZ_SMALL), 0, 0, M1_HUMANOID | M1_OMNIVORE,
1364 M2_GNOME | M2_MAGIC, M3_INFRAVISIBLE | M3_INFRAVISION, HI_ZAP),
1365 MON("gnome king", S_GNOME, LVL(5, 10, 10, 20, 0), (G_GENO | 1),
1366 A(ATTK(AT_WEAP, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1368 SIZ(750, 150, MS_ORC, MZ_SMALL), 0, 0, M1_HUMANOID | M1_OMNIVORE,
1369 M2_GNOME | M2_PRINCE | M2_MALE | M2_COLLECT,
1370 M3_INFRAVISIBLE | M3_INFRAVISION, HI_LORD),
1374 #endif /* !SPLITMON_2 */
1376 /* horrible kludge alert:
1377 * This is a compiler-specific kludge to allow the compilation of monst.o in
1378 * two pieces, by defining first SPLITMON_1 and then SPLITMON_2. The
1379 * resulting assembler files (monst1.s and monst2.s) are then run through
1380 * sed to change local symbols, concatenated together, and assembled to
1381 * produce monst.o. THIS ONLY WORKS WITH THE ATARI GCC, and should only
1382 * be done if you don't have enough memory to compile monst.o the "normal"
1388 struct permonst _mons2[] = {
1393 MON("giant", S_GIANT, LVL(6, 6, 0, 0, 2), (G_GENO | G_NOGEN | 1),
1394 A(ATTK(AT_WEAP, AD_PHYS, 2, 10), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1396 SIZ(2250, 750, MS_BOAST, MZ_HUGE), 0, 0, M1_HUMANOID | M1_CARNIVORE,
1397 M2_GIANT | M2_STRONG | M2_ROCKTHROW | M2_NASTY | M2_COLLECT
1399 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_RED),
1400 MON("stone giant", S_GIANT, LVL(6, 6, 0, 0, 2), (G_GENO | G_SGROUP | 1),
1401 A(ATTK(AT_WEAP, AD_PHYS, 2, 10), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1403 SIZ(2250, 750, MS_BOAST, MZ_HUGE), 0, 0, M1_HUMANOID | M1_CARNIVORE,
1404 M2_GIANT | M2_STRONG | M2_ROCKTHROW | M2_NASTY | M2_COLLECT
1406 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_GRAY),
1407 MON("hill giant", S_GIANT, LVL(8, 10, 6, 0, -2), (G_GENO | G_SGROUP | 1),
1408 A(ATTK(AT_WEAP, AD_PHYS, 2, 8), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1410 SIZ(2200, 700, MS_BOAST, MZ_HUGE), 0, 0, M1_HUMANOID | M1_CARNIVORE,
1411 M2_GIANT | M2_STRONG | M2_ROCKTHROW | M2_NASTY | M2_COLLECT
1413 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_CYAN),
1414 MON("fire giant", S_GIANT, LVL(9, 12, 4, 5, 2), (G_GENO | G_SGROUP | 1),
1415 A(ATTK(AT_WEAP, AD_PHYS, 2, 10), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1417 SIZ(2250, 750, MS_BOAST, MZ_HUGE), MR_FIRE, MR_FIRE,
1418 M1_HUMANOID | M1_CARNIVORE, M2_GIANT | M2_STRONG | M2_ROCKTHROW
1419 | M2_NASTY | M2_COLLECT | M2_JEWELS,
1420 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_YELLOW),
1421 MON("frost giant", S_GIANT, LVL(10, 12, 3, 10, -3),
1422 (G_NOHELL | G_GENO | G_SGROUP | 1),
1423 A(ATTK(AT_WEAP, AD_PHYS, 2, 12), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1425 SIZ(2250, 750, MS_BOAST, MZ_HUGE), MR_COLD, MR_COLD,
1426 M1_HUMANOID | M1_CARNIVORE, M2_GIANT | M2_STRONG | M2_ROCKTHROW
1427 | M2_NASTY | M2_COLLECT | M2_JEWELS,
1428 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_WHITE),
1429 MON("ettin", S_GIANT, LVL(10, 12, 3, 0, 0), (G_GENO | 1),
1430 A(ATTK(AT_WEAP, AD_PHYS, 2, 8), ATTK(AT_WEAP, AD_PHYS, 3, 6), NO_ATTK,
1431 NO_ATTK, NO_ATTK, NO_ATTK),
1432 SIZ(1700, 500, MS_GRUNT, MZ_HUGE), 0, 0,
1433 M1_ANIMAL | M1_HUMANOID | M1_CARNIVORE,
1434 M2_HOSTILE | M2_STRONG | M2_NASTY | M2_COLLECT,
1435 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_BROWN),
1436 MON("storm giant", S_GIANT, LVL(16, 12, 3, 10, -3),
1437 (G_GENO | G_SGROUP | 1), A(ATTK(AT_WEAP, AD_PHYS, 2, 12), NO_ATTK,
1438 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1439 SIZ(2250, 750, MS_BOAST, MZ_HUGE), MR_ELEC, MR_ELEC,
1440 M1_HUMANOID | M1_CARNIVORE, M2_GIANT | M2_STRONG | M2_ROCKTHROW
1441 | M2_NASTY | M2_COLLECT | M2_JEWELS,
1442 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_BLUE),
1443 MON("titan", S_GIANT, LVL(16, 18, -3, 70, 9), (1),
1444 A(ATTK(AT_WEAP, AD_PHYS, 2, 8), ATTK(AT_MAGC, AD_SPEL, 0, 0), NO_ATTK,
1445 NO_ATTK, NO_ATTK, NO_ATTK),
1446 SIZ(2300, 900, MS_SPELL, MZ_HUGE), 0, 0,
1447 M1_FLY | M1_HUMANOID | M1_OMNIVORE,
1448 M2_STRONG | M2_ROCKTHROW | M2_NASTY | M2_COLLECT | M2_MAGIC,
1449 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_MAGENTA),
1450 MON("minotaur", S_GIANT, LVL(15, 15, 6, 0, 0), (G_GENO | G_NOGEN),
1451 A(ATTK(AT_CLAW, AD_PHYS, 3, 10), ATTK(AT_CLAW, AD_PHYS, 3, 10),
1452 ATTK(AT_BUTT, AD_PHYS, 2, 8), NO_ATTK, NO_ATTK, NO_ATTK),
1453 SIZ(1500, 700, MS_SILENT, MZ_LARGE), 0, 0,
1454 M1_ANIMAL | M1_HUMANOID | M1_CARNIVORE,
1455 M2_HOSTILE | M2_STRONG | M2_NASTY, M3_INFRAVISIBLE | M3_INFRAVISION,
1457 /* 'I' is a visual marker for all invisible monsters and must be unused */
1461 /* the illustration from _Through_the_Looking_Glass_
1462 depicts hands as well as wings */
1463 MON("jabberwock", S_JABBERWOCK, LVL(15, 12, -2, 50, 0), (G_GENO | 1),
1464 A(ATTK(AT_BITE, AD_PHYS, 2, 10), ATTK(AT_BITE, AD_PHYS, 2, 10),
1465 ATTK(AT_CLAW, AD_PHYS, 2, 10), ATTK(AT_CLAW, AD_PHYS, 2, 10),
1467 SIZ(1300, 600, MS_BURBLE, MZ_LARGE), 0, 0,
1468 M1_ANIMAL | M1_FLY | M1_CARNIVORE,
1469 M2_HOSTILE | M2_STRONG | M2_NASTY | M2_COLLECT, M3_INFRAVISIBLE,
1471 #if 0 /* DEFERRED */
1472 MON("vorpal jabberwock", S_JABBERWOCK,
1473 LVL(20, 12, -2, 50, 0), (G_GENO | 1),
1474 A(ATTK(AT_BITE, AD_PHYS, 3, 10), ATTK(AT_BITE, AD_PHYS, 3, 10),
1475 ATTK(AT_CLAW, AD_PHYS, 3, 10), ATTK(AT_CLAW, AD_PHYS, 3, 10),
1477 SIZ(1300, 600, MS_BURBLE, MZ_LARGE), 0, 0,
1478 M1_ANIMAL | M1_FLY | M1_CARNIVORE,
1479 M2_HOSTILE | M2_STRONG | M2_NASTY | M2_COLLECT, M3_INFRAVISIBLE,
1485 MON("Keystone Kop", S_KOP, LVL(1, 6, 10, 10, 9),
1486 (G_GENO | G_LGROUP | G_NOGEN),
1487 A(ATTK(AT_WEAP, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1489 SIZ(WT_HUMAN, 200, MS_ARREST, MZ_HUMAN), 0, 0, M1_HUMANOID,
1490 M2_HUMAN | M2_WANDER | M2_HOSTILE | M2_MALE | M2_COLLECT,
1491 M3_INFRAVISIBLE, CLR_BLUE),
1492 MON("Kop Sergeant", S_KOP, LVL(2, 8, 10, 10, 10),
1493 (G_GENO | G_SGROUP | G_NOGEN),
1494 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1496 SIZ(WT_HUMAN, 200, MS_ARREST, MZ_HUMAN), 0, 0, M1_HUMANOID,
1497 M2_HUMAN | M2_WANDER | M2_HOSTILE | M2_STRONG | M2_MALE | M2_COLLECT,
1498 M3_INFRAVISIBLE, CLR_BLUE),
1499 MON("Kop Lieutenant", S_KOP, LVL(3, 10, 10, 20, 11), (G_GENO | G_NOGEN),
1500 A(ATTK(AT_WEAP, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1502 SIZ(WT_HUMAN, 200, MS_ARREST, MZ_HUMAN), 0, 0, M1_HUMANOID,
1503 M2_HUMAN | M2_WANDER | M2_HOSTILE | M2_STRONG | M2_MALE | M2_COLLECT,
1504 M3_INFRAVISIBLE, CLR_CYAN),
1505 MON("Kop Kaptain", S_KOP, LVL(4, 12, 10, 20, 12), (G_GENO | G_NOGEN),
1506 A(ATTK(AT_WEAP, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1508 SIZ(WT_HUMAN, 200, MS_ARREST, MZ_HUMAN), 0, 0, M1_HUMANOID,
1509 M2_HUMAN | M2_WANDER | M2_HOSTILE | M2_STRONG | M2_MALE | M2_COLLECT,
1510 M3_INFRAVISIBLE, HI_LORD),
1514 MON("lich", S_LICH, LVL(11, 6, 0, 30, -9), (G_GENO | G_NOCORPSE | 1),
1515 A(ATTK(AT_TUCH, AD_COLD, 1, 10), ATTK(AT_MAGC, AD_SPEL, 0, 0),
1516 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1517 SIZ(1200, 100, MS_MUMBLE, MZ_HUMAN), MR_COLD | MR_SLEEP | MR_POISON,
1518 MR_COLD, M1_BREATHLESS | M1_HUMANOID | M1_POIS | M1_REGEN,
1519 M2_UNDEAD | M2_HOSTILE | M2_MAGIC, M3_INFRAVISION, CLR_BROWN),
1520 MON("demilich", S_LICH, LVL(14, 9, -2, 60, -12),
1521 (G_GENO | G_NOCORPSE | 1),
1522 A(ATTK(AT_TUCH, AD_COLD, 3, 4), ATTK(AT_MAGC, AD_SPEL, 0, 0), NO_ATTK,
1523 NO_ATTK, NO_ATTK, NO_ATTK),
1524 SIZ(1200, 100, MS_MUMBLE, MZ_HUMAN), MR_COLD | MR_SLEEP | MR_POISON,
1525 MR_COLD, M1_BREATHLESS | M1_HUMANOID | M1_POIS | M1_REGEN,
1526 M2_UNDEAD | M2_HOSTILE | M2_MAGIC, M3_INFRAVISION, CLR_RED),
1527 MON("master lich", S_LICH, LVL(17, 9, -4, 90, -15),
1528 (G_HELL | G_GENO | G_NOCORPSE | 1),
1529 A(ATTK(AT_TUCH, AD_COLD, 3, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0), NO_ATTK,
1530 NO_ATTK, NO_ATTK, NO_ATTK),
1531 SIZ(1200, 100, MS_MUMBLE, MZ_HUMAN),
1532 MR_FIRE | MR_COLD | MR_SLEEP | MR_POISON, MR_FIRE | MR_COLD,
1533 M1_BREATHLESS | M1_HUMANOID | M1_POIS | M1_REGEN,
1534 M2_UNDEAD | M2_HOSTILE | M2_MAGIC, M3_WANTSBOOK | M3_INFRAVISION,
1536 MON("arch-lich", S_LICH, LVL(25, 9, -6, 90, -15),
1537 (G_HELL | G_GENO | G_NOCORPSE | 1),
1538 A(ATTK(AT_TUCH, AD_COLD, 5, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0), NO_ATTK,
1539 NO_ATTK, NO_ATTK, NO_ATTK),
1540 SIZ(1200, 100, MS_MUMBLE, MZ_HUMAN),
1541 MR_FIRE | MR_COLD | MR_SLEEP | MR_ELEC | MR_POISON, MR_FIRE | MR_COLD,
1542 M1_BREATHLESS | M1_HUMANOID | M1_POIS | M1_REGEN,
1543 M2_UNDEAD | M2_HOSTILE | M2_MAGIC, M3_WANTSBOOK | M3_INFRAVISION,
1548 MON("kobold mummy", S_MUMMY, LVL(3, 8, 6, 20, -2),
1549 (G_GENO | G_NOCORPSE | 1), A(ATTK(AT_CLAW, AD_PHYS, 1, 4), NO_ATTK,
1550 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1551 SIZ(400, 50, MS_SILENT, MZ_SMALL), MR_COLD | MR_SLEEP | MR_POISON, 0,
1552 M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_POIS,
1553 M2_UNDEAD | M2_HOSTILE, M3_INFRAVISION, CLR_BROWN),
1554 MON("gnome mummy", S_MUMMY, LVL(4, 10, 6, 20, -3),
1555 (G_GENO | G_NOCORPSE | 1), A(ATTK(AT_CLAW, AD_PHYS, 1, 6), NO_ATTK,
1556 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1557 SIZ(650, 50, MS_SILENT, MZ_SMALL), MR_COLD | MR_SLEEP | MR_POISON, 0,
1558 M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_POIS,
1559 M2_UNDEAD | M2_HOSTILE | M2_GNOME, M3_INFRAVISION, CLR_RED),
1560 MON("orc mummy", S_MUMMY, LVL(5, 10, 5, 20, -4),
1561 (G_GENO | G_NOCORPSE | 1), A(ATTK(AT_CLAW, AD_PHYS, 1, 6), NO_ATTK,
1562 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1563 SIZ(850, 75, MS_SILENT, MZ_HUMAN), MR_COLD | MR_SLEEP | MR_POISON, 0,
1564 M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_POIS,
1565 M2_UNDEAD | M2_HOSTILE | M2_ORC | M2_GREEDY | M2_JEWELS,
1566 M3_INFRAVISION, CLR_GRAY),
1567 MON("dwarf mummy", S_MUMMY, LVL(5, 10, 5, 20, -4),
1568 (G_GENO | G_NOCORPSE | 1), A(ATTK(AT_CLAW, AD_PHYS, 1, 6), NO_ATTK,
1569 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1570 SIZ(900, 150, MS_SILENT, MZ_HUMAN), MR_COLD | MR_SLEEP | MR_POISON, 0,
1571 M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_POIS,
1572 M2_UNDEAD | M2_HOSTILE | M2_DWARF | M2_GREEDY | M2_JEWELS,
1573 M3_INFRAVISION, CLR_RED),
1574 MON("elf mummy", S_MUMMY, LVL(6, 12, 4, 30, -5),
1575 (G_GENO | G_NOCORPSE | 1), A(ATTK(AT_CLAW, AD_PHYS, 2, 4), NO_ATTK,
1576 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1577 SIZ(WT_ELF, 175, MS_SILENT, MZ_HUMAN), MR_COLD | MR_SLEEP | MR_POISON,
1578 0, M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_POIS,
1579 M2_UNDEAD | M2_HOSTILE | M2_ELF, M3_INFRAVISION, CLR_GREEN),
1580 MON("human mummy", S_MUMMY, LVL(6, 12, 4, 30, -5),
1581 (G_GENO | G_NOCORPSE | 1),
1582 A(ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4), NO_ATTK,
1583 NO_ATTK, NO_ATTK, NO_ATTK),
1584 SIZ(WT_HUMAN, 200, MS_SILENT, MZ_HUMAN),
1585 MR_COLD | MR_SLEEP | MR_POISON, 0,
1586 M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_POIS,
1587 M2_UNDEAD | M2_HOSTILE, M3_INFRAVISION, CLR_GRAY),
1588 MON("ettin mummy", S_MUMMY, LVL(7, 12, 4, 30, -6),
1589 (G_GENO | G_NOCORPSE | 1),
1590 A(ATTK(AT_CLAW, AD_PHYS, 2, 6), ATTK(AT_CLAW, AD_PHYS, 2, 6), NO_ATTK,
1591 NO_ATTK, NO_ATTK, NO_ATTK),
1592 SIZ(1700, 250, MS_SILENT, MZ_HUGE), MR_COLD | MR_SLEEP | MR_POISON, 0,
1593 M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_POIS,
1594 M2_UNDEAD | M2_HOSTILE | M2_STRONG, M3_INFRAVISION, CLR_BLUE),
1595 MON("giant mummy", S_MUMMY, LVL(8, 14, 3, 30, -7),
1596 (G_GENO | G_NOCORPSE | 1),
1597 A(ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4), NO_ATTK,
1598 NO_ATTK, NO_ATTK, NO_ATTK),
1599 SIZ(2050, 375, MS_SILENT, MZ_HUGE), MR_COLD | MR_SLEEP | MR_POISON, 0,
1600 M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_POIS,
1601 M2_UNDEAD | M2_HOSTILE | M2_GIANT | M2_STRONG | M2_JEWELS,
1602 M3_INFRAVISION, CLR_CYAN),
1606 MON("red naga hatchling", S_NAGA, LVL(3, 10, 6, 0, 0), G_GENO,
1607 A(ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1609 SIZ(500, 100, MS_MUMBLE, MZ_LARGE), MR_FIRE | MR_POISON,
1610 MR_FIRE | MR_POISON,
1611 M1_NOLIMBS | M1_SLITHY | M1_THICK_HIDE | M1_NOTAKE | M1_OMNIVORE,
1612 M2_STRONG, M3_INFRAVISIBLE, CLR_RED),
1613 MON("black naga hatchling", S_NAGA, LVL(3, 10, 6, 0, 0), G_GENO,
1614 A(ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1616 SIZ(500, 100, MS_MUMBLE, MZ_LARGE), MR_POISON | MR_ACID | MR_STONE,
1617 MR_POISON | MR_STONE, M1_NOLIMBS | M1_SLITHY | M1_THICK_HIDE | M1_ACID
1618 | M1_NOTAKE | M1_CARNIVORE,
1619 M2_STRONG, 0, CLR_BLACK),
1620 MON("golden naga hatchling", S_NAGA, LVL(3, 10, 6, 0, 0), G_GENO,
1621 A(ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1623 SIZ(500, 100, MS_MUMBLE, MZ_LARGE), MR_POISON, MR_POISON,
1624 M1_NOLIMBS | M1_SLITHY | M1_THICK_HIDE | M1_NOTAKE | M1_OMNIVORE,
1625 M2_STRONG, 0, HI_GOLD),
1626 MON("guardian naga hatchling", S_NAGA, LVL(3, 10, 6, 0, 0), G_GENO,
1627 A(ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1629 SIZ(500, 100, MS_MUMBLE, MZ_LARGE), MR_POISON, MR_POISON,
1630 M1_NOLIMBS | M1_SLITHY | M1_THICK_HIDE | M1_NOTAKE | M1_OMNIVORE,
1631 M2_STRONG, 0, CLR_GREEN),
1632 MON("red naga", S_NAGA, LVL(6, 12, 4, 0, -4), (G_GENO | 1),
1633 A(ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_BREA, AD_FIRE, 2, 6), NO_ATTK,
1634 NO_ATTK, NO_ATTK, NO_ATTK),
1635 SIZ(2600, 400, MS_MUMBLE, MZ_HUGE), MR_FIRE | MR_POISON,
1636 MR_FIRE | MR_POISON, M1_NOLIMBS | M1_SLITHY | M1_THICK_HIDE
1637 | M1_OVIPAROUS | M1_NOTAKE | M1_OMNIVORE,
1638 M2_STRONG, M3_INFRAVISIBLE, CLR_RED),
1639 MON("black naga", S_NAGA, LVL(8, 14, 2, 10, 4), (G_GENO | 1),
1640 A(ATTK(AT_BITE, AD_PHYS, 2, 6), ATTK(AT_SPIT, AD_ACID, 0, 0), NO_ATTK,
1641 NO_ATTK, NO_ATTK, NO_ATTK),
1642 SIZ(2600, 400, MS_MUMBLE, MZ_HUGE), MR_POISON | MR_ACID | MR_STONE,
1643 MR_POISON | MR_STONE,
1644 M1_NOLIMBS | M1_SLITHY | M1_THICK_HIDE | M1_OVIPAROUS | M1_ACID
1645 | M1_NOTAKE | M1_CARNIVORE,
1646 M2_STRONG, 0, CLR_BLACK),
1647 MON("golden naga", S_NAGA, LVL(10, 14, 2, 70, 5), (G_GENO | 1),
1648 A(ATTK(AT_BITE, AD_PHYS, 2, 6), ATTK(AT_MAGC, AD_SPEL, 4, 6), NO_ATTK,
1649 NO_ATTK, NO_ATTK, NO_ATTK),
1650 SIZ(2600, 400, MS_MUMBLE, MZ_HUGE), MR_POISON, MR_POISON,
1651 M1_NOLIMBS | M1_SLITHY | M1_THICK_HIDE | M1_OVIPAROUS | M1_NOTAKE
1653 M2_STRONG, 0, HI_GOLD),
1654 MON("guardian naga", S_NAGA, LVL(12, 16, 0, 50, 7), (G_GENO | 1),
1655 A(ATTK(AT_BITE, AD_PLYS, 1, 6), ATTK(AT_SPIT, AD_DRST, 1, 6),
1656 ATTK(AT_HUGS, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK),
1657 SIZ(2600, 400, MS_MUMBLE, MZ_HUGE), MR_POISON, MR_POISON,
1658 M1_NOLIMBS | M1_SLITHY | M1_THICK_HIDE | M1_OVIPAROUS | M1_POIS
1659 | M1_NOTAKE | M1_OMNIVORE,
1660 M2_STRONG, 0, CLR_GREEN),
1664 MON("ogre", S_OGRE, LVL(5, 10, 5, 0, -3), (G_SGROUP | G_GENO | 1),
1665 A(ATTK(AT_WEAP, AD_PHYS, 2, 5), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1667 SIZ(1600, 500, MS_GRUNT, MZ_LARGE), 0, 0, M1_HUMANOID | M1_CARNIVORE,
1668 M2_STRONG | M2_GREEDY | M2_JEWELS | M2_COLLECT,
1669 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_BROWN),
1670 MON("ogre lord", S_OGRE, LVL(7, 12, 3, 30, -5), (G_GENO | 2),
1671 A(ATTK(AT_WEAP, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1673 SIZ(1700, 700, MS_GRUNT, MZ_LARGE), 0, 0, M1_HUMANOID | M1_CARNIVORE,
1674 M2_STRONG | M2_LORD | M2_MALE | M2_GREEDY | M2_JEWELS | M2_COLLECT,
1675 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_RED),
1676 MON("ogre king", S_OGRE, LVL(9, 14, 4, 60, -7), (G_GENO | 2),
1677 A(ATTK(AT_WEAP, AD_PHYS, 3, 5), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1679 SIZ(1700, 750, MS_GRUNT, MZ_LARGE), 0, 0, M1_HUMANOID | M1_CARNIVORE,
1680 M2_STRONG | M2_PRINCE | M2_MALE | M2_GREEDY | M2_JEWELS | M2_COLLECT,
1681 M3_INFRAVISIBLE | M3_INFRAVISION, HI_LORD),
1685 * must be in the same order as the pudding globs in objects.c
1687 MON("gray ooze", S_PUDDING, LVL(3, 1, 8, 0, 0), (G_GENO | G_NOCORPSE | 2),
1688 A(ATTK(AT_BITE, AD_RUST, 2, 8), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1690 SIZ(500, 250, MS_SILENT, MZ_MEDIUM),
1691 MR_FIRE | MR_COLD | MR_POISON | MR_ACID | MR_STONE,
1692 MR_FIRE | MR_COLD | MR_POISON,
1693 M1_BREATHLESS | M1_AMORPHOUS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD
1694 | M1_MINDLESS | M1_OMNIVORE | M1_ACID,
1695 M2_HOSTILE | M2_NEUTER, 0, CLR_GRAY),
1696 MON("brown pudding", S_PUDDING, LVL(5, 3, 8, 0, 0),
1697 (G_GENO | G_NOCORPSE | 1), A(ATTK(AT_BITE, AD_DCAY, 0, 0), NO_ATTK,
1698 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1699 SIZ(500, 250, MS_SILENT, MZ_MEDIUM),
1700 MR_COLD | MR_ELEC | MR_POISON | MR_ACID | MR_STONE,
1701 MR_COLD | MR_ELEC | MR_POISON,
1702 M1_BREATHLESS | M1_AMORPHOUS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD
1703 | M1_MINDLESS | M1_OMNIVORE | M1_ACID,
1704 M2_HOSTILE | M2_NEUTER, 0, CLR_BROWN),
1705 MON("green slime", S_PUDDING, LVL(6, 6, 6, 0, 0),
1706 (G_HELL | G_GENO | G_NOCORPSE | 1),
1707 A(ATTK(AT_TUCH, AD_SLIM, 1, 4), ATTK(AT_NONE, AD_SLIM, 0, 0), NO_ATTK,
1708 NO_ATTK, NO_ATTK, NO_ATTK),
1709 SIZ(400, 150, MS_SILENT, MZ_LARGE),
1710 MR_COLD | MR_ELEC | MR_POISON | MR_ACID | MR_STONE, 0,
1711 M1_BREATHLESS | M1_AMORPHOUS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD
1712 | M1_MINDLESS | M1_OMNIVORE | M1_ACID | M1_POIS,
1713 M2_HOSTILE | M2_NEUTER, 0, CLR_GREEN),
1714 MON("black pudding", S_PUDDING, LVL(10, 6, 6, 0, 0),
1715 (G_GENO | G_NOCORPSE | 1),
1716 A(ATTK(AT_BITE, AD_CORR, 3, 8), ATTK(AT_NONE, AD_CORR, 0, 0), NO_ATTK,
1717 NO_ATTK, NO_ATTK, NO_ATTK),
1718 SIZ(900, 250, MS_SILENT, MZ_LARGE),
1719 MR_COLD | MR_ELEC | MR_POISON | MR_ACID | MR_STONE,
1720 MR_COLD | MR_ELEC | MR_POISON,
1721 M1_BREATHLESS | M1_AMORPHOUS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD
1722 | M1_MINDLESS | M1_OMNIVORE | M1_ACID,
1723 M2_HOSTILE | M2_NEUTER, 0, CLR_BLACK),
1727 MON("quantum mechanic", S_QUANTMECH, LVL(7, 12, 3, 10, 0), (G_GENO | 3),
1728 A(ATTK(AT_CLAW, AD_TLPT, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1730 SIZ(WT_HUMAN, 20, MS_HUMANOID, MZ_HUMAN), MR_POISON, 0,
1731 M1_HUMANOID | M1_OMNIVORE | M1_POIS | M1_TPORT, M2_HOSTILE,
1732 M3_INFRAVISIBLE, CLR_CYAN),
1734 * Rust monster or disenchanter
1736 MON("rust monster", S_RUSTMONST, LVL(5, 18, 2, 0, 0), (G_GENO | 2),
1737 A(ATTK(AT_TUCH, AD_RUST, 0, 0), ATTK(AT_TUCH, AD_RUST, 0, 0),
1738 ATTK(AT_NONE, AD_RUST, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK),
1739 SIZ(1000, 250, MS_SILENT, MZ_MEDIUM), 0, 0,
1740 M1_SWIM | M1_ANIMAL | M1_NOHANDS | M1_METALLIVORE, M2_HOSTILE,
1741 M3_INFRAVISIBLE, CLR_BROWN),
1742 MON("disenchanter", S_RUSTMONST, LVL(12, 12, -10, 0, -3),
1743 (G_HELL | G_GENO | 2),
1744 A(ATTK(AT_CLAW, AD_ENCH, 4, 4), ATTK(AT_NONE, AD_ENCH, 0, 0), NO_ATTK,
1745 NO_ATTK, NO_ATTK, NO_ATTK),
1746 SIZ(750, 200, MS_GROWL, MZ_LARGE), 0, 0, M1_ANIMAL | M1_CARNIVORE,
1747 M2_HOSTILE, M3_INFRAVISIBLE, CLR_BLUE),
1751 MON("garter snake", S_SNAKE, LVL(1, 8, 8, 0, 0), (G_LGROUP | G_GENO | 1),
1752 A(ATTK(AT_BITE, AD_PHYS, 1, 2), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1754 SIZ(50, 60, MS_HISS, MZ_TINY), 0, 0,
1755 M1_SWIM | M1_CONCEAL | M1_NOLIMBS | M1_ANIMAL | M1_SLITHY
1756 | M1_OVIPAROUS | M1_CARNIVORE | M1_NOTAKE,
1758 MON("snake", S_SNAKE, LVL(4, 15, 3, 0, 0), (G_GENO | 2),
1759 A(ATTK(AT_BITE, AD_DRST, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1761 SIZ(100, 80, MS_HISS, MZ_SMALL), MR_POISON, MR_POISON,
1762 M1_SWIM | M1_CONCEAL | M1_NOLIMBS | M1_ANIMAL | M1_SLITHY | M1_POIS
1763 | M1_OVIPAROUS | M1_CARNIVORE | M1_NOTAKE,
1764 M2_HOSTILE, 0, CLR_BROWN),
1765 MON("water moccasin", S_SNAKE, LVL(4, 15, 3, 0, 0),
1766 (G_GENO | G_NOGEN | G_LGROUP),
1767 A(ATTK(AT_BITE, AD_DRST, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1769 SIZ(150, 80, MS_HISS, MZ_SMALL), MR_POISON, MR_POISON,
1770 M1_SWIM | M1_CONCEAL | M1_NOLIMBS | M1_ANIMAL | M1_SLITHY | M1_POIS
1771 | M1_CARNIVORE | M1_OVIPAROUS | M1_NOTAKE,
1772 M2_HOSTILE, 0, CLR_RED),
1773 MON("python", S_SNAKE, LVL(6, 3, 5, 0, 0), (G_GENO | 1),
1774 A(ATTK(AT_BITE, AD_PHYS, 1, 4), ATTK(AT_TUCH, AD_PHYS, 0, 0),
1775 ATTK(AT_HUGS, AD_WRAP, 1, 4), ATTK(AT_HUGS, AD_PHYS, 2, 4), NO_ATTK,
1777 SIZ(250, 100, MS_HISS, MZ_LARGE), 0, 0,
1778 M1_SWIM | M1_NOLIMBS | M1_ANIMAL | M1_SLITHY | M1_CARNIVORE
1779 | M1_OVIPAROUS | M1_NOTAKE,
1780 M2_HOSTILE | M2_STRONG, M3_INFRAVISION, CLR_MAGENTA),
1781 MON("pit viper", S_SNAKE, LVL(6, 15, 2, 0, 0), (G_GENO | 1),
1782 A(ATTK(AT_BITE, AD_DRST, 1, 4), ATTK(AT_BITE, AD_DRST, 1, 4), NO_ATTK,
1783 NO_ATTK, NO_ATTK, NO_ATTK),
1784 SIZ(100, 60, MS_HISS, MZ_MEDIUM), MR_POISON, MR_POISON,
1785 M1_SWIM | M1_CONCEAL | M1_NOLIMBS | M1_ANIMAL | M1_SLITHY | M1_POIS
1786 | M1_CARNIVORE | M1_OVIPAROUS | M1_NOTAKE,
1787 M2_HOSTILE, M3_INFRAVISION, CLR_BLUE),
1788 MON("cobra", S_SNAKE, LVL(6, 18, 2, 0, 0), (G_GENO | 1),
1789 A(ATTK(AT_BITE, AD_DRST, 2, 4), ATTK(AT_SPIT, AD_BLND, 0, 0), NO_ATTK,
1790 NO_ATTK, NO_ATTK, NO_ATTK),
1791 SIZ(250, 100, MS_HISS, MZ_MEDIUM), MR_POISON, MR_POISON,
1792 M1_SWIM | M1_CONCEAL | M1_NOLIMBS | M1_ANIMAL | M1_SLITHY | M1_POIS
1793 | M1_CARNIVORE | M1_OVIPAROUS | M1_NOTAKE,
1794 M2_HOSTILE, 0, CLR_BLUE),
1798 MON("troll", S_TROLL, LVL(7, 12, 4, 0, -3), (G_GENO | 2),
1799 A(ATTK(AT_WEAP, AD_PHYS, 4, 2), ATTK(AT_CLAW, AD_PHYS, 4, 2),
1800 ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
1801 SIZ(800, 350, MS_GRUNT, MZ_LARGE), 0, 0,
1802 M1_HUMANOID | M1_REGEN | M1_CARNIVORE,
1803 M2_STRONG | M2_STALK | M2_HOSTILE, M3_INFRAVISIBLE | M3_INFRAVISION,
1805 MON("ice troll", S_TROLL, LVL(9, 10, 2, 20, -3), (G_NOHELL | G_GENO | 1),
1806 A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_CLAW, AD_COLD, 2, 6),
1807 ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
1808 SIZ(1000, 300, MS_GRUNT, MZ_LARGE), MR_COLD, MR_COLD,
1809 M1_HUMANOID | M1_REGEN | M1_CARNIVORE,
1810 M2_STRONG | M2_STALK | M2_HOSTILE, M3_INFRAVISIBLE | M3_INFRAVISION,
1812 MON("rock troll", S_TROLL, LVL(9, 12, 0, 0, -3), (G_GENO | 1),
1813 A(ATTK(AT_WEAP, AD_PHYS, 3, 6), ATTK(AT_CLAW, AD_PHYS, 2, 8),
1814 ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
1815 SIZ(1200, 300, MS_GRUNT, MZ_LARGE), 0, 0,
1816 M1_HUMANOID | M1_REGEN | M1_CARNIVORE,
1817 M2_STRONG | M2_STALK | M2_HOSTILE | M2_COLLECT,
1818 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_CYAN),
1819 MON("water troll", S_TROLL, LVL(11, 14, 4, 40, -3), (G_NOGEN | G_GENO),
1820 A(ATTK(AT_WEAP, AD_PHYS, 2, 8), ATTK(AT_CLAW, AD_PHYS, 2, 8),
1821 ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
1822 SIZ(1200, 350, MS_GRUNT, MZ_LARGE), 0, 0,
1823 M1_HUMANOID | M1_REGEN | M1_CARNIVORE | M1_SWIM,
1824 M2_STRONG | M2_STALK | M2_HOSTILE, M3_INFRAVISIBLE | M3_INFRAVISION,
1826 MON("Olog-hai", S_TROLL, LVL(13, 12, -4, 0, -7), (G_GENO | 1),
1827 A(ATTK(AT_WEAP, AD_PHYS, 3, 6), ATTK(AT_CLAW, AD_PHYS, 2, 8),
1828 ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
1829 SIZ(1500, 400, MS_GRUNT, MZ_LARGE), 0, 0,
1830 M1_HUMANOID | M1_REGEN | M1_CARNIVORE,
1831 M2_STRONG | M2_STALK | M2_HOSTILE | M2_COLLECT,
1832 M3_INFRAVISIBLE | M3_INFRAVISION, HI_LORD),
1836 MON("umber hulk", S_UMBER, LVL(9, 6, 2, 25, 0), (G_GENO | 2),
1837 A(ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4),
1838 ATTK(AT_BITE, AD_PHYS, 2, 5), ATTK(AT_GAZE, AD_CONF, 0, 0), NO_ATTK,
1840 SIZ(1200, 500, MS_SILENT, MZ_LARGE), 0, 0, M1_TUNNEL | M1_CARNIVORE,
1841 M2_STRONG, M3_INFRAVISIBLE, CLR_BROWN),
1845 MON("vampire", S_VAMPIRE, LVL(10, 12, 1, 25, -8),
1846 (G_GENO | G_NOCORPSE | 1),
1847 A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_BITE, AD_DRLI, 1, 6), NO_ATTK,
1848 NO_ATTK, NO_ATTK, NO_ATTK),
1849 SIZ(WT_HUMAN, 400, MS_VAMPIRE, MZ_HUMAN), MR_SLEEP | MR_POISON, 0,
1850 M1_FLY | M1_BREATHLESS | M1_HUMANOID | M1_POIS | M1_REGEN,
1851 M2_UNDEAD | M2_STALK | M2_HOSTILE | M2_STRONG | M2_NASTY
1853 M3_INFRAVISIBLE, CLR_RED),
1854 MON("vampire lord", S_VAMPIRE, LVL(12, 14, 0, 50, -9),
1855 (G_GENO | G_NOCORPSE | 1),
1856 A(ATTK(AT_CLAW, AD_PHYS, 1, 8), ATTK(AT_BITE, AD_DRLI, 1, 8), NO_ATTK,
1857 NO_ATTK, NO_ATTK, NO_ATTK),
1858 SIZ(WT_HUMAN, 400, MS_VAMPIRE, MZ_HUMAN), MR_SLEEP | MR_POISON, 0,
1859 M1_FLY | M1_BREATHLESS | M1_HUMANOID | M1_POIS | M1_REGEN,
1860 M2_UNDEAD | M2_STALK | M2_HOSTILE | M2_STRONG | M2_NASTY | M2_LORD
1861 | M2_MALE | M2_SHAPESHIFTER,
1862 M3_INFRAVISIBLE, CLR_BLUE),
1863 #if 0 /* DEFERRED */
1864 MON("vampire mage", S_VAMPIRE,
1865 LVL(20, 14, -4, 50, -9), (G_GENO | G_NOCORPSE | 1),
1866 A(ATTK(AT_CLAW, AD_DRLI, 2, 8), ATTK(AT_BITE, AD_DRLI, 1, 8),
1867 ATTK(AT_MAGC, AD_SPEL, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
1868 SIZ(WT_HUMAN, 400, MS_VAMPIRE, MZ_HUMAN), MR_SLEEP | MR_POISON, 0,
1869 M1_FLY | M1_BREATHLESS | M1_HUMANOID | M1_POIS | M1_REGEN,
1870 M2_UNDEAD | M2_STALK | M2_HOSTILE | M2_STRONG | M2_NASTY | M2_LORD
1871 | M2_MALE | M2_MAGIC | M2_SHAPESHIFTER,
1872 M3_INFRAVISIBLE, HI_ZAP),
1874 MON("Vlad the Impaler", S_VAMPIRE, LVL(28, 26, -6, 80, -10),
1875 (G_NOGEN | G_NOCORPSE | G_UNIQ),
1876 A(ATTK(AT_WEAP, AD_PHYS, 2, 10), ATTK(AT_BITE, AD_DRLI, 1, 12),
1877 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1878 SIZ(WT_HUMAN, 400, MS_VAMPIRE, MZ_HUMAN), MR_SLEEP | MR_POISON, 0,
1879 M1_FLY | M1_BREATHLESS | M1_HUMANOID | M1_POIS | M1_REGEN,
1880 M2_NOPOLY | M2_UNDEAD | M2_STALK | M2_HOSTILE | M2_PNAME | M2_STRONG
1881 | M2_NASTY | M2_PRINCE | M2_MALE | M2_SHAPESHIFTER,
1882 M3_WAITFORU | M3_WANTSCAND | M3_INFRAVISIBLE, HI_LORD),
1886 MON("barrow wight", S_WRAITH, LVL(3, 12, 5, 5, -3),
1887 (G_GENO | G_NOCORPSE | 1),
1888 A(ATTK(AT_WEAP, AD_DRLI, 0, 0), ATTK(AT_MAGC, AD_SPEL, 0, 0),
1889 ATTK(AT_CLAW, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK),
1890 SIZ(1200, 0, MS_SPELL, MZ_HUMAN), MR_COLD | MR_SLEEP | MR_POISON, 0,
1891 M1_BREATHLESS | M1_HUMANOID,
1892 M2_UNDEAD | M2_STALK | M2_HOSTILE | M2_COLLECT, 0, CLR_GRAY),
1893 MON("wraith", S_WRAITH, LVL(6, 12, 4, 15, -6), (G_GENO | 2),
1894 A(ATTK(AT_TUCH, AD_DRLI, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1896 SIZ(0, 0, MS_SILENT, MZ_HUMAN),
1897 MR_COLD | MR_SLEEP | MR_POISON | MR_STONE, 0,
1898 M1_BREATHLESS | M1_FLY | M1_HUMANOID | M1_UNSOLID,
1899 M2_UNDEAD | M2_STALK | M2_HOSTILE, 0, CLR_BLACK),
1900 MON("Nazgul", S_WRAITH, LVL(13, 12, 0, 25, -17),
1901 (G_GENO | G_NOCORPSE | 1),
1902 A(ATTK(AT_WEAP, AD_DRLI, 1, 4), ATTK(AT_BREA, AD_SLEE, 2, 25),
1903 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1904 SIZ(WT_HUMAN, 0, MS_SPELL, MZ_HUMAN), MR_COLD | MR_SLEEP | MR_POISON,
1905 0, M1_BREATHLESS | M1_HUMANOID,
1906 M2_NOPOLY | M2_UNDEAD | M2_STALK | M2_STRONG | M2_HOSTILE | M2_MALE
1912 MON("xorn", S_XORN, LVL(8, 9, -2, 20, 0), (G_GENO | 1),
1913 A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3),
1914 ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_BITE, AD_PHYS, 4, 6), NO_ATTK,
1916 SIZ(1200, 700, MS_ROAR, MZ_MEDIUM), MR_FIRE | MR_COLD | MR_STONE,
1918 M1_BREATHLESS | M1_WALLWALK | M1_THICK_HIDE | M1_METALLIVORE,
1919 M2_HOSTILE | M2_STRONG, 0, CLR_BROWN),
1923 /* tameable via banana; does not grow up into ape...
1924 not flagged as domestic, so no guilt penalty for eating non-pet one */
1925 MON("monkey", S_YETI, LVL(2, 12, 6, 0, 0), (G_GENO | 1),
1926 A(ATTK(AT_CLAW, AD_SITM, 0, 0), ATTK(AT_BITE, AD_PHYS, 1, 3), NO_ATTK,
1927 NO_ATTK, NO_ATTK, NO_ATTK),
1928 SIZ(100, 50, MS_GROWL, MZ_SMALL), 0, 0,
1929 M1_ANIMAL | M1_HUMANOID | M1_OMNIVORE, 0, M3_INFRAVISIBLE, CLR_GRAY),
1930 MON("ape", S_YETI, LVL(4, 12, 6, 0, 0), (G_GENO | G_SGROUP | 2),
1931 A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3),
1932 ATTK(AT_BITE, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK),
1933 SIZ(1100, 500, MS_GROWL, MZ_LARGE), 0, 0,
1934 M1_ANIMAL | M1_HUMANOID | M1_OMNIVORE, M2_STRONG, M3_INFRAVISIBLE,
1936 MON("owlbear", S_YETI, LVL(5, 12, 5, 0, 0), (G_GENO | 3),
1937 A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6),
1938 ATTK(AT_HUGS, AD_PHYS, 2, 8), NO_ATTK, NO_ATTK, NO_ATTK),
1939 SIZ(1700, 700, MS_ROAR, MZ_LARGE), 0, 0,
1940 M1_ANIMAL | M1_HUMANOID | M1_CARNIVORE,
1941 M2_HOSTILE | M2_STRONG | M2_NASTY, M3_INFRAVISIBLE, CLR_BROWN),
1942 MON("yeti", S_YETI, LVL(5, 15, 6, 0, 0), (G_GENO | 2),
1943 A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6),
1944 ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK),
1945 SIZ(1600, 700, MS_GROWL, MZ_LARGE), MR_COLD, MR_COLD,
1946 M1_ANIMAL | M1_HUMANOID | M1_CARNIVORE, M2_HOSTILE | M2_STRONG,
1947 M3_INFRAVISIBLE, CLR_WHITE),
1948 MON("carnivorous ape", S_YETI, LVL(6, 12, 6, 0, 0), (G_GENO | 1),
1949 A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
1950 ATTK(AT_HUGS, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK),
1951 SIZ(1250, 550, MS_GROWL, MZ_LARGE), 0, 0,
1952 M1_ANIMAL | M1_HUMANOID | M1_CARNIVORE, M2_HOSTILE | M2_STRONG,
1953 M3_INFRAVISIBLE, CLR_BLACK),
1954 MON("sasquatch", S_YETI, LVL(7, 15, 6, 0, 2), (G_GENO | 1),
1955 A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6),
1956 ATTK(AT_KICK, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK),
1957 SIZ(1550, 750, MS_GROWL, MZ_LARGE), 0, 0,
1958 M1_ANIMAL | M1_HUMANOID | M1_SEE_INVIS | M1_OMNIVORE, M2_STRONG,
1959 M3_INFRAVISIBLE, CLR_GRAY),
1963 MON("kobold zombie", S_ZOMBIE, LVL(0, 6, 10, 0, -2),
1964 (G_GENO | G_NOCORPSE | 1), A(ATTK(AT_CLAW, AD_PHYS, 1, 4), NO_ATTK,
1965 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1966 SIZ(400, 50, MS_SILENT, MZ_SMALL), MR_COLD | MR_SLEEP | MR_POISON, 0,
1967 M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_POIS,
1968 M2_UNDEAD | M2_STALK | M2_HOSTILE, M3_INFRAVISION, CLR_BROWN),
1969 MON("gnome zombie", S_ZOMBIE, LVL(1, 6, 10, 0, -2),
1970 (G_GENO | G_NOCORPSE | 1), A(ATTK(AT_CLAW, AD_PHYS, 1, 5), NO_ATTK,
1971 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
1972 SIZ(650, 50, MS_SILENT, MZ_SMALL), MR_COLD | MR_SLEEP | MR_POISON, 0,
1973 M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_POIS,
1974 M2_UNDEAD | M2_STALK | M2_HOSTILE | M2_GNOME, M3_INFRAVISION,
1976 MON("orc zombie", S_ZOMBIE, LVL(2, 6, 9, 0, -3),
1977 (G_GENO | G_SGROUP | G_NOCORPSE | 1),
1978 A(ATTK(AT_CLAW, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1980 SIZ(850, 75, MS_SILENT, MZ_HUMAN), MR_COLD | MR_SLEEP | MR_POISON, 0,
1981 M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_POIS,
1982 M2_UNDEAD | M2_STALK | M2_HOSTILE | M2_ORC, M3_INFRAVISION, CLR_GRAY),
1983 MON("dwarf zombie", S_ZOMBIE, LVL(2, 6, 9, 0, -3),
1984 (G_GENO | G_SGROUP | G_NOCORPSE | 1),
1985 A(ATTK(AT_CLAW, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1987 SIZ(900, 150, MS_SILENT, MZ_HUMAN), MR_COLD | MR_SLEEP | MR_POISON, 0,
1988 M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_POIS,
1989 M2_UNDEAD | M2_STALK | M2_HOSTILE | M2_DWARF, M3_INFRAVISION,
1991 MON("elf zombie", S_ZOMBIE, LVL(3, 6, 9, 0, -3),
1992 (G_GENO | G_SGROUP | G_NOCORPSE | 1),
1993 A(ATTK(AT_CLAW, AD_PHYS, 1, 7), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
1995 SIZ(WT_ELF, 175, MS_SILENT, MZ_HUMAN), MR_COLD | MR_SLEEP | MR_POISON,
1996 0, M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID,
1997 M2_UNDEAD | M2_STALK | M2_HOSTILE | M2_ELF, M3_INFRAVISION,
1999 MON("human zombie", S_ZOMBIE, LVL(4, 6, 8, 0, -3),
2000 (G_GENO | G_SGROUP | G_NOCORPSE | 1),
2001 A(ATTK(AT_CLAW, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2003 SIZ(WT_HUMAN, 200, MS_SILENT, MZ_HUMAN),
2004 MR_COLD | MR_SLEEP | MR_POISON, 0,
2005 M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID,
2006 M2_UNDEAD | M2_STALK | M2_HOSTILE, M3_INFRAVISION, HI_DOMESTIC),
2007 MON("ettin zombie", S_ZOMBIE, LVL(6, 8, 6, 0, -4),
2008 (G_GENO | G_NOCORPSE | 1),
2009 A(ATTK(AT_CLAW, AD_PHYS, 1, 10), ATTK(AT_CLAW, AD_PHYS, 1, 10),
2010 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2011 SIZ(1700, 250, MS_SILENT, MZ_HUGE), MR_COLD | MR_SLEEP | MR_POISON, 0,
2012 M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID,
2013 M2_UNDEAD | M2_STALK | M2_HOSTILE | M2_STRONG, M3_INFRAVISION,
2015 MON("ghoul", S_ZOMBIE, LVL(3, 6, 10, 0, -2), (G_GENO | G_NOCORPSE | 1),
2016 A(ATTK(AT_CLAW, AD_PLYS, 1, 2), ATTK(AT_CLAW, AD_PHYS, 1, 3), NO_ATTK,
2017 NO_ATTK, NO_ATTK, NO_ATTK),
2018 SIZ(400, 50, MS_SILENT, MZ_SMALL), MR_COLD | MR_SLEEP | MR_POISON, 0,
2019 M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_POIS | M1_OMNIVORE,
2020 M2_UNDEAD | M2_WANDER | M2_HOSTILE, M3_INFRAVISION, CLR_BLACK),
2021 MON("giant zombie", S_ZOMBIE, LVL(8, 8, 6, 0, -4),
2022 (G_GENO | G_NOCORPSE | 1),
2023 A(ATTK(AT_CLAW, AD_PHYS, 2, 8), ATTK(AT_CLAW, AD_PHYS, 2, 8), NO_ATTK,
2024 NO_ATTK, NO_ATTK, NO_ATTK),
2025 SIZ(2050, 375, MS_SILENT, MZ_HUGE), MR_COLD | MR_SLEEP | MR_POISON, 0,
2026 M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID,
2027 M2_UNDEAD | M2_STALK | M2_HOSTILE | M2_GIANT | M2_STRONG,
2028 M3_INFRAVISION, CLR_CYAN),
2029 MON("skeleton", S_ZOMBIE, LVL(12, 8, 4, 0, 0), (G_NOCORPSE | G_NOGEN),
2030 A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_TUCH, AD_SLOW, 1, 6), NO_ATTK,
2031 NO_ATTK, NO_ATTK, NO_ATTK),
2032 SIZ(300, 5, MS_BONES, MZ_HUMAN),
2033 MR_COLD | MR_SLEEP | MR_POISON | MR_STONE, 0,
2034 M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_THICK_HIDE,
2035 M2_UNDEAD | M2_WANDER | M2_HOSTILE | M2_STRONG | M2_COLLECT
2037 M3_INFRAVISION, CLR_WHITE),
2041 MON("straw golem", S_GOLEM, LVL(3, 12, 10, 0, 0), (G_NOCORPSE | 1),
2042 A(ATTK(AT_CLAW, AD_PHYS, 1, 2), ATTK(AT_CLAW, AD_PHYS, 1, 2), NO_ATTK,
2043 NO_ATTK, NO_ATTK, NO_ATTK),
2044 SIZ(400, 0, MS_SILENT, MZ_LARGE), MR_COLD | MR_SLEEP | MR_POISON, 0,
2045 M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID, M2_HOSTILE | M2_NEUTER, 0,
2047 MON("paper golem", S_GOLEM, LVL(3, 12, 10, 0, 0), (G_NOCORPSE | 1),
2048 A(ATTK(AT_CLAW, AD_PHYS, 1, 3), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2050 SIZ(400, 0, MS_SILENT, MZ_LARGE), MR_COLD | MR_SLEEP | MR_POISON, 0,
2051 M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID, M2_HOSTILE | M2_NEUTER, 0,
2053 MON("rope golem", S_GOLEM, LVL(4, 9, 8, 0, 0), (G_NOCORPSE | 1),
2054 A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
2055 ATTK(AT_HUGS, AD_PHYS, 6, 1), NO_ATTK, NO_ATTK, NO_ATTK),
2056 SIZ(450, 0, MS_SILENT, MZ_LARGE), MR_SLEEP | MR_POISON, 0,
2057 M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID, M2_HOSTILE | M2_NEUTER, 0,
2059 MON("gold golem", S_GOLEM, LVL(5, 9, 6, 0, 0), (G_NOCORPSE | 1),
2060 A(ATTK(AT_CLAW, AD_PHYS, 2, 3), ATTK(AT_CLAW, AD_PHYS, 2, 3), NO_ATTK,
2061 NO_ATTK, NO_ATTK, NO_ATTK),
2062 SIZ(450, 0, MS_SILENT, MZ_LARGE), MR_SLEEP | MR_POISON | MR_ACID, 0,
2063 M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_THICK_HIDE,
2064 M2_HOSTILE | M2_NEUTER, 0, HI_GOLD),
2065 MON("leather golem", S_GOLEM, LVL(6, 6, 6, 0, 0), (G_NOCORPSE | 1),
2066 A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6), NO_ATTK,
2067 NO_ATTK, NO_ATTK, NO_ATTK),
2068 SIZ(800, 0, MS_SILENT, MZ_LARGE), MR_SLEEP | MR_POISON, 0,
2069 M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID, M2_HOSTILE | M2_NEUTER, 0,
2071 MON("wood golem", S_GOLEM, LVL(7, 3, 4, 0, 0), (G_NOCORPSE | 1),
2072 A(ATTK(AT_CLAW, AD_PHYS, 3, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2074 SIZ(900, 0, MS_SILENT, MZ_LARGE), MR_COLD | MR_SLEEP | MR_POISON, 0,
2075 M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_THICK_HIDE,
2076 M2_HOSTILE | M2_NEUTER, 0, HI_WOOD),
2077 MON("flesh golem", S_GOLEM, LVL(9, 8, 9, 30, 0), (1),
2078 A(ATTK(AT_CLAW, AD_PHYS, 2, 8), ATTK(AT_CLAW, AD_PHYS, 2, 8), NO_ATTK,
2079 NO_ATTK, NO_ATTK, NO_ATTK),
2080 SIZ(1400, 600, MS_SILENT, MZ_LARGE),
2081 MR_FIRE | MR_COLD | MR_ELEC | MR_SLEEP | MR_POISON,
2082 MR_FIRE | MR_COLD | MR_ELEC | MR_SLEEP | MR_POISON,
2083 M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID, M2_HOSTILE | M2_STRONG, 0,
2085 MON("clay golem", S_GOLEM, LVL(11, 7, 7, 40, 0), (G_NOCORPSE | 1),
2086 A(ATTK(AT_CLAW, AD_PHYS, 3, 10), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2088 SIZ(1550, 0, MS_SILENT, MZ_LARGE), MR_SLEEP | MR_POISON, 0,
2089 M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_THICK_HIDE,
2090 M2_HOSTILE | M2_STRONG, 0, CLR_BROWN),
2091 MON("stone golem", S_GOLEM, LVL(14, 6, 5, 50, 0), (G_NOCORPSE | 1),
2092 A(ATTK(AT_CLAW, AD_PHYS, 3, 8), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2094 SIZ(1900, 0, MS_SILENT, MZ_LARGE), MR_SLEEP | MR_POISON | MR_STONE, 0,
2095 M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_THICK_HIDE,
2096 M2_HOSTILE | M2_STRONG, 0, CLR_GRAY),
2097 MON("glass golem", S_GOLEM, LVL(16, 6, 1, 50, 0), (G_NOCORPSE | 1),
2098 A(ATTK(AT_CLAW, AD_PHYS, 2, 8), ATTK(AT_CLAW, AD_PHYS, 2, 8), NO_ATTK,
2099 NO_ATTK, NO_ATTK, NO_ATTK),
2100 SIZ(1800, 0, MS_SILENT, MZ_LARGE), MR_SLEEP | MR_POISON | MR_ACID, 0,
2101 M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_THICK_HIDE,
2102 M2_HOSTILE | M2_STRONG, 0, CLR_CYAN),
2103 MON("iron golem", S_GOLEM, LVL(18, 6, 3, 60, 0), (G_NOCORPSE | 1),
2104 A(ATTK(AT_WEAP, AD_PHYS, 4, 10), ATTK(AT_BREA, AD_DRST, 4, 6),
2105 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2106 SIZ(2000, 0, MS_SILENT, MZ_LARGE),
2107 MR_FIRE | MR_COLD | MR_ELEC | MR_SLEEP | MR_POISON, 0,
2108 M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_THICK_HIDE | M1_POIS,
2109 M2_HOSTILE | M2_STRONG | M2_COLLECT, 0, HI_METAL),
2111 * humans, including elves and were-critters
2113 MON("human", S_HUMAN, LVL(0, 12, 10, 0, 0), G_NOGEN, /* for corpses */
2114 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2116 SIZ(WT_HUMAN, 400, MS_HUMANOID, MZ_HUMAN), 0, 0,
2117 M1_HUMANOID | M1_OMNIVORE,
2118 M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_COLLECT, M3_INFRAVISIBLE,
2120 MON("wererat", S_HUMAN, LVL(2, 12, 10, 10, -7), (1),
2121 A(ATTK(AT_WEAP, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2123 SIZ(WT_HUMAN, 400, MS_WERE, MZ_HUMAN), MR_POISON, 0,
2124 M1_HUMANOID | M1_POIS | M1_REGEN | M1_OMNIVORE,
2125 M2_NOPOLY | M2_WERE | M2_HOSTILE | M2_HUMAN | M2_COLLECT,
2126 M3_INFRAVISIBLE, CLR_BROWN),
2127 MON("werejackal", S_HUMAN, LVL(2, 12, 10, 10, -7), (1),
2128 A(ATTK(AT_WEAP, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2130 SIZ(WT_HUMAN, 400, MS_WERE, MZ_HUMAN), MR_POISON, 0,
2131 M1_HUMANOID | M1_POIS | M1_REGEN | M1_OMNIVORE,
2132 M2_NOPOLY | M2_WERE | M2_HOSTILE | M2_HUMAN | M2_COLLECT,
2133 M3_INFRAVISIBLE, CLR_RED),
2134 MON("werewolf", S_HUMAN, LVL(5, 12, 10, 20, -7), (1),
2135 A(ATTK(AT_WEAP, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2137 SIZ(WT_HUMAN, 400, MS_WERE, MZ_HUMAN), MR_POISON, 0,
2138 M1_HUMANOID | M1_POIS | M1_REGEN | M1_OMNIVORE,
2139 M2_NOPOLY | M2_WERE | M2_HOSTILE | M2_HUMAN | M2_COLLECT,
2140 M3_INFRAVISIBLE, CLR_ORANGE),
2141 MON("elf", S_HUMAN, LVL(10, 12, 10, 2, -3), G_NOGEN, /* for corpses */
2142 A(ATTK(AT_WEAP, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2144 SIZ(WT_ELF, 350, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
2145 M1_HUMANOID | M1_OMNIVORE | M1_SEE_INVIS,
2146 M2_NOPOLY | M2_ELF | M2_STRONG | M2_COLLECT,
2147 M3_INFRAVISION | M3_INFRAVISIBLE, HI_DOMESTIC),
2148 MON("Woodland-elf", S_HUMAN, LVL(4, 12, 10, 10, -5),
2149 (G_GENO | G_SGROUP | 2), A(ATTK(AT_WEAP, AD_PHYS, 2, 4), NO_ATTK,
2150 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2151 SIZ(WT_ELF, 350, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
2152 M1_HUMANOID | M1_OMNIVORE | M1_SEE_INVIS, M2_ELF | M2_COLLECT,
2153 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_GREEN),
2154 MON("Green-elf", S_HUMAN, LVL(5, 12, 10, 10, -6), (G_GENO | G_SGROUP | 2),
2155 A(ATTK(AT_WEAP, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2157 SIZ(WT_ELF, 350, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
2158 M1_HUMANOID | M1_OMNIVORE | M1_SEE_INVIS, M2_ELF | M2_COLLECT,
2159 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_BRIGHT_GREEN),
2160 MON("Grey-elf", S_HUMAN, LVL(6, 12, 10, 10, -7), (G_GENO | G_SGROUP | 2),
2161 A(ATTK(AT_WEAP, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2163 SIZ(WT_ELF, 350, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
2164 M1_HUMANOID | M1_OMNIVORE | M1_SEE_INVIS, M2_ELF | M2_COLLECT,
2165 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_GRAY),
2166 MON("elf-lord", S_HUMAN, LVL(8, 12, 10, 20, -9), (G_GENO | G_SGROUP | 2),
2167 A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4), NO_ATTK,
2168 NO_ATTK, NO_ATTK, NO_ATTK),
2169 SIZ(WT_ELF, 350, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
2170 M1_HUMANOID | M1_OMNIVORE | M1_SEE_INVIS,
2171 M2_ELF | M2_STRONG | M2_LORD | M2_MALE | M2_COLLECT,
2172 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_BRIGHT_BLUE),
2173 MON("Elvenking", S_HUMAN, LVL(9, 12, 10, 25, -10), (G_GENO | 1),
2174 A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4), NO_ATTK,
2175 NO_ATTK, NO_ATTK, NO_ATTK),
2176 SIZ(WT_ELF, 350, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
2177 M1_HUMANOID | M1_OMNIVORE | M1_SEE_INVIS,
2178 M2_ELF | M2_STRONG | M2_PRINCE | M2_MALE | M2_COLLECT,
2179 M3_INFRAVISIBLE | M3_INFRAVISION, HI_LORD),
2180 MON("doppelganger", S_HUMAN, LVL(9, 12, 5, 20, 0), (G_GENO | 1),
2181 A(ATTK(AT_WEAP, AD_PHYS, 1, 12), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2183 SIZ(WT_HUMAN, 400, MS_IMITATE, MZ_HUMAN), MR_SLEEP, 0,
2184 M1_HUMANOID | M1_OMNIVORE,
2185 M2_NOPOLY | M2_HUMAN | M2_HOSTILE | M2_STRONG | M2_COLLECT
2187 M3_INFRAVISIBLE, HI_DOMESTIC),
2188 MON("shopkeeper", S_HUMAN, LVL(12, 18, 0, 50, 0), G_NOGEN,
2189 A(ATTK(AT_WEAP, AD_PHYS, 4, 4), ATTK(AT_WEAP, AD_PHYS, 4, 4), NO_ATTK,
2190 NO_ATTK, NO_ATTK, NO_ATTK),
2191 SIZ(WT_HUMAN, 400, MS_SELL, MZ_HUMAN), 0, 0,
2192 M1_HUMANOID | M1_OMNIVORE, M2_NOPOLY | M2_HUMAN | M2_PEACEFUL
2193 | M2_STRONG | M2_COLLECT | M2_MAGIC,
2194 M3_INFRAVISIBLE, HI_DOMESTIC),
2195 MON("guard", S_HUMAN, LVL(12, 12, 10, 40, 10), G_NOGEN,
2196 A(ATTK(AT_WEAP, AD_PHYS, 4, 10), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2198 SIZ(WT_HUMAN, 400, MS_GUARD, MZ_HUMAN), 0, 0,
2199 M1_HUMANOID | M1_OMNIVORE,
2200 M2_NOPOLY | M2_HUMAN | M2_MERC | M2_PEACEFUL | M2_STRONG | M2_COLLECT,
2201 M3_INFRAVISIBLE, CLR_BLUE),
2202 MON("prisoner", S_HUMAN, LVL(12, 12, 10, 0, 0),
2203 G_NOGEN, /* for special levels */
2204 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2206 SIZ(WT_HUMAN, 400, MS_DJINNI, MZ_HUMAN), 0, 0,
2207 M1_HUMANOID | M1_OMNIVORE,
2208 M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | M2_COLLECT,
2209 M3_INFRAVISIBLE | M3_CLOSE, HI_DOMESTIC),
2210 MON("Oracle", S_HUMAN, LVL(12, 0, 0, 50, 0), (G_NOGEN | G_UNIQ),
2211 A(ATTK(AT_NONE, AD_MAGM, 0, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2213 SIZ(WT_HUMAN, 400, MS_ORACLE, MZ_HUMAN), 0, 0,
2214 M1_HUMANOID | M1_OMNIVORE,
2215 M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_FEMALE, M3_INFRAVISIBLE,
2217 /* aligned priests always have the epri extension attached;
2218 individual instantiations should always have either ispriest
2220 MON("aligned priest", S_HUMAN, LVL(12, 12, 10, 50, 0), G_NOGEN,
2221 A(ATTK(AT_WEAP, AD_PHYS, 4, 10), ATTK(AT_KICK, AD_PHYS, 1, 4),
2222 ATTK(AT_MAGC, AD_CLRC, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK),
2223 SIZ(WT_HUMAN, 400, MS_PRIEST, MZ_HUMAN), MR_ELEC, 0,
2224 M1_HUMANOID | M1_OMNIVORE,
2225 M2_NOPOLY | M2_HUMAN | M2_LORD | M2_PEACEFUL | M2_COLLECT,
2226 M3_INFRAVISIBLE, CLR_WHITE),
2227 /* high priests always have epri and always have ispriest set */
2228 MON("high priest", S_HUMAN, LVL(25, 15, 7, 70, 0), (G_NOGEN | G_UNIQ),
2229 A(ATTK(AT_WEAP, AD_PHYS, 4, 10), ATTK(AT_KICK, AD_PHYS, 2, 8),
2230 ATTK(AT_MAGC, AD_CLRC, 2, 8), ATTK(AT_MAGC, AD_CLRC, 2, 8), NO_ATTK,
2232 SIZ(WT_HUMAN, 400, MS_PRIEST, MZ_HUMAN),
2233 MR_FIRE | MR_ELEC | MR_SLEEP | MR_POISON, 0,
2234 M1_HUMANOID | M1_SEE_INVIS | M1_OMNIVORE,
2235 M2_NOPOLY | M2_HUMAN | M2_MINION | M2_PRINCE | M2_NASTY | M2_COLLECT
2237 M3_INFRAVISIBLE, CLR_WHITE),
2238 MON("soldier", S_HUMAN, LVL(6, 10, 10, 0, -2), (G_SGROUP | G_GENO | 1),
2239 A(ATTK(AT_WEAP, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2241 SIZ(WT_HUMAN, 400, MS_SOLDIER, MZ_HUMAN), 0, 0,
2242 M1_HUMANOID | M1_OMNIVORE, M2_NOPOLY | M2_HUMAN | M2_MERC | M2_STALK
2243 | M2_HOSTILE | M2_STRONG | M2_COLLECT,
2244 M3_INFRAVISIBLE, CLR_GRAY),
2245 MON("sergeant", S_HUMAN, LVL(8, 10, 10, 5, -3), (G_SGROUP | G_GENO | 1),
2246 A(ATTK(AT_WEAP, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2248 SIZ(WT_HUMAN, 400, MS_SOLDIER, MZ_HUMAN), 0, 0,
2249 M1_HUMANOID | M1_OMNIVORE, M2_NOPOLY | M2_HUMAN | M2_MERC | M2_STALK
2250 | M2_HOSTILE | M2_STRONG | M2_COLLECT,
2251 M3_INFRAVISIBLE, CLR_RED),
2252 MON("nurse", S_HUMAN, LVL(11, 6, 0, 0, 0), (G_GENO | 3),
2253 A(ATTK(AT_CLAW, AD_HEAL, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2255 SIZ(WT_HUMAN, 400, MS_NURSE, MZ_HUMAN), MR_POISON, MR_POISON,
2256 M1_HUMANOID | M1_OMNIVORE, M2_NOPOLY | M2_HUMAN | M2_HOSTILE,
2257 M3_INFRAVISIBLE, HI_DOMESTIC),
2258 MON("lieutenant", S_HUMAN, LVL(10, 10, 10, 15, -4), (G_GENO | 1),
2259 A(ATTK(AT_WEAP, AD_PHYS, 3, 4), ATTK(AT_WEAP, AD_PHYS, 3, 4), NO_ATTK,
2260 NO_ATTK, NO_ATTK, NO_ATTK),
2261 SIZ(WT_HUMAN, 400, MS_SOLDIER, MZ_HUMAN), 0, 0,
2262 M1_HUMANOID | M1_OMNIVORE, M2_NOPOLY | M2_HUMAN | M2_MERC | M2_STALK
2263 | M2_HOSTILE | M2_STRONG | M2_COLLECT,
2264 M3_INFRAVISIBLE, CLR_GREEN),
2265 MON("captain", S_HUMAN, LVL(12, 10, 10, 15, -5), (G_GENO | 1),
2266 A(ATTK(AT_WEAP, AD_PHYS, 4, 4), ATTK(AT_WEAP, AD_PHYS, 4, 4), NO_ATTK,
2267 NO_ATTK, NO_ATTK, NO_ATTK),
2268 SIZ(WT_HUMAN, 400, MS_SOLDIER, MZ_HUMAN), 0, 0,
2269 M1_HUMANOID | M1_OMNIVORE, M2_NOPOLY | M2_HUMAN | M2_MERC | M2_STALK
2270 | M2_HOSTILE | M2_STRONG | M2_COLLECT,
2271 M3_INFRAVISIBLE, CLR_BLUE),
2272 /* Keep these separate - some of the mkroom code assumes that
2273 * all the soldiers are contiguous.
2275 MON("watchman", S_HUMAN, LVL(6, 10, 10, 0, -2),
2276 (G_SGROUP | G_NOGEN | G_GENO | 1),
2277 A(ATTK(AT_WEAP, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2279 SIZ(WT_HUMAN, 400, MS_SOLDIER, MZ_HUMAN), 0, 0,
2280 M1_HUMANOID | M1_OMNIVORE, M2_NOPOLY | M2_HUMAN | M2_MERC | M2_STALK
2281 | M2_PEACEFUL | M2_STRONG | M2_COLLECT,
2282 M3_INFRAVISIBLE, CLR_GRAY),
2283 MON("watch captain", S_HUMAN, LVL(10, 10, 10, 15, -4),
2284 (G_NOGEN | G_GENO | 1),
2285 A(ATTK(AT_WEAP, AD_PHYS, 3, 4), ATTK(AT_WEAP, AD_PHYS, 3, 4), NO_ATTK,
2286 NO_ATTK, NO_ATTK, NO_ATTK),
2287 SIZ(WT_HUMAN, 400, MS_SOLDIER, MZ_HUMAN), 0, 0,
2288 M1_HUMANOID | M1_OMNIVORE, M2_NOPOLY | M2_HUMAN | M2_MERC | M2_STALK
2289 | M2_PEACEFUL | M2_STRONG | M2_COLLECT,
2290 M3_INFRAVISIBLE, CLR_GREEN),
2291 /* Unique humans not tied to quests.
2293 MON("Medusa", S_HUMAN, LVL(20, 12, 2, 50, -15), (G_NOGEN | G_UNIQ),
2294 A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 1, 8),
2295 ATTK(AT_GAZE, AD_STON, 0, 0), ATTK(AT_BITE, AD_DRST, 1, 6), NO_ATTK,
2297 SIZ(WT_HUMAN, 400, MS_HISS, MZ_LARGE), MR_POISON | MR_STONE,
2298 MR_POISON | MR_STONE, M1_FLY | M1_SWIM | M1_AMPHIBIOUS | M1_HUMANOID
2299 | M1_POIS | M1_OMNIVORE,
2300 M2_NOPOLY | M2_HOSTILE | M2_STRONG | M2_PNAME | M2_FEMALE,
2301 M3_WAITFORU | M3_INFRAVISIBLE, CLR_BRIGHT_GREEN),
2302 MON("Wizard of Yendor", S_HUMAN, LVL(30, 12, -8, 100, A_NONE),
2304 A(ATTK(AT_CLAW, AD_SAMU, 2, 12), ATTK(AT_MAGC, AD_SPEL, 0, 0),
2305 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2306 SIZ(WT_HUMAN, 400, MS_CUSS, MZ_HUMAN), MR_FIRE | MR_POISON,
2307 MR_FIRE | MR_POISON,
2308 M1_FLY | M1_BREATHLESS | M1_HUMANOID | M1_REGEN | M1_SEE_INVIS
2309 | M1_TPORT | M1_TPORT_CNTRL | M1_OMNIVORE,
2310 M2_NOPOLY | M2_HUMAN | M2_HOSTILE | M2_STRONG | M2_NASTY | M2_PRINCE
2311 | M2_MALE | M2_MAGIC,
2312 M3_COVETOUS | M3_WAITFORU | M3_INFRAVISIBLE, HI_LORD),
2313 MON("Croesus", S_HUMAN, LVL(20, 15, 0, 40, 15), (G_UNIQ | G_NOGEN),
2314 A(ATTK(AT_WEAP, AD_PHYS, 4, 10), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2316 SIZ(WT_HUMAN, 400, MS_GUARD, MZ_HUMAN), 0, 0,
2317 M1_HUMANOID | M1_SEE_INVIS | M1_OMNIVORE,
2318 M2_NOPOLY | M2_HUMAN | M2_STALK | M2_HOSTILE | M2_STRONG | M2_NASTY
2319 | M2_PNAME | M2_PRINCE | M2_MALE | M2_GREEDY | M2_JEWELS
2320 | M2_COLLECT | M2_MAGIC,
2321 M3_INFRAVISIBLE, HI_LORD),
2323 MON("Charon", S_HUMAN, LVL(76, 18, -5, 120, 0),
2324 (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
2325 A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_TUCH, AD_PLYS, 1, 8), NO_ATTK,
2326 NO_ATTK, NO_ATTK, NO_ATTK),
2327 SIZ(WT_HUMAN, 400, MS_FERRY, MZ_HUMAN),
2328 MR_FIRE | MR_COLD | MR_POISON | MR_STONE, 0,
2329 M1_BREATHLESS | M1_SEE_INVIS | M1_HUMANOID,
2330 M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_PNAME | M2_MALE | M2_GREEDY
2332 M3_INFRAVISIBLE, CLR_WHITE),
2337 MON("ghost", S_GHOST, LVL(10, 3, -5, 50, -5), (G_NOCORPSE | G_NOGEN),
2338 A(ATTK(AT_TUCH, AD_PHYS, 1, 1), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2340 SIZ(WT_HUMAN, 0, MS_SILENT, MZ_HUMAN),
2341 MR_COLD | MR_DISINT | MR_SLEEP | MR_POISON | MR_STONE, 0,
2342 M1_FLY | M1_BREATHLESS | M1_WALLWALK | M1_HUMANOID | M1_UNSOLID,
2343 M2_NOPOLY | M2_UNDEAD | M2_STALK | M2_HOSTILE, M3_INFRAVISION,
2345 MON("shade", S_GHOST, LVL(12, 10, 10, 0, 0), (G_NOCORPSE | G_NOGEN),
2346 A(ATTK(AT_TUCH, AD_PLYS, 2, 6), ATTK(AT_TUCH, AD_SLOW, 1, 6), NO_ATTK,
2347 NO_ATTK, NO_ATTK, NO_ATTK),
2348 SIZ(WT_HUMAN, 0, MS_WAIL, MZ_HUMAN),
2349 MR_COLD | MR_DISINT | MR_SLEEP | MR_POISON | MR_STONE, 0,
2350 M1_FLY | M1_BREATHLESS | M1_WALLWALK | M1_HUMANOID | M1_UNSOLID
2352 M2_NOPOLY | M2_UNDEAD | M2_WANDER | M2_STALK | M2_HOSTILE | M2_NASTY,
2353 M3_INFRAVISION, CLR_BLACK),
2357 MON("water demon", S_DEMON, LVL(8, 12, -4, 30, -7),
2358 (G_NOCORPSE | G_NOGEN),
2359 A(ATTK(AT_WEAP, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3),
2360 ATTK(AT_BITE, AD_PHYS, 1, 3), NO_ATTK, NO_ATTK, NO_ATTK),
2361 SIZ(WT_HUMAN, 400, MS_DJINNI, MZ_HUMAN), MR_FIRE | MR_POISON, 0,
2362 M1_HUMANOID | M1_POIS | M1_SWIM,
2363 M2_NOPOLY | M2_DEMON | M2_STALK | M2_HOSTILE | M2_NASTY | M2_COLLECT,
2364 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_BLUE),
2365 /* standard demons & devils
2367 #define SEDUCTION_ATTACKS_YES \
2368 A(ATTK(AT_BITE, AD_SSEX, 0, 0), ATTK(AT_CLAW, AD_PHYS, 1, 3), \
2369 ATTK(AT_CLAW, AD_PHYS, 1, 3), NO_ATTK, NO_ATTK, NO_ATTK)
2370 #define SEDUCTION_ATTACKS_NO \
2371 A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3), \
2372 ATTK(AT_BITE, AD_DRLI, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK)
2373 MON("succubus", S_DEMON, LVL(6, 12, 0, 70, -9), (G_NOCORPSE | 1),
2374 SEDUCTION_ATTACKS_YES, SIZ(WT_HUMAN, 400, MS_SEDUCE, MZ_HUMAN),
2375 MR_FIRE | MR_POISON, 0, M1_HUMANOID | M1_FLY | M1_POIS,
2376 M2_DEMON | M2_STALK | M2_HOSTILE | M2_NASTY | M2_FEMALE,
2377 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_GRAY),
2378 MON("horned devil", S_DEMON, LVL(6, 9, -5, 50, 11),
2379 (G_HELL | G_NOCORPSE | 2),
2380 A(ATTK(AT_WEAP, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
2381 ATTK(AT_BITE, AD_PHYS, 2, 3), ATTK(AT_STNG, AD_PHYS, 1, 3), NO_ATTK,
2383 SIZ(WT_HUMAN, 400, MS_SILENT, MZ_HUMAN), MR_FIRE | MR_POISON, 0,
2384 M1_POIS | M1_THICK_HIDE, M2_DEMON | M2_STALK | M2_HOSTILE | M2_NASTY,
2385 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_BROWN),
2386 MON("incubus", S_DEMON, LVL(6, 12, 0, 70, -9), (G_NOCORPSE | 1),
2387 SEDUCTION_ATTACKS_YES, SIZ(WT_HUMAN, 400, MS_SEDUCE, MZ_HUMAN),
2388 MR_FIRE | MR_POISON, 0, M1_HUMANOID | M1_FLY | M1_POIS,
2389 M2_DEMON | M2_STALK | M2_HOSTILE | M2_NASTY | M2_MALE,
2390 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_GRAY),
2391 /* Used by AD&D for a type of demon, originally one of the Furies
2392 and spelled this way */
2393 MON("erinys", S_DEMON, LVL(7, 12, 2, 30, 10),
2394 (G_HELL | G_NOCORPSE | G_SGROUP | 2),
2395 A(ATTK(AT_WEAP, AD_DRST, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2397 SIZ(WT_HUMAN, 400, MS_SILENT, MZ_HUMAN), MR_FIRE | MR_POISON, 0,
2398 M1_HUMANOID | M1_POIS,
2399 M2_NOPOLY | M2_DEMON | M2_STALK | M2_HOSTILE | M2_STRONG | M2_NASTY
2400 | M2_FEMALE | M2_COLLECT,
2401 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_RED),
2402 MON("barbed devil", S_DEMON, LVL(8, 12, 0, 35, 8),
2403 (G_HELL | G_NOCORPSE | G_SGROUP | 2),
2404 A(ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4),
2405 ATTK(AT_STNG, AD_PHYS, 3, 4), NO_ATTK, NO_ATTK, NO_ATTK),
2406 SIZ(WT_HUMAN, 400, MS_SILENT, MZ_HUMAN), MR_FIRE | MR_POISON, 0,
2407 M1_POIS | M1_THICK_HIDE, M2_DEMON | M2_STALK | M2_HOSTILE | M2_NASTY,
2408 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_RED),
2409 MON("marilith", S_DEMON, LVL(7, 12, -6, 80, -12),
2410 (G_HELL | G_NOCORPSE | 1),
2411 A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4),
2412 ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4),
2413 ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4)),
2414 SIZ(WT_HUMAN, 400, MS_CUSS, MZ_LARGE), MR_FIRE | MR_POISON, 0,
2415 M1_HUMANOID | M1_SLITHY | M1_SEE_INVIS | M1_POIS,
2416 M2_DEMON | M2_STALK | M2_HOSTILE | M2_NASTY | M2_FEMALE | M2_COLLECT,
2417 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_RED),
2418 MON("vrock", S_DEMON, LVL(8, 12, 0, 50, -9),
2419 (G_HELL | G_NOCORPSE | G_SGROUP | 2),
2420 A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
2421 ATTK(AT_CLAW, AD_PHYS, 1, 8), ATTK(AT_CLAW, AD_PHYS, 1, 8),
2422 ATTK(AT_BITE, AD_PHYS, 1, 6), NO_ATTK),
2423 SIZ(WT_HUMAN, 400, MS_SILENT, MZ_LARGE), MR_FIRE | MR_POISON, 0,
2424 M1_POIS, M2_DEMON | M2_STALK | M2_HOSTILE | M2_NASTY,
2425 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_RED),
2426 MON("hezrou", S_DEMON, LVL(9, 6, -2, 55, -10),
2427 (G_HELL | G_NOCORPSE | G_SGROUP | 2),
2428 A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3),
2429 ATTK(AT_BITE, AD_PHYS, 4, 4), NO_ATTK, NO_ATTK, NO_ATTK),
2430 SIZ(WT_HUMAN, 400, MS_SILENT, MZ_LARGE), MR_FIRE | MR_POISON, 0,
2431 M1_HUMANOID | M1_POIS, M2_DEMON | M2_STALK | M2_HOSTILE | M2_NASTY,
2432 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_RED),
2433 MON("bone devil", S_DEMON, LVL(9, 15, -1, 40, -9),
2434 (G_HELL | G_NOCORPSE | G_SGROUP | 2),
2435 A(ATTK(AT_WEAP, AD_PHYS, 3, 4), ATTK(AT_STNG, AD_DRST, 2, 4), NO_ATTK,
2436 NO_ATTK, NO_ATTK, NO_ATTK),
2437 SIZ(WT_HUMAN, 400, MS_SILENT, MZ_LARGE), MR_FIRE | MR_POISON, 0,
2438 M1_POIS, M2_DEMON | M2_STALK | M2_HOSTILE | M2_NASTY | M2_COLLECT,
2439 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_GRAY),
2440 MON("ice devil", S_DEMON, LVL(11, 6, -4, 55, -12),
2441 (G_HELL | G_NOCORPSE | 2),
2442 A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
2443 ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_STNG, AD_COLD, 3, 4), NO_ATTK,
2445 SIZ(WT_HUMAN, 400, MS_SILENT, MZ_LARGE),
2446 MR_FIRE | MR_COLD | MR_POISON, 0, M1_SEE_INVIS | M1_POIS,
2447 M2_DEMON | M2_STALK | M2_HOSTILE | M2_NASTY,
2448 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_WHITE),
2449 MON("nalfeshnee", S_DEMON, LVL(11, 9, -1, 65, -11),
2450 (G_HELL | G_NOCORPSE | 1),
2451 A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4),
2452 ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_MAGC, AD_SPEL, 0, 0), NO_ATTK,
2454 SIZ(WT_HUMAN, 400, MS_SPELL, MZ_LARGE), MR_FIRE | MR_POISON, 0,
2455 M1_HUMANOID | M1_POIS, M2_DEMON | M2_STALK | M2_HOSTILE | M2_NASTY,
2456 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_RED),
2457 MON("pit fiend", S_DEMON, LVL(13, 6, -3, 65, -13),
2458 (G_HELL | G_NOCORPSE | 2),
2459 A(ATTK(AT_WEAP, AD_PHYS, 4, 2), ATTK(AT_WEAP, AD_PHYS, 4, 2),
2460 ATTK(AT_HUGS, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK),
2461 SIZ(WT_HUMAN, 400, MS_GROWL, MZ_LARGE), MR_FIRE | MR_POISON, 0,
2462 M1_SEE_INVIS | M1_POIS,
2463 M2_DEMON | M2_STALK | M2_HOSTILE | M2_NASTY | M2_COLLECT,
2464 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_RED),
2465 MON("sandestin", S_DEMON, LVL(13, 12, 4, 60, -5),
2466 (G_HELL | G_NOCORPSE | 1),
2467 A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6), NO_ATTK,
2468 NO_ATTK, NO_ATTK, NO_ATTK),
2469 SIZ(1500, 400, MS_CUSS, MZ_HUMAN), MR_STONE, 0, M1_HUMANOID,
2470 M2_NOPOLY | M2_STALK | M2_STRONG | M2_COLLECT | M2_SHAPESHIFTER,
2471 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_GRAY),
2472 MON("balrog", S_DEMON, LVL(16, 5, -2, 75, -14), (G_HELL | G_NOCORPSE | 1),
2473 A(ATTK(AT_WEAP, AD_PHYS, 8, 4), ATTK(AT_WEAP, AD_PHYS, 4, 6), NO_ATTK,
2474 NO_ATTK, NO_ATTK, NO_ATTK),
2475 SIZ(WT_HUMAN, 400, MS_SILENT, MZ_LARGE), MR_FIRE | MR_POISON, 0,
2476 M1_FLY | M1_SEE_INVIS | M1_POIS,
2477 M2_DEMON | M2_STALK | M2_HOSTILE | M2_STRONG | M2_NASTY | M2_COLLECT,
2478 M3_INFRAVISIBLE | M3_INFRAVISION, CLR_RED),
2479 /* Named demon lords & princes plus Arch-Devils.
2480 * (their order matters; see minion.c)
2482 MON("Juiblex", S_DEMON, LVL(50, 3, -7, 65, -15),
2483 (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
2484 A(ATTK(AT_ENGL, AD_DISE, 4, 10), ATTK(AT_SPIT, AD_ACID, 3, 6),
2485 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2486 SIZ(1500, 0, MS_GURGLE, MZ_LARGE),
2487 MR_FIRE | MR_POISON | MR_ACID | MR_STONE, 0,
2488 M1_AMPHIBIOUS | M1_AMORPHOUS | M1_NOHEAD | M1_FLY | M1_SEE_INVIS
2489 | M1_ACID | M1_POIS,
2490 M2_NOPOLY | M2_DEMON | M2_STALK | M2_HOSTILE | M2_PNAME | M2_NASTY
2491 | M2_LORD | M2_MALE,
2492 M3_WAITFORU | M3_WANTSAMUL | M3_INFRAVISION, CLR_BRIGHT_GREEN),
2493 MON("Yeenoghu", S_DEMON, LVL(56, 18, -5, 80, -15),
2494 (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
2495 A(ATTK(AT_WEAP, AD_PHYS, 3, 6), ATTK(AT_WEAP, AD_CONF, 2, 8),
2496 ATTK(AT_CLAW, AD_PLYS, 1, 6), ATTK(AT_MAGC, AD_MAGM, 2, 6), NO_ATTK,
2498 SIZ(900, 500, MS_ORC, MZ_LARGE), MR_FIRE | MR_POISON, 0,
2499 M1_FLY | M1_SEE_INVIS | M1_POIS,
2500 M2_NOPOLY | M2_DEMON | M2_STALK | M2_HOSTILE | M2_PNAME | M2_NASTY
2501 | M2_LORD | M2_MALE | M2_COLLECT,
2502 M3_WANTSAMUL | M3_INFRAVISIBLE | M3_INFRAVISION, HI_LORD),
2503 MON("Orcus", S_DEMON, LVL(66, 9, -6, 85, -20),
2504 (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
2505 A(ATTK(AT_WEAP, AD_PHYS, 3, 6), ATTK(AT_CLAW, AD_PHYS, 3, 4),
2506 ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_MAGC, AD_SPEL, 8, 6),
2507 ATTK(AT_STNG, AD_DRST, 2, 4), NO_ATTK),
2508 SIZ(1500, 500, MS_ORC, MZ_HUGE), MR_FIRE | MR_POISON, 0,
2509 M1_FLY | M1_SEE_INVIS | M1_POIS,
2510 M2_NOPOLY | M2_DEMON | M2_STALK | M2_HOSTILE | M2_PNAME | M2_NASTY
2511 | M2_PRINCE | M2_MALE | M2_COLLECT,
2512 M3_WAITFORU | M3_WANTSBOOK | M3_WANTSAMUL | M3_INFRAVISIBLE
2515 MON("Geryon", S_DEMON, LVL(72, 3, -3, 75, 15),
2516 (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
2517 A(ATTK(AT_CLAW, AD_PHYS, 3, 6), ATTK(AT_CLAW, AD_PHYS, 3, 6),
2518 ATTK(AT_STNG, AD_DRST, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK),
2519 SIZ(1500, 500, MS_BRIBE, MZ_HUGE), MR_FIRE | MR_POISON, 0,
2520 M1_FLY | M1_SEE_INVIS | M1_POIS | M1_SLITHY,
2521 M2_NOPOLY | M2_DEMON | M2_STALK | M2_HOSTILE | M2_PNAME | M2_NASTY
2522 | M2_PRINCE | M2_MALE,
2523 M3_WANTSAMUL | M3_INFRAVISIBLE | M3_INFRAVISION, HI_LORD),
2524 MON("Dispater", S_DEMON, LVL(78, 15, -2, 80, 15),
2525 (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
2526 A(ATTK(AT_WEAP, AD_PHYS, 4, 6), ATTK(AT_MAGC, AD_SPEL, 6, 6), NO_ATTK,
2527 NO_ATTK, NO_ATTK, NO_ATTK),
2528 SIZ(1500, 500, MS_BRIBE, MZ_HUMAN), MR_FIRE | MR_POISON, 0,
2529 M1_FLY | M1_SEE_INVIS | M1_POIS | M1_HUMANOID,
2530 M2_NOPOLY | M2_DEMON | M2_STALK | M2_HOSTILE | M2_PNAME | M2_NASTY
2531 | M2_PRINCE | M2_MALE | M2_COLLECT,
2532 M3_WANTSAMUL | M3_INFRAVISIBLE | M3_INFRAVISION, HI_LORD),
2533 MON("Baalzebub", S_DEMON, LVL(89, 9, -5, 85, 20),
2534 (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
2535 A(ATTK(AT_BITE, AD_DRST, 2, 6), ATTK(AT_GAZE, AD_STUN, 2, 6), NO_ATTK,
2536 NO_ATTK, NO_ATTK, NO_ATTK),
2537 SIZ(1500, 500, MS_BRIBE, MZ_LARGE), MR_FIRE | MR_POISON, 0,
2538 M1_FLY | M1_SEE_INVIS | M1_POIS,
2539 M2_NOPOLY | M2_DEMON | M2_STALK | M2_HOSTILE | M2_PNAME | M2_NASTY
2540 | M2_PRINCE | M2_MALE,
2541 M3_WANTSAMUL | M3_WAITFORU | M3_INFRAVISIBLE | M3_INFRAVISION,
2543 MON("Asmodeus", S_DEMON, LVL(105, 12, -7, 90, 20),
2544 (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
2545 A(ATTK(AT_CLAW, AD_PHYS, 4, 4), ATTK(AT_MAGC, AD_COLD, 6, 6), NO_ATTK,
2546 NO_ATTK, NO_ATTK, NO_ATTK),
2547 SIZ(1500, 500, MS_BRIBE, MZ_HUGE), MR_FIRE | MR_COLD | MR_POISON, 0,
2548 M1_FLY | M1_SEE_INVIS | M1_HUMANOID | M1_POIS,
2549 M2_NOPOLY | M2_DEMON | M2_STALK | M2_HOSTILE | M2_PNAME | M2_STRONG
2550 | M2_NASTY | M2_PRINCE | M2_MALE,
2551 M3_WANTSAMUL | M3_WAITFORU | M3_INFRAVISIBLE | M3_INFRAVISION,
2553 MON("Demogorgon", S_DEMON, LVL(106, 15, -8, 95, -20),
2554 (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
2555 A(ATTK(AT_MAGC, AD_SPEL, 8, 6), ATTK(AT_STNG, AD_DRLI, 1, 4),
2556 ATTK(AT_CLAW, AD_DISE, 1, 6), ATTK(AT_CLAW, AD_DISE, 1, 6), NO_ATTK,
2558 SIZ(1500, 500, MS_GROWL, MZ_HUGE), MR_FIRE | MR_POISON, 0,
2559 M1_FLY | M1_SEE_INVIS | M1_NOHANDS | M1_POIS,
2560 M2_NOPOLY | M2_DEMON | M2_STALK | M2_HOSTILE | M2_PNAME | M2_NASTY
2561 | M2_PRINCE | M2_MALE,
2562 M3_WANTSAMUL | M3_INFRAVISIBLE | M3_INFRAVISION, HI_LORD),
2563 /* Riders -- the Four Horsemen of the Apocalypse ("War" == player);
2564 * depicted with '&' but do not have M2_DEMON set.
2566 MON("Death", S_DEMON, LVL(30, 12, -5, 100, 0), (G_UNIQ | G_NOGEN),
2567 A(ATTK(AT_TUCH, AD_DETH, 8, 8), ATTK(AT_TUCH, AD_DETH, 8, 8), NO_ATTK,
2568 NO_ATTK, NO_ATTK, NO_ATTK),
2569 SIZ(WT_HUMAN, 1, MS_RIDER, MZ_HUMAN),
2570 MR_FIRE | MR_COLD | MR_ELEC | MR_SLEEP | MR_POISON | MR_STONE, 0,
2571 M1_FLY | M1_HUMANOID | M1_REGEN | M1_SEE_INVIS | M1_TPORT_CNTRL,
2572 M2_NOPOLY | M2_STALK | M2_HOSTILE | M2_PNAME | M2_STRONG | M2_NASTY,
2573 M3_INFRAVISIBLE | M3_INFRAVISION | M3_DISPLACES, HI_LORD),
2574 MON("Pestilence", S_DEMON, LVL(30, 12, -5, 100, 0), (G_UNIQ | G_NOGEN),
2575 A(ATTK(AT_TUCH, AD_PEST, 8, 8), ATTK(AT_TUCH, AD_PEST, 8, 8), NO_ATTK,
2576 NO_ATTK, NO_ATTK, NO_ATTK),
2577 SIZ(WT_HUMAN, 1, MS_RIDER, MZ_HUMAN),
2578 MR_FIRE | MR_COLD | MR_ELEC | MR_SLEEP | MR_POISON | MR_STONE, 0,
2579 M1_FLY | M1_HUMANOID | M1_REGEN | M1_SEE_INVIS | M1_TPORT_CNTRL,
2580 M2_NOPOLY | M2_STALK | M2_HOSTILE | M2_PNAME | M2_STRONG | M2_NASTY,
2581 M3_INFRAVISIBLE | M3_INFRAVISION | M3_DISPLACES, HI_LORD),
2582 MON("Famine", S_DEMON, LVL(30, 12, -5, 100, 0), (G_UNIQ | G_NOGEN),
2583 A(ATTK(AT_TUCH, AD_FAMN, 8, 8), ATTK(AT_TUCH, AD_FAMN, 8, 8), NO_ATTK,
2584 NO_ATTK, NO_ATTK, NO_ATTK),
2585 SIZ(WT_HUMAN, 1, MS_RIDER, MZ_HUMAN),
2586 MR_FIRE | MR_COLD | MR_ELEC | MR_SLEEP | MR_POISON | MR_STONE, 0,
2587 M1_FLY | M1_HUMANOID | M1_REGEN | M1_SEE_INVIS | M1_TPORT_CNTRL,
2588 M2_NOPOLY | M2_STALK | M2_HOSTILE | M2_PNAME | M2_STRONG | M2_NASTY,
2589 M3_INFRAVISIBLE | M3_INFRAVISION | M3_DISPLACES, HI_LORD),
2593 MON("mail daemon", S_DEMON, LVL(56, 24, 10, 127, 0),
2594 (G_NOGEN | G_NOCORPSE),
2595 A(NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2596 SIZ(600, 300, MS_SILENT, MZ_HUMAN),
2597 MR_FIRE | MR_COLD | MR_ELEC | MR_SLEEP | MR_POISON | MR_STONE, 0,
2598 M1_FLY | M1_SWIM | M1_BREATHLESS | M1_SEE_INVIS | M1_HUMANOID
2600 M2_NOPOLY | M2_STALK | M2_PEACEFUL, M3_INFRAVISIBLE | M3_INFRAVISION,
2603 MON("djinni", S_DEMON, LVL(7, 12, 4, 30, 0), (G_NOGEN | G_NOCORPSE),
2604 A(ATTK(AT_WEAP, AD_PHYS, 2, 8), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2606 SIZ(1500, 400, MS_DJINNI, MZ_HUMAN), MR_POISON | MR_STONE, 0,
2607 M1_HUMANOID | M1_FLY | M1_POIS, M2_NOPOLY | M2_STALK | M2_COLLECT,
2608 M3_INFRAVISIBLE, CLR_YELLOW),
2612 MON("jellyfish", S_EEL, LVL(3, 3, 6, 0, 0), (G_GENO | G_NOGEN),
2613 A(ATTK(AT_STNG, AD_DRST, 3, 3), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2615 SIZ(80, 20, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON,
2616 M1_SWIM | M1_AMPHIBIOUS | M1_SLITHY | M1_NOLIMBS | M1_NOHEAD
2617 | M1_NOTAKE | M1_POIS,
2618 M2_HOSTILE, 0, CLR_BLUE),
2619 MON("piranha", S_EEL, LVL(5, 12, 4, 0, 0), (G_GENO | G_NOGEN | G_SGROUP),
2620 A(ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2622 SIZ(60, 30, MS_SILENT, MZ_SMALL), 0, 0,
2623 M1_SWIM | M1_AMPHIBIOUS | M1_ANIMAL | M1_SLITHY | M1_NOLIMBS
2624 | M1_CARNIVORE | M1_OVIPAROUS | M1_NOTAKE,
2625 M2_HOSTILE, 0, CLR_RED),
2626 MON("shark", S_EEL, LVL(7, 12, 2, 0, 0), (G_GENO | G_NOGEN),
2627 A(ATTK(AT_BITE, AD_PHYS, 5, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2629 SIZ(500, 350, MS_SILENT, MZ_LARGE), 0, 0,
2630 M1_SWIM | M1_AMPHIBIOUS | M1_ANIMAL | M1_SLITHY | M1_NOLIMBS
2631 | M1_CARNIVORE | M1_OVIPAROUS | M1_THICK_HIDE | M1_NOTAKE,
2632 M2_HOSTILE, 0, CLR_GRAY),
2633 MON("giant eel", S_EEL, LVL(5, 9, -1, 0, 0), (G_GENO | G_NOGEN),
2634 A(ATTK(AT_BITE, AD_PHYS, 3, 6), ATTK(AT_TUCH, AD_WRAP, 0, 0), NO_ATTK,
2635 NO_ATTK, NO_ATTK, NO_ATTK),
2636 SIZ(200, 250, MS_SILENT, MZ_HUGE), 0, 0,
2637 M1_SWIM | M1_AMPHIBIOUS | M1_ANIMAL | M1_SLITHY | M1_NOLIMBS
2638 | M1_CARNIVORE | M1_OVIPAROUS | M1_NOTAKE,
2639 M2_HOSTILE, M3_INFRAVISIBLE, CLR_CYAN),
2640 MON("electric eel", S_EEL, LVL(7, 10, -3, 0, 0), (G_GENO | G_NOGEN),
2641 A(ATTK(AT_BITE, AD_ELEC, 4, 6), ATTK(AT_TUCH, AD_WRAP, 0, 0), NO_ATTK,
2642 NO_ATTK, NO_ATTK, NO_ATTK),
2643 SIZ(200, 250, MS_SILENT, MZ_HUGE), MR_ELEC, MR_ELEC,
2644 M1_SWIM | M1_AMPHIBIOUS | M1_ANIMAL | M1_SLITHY | M1_NOLIMBS
2645 | M1_CARNIVORE | M1_OVIPAROUS | M1_NOTAKE,
2646 M2_HOSTILE, M3_INFRAVISIBLE, CLR_BRIGHT_BLUE),
2647 MON("kraken", S_EEL, LVL(20, 3, 6, 0, -3), (G_GENO | G_NOGEN),
2648 A(ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4),
2649 ATTK(AT_HUGS, AD_WRAP, 2, 6), ATTK(AT_BITE, AD_PHYS, 5, 4), NO_ATTK,
2651 SIZ(1800, 1000, MS_SILENT, MZ_HUGE), 0, 0,
2652 M1_SWIM | M1_AMPHIBIOUS | M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE,
2653 M2_NOPOLY | M2_HOSTILE | M2_STRONG, M3_INFRAVISIBLE, CLR_RED),
2657 MON("newt", S_LIZARD, LVL(0, 6, 8, 0, 0), (G_GENO | 5),
2658 A(ATTK(AT_BITE, AD_PHYS, 1, 2), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2660 SIZ(10, 20, MS_SILENT, MZ_TINY), 0, 0,
2661 M1_SWIM | M1_AMPHIBIOUS | M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE,
2662 M2_HOSTILE, 0, CLR_YELLOW),
2663 MON("gecko", S_LIZARD, LVL(1, 6, 8, 0, 0), (G_GENO | 5),
2664 A(ATTK(AT_BITE, AD_PHYS, 1, 3), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2666 SIZ(10, 20, MS_SQEEK, MZ_TINY), 0, 0,
2667 M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_HOSTILE, 0, CLR_GREEN),
2668 MON("iguana", S_LIZARD, LVL(2, 6, 7, 0, 0), (G_GENO | 5),
2669 A(ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2671 SIZ(30, 30, MS_SILENT, MZ_TINY), 0, 0,
2672 M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_HOSTILE, 0, CLR_BROWN),
2673 MON("baby crocodile", S_LIZARD, LVL(3, 6, 7, 0, 0), G_GENO,
2674 A(ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2676 SIZ(200, 200, MS_SILENT, MZ_MEDIUM), 0, 0,
2677 M1_SWIM | M1_AMPHIBIOUS | M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE,
2678 M2_HOSTILE, 0, CLR_BROWN),
2679 MON("lizard", S_LIZARD, LVL(5, 6, 6, 10, 0), (G_GENO | 5),
2680 A(ATTK(AT_BITE, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2682 SIZ(10, 40, MS_SILENT, MZ_TINY), MR_STONE, MR_STONE,
2683 M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_HOSTILE, 0, CLR_GREEN),
2684 MON("chameleon", S_LIZARD, LVL(6, 5, 6, 10, 0), (G_GENO | 2),
2685 A(ATTK(AT_BITE, AD_PHYS, 4, 2), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2687 SIZ(100, 100, MS_SILENT, MZ_TINY), 0, 0,
2688 M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE,
2689 M2_NOPOLY | M2_HOSTILE | M2_SHAPESHIFTER, 0, CLR_BROWN),
2690 MON("crocodile", S_LIZARD, LVL(6, 9, 5, 0, 0), (G_GENO | 1),
2691 A(ATTK(AT_BITE, AD_PHYS, 4, 2), ATTK(AT_CLAW, AD_PHYS, 1, 12),
2692 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2693 SIZ(WT_HUMAN, 400, MS_SILENT, MZ_LARGE), 0, 0,
2694 M1_SWIM | M1_AMPHIBIOUS | M1_ANIMAL | M1_THICK_HIDE | M1_NOHANDS
2695 | M1_OVIPAROUS | M1_CARNIVORE,
2696 M2_STRONG | M2_HOSTILE, 0, CLR_BROWN),
2697 MON("salamander", S_LIZARD, LVL(8, 12, -1, 0, -9), (G_HELL | 1),
2698 A(ATTK(AT_WEAP, AD_PHYS, 2, 8), ATTK(AT_TUCH, AD_FIRE, 1, 6),
2699 ATTK(AT_HUGS, AD_PHYS, 2, 6), ATTK(AT_HUGS, AD_FIRE, 3, 6), NO_ATTK,
2701 SIZ(1500, 400, MS_MUMBLE, MZ_HUMAN), MR_SLEEP | MR_FIRE, MR_FIRE,
2702 M1_HUMANOID | M1_SLITHY | M1_THICK_HIDE | M1_POIS,
2703 M2_STALK | M2_HOSTILE | M2_COLLECT | M2_MAGIC, M3_INFRAVISIBLE,
2707 * dummy monster needed for visual interface
2708 * (marking it unique prevents figurines)
2710 MON("long worm tail", S_WORM_TAIL, LVL(0, 0, 0, 0, 0),
2711 (G_NOGEN | G_NOCORPSE | G_UNIQ),
2712 A(NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2713 SIZ(0, 0, 0, 0), 0, 0, 0L, M2_NOPOLY, 0, CLR_BROWN),
2715 * Worm tail must be between the normal monsters and the special
2716 * quest & pseudo-character ones because an optimization in the
2717 * random monster selection code assumes everything beyond here
2718 * has the G_NOGEN and M2_NOPOLY attributes.
2724 MON("archeologist", S_HUMAN, LVL(10, 12, 10, 1, 3), G_NOGEN,
2725 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK,
2726 NO_ATTK, NO_ATTK, NO_ATTK),
2727 SIZ(WT_HUMAN, 400, MS_HUMANOID, MZ_HUMAN), 0, 0,
2728 M1_HUMANOID | M1_TUNNEL | M1_NEEDPICK | M1_OMNIVORE,
2729 M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_COLLECT, M3_INFRAVISIBLE,
2731 MON("barbarian", S_HUMAN, LVL(10, 12, 10, 1, 0), G_NOGEN,
2732 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK,
2733 NO_ATTK, NO_ATTK, NO_ATTK),
2734 SIZ(WT_HUMAN, 400, MS_HUMANOID, MZ_HUMAN), MR_POISON, 0,
2735 M1_HUMANOID | M1_OMNIVORE,
2736 M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_COLLECT, M3_INFRAVISIBLE,
2738 MON("caveman", S_HUMAN, LVL(10, 12, 10, 0, 1), G_NOGEN,
2739 A(ATTK(AT_WEAP, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2741 SIZ(WT_HUMAN, 400, MS_HUMANOID, MZ_HUMAN), 0, 0,
2742 M1_HUMANOID | M1_OMNIVORE,
2743 M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_MALE | M2_COLLECT,
2744 M3_INFRAVISIBLE, HI_DOMESTIC),
2745 MON("cavewoman", S_HUMAN, LVL(10, 12, 10, 0, 1), G_NOGEN,
2746 A(ATTK(AT_WEAP, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2748 SIZ(WT_HUMAN, 400, MS_HUMANOID, MZ_HUMAN), 0, 0,
2749 M1_HUMANOID | M1_OMNIVORE,
2750 M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_FEMALE | M2_COLLECT,
2751 M3_INFRAVISIBLE, HI_DOMESTIC),
2752 MON("healer", S_HUMAN, LVL(10, 12, 10, 1, 0), G_NOGEN,
2753 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2755 SIZ(WT_HUMAN, 400, MS_HUMANOID, MZ_HUMAN), MR_POISON, 0,
2756 M1_HUMANOID | M1_OMNIVORE,
2757 M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_COLLECT, M3_INFRAVISIBLE,
2759 MON("knight", S_HUMAN, LVL(10, 12, 10, 1, 3), G_NOGEN,
2760 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK,
2761 NO_ATTK, NO_ATTK, NO_ATTK),
2762 SIZ(WT_HUMAN, 400, MS_HUMANOID, MZ_HUMAN), 0, 0,
2763 M1_HUMANOID | M1_OMNIVORE,
2764 M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_COLLECT, M3_INFRAVISIBLE,
2766 MON("monk", S_HUMAN, LVL(10, 12, 10, 2, 0), G_NOGEN,
2767 A(ATTK(AT_CLAW, AD_PHYS, 1, 8), ATTK(AT_KICK, AD_PHYS, 1, 8), NO_ATTK,
2768 NO_ATTK, NO_ATTK, NO_ATTK),
2769 SIZ(WT_HUMAN, 400, MS_HUMANOID, MZ_HUMAN), 0, 0,
2770 M1_HUMANOID | M1_HERBIVORE,
2771 M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_COLLECT | M2_MALE,
2772 M3_INFRAVISIBLE, HI_DOMESTIC),
2773 MON("priest", S_HUMAN, LVL(10, 12, 10, 2, 0), G_NOGEN,
2774 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2776 SIZ(WT_HUMAN, 400, MS_HUMANOID, MZ_HUMAN), 0, 0,
2777 M1_HUMANOID | M1_OMNIVORE,
2778 M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_MALE | M2_COLLECT,
2779 M3_INFRAVISIBLE, HI_DOMESTIC),
2780 MON("priestess", S_HUMAN, LVL(10, 12, 10, 2, 0), G_NOGEN,
2781 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2783 SIZ(WT_HUMAN, 400, MS_HUMANOID, MZ_HUMAN), 0, 0,
2784 M1_HUMANOID | M1_OMNIVORE,
2785 M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_FEMALE | M2_COLLECT,
2786 M3_INFRAVISIBLE, HI_DOMESTIC),
2787 MON("ranger", S_HUMAN, LVL(10, 12, 10, 2, -3), G_NOGEN,
2788 A(ATTK(AT_WEAP, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2790 SIZ(WT_HUMAN, 400, MS_HUMANOID, MZ_HUMAN), 0, 0,
2791 M1_HUMANOID | M1_OMNIVORE,
2792 M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_COLLECT, M3_INFRAVISIBLE,
2794 MON("rogue", S_HUMAN, LVL(10, 12, 10, 1, -3), G_NOGEN,
2795 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK,
2796 NO_ATTK, NO_ATTK, NO_ATTK),
2797 SIZ(WT_HUMAN, 400, MS_HUMANOID, MZ_HUMAN), 0, 0,
2798 M1_HUMANOID | M1_OMNIVORE,
2799 M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_GREEDY | M2_JEWELS | M2_COLLECT,
2800 M3_INFRAVISIBLE, HI_DOMESTIC),
2801 MON("samurai", S_HUMAN, LVL(10, 12, 10, 1, 3), G_NOGEN,
2802 A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 8), NO_ATTK,
2803 NO_ATTK, NO_ATTK, NO_ATTK),
2804 SIZ(WT_HUMAN, 400, MS_HUMANOID, MZ_HUMAN), 0, 0,
2805 M1_HUMANOID | M1_OMNIVORE,
2806 M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_COLLECT, M3_INFRAVISIBLE,
2808 MON("tourist", S_HUMAN, LVL(10, 12, 10, 1, 0), G_NOGEN,
2809 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK,
2810 NO_ATTK, NO_ATTK, NO_ATTK),
2811 SIZ(WT_HUMAN, 400, MS_HUMANOID, MZ_HUMAN), 0, 0,
2812 M1_HUMANOID | M1_OMNIVORE,
2813 M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_COLLECT, M3_INFRAVISIBLE,
2815 MON("valkyrie", S_HUMAN, LVL(10, 12, 10, 1, -1), G_NOGEN,
2816 A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 8), NO_ATTK,
2817 NO_ATTK, NO_ATTK, NO_ATTK),
2818 SIZ(WT_HUMAN, 400, MS_HUMANOID, MZ_HUMAN), MR_COLD, 0,
2819 M1_HUMANOID | M1_OMNIVORE,
2820 M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_FEMALE | M2_COLLECT,
2821 M3_INFRAVISIBLE, HI_DOMESTIC),
2822 MON("wizard", S_HUMAN, LVL(10, 12, 10, 3, 0), G_NOGEN,
2823 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2825 SIZ(WT_HUMAN, 400, MS_HUMANOID, MZ_HUMAN), 0, 0,
2826 M1_HUMANOID | M1_OMNIVORE,
2827 M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_COLLECT | M2_MAGIC,
2828 M3_INFRAVISIBLE, HI_DOMESTIC),
2832 MON("Lord Carnarvon", S_HUMAN, LVL(20, 12, 0, 30, 20), (G_NOGEN | G_UNIQ),
2833 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2835 SIZ(WT_HUMAN, 400, MS_LEADER, MZ_HUMAN), 0, 0,
2836 M1_TUNNEL | M1_NEEDPICK | M1_HUMANOID | M1_OMNIVORE,
2837 M2_NOPOLY | M2_HUMAN | M2_PNAME | M2_PEACEFUL | M2_STRONG | M2_MALE
2838 | M2_COLLECT | M2_MAGIC,
2839 M3_CLOSE | M3_INFRAVISIBLE, HI_LORD),
2840 MON("Pelias", S_HUMAN, LVL(20, 12, 0, 30, 0), (G_NOGEN | G_UNIQ),
2841 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2843 SIZ(WT_HUMAN, 400, MS_LEADER, MZ_HUMAN), MR_POISON, 0,
2844 M1_HUMANOID | M1_OMNIVORE,
2845 M2_NOPOLY | M2_HUMAN | M2_PNAME | M2_PEACEFUL | M2_STRONG | M2_MALE
2846 | M2_COLLECT | M2_MAGIC,
2847 M3_CLOSE | M3_INFRAVISIBLE, HI_LORD),
2848 MON("Shaman Karnov", S_HUMAN, LVL(20, 12, 0, 30, 20), (G_NOGEN | G_UNIQ),
2849 A(ATTK(AT_WEAP, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2851 SIZ(WT_HUMAN, 400, MS_LEADER, MZ_HUMAN), 0, 0,
2852 M1_HUMANOID | M1_OMNIVORE,
2853 M2_NOPOLY | M2_HUMAN | M2_PNAME | M2_PEACEFUL | M2_STRONG | M2_MALE
2854 | M2_COLLECT | M2_MAGIC,
2855 M3_CLOSE | M3_INFRAVISIBLE, HI_LORD),
2856 #if 0 /* OBSOLETE */
2857 /* Two for elves - one of each sex.
2859 MON("Earendil", S_HUMAN,
2860 LVL(20, 12, 0, 50, -20), (G_NOGEN | G_UNIQ),
2861 A(ATTK(AT_WEAP, AD_PHYS, 1, 8),
2862 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2863 SIZ(WT_ELF, 350, MS_LEADER, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
2864 M1_HUMANOID | M1_SEE_INVIS | M1_OMNIVORE,
2865 M2_NOPOLY | M2_ELF | M2_HUMAN | M2_PNAME | M2_PEACEFUL | M2_STRONG
2866 | M2_MALE | M2_COLLECT | M2_MAGIC,
2867 M3_CLOSE | M3_INFRAVISION | M3_INFRAVISIBLE, HI_LORD),
2868 MON("Elwing", S_HUMAN,
2869 LVL(20, 12, 0, 50, -20), (G_NOGEN | G_UNIQ),
2870 A(ATTK(AT_WEAP, AD_PHYS, 1, 8),
2871 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
2872 SIZ(WT_ELF, 350, MS_LEADER, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
2873 M1_HUMANOID | M1_SEE_INVIS | M1_OMNIVORE,
2874 M2_NOPOLY | M2_ELF | M2_HUMAN | M2_PNAME | M2_PEACEFUL | M2_STRONG
2875 | M2_FEMALE | M2_COLLECT | M2_MAGIC,
2876 M3_CLOSE | M3_INFRAVISION | M3_INFRAVISIBLE, HI_LORD),
2878 MON("Hippocrates", S_HUMAN, LVL(20, 12, 0, 40, 0), (G_NOGEN | G_UNIQ),
2879 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2881 SIZ(WT_HUMAN, 400, MS_LEADER, MZ_HUMAN), MR_POISON, 0,
2882 M1_HUMANOID | M1_OMNIVORE,
2883 M2_NOPOLY | M2_HUMAN | M2_PNAME | M2_PEACEFUL | M2_STRONG | M2_MALE
2884 | M2_COLLECT | M2_MAGIC,
2885 M3_CLOSE | M3_INFRAVISIBLE, HI_LORD),
2886 MON("King Arthur", S_HUMAN, LVL(20, 12, 0, 40, 20), (G_NOGEN | G_UNIQ),
2887 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK,
2888 NO_ATTK, NO_ATTK, NO_ATTK),
2889 SIZ(WT_HUMAN, 400, MS_LEADER, MZ_HUMAN), 0, 0,
2890 M1_HUMANOID | M1_OMNIVORE,
2891 M2_NOPOLY | M2_HUMAN | M2_PNAME | M2_PEACEFUL | M2_STRONG | M2_MALE
2892 | M2_COLLECT | M2_MAGIC,
2893 M3_CLOSE | M3_INFRAVISIBLE, HI_LORD),
2894 MON("Grand Master", S_HUMAN, LVL(25, 12, 0, 70, 0), (G_NOGEN | G_UNIQ),
2895 A(ATTK(AT_CLAW, AD_PHYS, 4, 10), ATTK(AT_KICK, AD_PHYS, 2, 8),
2896 ATTK(AT_MAGC, AD_CLRC, 2, 8), ATTK(AT_MAGC, AD_CLRC, 2, 8), NO_ATTK,
2898 SIZ(WT_HUMAN, 400, MS_LEADER, MZ_HUMAN),
2899 MR_FIRE | MR_ELEC | MR_SLEEP | MR_POISON, 0,
2900 M1_HUMANOID | M1_SEE_INVIS | M1_HERBIVORE,
2901 M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | M2_MALE | M2_NASTY
2903 M3_CLOSE | M3_INFRAVISIBLE, CLR_BLACK),
2904 MON("Arch Priest", S_HUMAN, LVL(25, 12, 7, 70, 0), (G_NOGEN | G_UNIQ),
2905 A(ATTK(AT_WEAP, AD_PHYS, 4, 10), ATTK(AT_KICK, AD_PHYS, 2, 8),
2906 ATTK(AT_MAGC, AD_CLRC, 2, 8), ATTK(AT_MAGC, AD_CLRC, 2, 8), NO_ATTK,
2908 SIZ(WT_HUMAN, 400, MS_LEADER, MZ_HUMAN),
2909 MR_FIRE | MR_ELEC | MR_SLEEP | MR_POISON, 0,
2910 M1_HUMANOID | M1_SEE_INVIS | M1_OMNIVORE,
2911 M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | M2_MALE | M2_COLLECT
2913 M3_CLOSE | M3_INFRAVISIBLE, CLR_WHITE),
2914 MON("Orion", S_HUMAN, LVL(20, 12, 0, 30, 0), (G_NOGEN | G_UNIQ),
2915 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
2917 SIZ(2200, 700, MS_LEADER, MZ_HUGE), 0, 0,
2918 M1_HUMANOID | M1_OMNIVORE | M1_SEE_INVIS | M1_SWIM | M1_AMPHIBIOUS,
2919 M2_NOPOLY | M2_HUMAN | M2_PNAME | M2_PEACEFUL | M2_STRONG | M2_MALE
2920 | M2_COLLECT | M2_MAGIC,
2921 M3_CLOSE | M3_INFRAVISION | M3_INFRAVISIBLE, HI_LORD),
2922 /* Note: Master of Thieves is also the Tourist's nemesis.
2924 MON("Master of Thieves", S_HUMAN, LVL(20, 12, 0, 30, -20),
2926 A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6),
2927 ATTK(AT_CLAW, AD_SAMU, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK),
2928 SIZ(WT_HUMAN, 400, MS_LEADER, MZ_HUMAN), MR_STONE, 0,
2929 M1_HUMANOID | M1_OMNIVORE,
2930 M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | M2_MALE | M2_GREEDY
2931 | M2_JEWELS | M2_COLLECT | M2_MAGIC,
2932 M3_CLOSE | M3_INFRAVISIBLE, HI_LORD),
2933 MON("Lord Sato", S_HUMAN, LVL(20, 12, 0, 30, 20), (G_NOGEN | G_UNIQ),
2934 A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK,
2935 NO_ATTK, NO_ATTK, NO_ATTK),
2936 SIZ(WT_HUMAN, 400, MS_LEADER, MZ_HUMAN), 0, 0,
2937 M1_HUMANOID | M1_OMNIVORE,
2938 M2_NOPOLY | M2_HUMAN | M2_PNAME | M2_PEACEFUL | M2_STRONG | M2_MALE
2939 | M2_COLLECT | M2_MAGIC,
2940 M3_CLOSE | M3_INFRAVISIBLE, HI_LORD),
2941 MON("Twoflower", S_HUMAN, LVL(20, 12, 10, 20, 0), (G_NOGEN | G_UNIQ),
2942 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK,
2943 NO_ATTK, NO_ATTK, NO_ATTK),
2944 SIZ(WT_HUMAN, 400, MS_LEADER, MZ_HUMAN), 0, 0,
2945 M1_HUMANOID | M1_OMNIVORE,
2946 M2_NOPOLY | M2_HUMAN | M2_PNAME | M2_PEACEFUL | M2_STRONG | M2_MALE
2947 | M2_COLLECT | M2_MAGIC,
2948 M3_CLOSE | M3_INFRAVISIBLE, HI_DOMESTIC),
2949 MON("Norn", S_HUMAN, LVL(20, 12, 0, 80, 0), (G_NOGEN | G_UNIQ),
2950 A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK,
2951 NO_ATTK, NO_ATTK, NO_ATTK),
2952 SIZ(1800, 550, MS_LEADER, MZ_HUGE), MR_COLD, 0,
2953 M1_HUMANOID | M1_OMNIVORE,
2954 M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | M2_FEMALE
2955 | M2_COLLECT | M2_MAGIC,
2956 M3_CLOSE | M3_INFRAVISIBLE, HI_LORD),
2957 MON("Neferet the Green", S_HUMAN, LVL(20, 12, 0, 60, 0),
2959 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_SPEL, 2, 8), NO_ATTK,
2960 NO_ATTK, NO_ATTK, NO_ATTK),
2961 SIZ(WT_HUMAN, 400, MS_LEADER, MZ_HUMAN), 0, 0,
2962 M1_HUMANOID | M1_OMNIVORE,
2963 M2_NOPOLY | M2_HUMAN | M2_FEMALE | M2_PNAME | M2_PEACEFUL | M2_STRONG
2964 | M2_COLLECT | M2_MAGIC,
2965 M3_CLOSE | M3_INFRAVISIBLE, CLR_GREEN),
2969 MON("Minion of Huhetotl", S_DEMON, LVL(16, 12, -2, 75, -14),
2970 (G_NOCORPSE | G_NOGEN | G_UNIQ),
2971 A(ATTK(AT_WEAP, AD_PHYS, 8, 4), ATTK(AT_WEAP, AD_PHYS, 4, 6),
2972 ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK,
2974 SIZ(WT_HUMAN, 400, MS_NEMESIS, MZ_LARGE),
2975 MR_FIRE | MR_POISON | MR_STONE, 0, M1_FLY | M1_SEE_INVIS | M1_POIS,
2976 M2_NOPOLY | M2_DEMON | M2_STALK | M2_HOSTILE | M2_STRONG | M2_NASTY
2978 M3_WANTSARTI | M3_WAITFORU | M3_INFRAVISION | M3_INFRAVISIBLE,
2980 MON("Thoth Amon", S_HUMAN, LVL(16, 12, 0, 10, -14),
2981 (G_NOGEN | G_UNIQ | G_NOCORPSE),
2982 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0),
2983 ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_CLAW, AD_SAMU, 1, 4), NO_ATTK,
2985 SIZ(WT_HUMAN, 400, MS_NEMESIS, MZ_HUMAN), MR_POISON | MR_STONE, 0,
2986 M1_HUMANOID | M1_OMNIVORE,
2987 M2_NOPOLY | M2_HUMAN | M2_PNAME | M2_STRONG | M2_MALE | M2_STALK
2988 | M2_HOSTILE | M2_NASTY | M2_COLLECT | M2_MAGIC,
2989 M3_WANTSARTI | M3_WAITFORU | M3_INFRAVISIBLE, HI_LORD),
2990 /* Multi-headed, possessing the breath attacks of all the other dragons
2991 * (selected at random when attacking).
2993 MON("Chromatic Dragon", S_DRAGON, LVL(16, 12, 0, 30, -14),
2995 A(ATTK(AT_BREA, AD_RBRE, 6, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0),
2996 ATTK(AT_CLAW, AD_SAMU, 2, 8), ATTK(AT_BITE, AD_PHYS, 4, 8),
2997 ATTK(AT_BITE, AD_PHYS, 4, 8), ATTK(AT_STNG, AD_PHYS, 1, 6)),
2998 SIZ(WT_DRAGON, 1700, MS_NEMESIS, MZ_GIGANTIC),
2999 MR_FIRE | MR_COLD | MR_SLEEP | MR_DISINT | MR_ELEC | MR_POISON
3000 | MR_ACID | MR_STONE,
3001 MR_FIRE | MR_COLD | MR_SLEEP | MR_DISINT | MR_ELEC | MR_POISON
3003 M1_THICK_HIDE | M1_NOHANDS | M1_CARNIVORE | M1_SEE_INVIS | M1_POIS,
3004 M2_NOPOLY | M2_HOSTILE | M2_FEMALE | M2_STALK | M2_STRONG | M2_NASTY
3005 | M2_GREEDY | M2_JEWELS | M2_MAGIC,
3006 M3_WANTSARTI | M3_WAITFORU | M3_INFRAVISIBLE, HI_LORD),
3007 #if 0 /* OBSOLETE */
3008 MON("Goblin King", S_ORC,
3009 LVL(15, 12, 10, 0, -15), (G_NOGEN | G_UNIQ),
3010 A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6),
3011 ATTK(AT_CLAW, AD_SAMU, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK),
3012 SIZ(750, 350, MS_NEMESIS, MZ_HUMAN), 0, 0,
3013 M1_HUMANOID | M1_OMNIVORE,
3014 M2_NOPOLY | M2_ORC | M2_HOSTILE | M2_STRONG | M2_STALK | M2_NASTY
3015 | M2_MALE | M2_GREEDY | M2_JEWELS | M2_COLLECT | M2_MAGIC,
3016 M3_WANTSARTI | M3_WAITFORU | M3_INFRAVISION | M3_INFRAVISIBLE,
3019 MON("Cyclops", S_GIANT, LVL(18, 12, 0, 0, -15), (G_NOGEN | G_UNIQ),
3020 A(ATTK(AT_WEAP, AD_PHYS, 4, 8), ATTK(AT_WEAP, AD_PHYS, 4, 8),
3021 ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
3022 SIZ(1900, 700, MS_NEMESIS, MZ_HUGE), MR_STONE, 0,
3023 M1_HUMANOID | M1_OMNIVORE,
3024 M2_NOPOLY | M2_GIANT | M2_STRONG | M2_ROCKTHROW | M2_STALK
3025 | M2_HOSTILE | M2_NASTY | M2_MALE | M2_JEWELS | M2_COLLECT,
3026 M3_WANTSARTI | M3_WAITFORU | M3_INFRAVISION | M3_INFRAVISIBLE,
3028 MON("Ixoth", S_DRAGON, LVL(15, 12, -1, 20, -14), (G_NOGEN | G_UNIQ),
3029 A(ATTK(AT_BREA, AD_FIRE, 8, 6), ATTK(AT_BITE, AD_PHYS, 4, 8),
3030 ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_CLAW, AD_PHYS, 2, 4),
3031 ATTK(AT_CLAW, AD_SAMU, 2, 4), NO_ATTK),
3032 SIZ(WT_DRAGON, 1600, MS_NEMESIS, MZ_GIGANTIC), MR_FIRE | MR_STONE,
3034 M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_CARNIVORE | M1_SEE_INVIS,
3035 M2_NOPOLY | M2_MALE | M2_PNAME | M2_HOSTILE | M2_STRONG | M2_NASTY
3036 | M2_STALK | M2_GREEDY | M2_JEWELS | M2_MAGIC,
3037 M3_WANTSARTI | M3_WAITFORU | M3_INFRAVISIBLE, CLR_RED),
3038 MON("Master Kaen", S_HUMAN, LVL(25, 12, -10, 10, -20), (G_NOGEN | G_UNIQ),
3039 A(ATTK(AT_CLAW, AD_PHYS, 16, 2), ATTK(AT_CLAW, AD_PHYS, 16, 2),
3040 ATTK(AT_MAGC, AD_CLRC, 0, 0), ATTK(AT_CLAW, AD_SAMU, 1, 4), NO_ATTK,
3042 SIZ(WT_HUMAN, 400, MS_NEMESIS, MZ_HUMAN), MR_POISON | MR_STONE,
3043 MR_POISON, M1_HUMANOID | M1_HERBIVORE | M1_SEE_INVIS,
3044 M2_NOPOLY | M2_HUMAN | M2_MALE | M2_PNAME | M2_HOSTILE | M2_STRONG
3045 | M2_NASTY | M2_STALK | M2_COLLECT | M2_MAGIC,
3046 M3_WANTSARTI | M3_WAITFORU | M3_INFRAVISIBLE, HI_LORD),
3047 MON("Nalzok", S_DEMON, LVL(16, 12, -2, 85, -127),
3048 (G_NOGEN | G_UNIQ | G_NOCORPSE),
3049 A(ATTK(AT_WEAP, AD_PHYS, 8, 4), ATTK(AT_WEAP, AD_PHYS, 4, 6),
3050 ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK,
3052 SIZ(WT_HUMAN, 400, MS_NEMESIS, MZ_LARGE),
3053 MR_FIRE | MR_POISON | MR_STONE, 0, M1_FLY | M1_SEE_INVIS | M1_POIS,
3054 M2_NOPOLY | M2_DEMON | M2_MALE | M2_PNAME | M2_HOSTILE | M2_STRONG
3055 | M2_STALK | M2_NASTY | M2_COLLECT,
3056 M3_WANTSARTI | M3_WAITFORU | M3_INFRAVISION | M3_INFRAVISIBLE,
3058 MON("Scorpius", S_SPIDER, LVL(15, 12, 10, 0, -15), (G_NOGEN | G_UNIQ),
3059 A(ATTK(AT_CLAW, AD_PHYS, 2, 6), ATTK(AT_CLAW, AD_SAMU, 2, 6),
3060 ATTK(AT_STNG, AD_DISE, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK),
3061 SIZ(750, 350, MS_NEMESIS, MZ_HUMAN), MR_POISON | MR_STONE, MR_POISON,
3062 M1_ANIMAL | M1_NOHANDS | M1_OVIPAROUS | M1_POIS | M1_CARNIVORE,
3063 M2_NOPOLY | M2_MALE | M2_PNAME | M2_HOSTILE | M2_STRONG | M2_STALK
3064 | M2_NASTY | M2_COLLECT | M2_MAGIC,
3065 M3_WANTSARTI | M3_WAITFORU, HI_LORD),
3066 MON("Master Assassin", S_HUMAN, LVL(15, 12, 0, 30, 18),
3068 A(ATTK(AT_WEAP, AD_DRST, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 8),
3069 ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
3070 SIZ(WT_HUMAN, 400, MS_NEMESIS, MZ_HUMAN), MR_STONE, 0,
3071 M1_HUMANOID | M1_OMNIVORE,
3072 M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_MALE | M2_HOSTILE | M2_STALK
3073 | M2_NASTY | M2_COLLECT | M2_MAGIC,
3074 M3_WANTSARTI | M3_WAITFORU | M3_INFRAVISIBLE, HI_LORD),
3075 /* A renegade daimyo who led a 13 year civil war against the shogun
3078 MON("Ashikaga Takauji", S_HUMAN, LVL(15, 12, 0, 40, -13),
3079 (G_NOGEN | G_UNIQ | G_NOCORPSE),
3080 A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6),
3081 ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
3082 SIZ(WT_HUMAN, 400, MS_NEMESIS, MZ_HUMAN), MR_STONE, 0,
3083 M1_HUMANOID | M1_OMNIVORE,
3084 M2_NOPOLY | M2_HUMAN | M2_PNAME | M2_HOSTILE | M2_STRONG | M2_STALK
3085 | M2_NASTY | M2_MALE | M2_COLLECT | M2_MAGIC,
3086 M3_WANTSARTI | M3_WAITFORU | M3_INFRAVISIBLE, HI_LORD),
3088 * Note: the Master of Thieves was defined above.
3090 MON("Lord Surtur", S_GIANT, LVL(15, 12, 2, 50, 12), (G_NOGEN | G_UNIQ),
3091 A(ATTK(AT_WEAP, AD_PHYS, 2, 10), ATTK(AT_WEAP, AD_PHYS, 2, 10),
3092 ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK),
3093 SIZ(2250, 850, MS_NEMESIS, MZ_HUGE), MR_FIRE | MR_STONE, MR_FIRE,
3094 M1_HUMANOID | M1_OMNIVORE,
3095 M2_NOPOLY | M2_GIANT | M2_MALE | M2_PNAME | M2_HOSTILE | M2_STALK
3096 | M2_STRONG | M2_NASTY | M2_ROCKTHROW | M2_JEWELS | M2_COLLECT,
3097 M3_WANTSARTI | M3_WAITFORU | M3_INFRAVISION | M3_INFRAVISIBLE,
3099 MON("Dark One", S_HUMAN, LVL(15, 12, 0, 80, -10),
3100 (G_NOGEN | G_UNIQ | G_NOCORPSE),
3101 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6),
3102 ATTK(AT_CLAW, AD_SAMU, 1, 4), ATTK(AT_MAGC, AD_SPEL, 0, 0), NO_ATTK,
3104 SIZ(WT_HUMAN, 400, MS_NEMESIS, MZ_HUMAN), MR_STONE, 0,
3105 M1_HUMANOID | M1_OMNIVORE,
3106 M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_HOSTILE | M2_STALK | M2_NASTY
3107 | M2_COLLECT | M2_MAGIC,
3108 M3_WANTSARTI | M3_WAITFORU | M3_INFRAVISIBLE, CLR_BLACK),
3112 MON("student", S_HUMAN, LVL(5, 12, 10, 10, 3), G_NOGEN,
3113 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
3115 SIZ(WT_HUMAN, 400, MS_GUARDIAN, MZ_HUMAN), 0, 0,
3116 M1_TUNNEL | M1_NEEDPICK | M1_HUMANOID | M1_OMNIVORE,
3117 M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | M2_COLLECT,
3118 M3_INFRAVISIBLE, HI_DOMESTIC),
3119 MON("chieftain", S_HUMAN, LVL(5, 12, 10, 10, 0), G_NOGEN,
3120 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
3122 SIZ(WT_HUMAN, 400, MS_GUARDIAN, MZ_HUMAN), MR_POISON, 0,
3123 M1_HUMANOID | M1_OMNIVORE,
3124 M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | M2_COLLECT,
3125 M3_INFRAVISIBLE, HI_DOMESTIC),
3126 MON("neanderthal", S_HUMAN, LVL(5, 12, 10, 10, 1), G_NOGEN,
3127 A(ATTK(AT_WEAP, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
3129 SIZ(WT_HUMAN, 400, MS_GUARDIAN, MZ_HUMAN), 0, 0,
3130 M1_HUMANOID | M1_OMNIVORE,
3131 M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | M2_COLLECT,
3132 M3_INFRAVISIBLE, HI_DOMESTIC),
3133 #if 0 /* OBSOLETE */
3134 MON("High-elf", S_HUMAN,
3135 LVL(5, 12, 10, 10, -7), G_NOGEN,
3136 A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_MAGC, AD_CLRC, 0, 0),
3137 NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3138 SIZ(WT_ELF, 350, MS_GUARDIAN, MZ_HUMAN), MR_SLEEP, MR_SLEEP,
3139 M1_HUMANOID | M1_SEE_INVIS | M1_OMNIVORE,
3140 M2_NOPOLY | M2_ELF | M2_PEACEFUL | M2_COLLECT,
3141 M3_INFRAVISION | M3_INFRAVISIBLE, HI_DOMESTIC),
3143 MON("attendant", S_HUMAN, LVL(5, 12, 10, 10, 3), G_NOGEN,
3144 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
3146 SIZ(WT_HUMAN, 400, MS_GUARDIAN, MZ_HUMAN), MR_POISON, 0,
3147 M1_HUMANOID | M1_OMNIVORE,
3148 M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | M2_COLLECT,
3149 M3_INFRAVISIBLE, HI_DOMESTIC),
3150 MON("page", S_HUMAN, LVL(5, 12, 10, 10, 3), G_NOGEN,
3151 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK,
3152 NO_ATTK, NO_ATTK, NO_ATTK),
3153 SIZ(WT_HUMAN, 400, MS_GUARDIAN, MZ_HUMAN), 0, 0,
3154 M1_HUMANOID | M1_OMNIVORE,
3155 M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | M2_COLLECT,
3156 M3_INFRAVISIBLE, HI_DOMESTIC),
3157 MON("abbot", S_HUMAN, LVL(5, 12, 10, 20, 0), G_NOGEN,
3158 A(ATTK(AT_CLAW, AD_PHYS, 8, 2), ATTK(AT_KICK, AD_STUN, 3, 2),
3159 ATTK(AT_MAGC, AD_CLRC, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK),
3160 SIZ(WT_HUMAN, 400, MS_GUARDIAN, MZ_HUMAN), 0, 0,
3161 M1_HUMANOID | M1_HERBIVORE,
3162 M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | M2_COLLECT,
3163 M3_INFRAVISIBLE, HI_DOMESTIC),
3164 MON("acolyte", S_HUMAN, LVL(5, 12, 10, 20, 0), G_NOGEN,
3165 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_CLRC, 0, 0), NO_ATTK,
3166 NO_ATTK, NO_ATTK, NO_ATTK),
3167 SIZ(WT_HUMAN, 400, MS_GUARDIAN, MZ_HUMAN), 0, 0,
3168 M1_HUMANOID | M1_OMNIVORE,
3169 M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | M2_COLLECT,
3170 M3_INFRAVISIBLE, HI_DOMESTIC),
3171 MON("hunter", S_HUMAN, LVL(5, 12, 10, 10, -7), G_NOGEN,
3172 A(ATTK(AT_WEAP, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK,
3174 SIZ(WT_HUMAN, 400, MS_GUARDIAN, MZ_HUMAN), 0, 0,
3175 M1_HUMANOID | M1_SEE_INVIS | M1_OMNIVORE,
3176 M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | M2_COLLECT,
3177 M3_INFRAVISION | M3_INFRAVISIBLE, HI_DOMESTIC),
3178 MON("thug", S_HUMAN, LVL(5, 12, 10, 10, -3), G_NOGEN,
3179 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6), NO_ATTK,
3180 NO_ATTK, NO_ATTK, NO_ATTK),
3181 SIZ(WT_HUMAN, 400, MS_GUARDIAN, MZ_HUMAN), 0, 0,
3182 M1_HUMANOID | M1_OMNIVORE, M2_NOPOLY | M2_HUMAN | M2_PEACEFUL
3183 | M2_STRONG | M2_GREEDY | M2_COLLECT,
3184 M3_INFRAVISIBLE, HI_DOMESTIC),
3185 MON("ninja", S_HUMAN, LVL(5, 12, 10, 10, 3), G_NOGEN,
3186 A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 8), NO_ATTK,
3187 NO_ATTK, NO_ATTK, NO_ATTK),
3188 SIZ(WT_HUMAN, 400, MS_HUMANOID, MZ_HUMAN), 0, 0,
3189 M1_HUMANOID | M1_OMNIVORE,
3190 M2_NOPOLY | M2_HUMAN | M2_HOSTILE | M2_STRONG | M2_COLLECT,
3191 M3_INFRAVISIBLE, HI_DOMESTIC),
3192 MON("roshi", S_HUMAN, LVL(5, 12, 10, 10, 3), G_NOGEN,
3193 A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 8), NO_ATTK,
3194 NO_ATTK, NO_ATTK, NO_ATTK),
3195 SIZ(WT_HUMAN, 400, MS_GUARDIAN, MZ_HUMAN), 0, 0,
3196 M1_HUMANOID | M1_OMNIVORE,
3197 M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | M2_COLLECT,
3198 M3_INFRAVISIBLE, HI_DOMESTIC),
3199 MON("guide", S_HUMAN, LVL(5, 12, 10, 20, 0), G_NOGEN,
3200 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0), NO_ATTK,
3201 NO_ATTK, NO_ATTK, NO_ATTK),
3202 SIZ(WT_HUMAN, 400, MS_GUARDIAN, MZ_HUMAN), 0, 0,
3203 M1_HUMANOID | M1_OMNIVORE, M2_NOPOLY | M2_HUMAN | M2_PEACEFUL
3204 | M2_STRONG | M2_COLLECT | M2_MAGIC,
3205 M3_INFRAVISIBLE, HI_DOMESTIC),
3206 MON("warrior", S_HUMAN, LVL(5, 12, 10, 10, -1), G_NOGEN,
3207 A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_WEAP, AD_PHYS, 1, 8), NO_ATTK,
3208 NO_ATTK, NO_ATTK, NO_ATTK),
3209 SIZ(WT_HUMAN, 400, MS_GUARDIAN, MZ_HUMAN), 0, 0,
3210 M1_HUMANOID | M1_OMNIVORE, M2_NOPOLY | M2_HUMAN | M2_PEACEFUL
3211 | M2_STRONG | M2_COLLECT | M2_FEMALE,
3212 M3_INFRAVISIBLE, HI_DOMESTIC),
3213 MON("apprentice", S_HUMAN, LVL(5, 12, 10, 30, 0), G_NOGEN,
3214 A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0), NO_ATTK,
3215 NO_ATTK, NO_ATTK, NO_ATTK),
3216 SIZ(WT_HUMAN, 400, MS_GUARDIAN, MZ_HUMAN), 0, 0,
3217 M1_HUMANOID | M1_OMNIVORE, M2_NOPOLY | M2_HUMAN | M2_PEACEFUL
3218 | M2_STRONG | M2_COLLECT | M2_MAGIC,
3219 M3_INFRAVISIBLE, HI_DOMESTIC),
3223 MON("", 0, LVL(0, 0, 0, 0, 0), (0),
3224 A(NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
3225 SIZ(0, 0, 0, 0), 0, 0, 0L, 0L, 0, 0)
3227 #endif /* !SPLITMON_1 */
3230 /* dummy routine used to force linkage */
3237 struct attack sa_yes[NATTK] = SEDUCTION_ATTACKS_YES;
3238 struct attack sa_no[NATTK] = SEDUCTION_ATTACKS_NO;