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