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