abstract
| - Below is the full text to monst.c from the source code of NetHack 3.1.0. To link to a particular line, write [[NetHack 3.1.0/monst.c#line123]], for example. Warning! This is the source code from an old release. For the latest release, see Source code 1. /* SCCS Id: @(#)monst.c 3.1 92/11/25 */ 2. /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ 3. /* NetHack may be freely redistributed. See license for details. */ 4. 5. #include "config.h" 6. #include "permonst.h" 7. #include "monsym.h" 8. #include "eshk.h" 9. #include "vault.h" 10. #include "epri.h" 11. 12. #ifdef MUSE 13. #define MARM(x,y) x /* x is usually 10 */ 14. #else 15. #define MARM(x,y) y 16. #endif 17. 18. #define NO_ATTK { 0, 0, 0, 0 } 19. 20. #define WT_ELF 800 21. #define WT_DRAGON 4500 22. 23. #ifdef C 24. #undef C 25. #endif 26. #ifdef TEXTCOLOR 27. #include "color.h" 28. #define C(color) color 29. #define HI_DOMESTIC WHITE /* use for player + friendlies */ 30. #define HI_LORD MAGENTA 31. #else 32. #define C(color) 33. #endif 34. 35. void NDECL(monst_init); 36. /* 37. * Entry Format: (from permonst.h) 38. * 39. * name, symbol (S_* defines), 40. * difficulty level, move rate, armor class, magic resistance, 41. * alignment, creation/geno flags (G_* defines), 42. * 6 * attack structs ( type , damage-type, # dice, # sides ), 43. * weight (WT_* defines), nutritional value, extension length, 44. * sounds made (MS_* defines), physical size (MZ_* defines), 45. * resistances, resistances conferred (both MR_* defines), 46. * 3 * flag bitmaps (M1_*, M2_*, and M3_* defines respectively) 47. * symbol color (C(x) macro) 48. */ 49. 50. #ifndef SPLITMON_2 51. struct permonst NEARDATA playermon = { /* used by weapons bonus code */ 52. "player", S_HUMAN, 1, 10, 10, 0, 0, G_GENO | G_NOGEN, 53. { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 54. NO_ATTK, NO_ATTK, NO_ATTK }, 55. WT_HUMAN, 400, PL_NSIZ, MS_HUMANOID, MZ_HUMAN, 0, 0, 56. M1_NEEDPICK | M1_HUMANOID | M1_OMNIVORE, 57. M2_HUMAN | M2_STRONG | M2_COLLECT, 0, C(HI_DOMESTIC) 58. }, NEARDATA *uasmon = &playermon; 59. #endif /* SPLITMON_2 */ 60. 61. /* 62. * Rule #1: monsters of a given class are contiguous in the 63. * mons[] array. 64. * 65. * Rule #2: monsters of a given class are presented in ascending 66. * order of strength. 67. * 68. * Rule #3: monster frequency is included in the geno mask; 69. * the frequency can be from 0 to 7. 0's will also 70. * be skipped during generation. 71. * 72. * Rule #4: monster subclasses (e.g. giants) should be kept 73. * together, unless it violates Rule 2. NOGEN monsters 74. * won't violate Rule 2. 75. * 76. * Guidelines for color assignment: 77. * 78. * * Use the same color for all `growth stages' of a monster (ex. 79. * little dog/big dog, baby naga/full-grown naga. 80. * 81. * * Use colors given in names wherever possible. If the class has `real' 82. * members with strong color associations, use those. 83. * 84. * * Favor `cool' colors for cold-resistent monsters, `warm' ones for 85. * fire-resistent ones. 86. * 87. * * Try to reserve purple (magenta) for powerful `ruler' monsters (queen 88. * bee, kobold lord, &c.). 89. * 90. * * Subject to all these constraints, try to use color to make as many 91. * distinctions as the / command (that is, within a monster letter 92. * distinct names should map to distinct colors). 93. * 94. * The aim in assigning colors is to be consistent enough so a player can 95. * become `intuitive' about them, deducing some or all of these rules 96. * unconsciously. Use your common sense. 97. */ 98. 99. #ifndef SPLITMON_2 100. struct permonst NEARDATA mons[] = { 101. /* ants */ 102. { "giant ant", S_ANT, 2, 18, 3, 0, 0, (G_GENO | G_SGROUP | 3), 103. { { AT_BITE, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, 104. NO_ATTK, NO_ATTK, NO_ATTK }, 105. 10, 10, 0, MS_SILENT, MZ_TINY, 0, 0, 106. M1_ANIMAL | M1_NOHANDS | M1_OVIPAROUS | M1_CARNIVORE, 107. M2_HOSTILE, 0, C(BROWN) }, 108. { "killer bee", S_ANT, 1, 18, -1, 0, 0, (G_GENO | G_LGROUP | 2), 109. { { AT_STNG, AD_DRST, 1, 3 }, NO_ATTK, NO_ATTK, 110. NO_ATTK, NO_ATTK, NO_ATTK }, 111. 1, 5, 0, MS_BUZZ, MZ_TINY, MR_POISON, MR_POISON, 112. M1_ANIMAL | M1_FLY | M1_NOHANDS | M1_POIS, M2_HOSTILE | M2_FEMALE, 113. 0, C(YELLOW) }, 114. { "soldier ant", S_ANT, 3, 18, 3, 0, 0, (G_GENO | G_SGROUP | 2), 115. { { AT_BITE, AD_PHYS, 2, 4 }, { AT_STNG, AD_DRST, 3, 4 }, 116. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 117. 20, 5, 0, MS_SILENT, MZ_TINY, MR_POISON, MR_POISON, 118. M1_ANIMAL | M1_NOHANDS | M1_OVIPAROUS | M1_POIS | M1_CARNIVORE, 119. M2_HOSTILE, 0, C(BLUE) }, 120. { "fire ant", S_ANT, 3, 18, 3, 10, 0, (G_GENO | G_SGROUP | 1), 121. { { AT_BITE, AD_PHYS, 2, 4 }, { AT_BITE, AD_FIRE, 2, 4 }, 122. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 123. 30, 10, 0, MS_SILENT, MZ_TINY, MR_FIRE, MR_FIRE, 124. M1_ANIMAL | M1_NOHANDS | M1_OVIPAROUS | M1_CARNIVORE, 125. M2_HOSTILE, 0, C(RED) }, 126. { "giant beetle", S_ANT, 5, 6, 4, 0, 0, (G_GENO | 3), 127. { { AT_BITE, AD_PHYS, 3, 6 }, NO_ATTK, NO_ATTK, 128. NO_ATTK, NO_ATTK, NO_ATTK }, 129. 10, 10, 0, MS_SILENT, MZ_LARGE, MR_POISON, MR_POISON, 130. M1_ANIMAL | M1_NOHANDS | M1_POIS | M1_CARNIVORE, 131. M2_HOSTILE, 0, C(BLACK) }, 132. { "queen bee", S_ANT, 9, 24, -4, 0, 0, (G_GENO | G_NOGEN), 133. { { AT_STNG, AD_DRST, 1, 8 }, NO_ATTK, NO_ATTK, 134. NO_ATTK, NO_ATTK, NO_ATTK }, 135. 1, 5, 0, MS_BUZZ, MZ_TINY, MR_POISON, MR_POISON, 136. M1_ANIMAL | M1_FLY | M1_NOHANDS | M1_POIS, 137. M2_HOSTILE | M2_FEMALE | M2_PRINCE, 0, C(HI_LORD) }, 138. /* blobs */ 139. { "acid blob", S_BLOB, 1, 3, 8, 0, 0, (G_GENO | 2), 140. { { AT_NONE, AD_ACID, 1, 8 }, NO_ATTK, NO_ATTK, 141. NO_ATTK, NO_ATTK, NO_ATTK }, 142. 30, 10, 0, MS_SILENT, MZ_TINY, 143. MR_SLEEP | MR_POISON | MR_ACID | MR_STONE, MR_SLEEP | MR_STONE, 144. M1_BREATHLESS | M1_AMORPHOUS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | 145. M1_MINDLESS | M1_ACID, M2_WANDER | M2_NEUTER, 0, C(GREEN) }, 146. { "quivering blob", S_BLOB, 5, 1, 8, 0, 0, (G_GENO | 2), 147. { { AT_TUCH, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, 148. NO_ATTK, NO_ATTK, NO_ATTK }, 149. 200, 100, 0, MS_SILENT, MZ_SMALL, 150. MR_SLEEP | MR_POISON, MR_POISON, 151. M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS, 152. M2_WANDER | M2_HOSTILE | M2_NEUTER, 0, C(WHITE) }, 153. { "gelatinous cube", S_BLOB, 6, 6, 8, 0, 0, (G_GENO | 2), 154. { { AT_TUCH, AD_PLYS, 2, 4 }, { AT_NONE, AD_PLYS, 1, 4 }, 155. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 156. 600, 150, 0, MS_SILENT, MZ_LARGE, 157. MR_FIRE | MR_COLD | MR_ELEC | MR_SLEEP | MR_POISON | MR_ACID | 158. MR_STONE, MR_FIRE | MR_COLD | MR_ELEC | MR_SLEEP, 159. M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS | M1_OMNIVORE | 160. M1_ACID, M2_WANDER | M2_HOSTILE | M2_NEUTER, 161. 0, C(CYAN) }, 162. /* cockatrice */ 163. { "cockatrice", S_COCKATRICE, 5, 6, 6, 30, 0, (G_GENO | 5), 164. { { AT_BITE, AD_PHYS, 1, 3 }, { AT_TUCH, AD_STON, 0, 0 }, 165. { AT_NONE, AD_STON, 0, 0 }, NO_ATTK, NO_ATTK, NO_ATTK }, 166. 30, 30, 0, MS_HISS, MZ_SMALL, 167. MR_POISON | MR_STONE, MR_POISON | MR_STONE, 168. M1_ANIMAL | M1_NOHANDS | M1_OVIPAROUS, M2_HOSTILE, 0, C(YELLOW) }, 169. /* dogs and other canines */ 170. { "jackal", S_DOG, 0, 12, 7, 0, 0, (G_GENO | G_SGROUP | 3), 171. { { AT_BITE, AD_PHYS, 1, 2 }, NO_ATTK, NO_ATTK, 172. NO_ATTK, NO_ATTK, NO_ATTK }, 173. 300, 250, 0, MS_BARK, MZ_SMALL, 0, 0, 174. M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_HOSTILE, 0, C(BROWN) }, 175. { "werejackal", S_DOG, 2, 12, 7, 10, -7, G_NOGEN | G_NOCORPSE, 176. { { AT_BITE, AD_WERE, 1, 4 }, NO_ATTK, NO_ATTK, 177. NO_ATTK, NO_ATTK, NO_ATTK }, 178. 300, 250, 0, MS_BARK, MZ_SMALL, MR_POISON, 0, 179. M1_NOHANDS | M1_POIS | M1_REGEN | M1_CARNIVORE, 180. M2_NOPOLY | M2_WERE | M2_HOSTILE, 0, C(BROWN) }, 181. { "little dog", S_DOG, 2, 18, 6, 0, 0, (G_GENO | 1), 182. { { AT_BITE, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 183. NO_ATTK, NO_ATTK, NO_ATTK }, 184. 150, 150, 0, MS_BARK, MZ_SMALL, 0, 0, 185. M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, 186. M2_DOMESTIC, 0, C(HI_DOMESTIC) }, 187. { "dog", S_DOG, 4, 16, 5, 0, 0, (G_GENO | 1), 188. { { AT_BITE, AD_PHYS, 1 ,6 }, NO_ATTK, NO_ATTK, 189. NO_ATTK, NO_ATTK, NO_ATTK }, 190. 400, 200, 0, MS_BARK, MZ_MEDIUM, 0, 0, 191. M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, 192. M2_DOMESTIC, 0, C(HI_DOMESTIC) }, 193. { "large dog", S_DOG, 6, 15, 4, 0, 0, (G_GENO | 1), 194. { { AT_BITE, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, 195. NO_ATTK, NO_ATTK, NO_ATTK }, 196. 800, 250, 0, MS_BARK, MZ_MEDIUM, 0, 0, 197. M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_STRONG | M2_DOMESTIC, 198. 0, C(HI_DOMESTIC) }, 199. { "wolf", S_DOG, 5, 12, 4, 0, 0, (G_GENO | G_SGROUP | 2), 200. { { AT_BITE, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, 201. NO_ATTK, NO_ATTK, NO_ATTK }, 202. 500, 250, 0, MS_BARK, MZ_SMALL, 0, 0, 203. M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_HOSTILE, 0, C(BROWN) }, 204. { "werewolf", S_DOG, 5, 12, 4, 20, -7, G_NOGEN | G_NOCORPSE, 205. { { AT_BITE, AD_WERE, 2, 6 }, NO_ATTK, NO_ATTK, 206. NO_ATTK, NO_ATTK, NO_ATTK }, 207. 500, 250, 0, MS_BARK, MZ_MEDIUM, MR_POISON, 0, 208. M1_NOHANDS | M1_POIS | M1_REGEN | M1_CARNIVORE, 209. M2_NOPOLY | M2_WERE | M2_HOSTILE, 0, C(BROWN) }, 210. { "warg", S_DOG, 7, 12, 4, 0, -5, (G_GENO | G_SGROUP | 2), 211. { { AT_BITE, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK, 212. NO_ATTK, NO_ATTK, NO_ATTK }, 213. 850, 350, 0, MS_BARK, MZ_MEDIUM, 0, 0, 214. M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, 215. M2_HOSTILE, 0, C(BROWN) }, 216. { "winter wolf", S_DOG, 7, 12, 4, 0, 0, (G_GENO | 1), 217. { { AT_BITE, AD_PHYS, 2, 6 }, { AT_BREA, AD_COLD, 2, 6 }, 218. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 219. 700, 300, 0, MS_BARK, MZ_LARGE, MR_COLD, MR_COLD, 220. M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, 221. M2_HOSTILE | M2_STRONG, 0, C(CYAN) }, 222. { "hell hound pup", S_DOG, 7, 12, 4, 20, -5, 223. (G_HELL | G_GENO | G_SGROUP | 1), 224. { { AT_BITE, AD_PHYS, 2, 6 }, { AT_BREA, AD_FIRE, 2, 6 }, 225. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 226. 200, 200, 0, MS_BARK, MZ_SMALL, 227. MR_FIRE, MR_FIRE, M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, 228. M2_HOSTILE, 0, C(RED) }, 229. { "hell hound", S_DOG, 12, 14, 2, 20, 0, (G_HELL | G_GENO | 1), 230. { { AT_BITE, AD_PHYS, 3, 6 }, { AT_BREA, AD_FIRE, 3, 6 }, 231. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 232. 600, 300, 0, MS_BARK, MZ_MEDIUM, 233. MR_FIRE, MR_FIRE, M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, 234. M2_HOSTILE | M2_STRONG, 0, C(RED) }, 235. #ifdef CHARON 236. { "Cerberus", S_DOG, 12, 10, 2, 20, -7, (G_HELL | G_UNIQ | 1), 237. { { AT_BITE, AD_PHYS, 3, 6 }, { AT_BITE, AD_PHYS, 3, 6 }, 238. { AT_BITE, AD_PHYS, 3, 6 }, NO_ATTK, NO_ATTK, NO_ATTK }, 239. 1000, 350, 0, MS_BARK, MZ_LARGE, MR_FIRE, MR_FIRE, 240. M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, 241. M2_NOPOLY | M2_HOSTILE | M2_STRONG | M2_PNAME | M2_MALE, 0, 242. C(RED) }, 243. #endif 244. /* eyes */ 245. { "floating eye", S_EYE, 2, 1, 9, 10, 0, (G_GENO | 5), 246. { { AT_NONE, AD_PLYS, 0, 70 }, NO_ATTK, NO_ATTK, 247. NO_ATTK, NO_ATTK, NO_ATTK }, 248. 10, 10, 0, MS_SILENT, MZ_SMALL, 0, 0, 249. M1_FLY | M1_AMPHIBIOUS | M1_NOLIMBS | M1_NOHEAD, 250. M2_HOSTILE | M2_NEUTER, 0, C(BLUE) }, 251. { "freezing sphere", S_EYE, 6, 13, 4, 0, 0, (G_GENO | 2), 252. { { AT_EXPL, AD_COLD, 4, 6 }, NO_ATTK, NO_ATTK, 253. NO_ATTK, NO_ATTK, NO_ATTK }, 254. 10, 10, 0, MS_SILENT, MZ_SMALL, MR_COLD, MR_COLD, 255. M1_FLY | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS, 256. M2_HOSTILE | M2_NEUTER, 0, C(WHITE) }, 257. /* felines */ 258. { "kitten", S_FELINE, 2, 18, 6, 0, 0, (G_GENO | 1), 259. { { AT_BITE, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 260. NO_ATTK, NO_ATTK, NO_ATTK }, 261. 150, 150, 0, MS_MEW, MZ_SMALL, 0, 0, 262. M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, 263. M2_WANDER | M2_DOMESTIC, 0, C(HI_DOMESTIC) }, 264. { "housecat", S_FELINE, 4, 16, 5, 0, 0, (G_GENO | 1), 265. { { AT_BITE, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 266. NO_ATTK, NO_ATTK, NO_ATTK }, 267. 200, 200, 0, MS_MEW, MZ_SMALL, 0, 0, 268. M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, 269. M2_DOMESTIC, 0, C(HI_DOMESTIC) }, 270. { "jaguar", S_FELINE, 4, 15, 6, 0, 0, (G_GENO | 2), 271. { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, 272. { AT_BITE, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, NO_ATTK }, 273. 600, 300, 0, MS_GROWL, MZ_LARGE, 0, 0, 274. M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, 275. M2_HOSTILE, 0, C(BROWN) }, 276. { "large cat", S_FELINE, 6, 15, 4, 0, 0, (G_GENO | 1), 277. { { AT_BITE, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, 278. NO_ATTK, NO_ATTK, NO_ATTK }, 279. 250, 250, 0, MS_MEW, MZ_SMALL, 0, 0, 280. M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, 281. M2_STRONG | M2_DOMESTIC, 0, C(HI_DOMESTIC) }, 282. { "tiger", S_FELINE, 6, 12, 6, 0, 0, (G_GENO | 2), 283. { { AT_CLAW, AD_PHYS, 2, 4 }, { AT_CLAW, AD_PHYS, 2, 4 }, 284. { AT_BITE, AD_PHYS, 1, 10 }, NO_ATTK, NO_ATTK, NO_ATTK }, 285. 600, 300, 0, MS_GROWL, MZ_LARGE, 0, 0, 286. M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, 287. M2_HOSTILE, 0, C(YELLOW) }, 288. /* gremlins */ 289. { "gremlin", S_GREMLIN, 5, 12, 2, 25, -9, (G_GENO | 2), 290. { { AT_CLAW, AD_PHYS, 1, 6 }, { AT_CLAW, AD_PHYS, 1, 6 }, 291. { AT_BITE, AD_PHYS, 1, 4 }, { AT_CLAW, AD_CURS, 0, 0 }, 292. NO_ATTK, NO_ATTK }, 293. 100, 20, 0, MS_LAUGH, MZ_SMALL, MR_POISON, 0, 294. M1_SWIM | M1_HUMANOID | M1_POIS, M2_STALK, 0, C(GREEN) }, 295. /* humanoids */ 296. { "hobbit", S_HUMANOID, 1, 9, MARM(10,7), 0, 6, (G_GENO | 2), 297. { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 298. NO_ATTK, NO_ATTK, NO_ATTK }, 299. 500, 200, 0, MS_HUMANOID, MZ_SMALL, 0, 0, 300. M1_HUMANOID, M2_COLLECT, 0, C(GREEN) }, 301. { "dwarf", S_HUMANOID, 2, 6, MARM(10,4), 10, 4, (G_GENO | 3), 302. { { AT_WEAP, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, 303. NO_ATTK, NO_ATTK, NO_ATTK }, 304. 900, 300, 0, MS_HUMANOID, MZ_HUMAN, 0, 0, 305. M1_TUNNEL | M1_NEEDPICK | M1_HUMANOID, 306. M2_DWARF | M2_STRONG | M2_GREEDY | M2_JEWELS | M2_COLLECT, 307. 0, C(RED) }, 308. { "bugbear", S_HUMANOID, 3, 9, 5, 0, -6, (G_GENO | 1), 309. { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, 310. NO_ATTK, NO_ATTK, NO_ATTK }, 311. 1250, 250, 0, MS_GROWL, MZ_LARGE, 0, 0, 312. M1_HUMANOID, M2_STRONG | M2_COLLECT, 0, C(BROWN) }, 313. { "dwarf lord", S_HUMANOID, 4, 6, MARM(10,4), 10, 5, (G_GENO | 2), 314. { { AT_WEAP, AD_PHYS, 2, 4 }, { AT_WEAP, AD_PHYS, 2, 4 }, 315. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 316. 900, 300, 0, MS_HUMANOID, MZ_HUMAN, 317. 0, 0, M1_TUNNEL | M1_NEEDPICK | M1_HUMANOID, 318. M2_DWARF | M2_STRONG | M2_LORD | M2_MALE | M2_GREEDY | M2_JEWELS | 319. M2_COLLECT, 0, C(BLUE) }, 320. { "dwarf king", S_HUMANOID, 6, 6, MARM(10,4), 20, 6, (G_GENO | 1), 321. { { AT_WEAP, AD_PHYS, 2, 6 }, { AT_WEAP, AD_PHYS, 2, 6 }, 322. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 323. 900, 300, 0, MS_HUMANOID, MZ_HUMAN, 324. 0, 0, M1_TUNNEL | M1_NEEDPICK | M1_HUMANOID, 325. M2_DWARF | M2_STRONG | M2_PRINCE | M2_MALE | M2_GREEDY | M2_JEWELS | 326. M2_COLLECT, 0, C(HI_LORD) }, 327. { "mind flayer", S_HUMANOID, 9, 12, 5, 90, -8, (G_GENO | 1), 328. { { AT_WEAP, AD_PHYS, 1, 4 }, { AT_TENT, AD_DRIN, 2, 1 }, 329. { AT_TENT, AD_DRIN, 2, 1 }, { AT_TENT, AD_DRIN, 2, 1 }, 330. { AT_TENT, AD_DRIN, 2, 1 }, NO_ATTK }, 331. 1450, 400, 0, MS_HISS, MZ_HUMAN, 332. 0, 0, M1_HUMANOID | M1_FLY | M1_SEE_INVIS | M1_OMNIVORE, 333. M2_HOSTILE | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_COLLECT, 334. 0, C(MAGENTA) }, 335. /* imps & other minor demons/devils */ 336. { "manes", S_IMP, 1, 3, 7, 0, -7, (G_GENO | G_LGROUP | G_NOCORPSE | 1), 337. { { AT_CLAW, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 }, 338. { AT_BITE, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, NO_ATTK }, 339. 100, 100, 0, MS_SILENT, MZ_SMALL, 340. MR_SLEEP | MR_POISON, 0, M1_POIS, M2_HOSTILE | M2_STALK, 0, C(RED) }, 341. { "homunculus", S_IMP, 2, 12, 6, 10, -7, (G_GENO | 2), 342. { { AT_BITE, AD_SLEE, 1, 3 }, NO_ATTK, NO_ATTK, 343. NO_ATTK, NO_ATTK, NO_ATTK }, 344. 60, 100, 0, MS_SILENT, MZ_TINY, 345. MR_SLEEP | MR_POISON, MR_SLEEP | MR_POISON, 346. M1_FLY | M1_POIS, M2_STALK, 0, C(GREEN) }, 347. { "imp", S_IMP, 3, 12, 2, 20, -7, (G_GENO | 1), 348. { { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, 349. NO_ATTK, NO_ATTK, NO_ATTK }, 350. 20, 10, 0, MS_CUSS, MZ_TINY, 0, 0, 351. M1_REGEN, M2_WANDER | M2_STALK, 0, C(RED) }, 352. { "lemure", S_IMP, 3, 3, 7, 0, -7, 353. (G_HELL | G_GENO | G_LGROUP | G_NOCORPSE | 1), 354. { { AT_CLAW, AD_PHYS, 1, 3 }, NO_ATTK, NO_ATTK, 355. NO_ATTK, NO_ATTK, NO_ATTK }, 356. 150, 100, 0, MS_SILENT, MZ_MEDIUM, MR_SLEEP | MR_POISON, MR_SLEEP, 357. M1_POIS | M1_REGEN, M2_HOSTILE | M2_WANDER | M2_STALK | M2_NEUTER, 358. 0, C(BROWN) }, 359. { "quasit", S_IMP, 3, 15, 2, 20, -7, (G_GENO | 2), 360. { { AT_CLAW, AD_DRDX, 1, 2 }, { AT_CLAW, AD_DRDX, 1, 2 }, 361. { AT_BITE, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, NO_ATTK }, 362. 200, 200, 0, MS_SILENT, MZ_SMALL, MR_POISON, MR_POISON, 363. M1_REGEN, M2_STALK, 0, C(BLUE) }, 364. { "tengu", S_IMP, 6, 13, 5, 30, 7, (G_GENO | 3), 365. { { AT_BITE, AD_PHYS, 1, 7 }, NO_ATTK, NO_ATTK, 366. NO_ATTK, NO_ATTK, NO_ATTK }, 367. 300, 200, 0, MS_SQAWK, MZ_SMALL, MR_POISON, MR_POISON, 368. M1_TPORT | M1_TPORT_CNTRL, M2_STALK, 0, C(CYAN) }, 369. /* jellies */ 370. { "blue jelly", S_JELLY, 4, 0, 8, 10, 0, (G_GENO | 2), 371. { { AT_NONE, AD_COLD, 0, 6 }, NO_ATTK, NO_ATTK, 372. NO_ATTK, NO_ATTK, NO_ATTK }, 373. 50, 20, 0, MS_SILENT, MZ_MEDIUM, 374. MR_COLD | MR_POISON, MR_COLD | MR_POISON, 375. M1_BREATHLESS | M1_AMORPHOUS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | 376. M1_MINDLESS | M1_OMNIVORE, M2_HOSTILE | M2_NEUTER, 0, C(BLUE) }, 377. { "spotted jelly", S_JELLY, 5, 0, 8, 10, 0, (G_GENO | 1), 378. { { AT_NONE, AD_ACID, 0, 6 }, NO_ATTK, NO_ATTK, 379. NO_ATTK, NO_ATTK, NO_ATTK }, 380. 50, 20, 0, MS_SILENT, MZ_MEDIUM, MR_ACID | MR_STONE, 0, 381. M1_BREATHLESS | M1_AMORPHOUS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | 382. M1_MINDLESS | M1_ACID | M1_OMNIVORE, M2_HOSTILE | M2_NEUTER, 383. 0, C(GREEN) }, 384. { "ochre jelly", S_JELLY, 6, 3, 8, 20, 0, (G_GENO | 2), 385. { { AT_ENGL, AD_ACID, 3, 6 }, { AT_NONE, AD_ACID, 3, 6 }, 386. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 387. 50, 20, 0, MS_SILENT, MZ_MEDIUM, MR_ACID | MR_STONE, 0, 388. M1_BREATHLESS | M1_AMORPHOUS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | 389. M1_MINDLESS | M1_ACID | M1_OMNIVORE, M2_HOSTILE | M2_NEUTER, 390. 0, C(BROWN) }, 391. /* kobolds */ 392. { "kobold", S_KOBOLD, 0, 6, MARM(10,7), 0, -2, (G_GENO | 1), 393. { { AT_WEAP, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, 394. NO_ATTK, NO_ATTK, NO_ATTK }, 395. 400, 100, 0, MS_ORC, MZ_SMALL, MR_POISON, 0, 396. M1_HUMANOID | M1_POIS, M2_HOSTILE | M2_COLLECT, 0, C(BROWN) }, 397. { "large kobold", S_KOBOLD, 1, 6, MARM(10,6), 0, -3, (G_GENO | 1), 398. { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 399. NO_ATTK, NO_ATTK, NO_ATTK }, 400. 450, 150, 0, MS_ORC, MZ_SMALL, MR_POISON, 0, 401. M1_HUMANOID | M1_POIS, M2_HOSTILE | M2_COLLECT, 0, C(RED) }, 402. { "kobold lord", S_KOBOLD, 2, 6, MARM(10,5), 0, -4, (G_GENO | 1), 403. { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, 404. NO_ATTK, NO_ATTK, NO_ATTK }, 405. 500, 200, 0, MS_ORC, MZ_SMALL, MR_POISON, 0, 406. M1_HUMANOID | M1_POIS, 407. M2_HOSTILE | M2_LORD | M2_MALE | M2_COLLECT, 0, C(HI_LORD) }, 408. { "kobold shaman", S_KOBOLD, 1, 6, 6, 10, -4, (G_GENO | 1), 409. { { AT_MAGC, AD_SPEL, 0, 0 }, NO_ATTK, NO_ATTK, 410. NO_ATTK, NO_ATTK, NO_ATTK }, 411. 450, 150, 0, MS_ORC, MZ_SMALL, MR_POISON, 0, 412. M1_HUMANOID | M1_POIS, M2_HOSTILE | M2_MAGIC, 0, C(HI_ZAP) }, 413. /* leprechauns */ 414. { "leprechaun", S_LEPRECHAUN, 5, 15, 8, 20, 0, (G_GENO | 4), 415. { { AT_CLAW, AD_SGLD, 1, 2 }, NO_ATTK, NO_ATTK, 416. NO_ATTK, NO_ATTK, NO_ATTK }, 417. 60, 30, 0, MS_LAUGH, MZ_TINY, 0, 0, 418. M1_HUMANOID | M1_TPORT, M2_HOSTILE | M2_GREEDY, 0, C(GREEN) }, 419. /* mimics */ 420. { "small mimic", S_MIMIC, 7, 3, 7, 0, 0, (G_GENO | 2), 421. { { AT_CLAW, AD_PHYS, 3, 4 }, NO_ATTK, NO_ATTK, 422. NO_ATTK, NO_ATTK, NO_ATTK }, 423. 300, 200, 0, MS_SILENT, MZ_MEDIUM, MR_ACID, 0, 424. M1_BREATHLESS | M1_AMORPHOUS | M1_HIDE | M1_ANIMAL | 425. M1_NOEYES | M1_NOHEAD | M1_NOLIMBS | M1_THICK_HIDE | M1_CARNIVORE, 426. M2_HOSTILE, 0, C(BROWN) }, 427. { "large mimic", S_MIMIC, 8, 3, 7, 10, 0, (G_GENO | 1), 428. { { AT_CLAW, AD_STCK, 3, 4 }, NO_ATTK, NO_ATTK, 429. NO_ATTK, NO_ATTK, NO_ATTK }, 430. 600, 400, 0, MS_SILENT, MZ_LARGE, MR_ACID, 0, 431. M1_CLING | M1_BREATHLESS | M1_AMORPHOUS | M1_HIDE | M1_ANIMAL | 432. M1_NOEYES | M1_NOHEAD | M1_NOLIMBS | M1_THICK_HIDE | M1_CARNIVORE, 433. M2_HOSTILE | M2_STRONG, 0, C(RED) }, 434. { "giant mimic", S_MIMIC, 9, 3, 7, 20, 0, (G_GENO | 1), 435. { { AT_CLAW, AD_STCK, 3, 6 }, { AT_CLAW, AD_STCK, 3, 6 }, 436. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 437. 800, 500, 0, MS_SILENT, MZ_LARGE, MR_ACID, 0, 438. M1_CLING | M1_BREATHLESS | M1_AMORPHOUS | M1_HIDE | M1_ANIMAL | 439. M1_NOEYES | M1_NOHEAD | M1_NOLIMBS | M1_THICK_HIDE | M1_CARNIVORE, 440. M2_HOSTILE | M2_STRONG, 0, C(HI_LORD) }, 441. /* nymphs */ 442. { "wood nymph", S_NYMPH, 3, 12, 9, 20, 0, (G_GENO | 2), 443. { { AT_CLAW, AD_SITM, 0, 0 }, { AT_CLAW, AD_SEDU, 0, 0 }, 444. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 445. 600, 300, 0, MS_SEDUCE, MZ_HUMAN, 446. 0, 0, M1_HUMANOID | M1_TPORT, M2_HOSTILE | M2_FEMALE | M2_COLLECT, 447. 0, C(GREEN) }, 448. { "water nymph", S_NYMPH, 3, 12, 9, 20, 0, (G_GENO | 2), 449. { { AT_CLAW, AD_SITM, 0, 0 }, { AT_CLAW, AD_SEDU, 0, 0 }, 450. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 451. 600, 300, 0, MS_SEDUCE, MZ_HUMAN, 452. 0, 0, M1_HUMANOID | M1_TPORT | M1_SWIM, 453. M2_HOSTILE | M2_FEMALE | M2_COLLECT, 0, C(BLUE) }, 454. { "mountain nymph", S_NYMPH, 3, 12, 9, 20, 0, (G_GENO | 2), 455. { { AT_CLAW, AD_SITM, 0, 0 }, { AT_CLAW, AD_SEDU, 0, 0 }, 456. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 457. 600, 300, 0, MS_SEDUCE, MZ_HUMAN, 458. 0, 0, M1_HUMANOID | M1_TPORT, M2_HOSTILE | M2_FEMALE | M2_COLLECT, 459. 0, C(BROWN) }, 460. /* orcs */ 461. { "goblin", S_ORC, 0, 6, MARM(10,6), 0, -3, (G_GENO | 2), 462. { { AT_WEAP, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, 463. NO_ATTK, NO_ATTK, NO_ATTK }, 464. 400, 100, 0, MS_ORC, MZ_SMALL, 0, 0, 465. M1_HUMANOID, M2_ORC | M2_COLLECT, 0, C(GRAY) }, 466. { "hobgoblin", S_ORC, 1, 9, MARM(10,6), 0, -4, (G_GENO | 2), 467. { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 468. NO_ATTK, NO_ATTK, NO_ATTK }, 469. 1000, 200, 0, MS_ORC, MZ_HUMAN, 0, 0, 470. M1_HUMANOID, M2_ORC | M2_STRONG | M2_COLLECT, 0, C(BROWN) }, 471. /* "orc" for zombie corpses only; they don't get created at random */ 472. { "orc", S_ORC, 1, 9, MARM(10,6), 0, -3, (G_GENO | G_NOGEN | G_LGROUP), 473. { { AT_WEAP, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, 474. NO_ATTK, NO_ATTK, NO_ATTK }, 475. 850, 150, 0, MS_ORC, MZ_HUMAN, 0, 0, M1_HUMANOID, 476. M2_ORC | M2_HOSTILE | M2_STRONG | M2_GREEDY | M2_JEWELS | M2_COLLECT, 477. 0, C(RED) }, 478. { "hill orc", S_ORC, 2, 9, MARM(10,6), 0, -4, (G_GENO | G_LGROUP | 2), 479. { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 480. NO_ATTK, NO_ATTK, NO_ATTK }, 481. 1000, 200, 0, MS_ORC, MZ_HUMAN, 0, 0, M1_HUMANOID, 482. M2_ORC | M2_HOSTILE | M2_STRONG | M2_GREEDY | M2_JEWELS | M2_COLLECT, 483. 0, C(YELLOW) }, 484. { "Mordor orc", S_ORC, 3, 5, MARM(10,6), 0, -5, (G_GENO | G_LGROUP | 1), 485. { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 486. NO_ATTK, NO_ATTK, NO_ATTK }, 487. 1200, 200, 0, MS_ORC, MZ_HUMAN, 0, 0, M1_HUMANOID, 488. M2_ORC | M2_HOSTILE | M2_STRONG | M2_GREEDY | M2_JEWELS | M2_COLLECT, 489. 0, C(BLUE) }, 490. { "Uruk-hai", S_ORC, 3, 7, MARM(10,5), 0, -4, (G_GENO | G_LGROUP | 1), 491. { { AT_WEAP, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, 492. NO_ATTK, NO_ATTK, NO_ATTK }, 493. 1300, 300, 0, MS_ORC, MZ_HUMAN, 0, 0, M1_HUMANOID, 494. M2_ORC | M2_HOSTILE | M2_STRONG | M2_GREEDY | M2_JEWELS | M2_COLLECT, 495. 0, C(BLACK) }, 496. { "orc shaman", S_ORC, 3, 9, 5, 10, -5, (G_GENO | 1), 497. { { AT_MAGC, AD_SPEL, 0, 0 }, NO_ATTK, NO_ATTK, 498. NO_ATTK, NO_ATTK, NO_ATTK }, 499. 1000, 300, 0, MS_ORC, MZ_HUMAN, 0, 0, M1_HUMANOID, 500. M2_ORC | M2_HOSTILE | M2_STRONG | M2_GREEDY | M2_JEWELS | M2_MAGIC, 501. 0, C(HI_ZAP) }, 502. { "orc-captain", S_ORC, 5, 5, MARM(10,4), 0, -5, (G_GENO | 1), 503. { { AT_WEAP, AD_PHYS, 2, 4 }, { AT_WEAP, AD_PHYS, 2, 4 }, 504. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 505. 1350, 350, 0, MS_ORC, MZ_HUMAN, 0, 0, M1_HUMANOID, 506. M2_ORC | M2_HOSTILE | M2_STRONG | M2_GREEDY | M2_JEWELS | M2_COLLECT, 507. 0, C(HI_LORD) }, 508. /* piercers */ 509. { "rock piercer", S_PIERCER, 3, 1, 3, 0, 0, (G_GENO | 4), 510. { { AT_BITE, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK, 511. NO_ATTK, NO_ATTK, NO_ATTK }, 512. 200, 200, 0, MS_SILENT, MZ_SMALL, 0, 0, 513. M1_CLING | M1_HIDE | M1_ANIMAL | M1_NOEYES | M1_NOLIMBS | 514. M1_CARNIVORE, M2_HOSTILE, 0, C(GRAY) }, 515. { "iron piercer", S_PIERCER, 5, 1, 0, 0, 0, (G_GENO | 2), 516. { { AT_BITE, AD_PHYS, 3, 6 }, NO_ATTK, NO_ATTK, 517. NO_ATTK, NO_ATTK, NO_ATTK }, 518. 400, 300, 0, MS_SILENT, MZ_MEDIUM, 0, 0, 519. M1_CLING | M1_HIDE | M1_ANIMAL | M1_NOEYES | M1_NOLIMBS | 520. M1_CARNIVORE, M2_HOSTILE, 0, C(CYAN) }, 521. /* quadrupeds (generic) */ 522. { "rothe", S_QUADRUPED, 2, 9, 7, 0, 0, (G_GENO | G_SGROUP | 4), 523. { { AT_CLAW, AD_PHYS, 1, 3 }, { AT_BITE, AD_PHYS, 1, 3 }, 524. { AT_BITE, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, NO_ATTK }, 525. 400, 100, 0, MS_SILENT, MZ_LARGE, 0, 0, 526. M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_HOSTILE, 0, C(GRAY) }, 527. { "mumak", S_QUADRUPED, 5, 9, 0, 0, -2, (G_GENO | 1), 528. { { AT_BUTT, AD_PHYS, 4, 12 }, { AT_BITE, AD_PHYS, 2, 6 }, 529. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 530. 2500, 500, 0, MS_SILENT, MZ_LARGE, 0, 0, 531. M1_ANIMAL | M1_THICK_HIDE | M1_NOHANDS | M1_CARNIVORE, 532. M2_HOSTILE | M2_STRONG, 0, C(GRAY) }, 533. { "leocrotta", S_QUADRUPED, 6, 18, 4, 10, 0, (G_GENO | 2), 534. { { AT_CLAW, AD_PHYS, 2, 6 }, { AT_BITE, AD_PHYS, 2, 6 }, 535. { AT_CLAW, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK, NO_ATTK }, 536. 1200, 500, 0, MS_IMITATE, MZ_LARGE, 0, 0, 537. M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, 538. M2_HOSTILE | M2_STRONG, 0, C(RED) }, 539. { "wumpus", S_QUADRUPED, 8, 3, 2, 10, 0, (G_GENO | 1), 540. { { AT_BITE, AD_PHYS, 3, 6 }, NO_ATTK, NO_ATTK, 541. NO_ATTK, NO_ATTK, NO_ATTK }, 542. 2500, 500, 0, MS_SILENT, MZ_LARGE, 0, 0, 543. M1_CLING | M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, 544. M2_HOSTILE | M2_STRONG, 0, C(CYAN) }, 545. { "titanothere", S_QUADRUPED, 12, 12, 6, 0, 0, (G_GENO | 2), 546. { { AT_CLAW, AD_PHYS, 2, 8 }, NO_ATTK, NO_ATTK, 547. NO_ATTK, NO_ATTK, NO_ATTK }, 548. 2650, 650, 0, MS_SILENT, MZ_LARGE, 0, 0, 549. M1_ANIMAL | M1_THICK_HIDE | M1_NOHANDS | M1_CARNIVORE, 550. M2_HOSTILE | M2_STRONG, 0, C(GRAY) }, 551. { "baluchitherium", S_QUADRUPED, 14, 12, 5, 0, 0, (G_GENO | 2), 552. { { AT_CLAW, AD_PHYS, 5, 4 }, { AT_CLAW, AD_PHYS, 5, 4 }, 553. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 554. 3800, 800, 0, MS_SILENT, MZ_LARGE, 0, 0, 555. M1_ANIMAL | M1_THICK_HIDE | M1_NOHANDS | M1_HERBIVORE, 556. M2_HOSTILE | M2_STRONG, 0, C(GRAY) }, 557. /* rodents */ 558. { "sewer rat", S_RODENT, 0, 12, 7, 0, 0, (G_GENO | G_SGROUP | 1), 559. { { AT_BITE, AD_PHYS, 1, 3 }, NO_ATTK, NO_ATTK, 560. NO_ATTK, NO_ATTK, NO_ATTK }, 561. 20, 12, 0, MS_SQEEK, MZ_TINY, 0, 0, 562. M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, 563. M2_HOSTILE, 0, C(BROWN) }, 564. { "giant rat", S_RODENT, 1, 10, 7, 0, 0, (G_GENO | G_SGROUP | 2), 565. { { AT_BITE, AD_PHYS, 1, 3 }, NO_ATTK, NO_ATTK, 566. NO_ATTK, NO_ATTK, NO_ATTK }, 567. 30, 30, 0, MS_SQEEK, MZ_TINY, 0, 0, 568. M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, 569. M2_HOSTILE, 0, C(BROWN) }, 570. { "rabid rat", S_RODENT, 2, 12, 6, 0, 0, (G_GENO | 1), 571. { { AT_BITE, AD_DRCO, 2, 4 }, NO_ATTK, NO_ATTK, 572. NO_ATTK, NO_ATTK, NO_ATTK }, 573. 30, 5, 0, MS_SQEEK, MZ_TINY, MR_POISON, 0, 574. M1_ANIMAL | M1_NOHANDS | M1_POIS | M1_CARNIVORE, 575. M2_HOSTILE, 0, C(BROWN) }, 576. { "wererat", S_RODENT, 2, 12, 6, 10, -7, G_NOGEN | G_NOCORPSE, 577. { { AT_BITE, AD_WERE, 1, 4 }, NO_ATTK, NO_ATTK, 578. NO_ATTK, NO_ATTK, NO_ATTK }, 579. 40, 30, 0, MS_SQEEK, MZ_TINY, MR_POISON, 0, 580. M1_NOHANDS | M1_POIS | M1_REGEN | M1_CARNIVORE, 581. M2_NOPOLY | M2_WERE | M2_HOSTILE, 0, C(BROWN) }, 582. { "rock mole", S_RODENT, 3, 3, 0, 20, 0, (G_GENO | 2), 583. { { AT_BITE, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 584. NO_ATTK, NO_ATTK, NO_ATTK }, 585. 30, 30, 0, MS_SILENT, MZ_SMALL, 0, 0, 586. M1_TUNNEL | M1_ANIMAL | M1_NOHANDS | M1_METALLIVORE, 587. M2_HOSTILE | M2_GREEDY | M2_JEWELS | M2_COLLECT, 0, C(GRAY) }, 588. /* spiders and scorpions */ 589. { "cave spider", S_SPIDER, 1, 12, 3, 0, 0, (G_GENO | G_SGROUP | 2), 590. { { AT_BITE, AD_PHYS, 1, 2 }, NO_ATTK, NO_ATTK, 591. NO_ATTK, NO_ATTK, NO_ATTK }, 592. 50, 50, 0, MS_SILENT, MZ_TINY, MR_POISON, MR_POISON, 593. M1_CONCEAL | M1_ANIMAL | M1_NOHANDS | M1_OVIPAROUS | M1_CARNIVORE, 594. M2_HOSTILE, 0, C(GRAY) }, 595. { "giant spider", S_SPIDER, 5, 15, 4, 0, 0, (G_GENO | 1), 596. { { AT_BITE, AD_DRST, 2, 4 }, NO_ATTK, NO_ATTK, 597. NO_ATTK, NO_ATTK, NO_ATTK }, 598. 100, 100, 0, MS_SILENT, MZ_LARGE, MR_POISON, MR_POISON, 599. M1_ANIMAL | M1_NOHANDS | M1_OVIPAROUS | M1_POIS | M1_CARNIVORE, 600. M2_HOSTILE | M2_STRONG, 0, C(MAGENTA) }, 601. { "scorpion", S_SPIDER, 5, 15, 3, 0, 0, (G_GENO | 2), 602. { { AT_CLAW, AD_PHYS, 1, 2 }, { AT_CLAW, AD_PHYS, 1, 2 }, 603. { AT_STNG, AD_DRST, 1, 4 }, NO_ATTK, NO_ATTK, NO_ATTK }, 604. 50, 100, 0, MS_SILENT, MZ_SMALL, MR_POISON, MR_POISON, 605. M1_CONCEAL | M1_ANIMAL | M1_NOHANDS | M1_OVIPAROUS | M1_POIS | 606. M1_CARNIVORE, M2_HOSTILE, 0, C(RED) }, 607. /* trappers, lurkers, &c. */ 608. { "lurker above", S_TRAPPER, 10, 3, 3, 0, 0, (G_GENO | 2), 609. { { AT_ENGL, AD_DGST, 1, 8 }, NO_ATTK, NO_ATTK, 610. NO_ATTK, NO_ATTK, NO_ATTK }, 611. 800, 350, 0, MS_SILENT, MZ_HUGE, 0, 0, 612. M1_HIDE | M1_FLY | M1_ANIMAL | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | 613. M1_CARNIVORE, M2_HOSTILE | M2_STALK | M2_STRONG, 0, C(GRAY) }, 614. { "trapper", S_TRAPPER, 12, 3, 3, 0, 0, (G_GENO | 2), 615. { { AT_ENGL, AD_DGST, 1, 10 }, NO_ATTK, NO_ATTK, 616. NO_ATTK, NO_ATTK, NO_ATTK }, 617. 800, 350, 0, MS_SILENT, MZ_HUGE, 0, 0, 618. M1_HIDE | M1_ANIMAL | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | 619. M1_CARNIVORE, M2_HOSTILE | M2_STALK | M2_STRONG, 0, C(GREEN) }, 620. /* unicorns */ 621. { "white unicorn", S_UNICORN, 4, 24, 2, 70, 7, (G_GENO | 2), 622. { { AT_BUTT, AD_PHYS, 1, 12 }, { AT_KICK, AD_PHYS, 1, 6 }, 623. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 624. 1300, 300, 0, MS_NEIGH, MZ_LARGE, 625. MR_POISON, MR_POISON, M1_NOHANDS | M1_HERBIVORE, 626. M2_WANDER | M2_STRONG | M2_JEWELS, 0, C(WHITE) }, 627. { "gray unicorn", S_UNICORN, 4, 24, 2, 70, 0, (G_GENO | 1), 628. { { AT_BUTT, AD_PHYS, 1, 12 }, { AT_KICK, AD_PHYS, 1, 6 }, 629. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 630. 1300, 300, 0, MS_NEIGH, MZ_LARGE, 631. MR_POISON, MR_POISON, M1_NOHANDS | M1_HERBIVORE, 632. M2_WANDER | M2_STRONG | M2_JEWELS, 0, C(GRAY) }, 633. { "black unicorn", S_UNICORN, 4, 24, 2, 70, -7, (G_GENO | 1), 634. { { AT_BUTT, AD_PHYS, 1, 12 }, { AT_KICK, AD_PHYS, 1, 6 }, 635. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 636. 1300, 300, 0, MS_NEIGH, MZ_LARGE, 637. MR_POISON, MR_POISON, M1_NOHANDS | M1_HERBIVORE, 638. M2_WANDER | M2_STRONG | M2_JEWELS, 0, C(BLACK) }, 639. /* vortices */ 640. { "fog cloud", S_VORTEX, 3, 1, 0, 0, 0, (G_GENO | G_NOCORPSE | 2), 641. { { AT_ENGL, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 642. NO_ATTK, NO_ATTK, NO_ATTK }, 643. 0, 0, 0, MS_SILENT, MZ_HUGE, 644. MR_SLEEP | MR_POISON | MR_STONE, 0, 645. M1_FLY | M1_BREATHLESS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | 646. M1_MINDLESS | M1_AMORPHOUS | M1_UNSOLID, 647. M2_HOSTILE | M2_NEUTER, 0, C(GRAY) }, 648. { "dust vortex", S_VORTEX, 4, 20, 2, 30, 0, (G_GENO | G_NOCORPSE | 2), 649. { { AT_ENGL, AD_BLND, 2, 8 }, NO_ATTK, NO_ATTK, 650. NO_ATTK, NO_ATTK, NO_ATTK }, 651. 0, 0, 0, MS_SILENT, MZ_HUGE, 652. MR_SLEEP | MR_POISON | MR_STONE, 0, 653. M1_FLY | M1_BREATHLESS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | 654. M1_MINDLESS, 655. M2_HOSTILE | M2_NEUTER, 0, C(BROWN) }, 656. { "ice vortex", S_VORTEX, 5, 20, 2, 30, 0, (G_GENO | G_NOCORPSE | 1), 657. { { AT_ENGL, AD_COLD, 1, 6 }, NO_ATTK, NO_ATTK, 658. NO_ATTK, NO_ATTK, NO_ATTK }, 659. 0, 0, 0, MS_SILENT, MZ_HUGE, 660. MR_COLD | MR_SLEEP | MR_POISON | MR_STONE, 0, 661. M1_FLY | M1_BREATHLESS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | 662. M1_MINDLESS, 663. M2_HOSTILE | M2_NEUTER, 0, C(CYAN) }, 664. { "energy vortex", S_VORTEX, 6, 20, 2, 30, 0, (G_GENO | G_NOCORPSE | 1), 665. { { AT_ENGL, AD_ELEC, 1, 6 }, { AT_ENGL, AD_DREN, 0, 0 }, 666. { AT_NONE, AD_ELEC, 0, 4 }, NO_ATTK, NO_ATTK, NO_ATTK }, 667. 0, 0, 0, MS_SILENT, MZ_HUGE, 668. MR_ELEC | MR_SLEEP | MR_DISINT | MR_POISON | MR_STONE, 0, 669. M1_FLY | M1_BREATHLESS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | 670. M1_MINDLESS | M1_UNSOLID, M2_HOSTILE | M2_NEUTER, 0, C(HI_ZAP) }, 671. { "steam vortex", S_VORTEX, 7, 22, 2, 30, 0, 672. (G_HELL | G_GENO | G_NOCORPSE | 2), 673. { { AT_ENGL, AD_FIRE, 1, 8 }, NO_ATTK, NO_ATTK, 674. NO_ATTK, NO_ATTK, NO_ATTK }, 675. 0, 0, 0, MS_SILENT, MZ_HUGE, 676. MR_FIRE | MR_SLEEP | MR_POISON | MR_STONE, 0, 677. M1_FLY | M1_BREATHLESS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | 678. M1_MINDLESS | M1_UNSOLID, M2_HOSTILE | M2_NEUTER, 0, C(BLUE) }, 679. { "fire vortex", S_VORTEX, 8, 22, 2, 30, 0, 680. (G_HELL | G_GENO | G_NOCORPSE | 1), 681. { { AT_ENGL, AD_FIRE, 1, 10 }, { AT_NONE, AD_FIRE, 0, 4 }, 682. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 683. 0, 0, 0, MS_SILENT, MZ_HUGE, 684. MR_FIRE | MR_SLEEP | MR_POISON | MR_STONE, 0, 685. M1_FLY | M1_BREATHLESS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | 686. M1_MINDLESS | M1_UNSOLID, M2_HOSTILE | M2_NEUTER, 0, C(YELLOW) }, 687. /* worms */ 688. { "baby long worm", S_WORM, 8, 3, 5, 0, 0, G_GENO, 689. { { AT_BITE, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 690. NO_ATTK, NO_ATTK, NO_ATTK }, 691. 600, 250, 0, MS_SILENT, MZ_LARGE, 0, 0, 692. M1_ANIMAL | M1_SLITHY | M1_NOLIMBS | M1_CARNIVORE, 693. M2_HOSTILE, 0, C(BROWN) }, 694. { "baby purple worm", S_WORM, 8, 3, 5, 0, 0, G_GENO, 695. { { AT_BITE, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 696. NO_ATTK, NO_ATTK, NO_ATTK }, 697. 600, 250, 0, MS_SILENT, MZ_LARGE, 0, 0, 698. M1_ANIMAL | M1_SLITHY | M1_NOLIMBS | M1_CARNIVORE, 699. M2_HOSTILE, 0, C(MAGENTA) }, 700. { "long worm", S_WORM, 8, 3, 5, 10, 0, (G_GENO | 2), 701. { { AT_BITE, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, 702. NO_ATTK, NO_ATTK, NO_ATTK }, 703. 1500, 500, 0, MS_SILENT, MZ_GIGANTIC, 0, 0, 704. M1_ANIMAL | M1_SLITHY | M1_NOLIMBS | M1_OVIPAROUS | M1_CARNIVORE, 705. M2_HOSTILE | M2_STRONG | M2_NASTY, 706. 0, C(BROWN) }, 707. { "purple worm", S_WORM, 15, 9, 6, 20, 0, (G_GENO | 2), 708. { { AT_BITE, AD_PHYS, 2, 8 }, { AT_ENGL, AD_DGST, 1, 10 }, 709. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 710. 2700, 700, 0, MS_SILENT, MZ_GIGANTIC, 0, 0, 711. M1_ANIMAL | M1_SLITHY | M1_NOLIMBS | M1_OVIPAROUS | M1_CARNIVORE, 712. M2_HOSTILE | M2_STRONG | M2_NASTY, 713. 0, C(MAGENTA) }, 714. /* Dummy monster needed for visual interface. */ 715. { "long worm tail", S_WORM_TAIL, 0, 0, 0, 0, 0, G_NOGEN | G_NOCORPSE, 716. { NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 717. 0, 0, 0, 0, 0, 0, 0, 0, M2_NOPOLY, 0, C(BROWN) }, 718. /* xan, &c. */ 719. { "grid bug", S_XAN, 0, 12, 9, 0, 0, 720. (G_GENO | G_SGROUP | G_NOCORPSE | 3), 721. { { AT_BITE, AD_ELEC, 1, 1 }, NO_ATTK, NO_ATTK, 722. NO_ATTK, NO_ATTK, NO_ATTK }, 723. 15, 10, 0, MS_BUZZ, MZ_TINY, MR_ELEC | MR_POISON, 0, 724. M1_ANIMAL, M2_HOSTILE, 0, C(MAGENTA) }, 725. { "xan", S_XAN, 7, 18, -4, 0, 0, (G_GENO | 3), 726. { { AT_STNG, AD_LEGS, 1, 4 }, NO_ATTK, NO_ATTK, 727. NO_ATTK, NO_ATTK, NO_ATTK }, 728. 300, 300, 0, MS_BUZZ, MZ_TINY, MR_POISON, MR_POISON, 729. M1_FLY | M1_ANIMAL | M1_NOHANDS | M1_POIS, M2_HOSTILE, 0, C(RED) }, 730. /* lights */ 731. { "yellow light", S_LIGHT, 3, 15, 0, 0, 0, (G_NOCORPSE| G_GENO | 4), 732. { { AT_EXPL, AD_BLND, 10, 20 }, NO_ATTK, NO_ATTK, 733. NO_ATTK, NO_ATTK, NO_ATTK }, 734. 0, 0, 0, MS_SILENT, MZ_SMALL, 735. MR_FIRE | MR_COLD | MR_ELEC | MR_DISINT | MR_SLEEP | MR_POISON | 736. MR_ACID | MR_STONE, 0, 737. M1_FLY | M1_BREATHLESS | M1_AMORPHOUS | M1_NOEYES | M1_NOLIMBS | 738. M1_NOHEAD | M1_MINDLESS | M1_UNSOLID, M2_HOSTILE | M2_NEUTER, 739. 0, C(YELLOW) }, 740. /* zruty */ 741. { "zruty", S_ZRUTY, 9, 8, 3, 0, 0, (G_GENO | 2), 742. { { AT_CLAW, AD_PHYS, 3, 4 }, { AT_CLAW, AD_PHYS, 3, 4 }, 743. { AT_BITE, AD_PHYS, 3, 6 }, NO_ATTK, NO_ATTK, NO_ATTK }, 744. 1200, 600, 0, MS_SILENT, MZ_LARGE, 0, 0, 745. M1_ANIMAL | M1_HUMANOID | M1_CARNIVORE, 746. M2_HOSTILE | M2_STRONG, 0, C(BROWN) }, 747. /* Angels and other lawful minions */ 748. { "couatl", S_ANGEL, 8, 10, 5, 30, 7, 749. (G_NOHELL | G_SGROUP | G_NOCORPSE | 1), 750. { { AT_BITE, AD_DRST, 2, 4 }, { AT_BITE, AD_PHYS, 1, 3 }, 751. { AT_HUGS, AD_WRAP, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK }, 752. 900, 400, 0, MS_SILENT, MZ_LARGE, MR_POISON, 0, M1_FLY | M1_POIS, 753. M2_MINION | M2_STALK | M2_STRONG | M2_NASTY, 0, C(GREEN) }, 754. { "Aleax", S_ANGEL, 10, 8, 0, 30, 7, (G_NOHELL | G_NOCORPSE | 1), 755. { { AT_WEAP, AD_PHYS, 1, 6 }, { AT_WEAP, AD_PHYS, 1, 6 }, 756. { AT_KICK, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, NO_ATTK }, 757. WT_HUMAN, 400, 0, 758. MS_SILENT, MZ_HUMAN, MR_COLD | MR_ELEC | MR_SLEEP | MR_POISON, 0, 759. M1_HUMANOID | M1_SEE_INVIS, 760. M2_MINION | M2_STALK | M2_NASTY | M2_COLLECT, 0, C(YELLOW) }, 761. { "Angel", S_ANGEL, 14, 10, -4, 55, 12, (G_NOHELL | G_NOCORPSE | 1), 762. { { AT_WEAP, AD_PHYS, 1, 6 }, { AT_CLAW, AD_PHYS, 1, 4 }, 763. { AT_WEAP, AD_PHYS, 1, 6 }, { AT_MAGC, AD_MAGM, 2, 6 }, 764. NO_ATTK, NO_ATTK }, 765. WT_HUMAN, 400, sizeof(struct epri), MS_CUSS, MZ_HUMAN, 766. MR_COLD | MR_ELEC | MR_SLEEP | MR_POISON, 0, 767. M1_HUMANOID | M1_SEE_INVIS, 768. M2_NOPOLY | M2_MINION | M2_STALK | M2_STRONG | M2_NASTY | M2_COLLECT, 769. 0, C(WHITE) }, 770. { "ki-rin", S_ANGEL, 16, 18, -5, 90, 15, (G_NOHELL | G_NOCORPSE | 1), 771. { { AT_KICK, AD_PHYS, 2, 4 }, { AT_KICK, AD_BLND, 2, 4 }, 772. { AT_BUTT, AD_PHYS, 3, 6 }, NO_ATTK, NO_ATTK, NO_ATTK }, 773. WT_HUMAN, 400, 0, MS_NEIGH, MZ_LARGE, 0, 0, 774. M1_FLY | M1_HUMANOID | M1_SEE_INVIS, 775. M2_NOPOLY | M2_MINION | M2_STALK | M2_STRONG | M2_NASTY | M2_LORD, 776. 0, C(HI_GOLD) }, 777. { "Archon", S_ANGEL, 19, 16, -6, 80, 15, (G_NOHELL | G_NOCORPSE |1), 778. { { AT_WEAP, AD_PHYS, 2, 4 }, { AT_GAZE, AD_BLND, 2, 6 }, 779. { AT_WEAP, AD_PHYS, 2, 4 }, { AT_CLAW, AD_PHYS, 1, 8 }, 780. { AT_MAGC, AD_SPEL, 4, 6 }, NO_ATTK }, 781. WT_HUMAN, 400, 0, MS_CUSS, MZ_LARGE, 782. MR_FIRE | MR_COLD | MR_ELEC | MR_SLEEP | MR_POISON, 0, 783. M1_FLY | M1_HUMANOID | M1_SEE_INVIS | M1_REGEN, 784. M2_NOPOLY | M2_MINION | M2_STALK | M2_STRONG | M2_NASTY | M2_LORD | 785. M2_COLLECT | M2_MAGIC, 786. 0, C(HI_LORD) }, 787. /* Bats */ 788. { "bat", S_BAT, 0, 22, 8, 0, 0, (G_GENO | G_SGROUP | 1), 789. { { AT_BITE, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, 790. NO_ATTK, NO_ATTK, NO_ATTK }, 791. 20, 20, 0, MS_SQEEK, MZ_TINY, 0, 0, 792. M1_FLY | M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, 793. M2_WANDER, 0, C(BROWN) }, 794. { "giant bat", S_BAT, 2, 22, 7, 0, 0, (G_GENO | 2), 795. { { AT_BITE, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 796. NO_ATTK, NO_ATTK, NO_ATTK }, 797. 30, 30, 0, MS_SQEEK, MZ_MEDIUM, 0, 0, 798. M1_FLY | M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, 799. M2_WANDER | M2_HOSTILE, 0, C(RED) }, 800. { "vampire bat", S_BAT, 5, 20, 6, 0, 0, (G_GENO | 2), 801. { { AT_BITE, AD_PHYS, 1, 6 }, { AT_BITE, AD_DRST, 0, 0 }, 802. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 803. 30, 20, 0, MS_SQEEK, MZ_TINY, MR_SLEEP | MR_POISON, 0, 804. M1_FLY | M1_BREATHLESS | M1_ANIMAL | M1_NOHANDS | M1_POIS | M1_REGEN, 805. M2_UNDEAD | M2_HOSTILE, 0, C(BLACK) }, 806. /* Centaurs */ 807. { "plains centaur", S_CENTAUR, 4, 18, 4, 0, 0, (G_GENO | 1), 808. { { AT_WEAP, AD_PHYS, 1, 6 }, { AT_KICK, AD_PHYS, 1, 6 }, 809. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 810. 2500, 500, 0, MS_SILENT, MZ_LARGE, 0, 0, 811. M1_HUMANOID, M2_STRONG | M2_GREEDY | M2_COLLECT, 0, C(BROWN) }, 812. { "forest centaur", S_CENTAUR, 5, 18, 3, 10, -1, (G_GENO | 1), 813. { { AT_WEAP, AD_PHYS, 1, 8 }, { AT_KICK, AD_PHYS, 1, 6 }, 814. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 815. 2550, 600, 0, MS_SILENT, MZ_LARGE, 0, 0, 816. M1_HUMANOID, M2_STRONG | M2_GREEDY | M2_COLLECT, 0, C(GREEN) }, 817. { "mountain centaur", S_CENTAUR, 6, 20, 2, 10, -3, (G_GENO | 1), 818. { { AT_WEAP, AD_PHYS, 1, 10 }, { AT_KICK, AD_PHYS, 1, 6 }, 819. { AT_KICK, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK }, 820. 2550, 500, 0, MS_SILENT, MZ_LARGE, 0, 0, 821. M1_HUMANOID, M2_STRONG | M2_GREEDY | M2_COLLECT, 0, C(CYAN) }, 822. /* Dragons. The order of the dragons is VERY IMPORTANT. Quite a few 823. pieces of code depend on gray being first and yellow being last. 824. The code also depends on the *order* being the same as that for 825. dragon scale mail and dragon scales in objects.c */ 826. { "baby gray dragon", S_DRAGON, 12, 9, 2, 10, 0, G_GENO, 827. { { AT_BITE, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK, 828. NO_ATTK, NO_ATTK, NO_ATTK }, 829. 1500, 500, 0, MS_ROAR, MZ_HUGE, 0, 0, 830. M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_CARNIVORE, 831. M2_HOSTILE | M2_STRONG | M2_GREEDY | M2_JEWELS, 0, C(GRAY) }, 832. { "baby red dragon", S_DRAGON, 12, 9, 2, 10, 0, G_GENO, 833. { { AT_BITE, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK, 834. NO_ATTK, NO_ATTK, NO_ATTK }, 835. 1500, 500, 0, MS_ROAR, MZ_HUGE, MR_FIRE, MR_FIRE, 836. M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_CARNIVORE, 837. M2_HOSTILE | M2_STRONG | M2_GREEDY | M2_JEWELS, 0, C(RED) }, 838. { "baby white dragon", S_DRAGON, 12, 9, 2, 10, 0, G_GENO, 839. { { AT_BITE, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK, 840. NO_ATTK, NO_ATTK, NO_ATTK }, 841. 1500, 500, 0, MS_ROAR, MZ_HUGE, MR_COLD, MR_COLD, 842. M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_CARNIVORE, 843. M2_HOSTILE | M2_STRONG | M2_GREEDY | M2_JEWELS, 0, C(WHITE) }, 844. { "baby orange dragon", S_DRAGON, 12, 9, 2, 10, 0, G_GENO, 845. { { AT_BITE, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK, 846. NO_ATTK, NO_ATTK, NO_ATTK }, 847. 1500, 500, 0, MS_ROAR, MZ_HUGE, MR_SLEEP, MR_SLEEP, 848. M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_CARNIVORE, 849. M2_HOSTILE | M2_STRONG | M2_GREEDY | M2_JEWELS, 0, C(ORANGE_COLORED) }, 850. { "baby black dragon", S_DRAGON, 12, 9, 2, 10, 0, G_GENO, 851. { { AT_BITE, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK, 852. NO_ATTK, NO_ATTK, NO_ATTK }, 853. 1500, 500, 0, MS_ROAR, MZ_HUGE, MR_DISINT, MR_DISINT, 854. M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_CARNIVORE, 855. M2_HOSTILE | M2_STRONG | M2_GREEDY | M2_JEWELS, 0, C(BLACK) }, 856. { "baby blue dragon", S_DRAGON, 12, 9, 2, 10, 0, G_GENO, 857. { { AT_BITE, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK, 858. NO_ATTK, NO_ATTK, NO_ATTK }, 859. 1500, 500, 0, MS_ROAR, MZ_HUGE, MR_ELEC, MR_ELEC, 860. M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_CARNIVORE, 861. M2_HOSTILE | M2_STRONG | M2_GREEDY | M2_JEWELS, 0, C(BLUE) }, 862. { "baby green dragon", S_DRAGON, 12, 9, 2, 10, 0, G_GENO, 863. { { AT_BITE, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK, 864. NO_ATTK, NO_ATTK, NO_ATTK }, 865. 1500, 500, 0, MS_ROAR, MZ_HUGE, MR_POISON, MR_POISON, 866. M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_CARNIVORE | M1_POIS, 867. M2_HOSTILE | M2_STRONG | M2_GREEDY | M2_JEWELS, 0, C(GREEN) }, 868. { "baby yellow dragon", S_DRAGON, 12, 9, 2, 10, 0, G_GENO, 869. { { AT_BITE, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK, 870. NO_ATTK, NO_ATTK, NO_ATTK }, 871. 1500, 500, 0, MS_ROAR, MZ_HUGE, MR_ACID | MR_STONE, MR_STONE, 872. M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_CARNIVORE | M1_ACID, 873. M2_HOSTILE | M2_STRONG | M2_GREEDY | M2_JEWELS, 0, C(YELLOW) }, 874. { "gray dragon", S_DRAGON, 15, 9, -1, 20, 4, (G_GENO | 1), 875. { { AT_BREA, AD_MAGM, 4, 6 }, { AT_BITE, AD_PHYS, 3, 8 }, 876. { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, 877. NO_ATTK, NO_ATTK }, 878. WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC, 0, 0, 879. M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS | 880. M1_CARNIVORE, 881. M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC, 882. 0, C(GRAY) }, 883. { "red dragon", S_DRAGON, 15, 9, -1, 20, -4, (G_GENO | 1), 884. { { AT_BREA, AD_FIRE, 6, 6 }, { AT_BITE, AD_PHYS, 3, 8 }, 885. { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, 886. NO_ATTK, NO_ATTK }, 887. WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC, MR_FIRE, MR_FIRE, 888. M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS | 889. M1_CARNIVORE, 890. M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC, 891. 0, C(RED) }, 892. { "white dragon", S_DRAGON, 15, 9, -1, 20, -5, (G_GENO | 1), 893. { { AT_BREA, AD_COLD, 4, 6 }, { AT_BITE, AD_PHYS, 3, 8 }, 894. { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, 895. NO_ATTK, NO_ATTK }, 896. WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC, MR_COLD, MR_COLD, 897. M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS | 898. M1_CARNIVORE, 899. M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC, 900. 0, C(WHITE) }, 901. { "orange dragon", S_DRAGON, 15, 9, -1, 20, 5, (G_GENO | 1), 902. { { AT_BREA, AD_SLEE, 4, 25 }, { AT_BITE, AD_PHYS, 3, 8 }, 903. { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, 904. NO_ATTK, NO_ATTK }, 905. WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC, MR_SLEEP, MR_SLEEP, 906. M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS | 907. M1_CARNIVORE, 908. M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC, 909. 0, C(ORANGE_COLORED) }, 910. { "black dragon", S_DRAGON, 15, 9, -1, 20, -6, (G_GENO | 1), 911. { { AT_BREA, AD_DISN, 4, 10 }, { AT_BITE, AD_PHYS, 3, 8 }, 912. { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, 913. NO_ATTK, NO_ATTK }, 914. WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC, MR_DISINT, MR_DISINT, 915. M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS | 916. M1_CARNIVORE, 917. M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC, 918. 0, C(BLACK) }, 919. { "blue dragon", S_DRAGON, 15, 9, -1, 20, -7, (G_GENO | 1), 920. { { AT_BREA, AD_ELEC, 4, 6 }, { AT_BITE, AD_PHYS, 3, 8 }, 921. { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, 922. NO_ATTK, NO_ATTK }, 923. WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC, MR_ELEC, MR_ELEC, 924. M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS | 925. M1_CARNIVORE, 926. M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC, 927. 0, C(BLUE) }, 928. { "green dragon", S_DRAGON, 15, 9, -1, 20, 6, (G_GENO | 1), 929. { { AT_BREA, AD_DRST, 4, 6 }, { AT_BITE, AD_PHYS, 3, 8 }, 930. { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, 931. NO_ATTK, NO_ATTK }, 932. WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC, MR_POISON, MR_POISON, 933. M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS | 934. M1_CARNIVORE | M1_POIS, 935. M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC, 936. 0, C(GREEN) }, 937. { "yellow dragon", S_DRAGON, 15, 9, -1, 20, 7, (G_GENO | 1), 938. { { AT_BREA, AD_ACID, 4, 6 }, { AT_BITE, AD_PHYS, 3, 8 }, 939. { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, 940. NO_ATTK, NO_ATTK }, 941. WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC, 942. MR_ACID | MR_STONE, MR_STONE, 943. M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_SEE_INVIS | M1_OVIPAROUS | 944. M1_CARNIVORE | M1_ACID, 945. M2_HOSTILE | M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC, 946. 0, C(YELLOW) }, 947. /* Elementals */ 948. { "air elemental", S_ELEMENTAL, 8, 36, 2, 30, 0, (G_NOCORPSE | 1), 949. { { AT_ENGL, AD_PHYS, 2, 10 }, NO_ATTK, NO_ATTK, 950. NO_ATTK, NO_ATTK, NO_ATTK }, 951. 0, 0, 0, MS_SILENT, MZ_HUGE, MR_POISON | MR_STONE, 0, 952. M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS | M1_UNSOLID | 953. M1_FLY, 954. M2_STRONG | M2_NEUTER, 0, C(CYAN) }, 955. { "fire elemental", S_ELEMENTAL, 8, 12, 2, 30, 0, (G_NOCORPSE | 1), 956. { { AT_CLAW, AD_FIRE, 3, 6 }, { AT_NONE, AD_FIRE, 0, 4 }, 957. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 958. 0, 0, 0, MS_SILENT, MZ_HUGE, MR_FIRE | MR_POISON | MR_STONE, 0, 959. M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS | M1_UNSOLID | 960. M1_FLY, 961. M2_STRONG | M2_NEUTER, 0, C(YELLOW) }, 962. { "earth elemental", S_ELEMENTAL, 8, 6, 2, 30, 0, (G_NOCORPSE | 1), 963. { { AT_CLAW, AD_PHYS, 4, 6 }, NO_ATTK, NO_ATTK, 964. NO_ATTK, NO_ATTK, NO_ATTK }, 965. 2500, 0, 0, MS_SILENT, MZ_HUGE, 966. MR_FIRE | MR_COLD | MR_POISON | MR_STONE, 0, 967. M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS | M1_BREATHLESS | 968. M1_WALLWALK | M1_THICK_HIDE, M2_STRONG | M2_NEUTER, 0, C(BROWN) }, 969. { "water elemental", S_ELEMENTAL, 8, 6, 2, 30, 0, (G_NOCORPSE | 1), 970. { { AT_CLAW, AD_PHYS, 5, 6 }, NO_ATTK, NO_ATTK, 971. NO_ATTK, NO_ATTK, NO_ATTK }, 972. 2500, 0, 0, MS_SILENT, MZ_HUGE, MR_POISON | MR_STONE, 0, 973. M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS | M1_AMPHIBIOUS | 974. M1_SWIM, 975. M2_STRONG | M2_NEUTER, 0, C(BLUE) }, 976. /* Fungi */ 977. { "brown mold", S_FUNGUS, 1, 0, 9, 0, 0, (G_GENO | 1), 978. { { AT_NONE, AD_COLD, 0, 6 }, NO_ATTK, NO_ATTK, 979. NO_ATTK, NO_ATTK, NO_ATTK }, 980. 50, 30, 0, MS_SILENT, MZ_SMALL, 981. MR_COLD | MR_POISON, MR_COLD | MR_POISON, 982. M1_BREATHLESS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS | 983. M1_OMNIVORE, 984. M2_HOSTILE | M2_NEUTER, 0, C(BROWN) }, 985. { "yellow mold", S_FUNGUS, 1, 0, 9, 0, 0, (G_GENO | 2), 986. { { AT_NONE, AD_STUN, 0, 4 }, NO_ATTK, NO_ATTK, 987. NO_ATTK, NO_ATTK, NO_ATTK }, 988. 50, 30, 0, MS_SILENT, MZ_SMALL, MR_POISON, MR_POISON, 989. M1_BREATHLESS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS | 990. M1_OMNIVORE | M1_POIS, 991. M2_HOSTILE | M2_NEUTER, 0, C(YELLOW) }, 992. { "green mold", S_FUNGUS, 1, 0, 9, 0, 0, (G_GENO | 1), 993. { { AT_NONE, AD_ACID, 0, 4 }, NO_ATTK, NO_ATTK, 994. NO_ATTK, NO_ATTK, NO_ATTK }, 995. 50, 30, 0, MS_SILENT, MZ_SMALL, MR_ACID | MR_STONE, MR_STONE, 996. M1_BREATHLESS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS | 997. M1_OMNIVORE | M1_ACID, 998. M2_HOSTILE | M2_NEUTER, 0, C(GREEN) }, 999. { "red mold", S_FUNGUS, 1, 0, 9, 0, 0, (G_GENO | 1), 1000. { { AT_NONE, AD_FIRE, 0, 4 }, NO_ATTK, NO_ATTK, 1001. NO_ATTK, NO_ATTK, NO_ATTK }, 1002. 50, 30, 0, MS_SILENT, MZ_SMALL, 1003. MR_FIRE | MR_POISON, MR_FIRE | MR_POISON, 1004. M1_BREATHLESS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS | 1005. M1_OMNIVORE, 1006. M2_HOSTILE | M2_NEUTER, 0, C(RED) }, 1007. { "shrieker", S_FUNGUS, 3, 1, 7, 0, 0, (G_GENO | 1), 1008. { NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1009. 100, 100, 0, MS_SHRIEK, MZ_SMALL, MR_POISON, MR_POISON, 1010. M1_BREATHLESS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS, 1011. M2_HOSTILE | M2_NEUTER, 0, C(MAGENTA) }, 1012. { "violet fungus", S_FUNGUS, 3, 1, 7, 0, 0, (G_GENO | 2), 1013. { { AT_TUCH, AD_PHYS, 1, 4 }, { AT_TUCH, AD_STCK, 0, 0 }, 1014. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1015. 100, 100, 0, MS_SILENT, MZ_SMALL, MR_POISON, MR_POISON, 1016. M1_BREATHLESS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | M1_MINDLESS | 1017. M1_OMNIVORE, 1018. M2_HOSTILE | M2_NEUTER, 0, C(MAGENTA) }, 1019. /* Gnomes */ 1020. { "gnome", S_GNOME, 1, 6, MARM(10,5), 4, 0, (G_GENO | G_SGROUP | 1), 1021. { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 1022. NO_ATTK, NO_ATTK, NO_ATTK }, 1023. 650, 100, 0, MS_ORC, MZ_SMALL, 0, 0, 1024. M1_HUMANOID, M2_COLLECT, 0, C(BROWN) }, 1025. { "gnome lord", S_GNOME, 3, 8, MARM(10,4), 4, 0, (G_GENO | 2), 1026. { { AT_WEAP, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, 1027. NO_ATTK, NO_ATTK, NO_ATTK }, 1028. 700, 120, 0, MS_ORC, MZ_SMALL, 0, 0, 1029. M1_HUMANOID, M2_LORD | M2_MALE | M2_COLLECT, 0, C(BLUE) }, 1030. { "gnomish wizard", S_GNOME, 3, 10, 4, 10, 0, (G_GENO | 1), 1031. { { AT_MAGC, AD_SPEL, 0, 0 }, NO_ATTK, NO_ATTK, 1032. NO_ATTK, NO_ATTK, NO_ATTK }, 1033. 700, 120, 0, MS_ORC, MZ_SMALL, 0, 0, 1034. M1_HUMANOID, M2_MAGIC, 0, C(HI_ZAP) }, 1035. { "gnome king", S_GNOME, 5, 10, MARM(10,2), 20, 0, (G_GENO | 1), 1036. { { AT_WEAP, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK, 1037. NO_ATTK, NO_ATTK, NO_ATTK }, 1038. 750, 150, 0, MS_ORC, MZ_SMALL, 0, 0, 1039. M1_HUMANOID, M2_PRINCE | M2_MALE | M2_COLLECT, 0, C(HI_LORD) }, 1040. #ifdef SPLITMON_1 1041. }; 1042. #endif 1043. #endif /* !SPLITMON_2 */ 1044. 1045. /* horrible kludge alert: 1046. * This is a compiler-specific kludge to allow the compilation of monst.o in 1047. * two pieces, by defining first SPLITMON_1 and then SPLITMON_2. The 1048. * resulting assembler files (monst1.s and monst2.s) are then run through 1049. * sed to change local symbols, concatenated together, and assembled to 1050. * produce monst.o. THIS ONLY WORKS WITH THE ATARI GCC, and should only 1051. * be done if you don't have enough memory to compile monst.o the "normal" 1052. * way. --ERS 1053. */ 1054. 1055. #ifndef SPLITMON_1 1056. #ifdef SPLITMON_2 1057. struct permonst _mons2[] = { 1058. #endif 1059. /* giant Humanoids */ 1060. { "giant", S_GIANT, 6, 6, 0, 0, 2, (G_GENO | G_NOGEN | 1), 1061. { { AT_WEAP, AD_PHYS, 2, 10 }, NO_ATTK, NO_ATTK, 1062. NO_ATTK, NO_ATTK, NO_ATTK }, 1063. 2250, 750, 0, MS_SILENT, MZ_HUGE, 0, 0, 1064. M1_HUMANOID, 1065. M2_GIANT | M2_STRONG | M2_ROCKTHROW | M2_NASTY | M2_COLLECT | 1066. M2_JEWELS, 0, C(RED) }, 1067. { "stone giant", S_GIANT, 6, 6, 0, 0, 2, (G_GENO | G_SGROUP | 1), 1068. { { AT_WEAP, AD_PHYS, 2, 10 }, NO_ATTK, NO_ATTK, 1069. NO_ATTK, NO_ATTK, NO_ATTK }, 1070. 2250, 750, 0, MS_SILENT, MZ_HUGE, 0, 0, 1071. M1_HUMANOID, 1072. M2_GIANT | M2_STRONG | M2_ROCKTHROW | M2_NASTY | M2_COLLECT | 1073. M2_JEWELS, 0, C(GRAY) }, 1074. { "hill giant", S_GIANT, 8, 10, 6, 0, -2, (G_GENO | G_SGROUP | 1), 1075. { { AT_WEAP, AD_PHYS, 2, 8 }, NO_ATTK, NO_ATTK, 1076. NO_ATTK, NO_ATTK, NO_ATTK }, 1077. 2200, 700, 0, MS_SILENT, MZ_HUGE, 0, 0, 1078. M1_HUMANOID, 1079. M2_GIANT | M2_STRONG | M2_ROCKTHROW | M2_NASTY | M2_COLLECT | 1080. M2_JEWELS, 0, C(CYAN) }, 1081. { "fire giant", S_GIANT, 9, 12, 4, 5, 2, (G_GENO | G_SGROUP | 1), 1082. { { AT_WEAP, AD_PHYS, 2, 10 }, NO_ATTK, NO_ATTK, 1083. NO_ATTK, NO_ATTK, NO_ATTK }, 1084. 2250, 750, 0, MS_SILENT, MZ_HUGE, MR_FIRE, MR_FIRE, 1085. M1_HUMANOID, 1086. M2_GIANT | M2_STRONG | M2_ROCKTHROW | M2_NASTY | M2_COLLECT | 1087. M2_JEWELS, 0, C(YELLOW) }, 1088. { "frost giant", S_GIANT, 10, 12, 3, 10, -3, (G_GENO | G_SGROUP | 1), 1089. { { AT_WEAP, AD_PHYS, 2, 12 }, NO_ATTK, NO_ATTK, 1090. NO_ATTK, NO_ATTK, NO_ATTK }, 1091. 2250, 750, 0, MS_SILENT, MZ_HUGE, MR_COLD, MR_COLD, 1092. M1_HUMANOID, 1093. M2_GIANT | M2_STRONG | M2_ROCKTHROW | M2_NASTY | M2_COLLECT | 1094. M2_JEWELS, 0, C(WHITE) }, 1095. { "ettin", S_GIANT, 10, 12, 3, 0, 0, (G_GENO | 1), 1096. { { AT_WEAP, AD_PHYS, 2, 8 }, { AT_WEAP, AD_PHYS, 3, 6 }, 1097. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1098. 1700, 500, 0, MS_GRUNT, MZ_HUGE, 0, 0, 1099. M1_ANIMAL | M1_HUMANOID | M1_CARNIVORE, 1100. M2_HOSTILE | M2_STRONG | M2_NASTY | M2_COLLECT, 0, C(BROWN) }, 1101. { "titan", S_GIANT, 16, 18, -3, 70, 9, 1, 1102. { { AT_WEAP, AD_PHYS, 2, 8 }, { AT_MAGC, AD_SPEL, 0, 0 }, 1103. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1104. 2300, 900, 0, MS_SILENT, MZ_HUGE, 0, 0, 1105. M1_FLY | M1_HUMANOID, M2_STRONG | M2_ROCKTHROW | M2_NASTY | 1106. M2_COLLECT | M2_MAGIC, 0, C(MAGENTA) }, 1107. { "minotaur", S_GIANT, 15, 15, 6, 0, 0, (G_GENO | G_NOGEN), 1108. { { AT_CLAW, AD_PHYS, 3, 10 }, { AT_CLAW, AD_PHYS, 3, 10 }, 1109. { AT_BUTT, AD_PHYS, 2, 8}, NO_ATTK, NO_ATTK, NO_ATTK }, 1110. 1500, 700, 0, MS_SILENT, MZ_LARGE, 0, 0, 1111. M1_ANIMAL | M1_HUMANOID | M1_CARNIVORE, 1112. M2_HOSTILE | M2_STRONG | M2_NASTY, 0, C(BROWN) }, 1113. /* Invisible stalker */ 1114. { "stalker", S_STALKER, 8, 12, 3, 0, 0, (G_GENO | 3), 1115. { { AT_CLAW, AD_PHYS, 4, 4 }, NO_ATTK, NO_ATTK, 1116. NO_ATTK, NO_ATTK, NO_ATTK }, 1117. 900, 400, 0, MS_SILENT, MZ_LARGE, 0, 0, 1118. M1_ANIMAL | M1_FLY | M1_SEE_INVIS, 1119. M2_WANDER | M2_STALK | M2_HOSTILE | M2_STRONG, 0, C(WHITE) }, 1120. /* Jabberwock */ 1121. { "jabberwock", S_JABBERWOCK, 15, 12, -2, 50, 0, (G_GENO | 1), 1122. { { AT_BITE, AD_PHYS, 2, 10 }, { AT_BITE, AD_PHYS, 2, 10 }, 1123. { AT_CLAW, AD_PHYS, 2, 10 }, { AT_CLAW, AD_PHYS, 2, 10 }, 1124. NO_ATTK, NO_ATTK }, 1125. 1300, 600, 0, MS_BURBLE, MZ_LARGE, 0, 0, 1126. M1_ANIMAL | M1_FLY | M1_CARNIVORE, 1127. M2_HOSTILE | M2_STRONG | M2_NASTY | M2_COLLECT, 1128. 0, C(ORANGE_COLORED) }, 1129. /* Kops */ 1130. #ifdef KOPS 1131. { "Keystone Kop", S_KOP, 1, 6, MARM(10,7), 10, 9, 1132. (G_GENO | G_LGROUP | G_NOGEN), 1133. { { AT_WEAP, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, 1134. NO_ATTK, NO_ATTK, NO_ATTK }, 1135. WT_HUMAN, 200, 0, MS_ARREST, MZ_HUMAN, 0, 0, M1_HUMANOID, 1136. M2_HUMAN | M2_WANDER | M2_HOSTILE | M2_MALE | M2_COLLECT, 1137. 0, C(BLUE) }, 1138. { "Kop Sergeant", S_KOP, 2, 8, MARM(10,6), 10, 10, 1139. (G_GENO | G_SGROUP | G_NOGEN), 1140. { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 1141. NO_ATTK, NO_ATTK, NO_ATTK }, 1142. WT_HUMAN, 200, 0, MS_ARREST, MZ_HUMAN, 0, 0, M1_HUMANOID, 1143. M2_HUMAN | M2_WANDER | M2_HOSTILE | M2_STRONG | M2_MALE | M2_COLLECT, 1144. 0, C(BLUE) }, 1145. { "Kop Lieutenant", S_KOP, 3, 10, MARM(10,5), 20, 11, 1146. (G_GENO | G_NOGEN), 1147. { { AT_WEAP, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, 1148. NO_ATTK, NO_ATTK, NO_ATTK }, 1149. WT_HUMAN, 200, 0, MS_ARREST, MZ_HUMAN, 0, 0, M1_HUMANOID, 1150. M2_HUMAN | M2_WANDER | M2_HOSTILE | M2_STRONG | M2_MALE | M2_COLLECT, 1151. 0, C(CYAN) }, 1152. { "Kop Kaptain", S_KOP, 4, 12, MARM(10,4), 20, 12, (G_GENO | G_NOGEN), 1153. { { AT_WEAP, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK, 1154. NO_ATTK, NO_ATTK, NO_ATTK }, 1155. WT_HUMAN, 200, 0, MS_ARREST, MZ_HUMAN, 0, 0, M1_HUMANOID, 1156. M2_HUMAN | M2_WANDER | M2_HOSTILE | M2_STRONG | M2_MALE | M2_COLLECT, 1157. 0, C(HI_LORD) }, 1158. #endif 1159. /* Liches */ 1160. { "lich", S_LICH, 11, 6, 0, 30, -9, (G_GENO | 1), 1161. { { AT_TUCH, AD_COLD, 1, 10 }, { AT_MAGC, AD_SPEL, 0, 0 }, 1162. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1163. 1200, 100, 0, MS_MUMBLE, MZ_HUMAN, 1164. MR_COLD | MR_SLEEP | MR_POISON, MR_COLD, 1165. M1_BREATHLESS | M1_HUMANOID | M1_POIS | M1_REGEN, 1166. M2_UNDEAD | M2_HOSTILE | M2_MAGIC, 0, C(BROWN) }, 1167. { "demilich", S_LICH, 14, 9, -2, 60, -12, (G_GENO | 1), 1168. { { AT_TUCH, AD_COLD, 3, 4 }, { AT_MAGC, AD_SPEL, 0, 0 }, 1169. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1170. 1200, 100, 0, MS_MUMBLE, MZ_HUMAN, 1171. MR_COLD | MR_SLEEP | MR_POISON, MR_COLD, 1172. M1_BREATHLESS | M1_HUMANOID | M1_POIS | M1_REGEN, 1173. M2_UNDEAD | M2_HOSTILE | M2_MAGIC, 0, C(RED) }, 1174. { "master lich", S_LICH, 17, 9, -4, 90, -15, (G_HELL | G_GENO | 1), 1175. { { AT_TUCH, AD_COLD, 3, 6 }, { AT_MAGC, AD_SPEL, 0, 0 }, 1176. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1177. 1200, 100, 0, MS_MUMBLE, MZ_HUMAN, 1178. MR_FIRE | MR_COLD | MR_SLEEP | MR_POISON, MR_FIRE | MR_COLD, 1179. M1_BREATHLESS | M1_HUMANOID | M1_POIS | M1_REGEN, 1180. M2_UNDEAD | M2_HOSTILE | M2_MAGIC, M3_WANTSBOOK, C(HI_LORD) }, 1181. /* Mummies */ 1182. { "kobold mummy", S_MUMMY, 3, 8, 6, 20, -2, (G_GENO | G_NOCORPSE | 1), 1183. { { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, 1184. NO_ATTK, NO_ATTK, NO_ATTK }, 1185. 400, 50, 0, MS_SILENT, MZ_SMALL, 1186. MR_COLD | MR_SLEEP | MR_POISON, 0, 1187. M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_POIS, 1188. M2_UNDEAD | M2_HOSTILE, 0, C(BROWN) }, 1189. { "gnome mummy", S_MUMMY, 4, 10, 6, 20, -3, (G_GENO | G_NOCORPSE | 1), 1190. { { AT_CLAW, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 1191. NO_ATTK, NO_ATTK, NO_ATTK }, 1192. 650, 50, 0, MS_SILENT, MZ_SMALL, 1193. MR_COLD | MR_SLEEP | MR_POISON, 0, 1194. M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_POIS, 1195. M2_UNDEAD | M2_HOSTILE, 0, C(RED) }, 1196. { "orc mummy", S_MUMMY, 5, 10, 5, 20, -4, (G_GENO | G_NOCORPSE | 1), 1197. { { AT_CLAW, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 1198. NO_ATTK, NO_ATTK, NO_ATTK }, 1199. 850, 75, 0, MS_SILENT, MZ_HUMAN, 1200. MR_COLD | MR_SLEEP | MR_POISON, 0, 1201. M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_POIS, 1202. M2_UNDEAD | M2_HOSTILE | M2_ORC | M2_GREEDY | M2_JEWELS, 0, C(GRAY) }, 1203. { "elf mummy", S_MUMMY, 6, 12, 4, 30, -5, (G_GENO | G_NOCORPSE | 1), 1204. { { AT_CLAW, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, 1205. NO_ATTK, NO_ATTK, NO_ATTK }, 1206. WT_ELF, 175, 0, MS_SILENT, MZ_HUMAN, 1207. MR_COLD | MR_SLEEP | MR_POISON, 0, 1208. M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_POIS, 1209. M2_UNDEAD | M2_HOSTILE | M2_ELF, 0, C(GREEN) }, 1210. { "human mummy", S_MUMMY, 6, 12, 4, 30, -5, (G_GENO | G_NOCORPSE | 1), 1211. { { AT_CLAW, AD_PHYS, 2, 4 }, { AT_CLAW, AD_PHYS, 2, 4 }, 1212. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1213. WT_HUMAN, 200, 0, MS_SILENT, MZ_HUMAN, 1214. MR_COLD | MR_SLEEP | MR_POISON, 0, 1215. M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_POIS, 1216. M2_UNDEAD | M2_HOSTILE, 0, C(GRAY) }, 1217. { "ettin mummy", S_MUMMY, 7, 12, 4, 30, -6, (G_GENO | G_NOCORPSE | 1), 1218. { { AT_CLAW, AD_PHYS, 2, 6 }, { AT_CLAW, AD_PHYS, 2, 6 }, 1219. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1220. 1700, 250, 0, MS_SILENT, MZ_HUGE, 1221. MR_COLD | MR_SLEEP | MR_POISON, 0, 1222. M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_POIS, 1223. M2_UNDEAD | M2_HOSTILE | M2_STRONG, 0, C(BLUE) }, 1224. { "giant mummy", S_MUMMY, 8, 14, 3, 30, -7, (G_GENO | G_NOCORPSE | 1), 1225. { { AT_CLAW, AD_PHYS, 3, 4 }, { AT_CLAW, AD_PHYS, 3, 4 }, 1226. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1227. 2050, 375, 0, MS_SILENT, MZ_HUGE, 1228. MR_COLD | MR_SLEEP | MR_POISON, 0, 1229. M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_POIS, 1230. M2_UNDEAD | M2_HOSTILE | M2_GIANT | M2_STRONG | M2_JEWELS, 1231. 0, C(CYAN) }, 1232. /* Nagas */ 1233. { "red naga hatchling", S_NAGA, 3, 10, 6, 0, 0, G_GENO, 1234. { { AT_BITE, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, 1235. NO_ATTK, NO_ATTK, NO_ATTK }, 1236. 500, 100, 0, MS_MUMBLE, MZ_LARGE, 1237. MR_FIRE | MR_POISON, MR_FIRE | MR_POISON, 1238. M1_NOLIMBS | M1_SLITHY | M1_THICK_HIDE, M2_STRONG, 0, C(RED) }, 1239. { "black naga hatchling", S_NAGA, 3, 10, 6, 0, 0, G_GENO, 1240. { { AT_BITE, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, 1241. NO_ATTK, NO_ATTK, NO_ATTK }, 1242. 500, 100, 0, MS_MUMBLE, MZ_LARGE, 1243. MR_POISON | MR_ACID | MR_STONE, MR_POISON | MR_STONE, 1244. M1_NOLIMBS | M1_SLITHY | M1_THICK_HIDE, M2_STRONG, 0, C(BLACK) }, 1245. { "golden naga hatchling", S_NAGA, 3, 10, 6, 0, 0, G_GENO, 1246. { { AT_BITE, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, 1247. NO_ATTK, NO_ATTK, NO_ATTK }, 1248. 500, 100, 0, MS_MUMBLE, MZ_LARGE, MR_POISON, MR_POISON, 1249. M1_NOLIMBS | M1_SLITHY | M1_THICK_HIDE, M2_STRONG, 0, C(HI_GOLD) }, 1250. { "guardian naga hatchling", S_NAGA, 3, 10, 6, 0, 0, G_GENO, 1251. { { AT_BITE, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, 1252. NO_ATTK, NO_ATTK, NO_ATTK }, 1253. 500, 100, 0, MS_MUMBLE, MZ_LARGE, MR_POISON, MR_POISON, 1254. M1_NOLIMBS | M1_SLITHY | M1_THICK_HIDE, M2_STRONG, 0, C(GREEN) }, 1255. { "red naga", S_NAGA, 6, 12, 4, 0, -4, (G_GENO | 1), 1256. { { AT_BITE, AD_PHYS, 2, 4 }, { AT_BREA, AD_FIRE, 2, 6 }, 1257. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1258. 2600, 400, 0, MS_MUMBLE, MZ_HUGE, 1259. MR_FIRE | MR_POISON, MR_FIRE | MR_POISON, 1260. M1_NOLIMBS | M1_SLITHY | M1_THICK_HIDE | M1_OVIPAROUS, 1261. M2_STRONG, 0, C(RED) }, 1262. { "black naga", S_NAGA, 8, 14, 2, 10, 4, (G_GENO | 1), 1263. { { AT_BITE, AD_PHYS, 2, 6 }, { AT_SPIT, AD_ACID, 0, 0 }, 1264. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1265. 2600, 400, 0, MS_MUMBLE, MZ_HUGE, 1266. MR_POISON | MR_ACID | MR_STONE, MR_POISON | MR_STONE, 1267. M1_NOLIMBS | M1_SLITHY | M1_THICK_HIDE | M1_OVIPAROUS | M1_ACID, 1268. M2_STRONG, 0, C(BLACK) }, 1269. { "golden naga", S_NAGA, 10, 14, 2, 70, 5, (G_GENO | 1), 1270. { { AT_BITE, AD_PHYS, 2, 6 }, { AT_MAGC, AD_SPEL, 4, 6 }, 1271. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1272. 2600, 400, 0, MS_MUMBLE, MZ_HUGE, MR_POISON, MR_POISON, 1273. M1_NOLIMBS | M1_SLITHY | M1_THICK_HIDE | M1_OVIPAROUS, 1274. M2_STRONG, 0, C(HI_GOLD) }, 1275. { "guardian naga", S_NAGA, 12, 16, 0, 50, 7, (G_GENO | 1), 1276. { { AT_BITE, AD_PLYS, 1, 6 }, { AT_HUGS, AD_PHYS, 2, 4 }, 1277. { AT_SPIT, AD_DRST, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK }, 1278. 2600, 400, 0, MS_MUMBLE, MZ_HUGE, MR_POISON, MR_POISON, 1279. M1_NOLIMBS | M1_SLITHY | M1_THICK_HIDE | M1_OVIPAROUS | M1_POIS, 1280. M2_STRONG, 0, C(GREEN) }, 1281. /* Ogres */ 1282. { "ogre", S_OGRE, 5, 10, 5, 0, -3, (G_SGROUP | G_GENO | 1), 1283. { { AT_WEAP, AD_PHYS, 2, 5 }, NO_ATTK, NO_ATTK, 1284. NO_ATTK, NO_ATTK, NO_ATTK }, 1285. 1600, 500, 0, MS_GRUNT, MZ_LARGE, 0, 0, 1286. M1_HUMANOID, M2_STRONG | M2_GREEDY | M2_JEWELS | M2_COLLECT, 1287. 0, C(BROWN) }, 1288. { "ogre lord", S_OGRE, 7, 12, 3, 30, -5, (G_GENO | 2), 1289. { { AT_WEAP, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK, 1290. NO_ATTK, NO_ATTK, NO_ATTK }, 1291. 1700, 700, 0, MS_GRUNT, MZ_LARGE, 0, 0, M1_HUMANOID, 1292. M2_STRONG | M2_LORD | M2_MALE | M2_GREEDY | M2_JEWELS | M2_COLLECT, 1293. 0, C(RED) }, 1294. { "ogre king", S_OGRE, 7, 14, 4, 60, -7, (G_GENO | 2), 1295. { { AT_WEAP, AD_PHYS, 3, 5 }, NO_ATTK, NO_ATTK, 1296. NO_ATTK, NO_ATTK, NO_ATTK }, 1297. 1700, 750, 0, MS_GRUNT, MZ_LARGE, 0, 0, M1_HUMANOID, 1298. M2_STRONG | M2_PRINCE | M2_MALE | M2_GREEDY | M2_JEWELS | M2_COLLECT, 1299. 0, C(HI_LORD) }, 1300. /* Puddings */ 1301. { "gray ooze", S_PUDDING, 3, 1, 8, 0, 0, (G_GENO | 2), 1302. { { AT_BITE, AD_RUST, 2, 8 }, NO_ATTK, NO_ATTK, 1303. NO_ATTK, NO_ATTK, NO_ATTK }, 1304. 500, 250, 0, MS_SILENT, MZ_MEDIUM, 1305. MR_FIRE | MR_COLD | MR_POISON | MR_ACID | MR_STONE, 1306. MR_FIRE | MR_COLD | MR_POISON, 1307. M1_BREATHLESS | M1_AMORPHOUS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | 1308. M1_MINDLESS | M1_OMNIVORE | M1_ACID, 1309. M2_HOSTILE | M2_NEUTER, 0, C(GRAY) }, 1310. { "brown pudding", S_PUDDING, 5, 3, 8, 0, 0, (G_GENO | 1), 1311. { { AT_BITE, AD_DCAY, 0, 0 }, NO_ATTK, NO_ATTK, 1312. NO_ATTK, NO_ATTK, NO_ATTK }, 1313. 500, 250, 0, MS_SILENT, MZ_MEDIUM, 1314. MR_COLD | MR_ELEC | MR_POISON | MR_ACID | MR_STONE, 1315. MR_COLD | MR_ELEC | MR_POISON, 1316. M1_BREATHLESS | M1_AMORPHOUS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | 1317. M1_MINDLESS | M1_OMNIVORE | M1_ACID, 1318. M2_HOSTILE | M2_NEUTER, 0, C(BROWN) }, 1319. { "black pudding", S_PUDDING, 10, 6, 6, 0, 0, (G_GENO | 1), 1320. { { AT_BITE, AD_RUST, 3, 8 }, { AT_NONE, AD_RUST, 0, 0 }, 1321. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1322. 900, 250, 0, MS_SILENT, MZ_LARGE, 1323. MR_COLD | MR_ELEC | MR_POISON | MR_ACID | MR_STONE, 1324. MR_COLD | MR_ELEC | MR_POISON, 1325. M1_BREATHLESS | M1_AMORPHOUS | M1_NOEYES | M1_NOLIMBS | M1_NOHEAD | 1326. M1_MINDLESS | M1_OMNIVORE | M1_ACID, 1327. M2_HOSTILE | M2_NEUTER, 0, C(BLACK) }, 1328. /* Quantum Mechanics */ 1329. { "quantum mechanic", S_QUANTMECH, 7, 12, 3, 10, 0, (G_GENO | 3), 1330. { { AT_CLAW, AD_TLPT, 1, 4 }, NO_ATTK, NO_ATTK, 1331. NO_ATTK, NO_ATTK, NO_ATTK }, 1332. WT_HUMAN, 20, 0, MS_HUMANOID, MZ_HUMAN, MR_POISON, 0, 1333. M1_HUMANOID | M1_POIS | M1_TPORT, M2_HOSTILE, 0, C(CYAN) }, 1334. /* Rust Monster */ 1335. { "rust monster", S_RUSTMONST, 5, 18, 2, 0, 0, (G_GENO | 2), 1336. { { AT_TUCH, AD_RUST, 0, 0 }, { AT_TUCH, AD_RUST, 0, 0 }, 1337. { AT_NONE, AD_RUST, 0, 0 }, NO_ATTK, NO_ATTK, NO_ATTK }, 1338. 1000, 250, 0, MS_SILENT, MZ_MEDIUM, 0, 0, 1339. M1_SWIM | M1_ANIMAL | M1_NOHANDS | M1_METALLIVORE, M2_HOSTILE, 1340. 0, C(BROWN) }, 1341. /* Snakes */ 1342. { "garter snake", S_SNAKE, 1, 8, 8, 0, 0, (G_LGROUP | G_GENO | 1), 1343. { { AT_BITE, AD_PHYS, 1, 2 }, NO_ATTK, NO_ATTK, 1344. NO_ATTK, NO_ATTK, NO_ATTK }, 1345. 50, 60, 0, MS_HISS, MZ_TINY, 0, 0, 1346. M1_SWIM | M1_CONCEAL | M1_NOLIMBS | M1_ANIMAL | M1_SLITHY | 1347. M1_OVIPAROUS | M1_CARNIVORE, 0, 0, C(GREEN) }, 1348. { "snake", S_SNAKE, 4, 15, 3, 0, 0, (G_GENO | 2), 1349. { { AT_BITE, AD_DRST, 1, 6 }, NO_ATTK, NO_ATTK, 1350. NO_ATTK, NO_ATTK, NO_ATTK }, 1351. 100, 80, 0, MS_HISS, MZ_SMALL, MR_POISON, MR_POISON, 1352. M1_SWIM | M1_CONCEAL | M1_NOLIMBS | M1_ANIMAL | M1_SLITHY | M1_POIS | 1353. M1_OVIPAROUS | M1_CARNIVORE, M2_HOSTILE, 0, C(BROWN) }, 1354. { "water moccasin", S_SNAKE, 4, 15, 3, 0, 0, 1355. (G_GENO | G_NOGEN | G_LGROUP), 1356. { { AT_BITE, AD_DRST, 1, 6 }, NO_ATTK, NO_ATTK, 1357. NO_ATTK, NO_ATTK, NO_ATTK }, 1358. 150, 80, 0, MS_HISS, MZ_SMALL, MR_POISON, MR_POISON, 1359. M1_SWIM | M1_CONCEAL | M1_NOLIMBS | M1_ANIMAL | M1_SLITHY | M1_POIS | 1360. M1_CARNIVORE | M1_OVIPAROUS, M2_HOSTILE, 0, C(RED) }, 1361. { "pit viper", S_SNAKE, 6, 15, 2, 0, 0, (G_GENO | 1), 1362. { { AT_BITE, AD_DRST, 1, 4 }, { AT_BITE, AD_DRST, 1, 4 }, 1363. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1364. 100, 60, 0, MS_HISS, MZ_MEDIUM, 1365. MR_POISON, MR_POISON, 1366. M1_SWIM | M1_CONCEAL | M1_NOLIMBS | M1_ANIMAL | M1_SLITHY | M1_POIS | 1367. M1_CARNIVORE | M1_OVIPAROUS, M2_HOSTILE, 0, C(BLUE) }, 1368. { "python", S_SNAKE, 6, 3, 5, 0, 0, (G_GENO | 1), 1369. { { AT_BITE, AD_DRST, 1, 4 }, {AT_BITE, AD_PHYS, 1, 4}, 1370. { AT_HUGS, AD_WRAP, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK }, 1371. 250, 100, 0, MS_HISS, MZ_LARGE, MR_POISON, MR_POISON, 1372. M1_SWIM | M1_NOLIMBS | M1_ANIMAL | M1_SLITHY | M1_POIS | 1373. M1_CARNIVORE | M1_OVIPAROUS, M2_HOSTILE | M2_STRONG, 0, C(MAGENTA) }, 1374. { "cobra", S_SNAKE, 6, 18, 2, 0, 0, (G_GENO | 1), 1375. { { AT_BITE, AD_DRST, 2, 4 }, { AT_SPIT, AD_BLND, 0, 0 }, 1376. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1377. 250, 100, 0, MS_HISS, MZ_MEDIUM, 1378. MR_POISON, MR_POISON, 1379. M1_SWIM | M1_CONCEAL | M1_NOLIMBS | M1_ANIMAL | M1_SLITHY | M1_POIS | 1380. M1_CARNIVORE | M1_OVIPAROUS, M2_HOSTILE, 0, C(BLUE) }, 1381. /* Trolls */ 1382. { "troll", S_TROLL, 7, 12, 4, 0, -3, (G_GENO | 2), 1383. { { AT_CLAW, AD_PHYS, 4, 2 }, { AT_CLAW, AD_PHYS, 4, 2 }, 1384. { AT_BITE, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK, NO_ATTK }, 1385. 800, 350, 0, MS_GRUNT, MZ_LARGE, 0, 0, 1386. M1_HUMANOID | M1_REGEN | M1_CARNIVORE, 1387. M2_STRONG | M2_STALK | M2_HOSTILE, 0, C(BROWN) }, 1388. { "ice troll", S_TROLL, 9, 10, 2, 20, -3, (G_GENO | 1), 1389. { { AT_CLAW, AD_PHYS, 2, 6 }, { AT_CLAW, AD_COLD, 2, 6 }, 1390. { AT_BITE, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK, NO_ATTK }, 1391. 1000, 300, 0, MS_GRUNT, MZ_LARGE, MR_COLD, MR_COLD, 1392. M1_HUMANOID | M1_REGEN | M1_CARNIVORE, 1393. M2_STRONG | M2_STALK | M2_HOSTILE, 0, C(WHITE) }, 1394. { "rock troll", S_TROLL, 9, 12, 0, 0, -3, (G_GENO | 1), 1395. { { AT_CLAW, AD_PHYS, 2, 8 }, { AT_WEAP, AD_PHYS, 3, 6 }, 1396. { AT_BITE, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK, NO_ATTK }, 1397. 1200, 300, 0, MS_GRUNT, MZ_LARGE, 0, 0, 1398. M1_HUMANOID | M1_REGEN | M1_CARNIVORE, 1399. M2_STRONG | M2_STALK | M2_HOSTILE | M2_COLLECT, 0, C(CYAN) }, 1400. { "water troll", S_TROLL, 11, 14, 4, 40, -3, (G_NOGEN | G_GENO), 1401. { { AT_CLAW, AD_PHYS, 2, 8 }, { AT_CLAW, AD_PHYS, 2, 8 }, 1402. { AT_BITE, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK, NO_ATTK }, 1403. 1200, 350, 0, MS_GRUNT, MZ_LARGE, 0, 0, 1404. M1_HUMANOID | M1_REGEN | M1_CARNIVORE | M1_SWIM, 1405. M2_STRONG | M2_STALK | M2_HOSTILE, 0, C(BLUE) }, 1406. { "Olog-hai", S_TROLL, 13, 12, -4, 0, -7, (G_GENO | 1), 1407. { { AT_CLAW, AD_PHYS, 2, 8 }, { AT_WEAP, AD_PHYS, 3, 6 }, 1408. { AT_BITE, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK, NO_ATTK }, 1409. 1500, 400, 0, MS_GRUNT, MZ_LARGE, 0, 0, 1410. M1_HUMANOID | M1_REGEN | M1_CARNIVORE, 1411. M2_STRONG | M2_STALK | M2_HOSTILE | M2_COLLECT, 0, C(HI_LORD) }, 1412. /* Umber Hulk */ 1413. { "umber hulk", S_UMBER, 9, 6, 2, 25, 0, (G_GENO | 2), 1414. { { AT_CLAW, AD_PHYS, 3, 4 }, { AT_CLAW, AD_PHYS, 3, 4 }, 1415. { AT_BITE, AD_PHYS, 2, 5 }, { AT_GAZE, AD_CONF, 0, 0 }, 1416. NO_ATTK, NO_ATTK }, 1417. 1200, 500, 0, MS_SILENT, MZ_LARGE, 0, 0, 1418. M1_TUNNEL | M1_CARNIVORE, M2_STRONG, 0, C(BROWN) }, 1419. /* Vampires */ 1420. { "vampire", S_VAMPIRE, 10, 12, 1, 25, -8, (G_GENO | 1), 1421. { { AT_CLAW, AD_PHYS, 1, 6 }, { AT_BITE, AD_DRLI, 1, 6 }, 1422. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1423. WT_HUMAN, 400, 0, MS_VAMPIRE, MZ_HUMAN, MR_SLEEP | MR_POISON, 0, 1424. M1_FLY | M1_BREATHLESS | M1_HUMANOID | M1_POIS | M1_REGEN, 1425. M2_UNDEAD | M2_STALK | M2_HOSTILE | M2_STRONG | M2_NASTY, 0, C(RED) }, 1426. { "vampire lord", S_VAMPIRE, 12, 14, 0, 50, -9, (G_GENO | 1), 1427. { { AT_CLAW, AD_PHYS, 1, 8 }, { AT_BITE, AD_DRLI, 1, 8 }, 1428. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1429. WT_HUMAN, 400, 0, MS_VAMPIRE, MZ_HUMAN, MR_SLEEP | MR_POISON, 0, 1430. M1_FLY | M1_BREATHLESS | M1_HUMANOID | M1_POIS | M1_REGEN, 1431. M2_UNDEAD | M2_STALK | M2_HOSTILE | M2_STRONG | M2_NASTY | 1432. M2_LORD | M2_MALE, 0, C(BLUE) }, 1433. { "Vlad the Impaler", S_VAMPIRE, 14, 18, -3, 80, -10, 1434. (G_NOGEN | G_NOCORPSE | G_UNIQ), 1435. { { AT_WEAP, AD_PHYS, 1, 6 }, { AT_BITE, AD_DRLI, 1, 6 }, 1436. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1437. WT_HUMAN, 400, 0, MS_VAMPIRE, MZ_HUMAN, MR_SLEEP | MR_POISON, 0, 1438. M1_FLY | M1_BREATHLESS | M1_HUMANOID | M1_POIS | M1_REGEN, 1439. M2_NOPOLY | M2_UNDEAD | M2_STALK | M2_HOSTILE | M2_PNAME | M2_STRONG | 1440. M2_NASTY | M2_PRINCE | M2_MALE, M3_WANTSBOOK, C(HI_LORD) }, 1441. /* Wraiths */ 1442. { "barrow wight", S_WRAITH, 3, 12, 5, 5, -3, (G_GENO | G_NOCORPSE | 1), 1443. { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_MAGC, AD_SPEL, 0, 0 }, 1444. { AT_WEAP, AD_DRLI, 0, 0 }, NO_ATTK, NO_ATTK, NO_ATTK }, 1445. 1200, 0, 0, MS_SILENT, MZ_HUMAN, MR_COLD | MR_SLEEP | MR_POISON, 0, 1446. M1_BREATHLESS | M1_HUMANOID, 1447. M2_UNDEAD | M2_STALK | M2_HOSTILE | M2_COLLECT, 0, C(GRAY) }, 1448. { "wraith", S_WRAITH, 6, 12, 4, 15, -6, (G_GENO | 2), 1449. { { AT_TUCH, AD_DRLI, 1, 6 }, NO_ATTK, NO_ATTK, 1450. NO_ATTK, NO_ATTK, NO_ATTK }, 1451. 0, 0, 0, MS_SILENT, MZ_HUMAN, 1452. MR_COLD | MR_SLEEP | MR_POISON | MR_STONE, 0, 1453. M1_BREATHLESS | M1_FLY | M1_HUMANOID | M1_UNSOLID, 1454. M2_UNDEAD | M2_STALK | M2_HOSTILE, 0, C(BLACK) }, 1455. { "Nazgul", S_WRAITH, 13, 12, 0, 25, -17, (G_GENO | G_NOCORPSE | 1), 1456. { { AT_WEAP, AD_DRLI, 1, 4 }, { AT_BREA, AD_SLEE, 0, 0 }, 1457. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1458. WT_HUMAN, 0, 0, MS_SILENT, MZ_HUMAN, 1459. MR_COLD | MR_SLEEP | MR_POISON, 0, M1_BREATHLESS | M1_HUMANOID, 1460. M2_UNDEAD | M2_STALK | M2_STRONG | M2_HOSTILE | M2_MALE | M2_COLLECT, 1461. 0, C(HI_LORD) }, 1462. /* Xorn */ 1463. { "xorn", S_XORN, 8, 9,-2, 20, 0, (G_GENO | 1), 1464. { { AT_CLAW, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 }, 1465. { AT_CLAW, AD_PHYS, 1, 3 }, { AT_BITE, AD_PHYS, 4, 6 }, 1466. NO_ATTK, NO_ATTK }, 1200, 700, 0, MS_SILENT, MZ_MEDIUM, 1467. MR_FIRE | MR_COLD | MR_STONE, MR_FIRE | MR_COLD | MR_STONE, 1468. M1_BREATHLESS | M1_WALLWALK | M1_THICK_HIDE | M1_METALLIVORE, 1469. M2_HOSTILE | M2_STRONG, 0, C(BROWN) }, 1470. /* Yeti, Apes and other large beasts */ 1471. { "ape", S_YETI, 4, 12, 6, 0, 0, (G_GENO | G_SGROUP | 2), 1472. { { AT_CLAW, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 }, 1473. { AT_BITE, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK }, 1474. 1100, 500, 0, MS_GROWL, MZ_LARGE, 0, 0, 1475. M1_ANIMAL | M1_HUMANOID | M1_CARNIVORE, 1476. M2_STRONG, 0, C(BROWN) }, 1477. { "owlbear", S_YETI, 5, 12, 5, 0, 0, (G_GENO | 3), 1478. { { AT_CLAW, AD_PHYS, 1, 6 }, { AT_CLAW, AD_PHYS, 1, 6 }, 1479. { AT_HUGS, AD_PHYS, 2, 8 }, NO_ATTK, NO_ATTK, NO_ATTK }, 1480. 1700, 700, 0, MS_SILENT, MZ_LARGE, 0, 0, 1481. M1_ANIMAL | M1_HUMANOID | M1_CARNIVORE, 1482. M2_HOSTILE | M2_STRONG | M2_NASTY, 0, C(BROWN) }, 1483. { "yeti", S_YETI, 5, 15, 6, 0, 0, (G_GENO | 2), 1484. { { AT_CLAW, AD_PHYS, 1, 6 }, { AT_CLAW, AD_PHYS, 1, 6 }, 1485. { AT_BITE, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, NO_ATTK }, 1486. 1600, 700, 0, MS_GROWL, MZ_LARGE, MR_COLD, MR_COLD, 1487. M1_ANIMAL | M1_HUMANOID | M1_CARNIVORE, 1488. M2_HOSTILE | M2_STRONG, 0, C(WHITE) }, 1489. { "carnivorous ape", S_YETI, 6, 12, 6, 0, 0, (G_GENO | 1), 1490. { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, 1491. { AT_HUGS, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, NO_ATTK }, 1492. 1250, 550, 0, MS_GROWL, MZ_LARGE, 0, 0, 1493. M1_ANIMAL | M1_HUMANOID | M1_CARNIVORE, 1494. M2_HOSTILE | M2_STRONG, 0, C(BLACK) }, 1495. { "sasquatch", S_YETI, 7, 15, 6, 0, 2, (G_GENO | 1), 1496. { { AT_CLAW, AD_PHYS, 1, 6 }, { AT_CLAW, AD_PHYS, 1, 6 }, 1497. { AT_KICK, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, NO_ATTK }, 1498. 1550, 750, 0, MS_GROWL, MZ_LARGE, 0, 0, 1499. M1_ANIMAL | M1_HUMANOID | M1_SEE_INVIS | M1_OMNIVORE, 1500. M2_STRONG, 0, C(GRAY) }, 1501. /* Zombies */ 1502. { "kobold zombie", S_ZOMBIE, 0, 6, 10, 0, -2, (G_GENO | G_NOCORPSE | 1), 1503. { { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, 1504. NO_ATTK, NO_ATTK, NO_ATTK }, 1505. 400, 50, 0, MS_SILENT, MZ_SMALL, 1506. MR_COLD | MR_SLEEP | MR_POISON, 0, 1507. M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_POIS, 1508. M2_UNDEAD | M2_STALK | M2_HOSTILE, 0, C(BROWN) }, 1509. { "gnome zombie", S_ZOMBIE, 1, 6, 10, 0, -2, (G_GENO | G_NOCORPSE | 1), 1510. { { AT_CLAW, AD_PHYS, 1, 5 }, NO_ATTK, NO_ATTK, 1511. NO_ATTK, NO_ATTK, NO_ATTK }, 1512. 650, 50, 0, MS_SILENT, MZ_SMALL, 1513. MR_COLD | MR_SLEEP | MR_POISON, 0, 1514. M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_POIS, 1515. M2_UNDEAD | M2_STALK | M2_HOSTILE, 0, C(BROWN) }, 1516. { "orc zombie", S_ZOMBIE, 2, 6, 9, 0, -3, 1517. (G_GENO | G_SGROUP | G_NOCORPSE | 1), 1518. { { AT_CLAW, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 1519. NO_ATTK, NO_ATTK, NO_ATTK }, 1520. 850, 75, 0, MS_SILENT, MZ_HUMAN, 1521. MR_COLD | MR_SLEEP | MR_POISON, 0, 1522. M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_POIS, 1523. M2_UNDEAD | M2_STALK | M2_HOSTILE | M2_ORC, 0, C(GRAY) }, 1524. { "elf zombie", S_ZOMBIE, 3, 6, 9, 0, -3, 1525. (G_GENO | G_SGROUP | G_NOCORPSE | 1), 1526. { { AT_CLAW, AD_PHYS, 1, 7 }, NO_ATTK, NO_ATTK, 1527. NO_ATTK, NO_ATTK, NO_ATTK }, 1528. WT_ELF, 175, 0, MS_SILENT, MZ_HUMAN, 1529. MR_COLD | MR_SLEEP | MR_POISON, 0, 1530. M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID, 1531. M2_UNDEAD | M2_STALK | M2_HOSTILE | M2_ELF, 0, C(GREEN) }, 1532. { "human zombie", S_ZOMBIE, 4, 6, 8, 0, -3, 1533. (G_GENO | G_SGROUP | G_NOCORPSE | 1), 1534. { { AT_CLAW, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, 1535. NO_ATTK, NO_ATTK, NO_ATTK }, 1536. WT_HUMAN, 200, 0, MS_SILENT, MZ_HUMAN, 1537. MR_COLD | MR_SLEEP | MR_POISON, 0, 1538. M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID, 1539. M2_UNDEAD | M2_STALK | M2_HOSTILE, 0, C(HI_DOMESTIC) }, 1540. { "ettin zombie", S_ZOMBIE, 6, 8, 6, 0, -4, (G_GENO | G_NOCORPSE | 1), 1541. { { AT_CLAW, AD_PHYS, 1, 10 }, { AT_CLAW, AD_PHYS, 1, 10 }, 1542. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1543. 1700, 250, 0, MS_SILENT, MZ_HUGE, 1544. MR_COLD | MR_SLEEP | MR_POISON, 0, 1545. M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID, 1546. M2_UNDEAD | M2_STALK | M2_HOSTILE | M2_STRONG, 0, C(BLUE) }, 1547. { "giant zombie", S_ZOMBIE, 8, 8, 6, 0, -4, (G_GENO | G_NOCORPSE | 1), 1548. { { AT_CLAW, AD_PHYS, 2, 8 }, { AT_CLAW, AD_PHYS, 2, 8 }, 1549. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1550. 2050, 375, 0, MS_SILENT, MZ_HUGE, 1551. MR_COLD | MR_SLEEP | MR_POISON, 0, 1552. M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID, 1553. M2_UNDEAD | M2_STALK | M2_HOSTILE | M2_GIANT | M2_STRONG, 1554. 0, C(CYAN) }, 1555. { "skeleton", S_ZOMBIE, 12, 8, 4, 0, 0, (G_NOCORPSE | G_NOGEN), 1556. { { AT_WEAP, AD_PHYS, 2, 6 }, { AT_TUCH, AD_SLOW, 1, 6}, 1557. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1558. 300, 5, 0, MS_BONES, MZ_HUMAN, 1559. MR_COLD | MR_SLEEP | MR_POISON | MR_STONE, 0, 1560. M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_THICK_HIDE, 1561. M2_UNDEAD | M2_WANDER | M2_HOSTILE | M2_STRONG | M2_COLLECT, 1562. 0, C(WHITE) }, 1563. /* Golems */ 1564. { "straw golem", S_GOLEM, 3, 12, 10, 0, 0, (G_GENO | G_NOCORPSE | 1), 1565. { { AT_CLAW, AD_PHYS, 1, 2 }, { AT_CLAW, AD_PHYS, 1, 2 }, 1566. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1567. 400, 0, 0, MS_SILENT, MZ_LARGE, 1568. MR_SLEEP | MR_POISON, 0, M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID, 1569. M2_HOSTILE | M2_NEUTER, 0, C(YELLOW) }, 1570. { "rope golem", S_GOLEM, 4, 9, 8, 0, 0, (G_GENO | G_NOCORPSE | 1), 1571. { { AT_CLAW, AD_PHYS, 1, 6 }, { AT_HUGS, AD_PHYS, 6, 1 }, 1572. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1573. 450, 0, 0, MS_SILENT, MZ_LARGE, 1574. MR_SLEEP | MR_POISON, 0, M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID, 1575. M2_HOSTILE | M2_NEUTER, 0, C(BROWN) }, 1576. { "leather golem", S_GOLEM, 6, 6, 6, 0, 0, (G_GENO | G_NOCORPSE | 1), 1577. { { AT_CLAW, AD_PHYS, 1, 6 }, { AT_CLAW, AD_PHYS, 1, 6 }, 1578. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1579. 800, 0, 0, MS_SILENT, MZ_LARGE, 1580. MR_SLEEP | MR_POISON, 0, M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID, 1581. M2_HOSTILE | M2_NEUTER, 0, C(HI_LEATHER) }, 1582. { "wood golem", S_GOLEM, 7, 3, 4, 0, 0, (G_GENO | G_NOCORPSE | 1), 1583. { { AT_CLAW, AD_PHYS, 3, 4 }, NO_ATTK, NO_ATTK, 1584. NO_ATTK, NO_ATTK, NO_ATTK }, 1585. 900, 0, 0, MS_SILENT, MZ_LARGE, 1586. MR_SLEEP | MR_POISON, 0, 1587. M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_THICK_HIDE, 1588. M2_HOSTILE | M2_NEUTER, 0, C(HI_WOOD) }, 1589. { "flesh golem", S_GOLEM, 9, 8, 9, 30, 0, (G_GENO | 1), 1590. { { AT_CLAW, AD_PHYS, 2, 8 }, { AT_CLAW, AD_PHYS, 2, 8 }, 1591. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1592. 1400, 600, 0, MS_SILENT, MZ_LARGE, 1593. MR_FIRE | MR_COLD | MR_ELEC | MR_SLEEP | MR_POISON, 1594. MR_FIRE | MR_COLD | MR_ELEC | MR_SLEEP | MR_POISON, 1595. M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID, 1596. M2_HOSTILE | M2_STRONG, 0, C(RED) }, 1597. { "clay golem", S_GOLEM, 11, 7, 7, 40, 0, (G_GENO | G_NOCORPSE | 1), 1598. { { AT_CLAW, AD_PHYS, 3, 10 }, NO_ATTK, NO_ATTK, 1599. NO_ATTK, NO_ATTK, NO_ATTK }, 1600. 1550, 0, 0, MS_SILENT, MZ_LARGE, 1601. MR_SLEEP | MR_POISON, 0, 1602. M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_THICK_HIDE, 1603. M2_HOSTILE | M2_STRONG, 0, C(BROWN) }, 1604. { "stone golem", S_GOLEM, 14, 6, 5, 50, 0, (G_GENO | G_NOCORPSE | 1), 1605. { { AT_CLAW, AD_PHYS, 3, 8 }, NO_ATTK, NO_ATTK, 1606. NO_ATTK, NO_ATTK, NO_ATTK }, 1607. 1900, 0, 0, MS_SILENT, MZ_LARGE, 1608. MR_SLEEP | MR_POISON | MR_STONE, 0, 1609. M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_THICK_HIDE, 1610. M2_HOSTILE | M2_STRONG, 0, C(GRAY) }, 1611. { "iron golem", S_GOLEM, 18, 6, 3, 60, 0, (G_GENO | G_NOCORPSE | 1), 1612. { { AT_WEAP, AD_PHYS, 4, 10 }, { AT_BREA, AD_DRST, 4, 6 }, 1613. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1614. 2000, 0, 0, MS_SILENT, MZ_LARGE, 1615. MR_FIRE | MR_COLD | MR_ELEC | MR_SLEEP | MR_POISON, 0, 1616. M1_BREATHLESS | M1_MINDLESS | M1_HUMANOID | M1_THICK_HIDE | M1_POIS, 1617. M2_HOSTILE | M2_STRONG | M2_COLLECT, 0, C(HI_METAL) }, 1618. /* Humans */ 1619. { "human", S_HUMAN, 0, 12, 10, 0, 0, G_NOGEN, /* for corpses */ 1620. { {AT_WEAP, AD_PHYS, 1, 6}, NO_ATTK, NO_ATTK, 1621. NO_ATTK, NO_ATTK, NO_ATTK }, 1622. WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN, 0, 0, 1623. M1_HUMANOID | M1_OMNIVORE, 1624. M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | M2_COLLECT, 1625. 0, C(HI_DOMESTIC) }, 1626. { "wererat", S_HUMAN, 2, 12, MARM(10,7), 10, -7, 1, 1627. { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, 1628. NO_ATTK, NO_ATTK, NO_ATTK }, 1629. WT_HUMAN, 400, 0, MS_SILENT, MZ_HUMAN, MR_POISON, 0, 1630. M1_HUMANOID | M1_POIS | M1_REGEN | M1_OMNIVORE, 1631. M2_NOPOLY | M2_WERE | M2_HOSTILE | M2_HUMAN | M2_COLLECT, 0, C(BROWN) }, 1632. { "werejackal", S_HUMAN, 2, 12, MARM(10,7), 10, -7, 1, 1633. { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, 1634. NO_ATTK, NO_ATTK, NO_ATTK }, 1635. WT_HUMAN, 400, 0, MS_BARK, MZ_HUMAN, MR_POISON, 0, 1636. M1_HUMANOID | M1_POIS | M1_REGEN | M1_OMNIVORE, 1637. M2_NOPOLY | M2_WERE | M2_HOSTILE | M2_HUMAN | M2_COLLECT, 0, C(RED) }, 1638. { "werewolf", S_HUMAN, 5, 12, MARM(10,6), 20, -7, 1, 1639. { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, 1640. NO_ATTK, NO_ATTK, NO_ATTK }, 1641. WT_HUMAN, 400, 0, MS_BARK, MZ_HUMAN, MR_POISON, 0, 1642. M1_HUMANOID | M1_POIS | M1_REGEN | M1_OMNIVORE, 1643. M2_NOPOLY | M2_WERE | M2_HOSTILE | M2_HUMAN | M2_COLLECT, 1644. 0, C(ORANGE_COLORED) }, 1645. { "Woodland-elf", S_HUMAN, 4, 12, MARM(10,5), 10, -5, 1646. (G_GENO | G_SGROUP | 2), 1647. { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, 1648. NO_ATTK, NO_ATTK, NO_ATTK }, 1649. WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN, MR_SLEEP, MR_SLEEP, 1650. M1_HUMANOID | M1_OMNIVORE, M2_ELF | M2_COLLECT, 0, C(GREEN) }, 1651. { "Green-elf", S_HUMAN, 5, 12, MARM(10,5), 10, -6, 1652. (G_GENO | G_SGROUP | 2), 1653. { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, 1654. NO_ATTK, NO_ATTK, NO_ATTK }, 1655. WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN, MR_SLEEP, MR_SLEEP, 1656. M1_HUMANOID | M1_OMNIVORE, M2_ELF | M2_COLLECT, 0, C(BRIGHT_GREEN) }, 1657. { "Grey-elf", S_HUMAN, 6, 12, MARM(10,5), 10, -7, 1658. (G_GENO | G_SGROUP | 2), 1659. { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, 1660. NO_ATTK, NO_ATTK, NO_ATTK }, 1661. WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN, MR_SLEEP, MR_SLEEP, 1662. M1_HUMANOID | M1_OMNIVORE, M2_ELF | M2_COLLECT, 0, C(GRAY) }, 1663. { "elf-lord", S_HUMAN, 8, 12, MARM(10,5), 20, -9, 1664. (G_GENO | G_SGROUP | 2), 1665. { { AT_WEAP, AD_PHYS, 2, 4 }, { AT_WEAP, AD_PHYS, 2, 4 }, 1666. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1667. WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN, MR_SLEEP, MR_SLEEP, 1668. M1_HUMANOID | M1_OMNIVORE, 1669. M2_ELF | M2_STRONG | M2_LORD | M2_MALE | M2_COLLECT, 1670. 0, C(BRIGHT_BLUE) }, 1671. { "Elvenking", S_HUMAN, 9, 12, MARM(10,5), 25, -10, (G_GENO | 1), 1672. { { AT_WEAP, AD_PHYS, 2, 4 }, { AT_WEAP, AD_PHYS, 2, 4}, 1673. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1674. WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN, 1675. MR_SLEEP, MR_SLEEP, M1_HUMANOID | M1_OMNIVORE, 1676. M2_ELF | M2_STRONG | M2_PRINCE | M2_MALE | M2_COLLECT, 0, 1677. C(HI_LORD) }, 1678. { "nurse", S_HUMAN, 11, 6, 0, 0, 0, (G_GENO | 3), 1679. { { AT_CLAW, AD_HEAL, 2, 6 }, NO_ATTK, NO_ATTK, 1680. NO_ATTK, NO_ATTK, NO_ATTK }, 1681. WT_HUMAN, 400, 0, MS_NURSE, MZ_HUMAN, MR_POISON, MR_POISON, 1682. M1_HUMANOID | M1_OMNIVORE, M2_NOPOLY | M2_HUMAN | M2_HOSTILE, 1683. 0, C(HI_DOMESTIC) }, 1684. { "shopkeeper", S_HUMAN, 12, 18, 0, 50, 0, G_NOGEN, 1685. { { AT_WEAP, AD_PHYS, 4, 4 }, { AT_WEAP, AD_PHYS, 4, 4 }, 1686. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1687. WT_HUMAN, 400, sizeof(struct eshk), MS_SELL, MZ_HUMAN, 0, 0, 1688. M1_HUMANOID | M1_OMNIVORE, 1689. M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | 1690. M2_COLLECT | M2_MAGIC, 1691. 0, C(HI_DOMESTIC) }, 1692. { "guard", S_HUMAN, 12, 12, MARM(10,-1), 40, 10, G_NOGEN, 1693. { { AT_WEAP, AD_PHYS, 4, 10 }, NO_ATTK, NO_ATTK, 1694. NO_ATTK, NO_ATTK, NO_ATTK }, 1695. WT_HUMAN, 400, sizeof(struct egd), MS_GUARD, MZ_HUMAN, 1696. 0, 0, M1_HUMANOID | M1_OMNIVORE, 1697. M2_NOPOLY | M2_HUMAN | M2_MERC | M2_PEACEFUL | M2_STRONG | M2_COLLECT, 1698. 0, C(BLUE) }, 1699. { "oracle", S_HUMAN, 12, 0, 0, 50, 0, G_NOGEN | G_UNIQ, 1700. { { AT_NONE, AD_MAGM, 0, 4 }, NO_ATTK, NO_ATTK, 1701. NO_ATTK, NO_ATTK, NO_ATTK }, 1702. WT_HUMAN, 400, 0, MS_ORACLE, MZ_HUMAN, 0, 0, 1703. M1_HUMANOID | M1_OMNIVORE, 1704. M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_FEMALE, 0, C(HI_ZAP) }, 1705. { "aligned priest", S_HUMAN, 12, 12, MARM(10,0), 50, 0, G_NOGEN, 1706. { { AT_WEAP, AD_PHYS, 4, 10 }, { AT_KICK, AD_PHYS, 1, 4 }, 1707. { AT_MAGC, AD_CLRC, 0, 0 }, NO_ATTK, NO_ATTK, NO_ATTK }, 1708. WT_HUMAN, 400, sizeof(struct epri), MS_PRIEST, MZ_HUMAN, 1709. MR_ELEC, MR_ELEC, M1_HUMANOID | M1_OMNIVORE, 1710. M2_NOPOLY | M2_HUMAN | M2_LORD | M2_PEACEFUL | M2_COLLECT, 1711. 0, C(WHITE) }, 1712. { "high priest", S_HUMAN, 25, 15, MARM(7,-3), 70, 0, 1713. (G_NOGEN | G_UNIQ), 1714. { { AT_WEAP, AD_PHYS, 4, 10 }, { AT_KICK, AD_PHYS, 2, 8 }, 1715. { AT_MAGC, AD_CLRC, 2, 8 }, { AT_MAGC, AD_CLRC, 2, 8 }, 1716. NO_ATTK, NO_ATTK }, 1717. WT_HUMAN, 400, sizeof(struct epri), MS_PRIEST, MZ_HUMAN, 1718. MR_FIRE | MR_ELEC | MR_SLEEP | MR_POISON, 1719. MR_FIRE | MR_ELEC | MR_SLEEP | MR_POISON, 1720. M1_HUMANOID | M1_SEE_INVIS | M1_OMNIVORE, 1721. M2_NOPOLY | M2_HUMAN | M2_MINION | M2_PRINCE | M2_NASTY | 1722. M2_COLLECT | M2_MAGIC, 0, C(WHITE) }, 1723. #ifndef MUSE 1724. { "unarmored watchman", S_HUMAN, 6, 4, 10, 0, -2, G_NOGEN, 1725. { { AT_WEAP, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, 1726. NO_ATTK, NO_ATTK, NO_ATTK }, 1727. WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN, 1728. 0, 0, M1_HUMANOID | M1_OMNIVORE, 1729. M2_NOPOLY | M2_HUMAN | M2_MERC | M2_STALK | M2_PEACEFUL | M2_STRONG | 1730. M2_COLLECT, 0, C(BROWN) }, 1731. #endif 1732. #ifdef ARMY 1733. # ifndef MUSE 1734. { "unarmored soldier", S_HUMAN, 6, 4, 10, 0, -2, G_NOGEN, 1735. { { AT_WEAP, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, 1736. NO_ATTK, NO_ATTK, NO_ATTK }, 1737. WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN, 1738. 0, 0, M1_HUMANOID | M1_OMNIVORE, 1739. M2_NOPOLY | M2_HUMAN | M2_MERC | M2_STALK | M2_HOSTILE | M2_STRONG | 1740. M2_COLLECT, 0, C(BROWN) }, 1741. # endif 1742. { "soldier", S_HUMAN, 6, 4, MARM(10,3), 0, -2, (G_SGROUP | G_GENO | 1), 1743. { { AT_WEAP, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, 1744. NO_ATTK, NO_ATTK, NO_ATTK }, 1745. WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN, 1746. 0, 0, M1_HUMANOID | M1_OMNIVORE, 1747. M2_NOPOLY | M2_HUMAN | M2_MERC | M2_STALK | M2_HOSTILE | M2_STRONG | 1748. M2_COLLECT, 0, C(GRAY) }, 1749. { "sergeant", S_HUMAN, 8, 4, MARM(10,0), 5, -3, (G_SGROUP | G_GENO | 1), 1750. { { AT_WEAP, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK, 1751. NO_ATTK, NO_ATTK, NO_ATTK }, 1752. WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN, 1753. 0, 0, M1_HUMANOID | M1_OMNIVORE, 1754. M2_NOPOLY | M2_HUMAN | M2_MERC | M2_STALK | M2_HOSTILE | M2_STRONG | 1755. M2_COLLECT, 0, C(RED) }, 1756. { "lieutenant", S_HUMAN, 10, 4, MARM(10,-2), 15, -4, (G_GENO | 1), 1757. { { AT_WEAP, AD_PHYS, 3, 4 }, { AT_WEAP, AD_PHYS, 3, 4 }, 1758. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1759. WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN, 1760. 0, 0, M1_HUMANOID | M1_OMNIVORE, 1761. M2_NOPOLY | M2_HUMAN | M2_MERC | M2_STALK | M2_HOSTILE | M2_STRONG | 1762. M2_COLLECT, 0, C(GREEN) }, 1763. { "captain", S_HUMAN, 12, 4, MARM(10,-3), 15, -5, (G_GENO | 1), 1764. { { AT_WEAP, AD_PHYS, 4, 4 }, { AT_WEAP, AD_PHYS, 4, 4 }, 1765. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1766. WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN, 1767. 0, 0, M1_HUMANOID | M1_OMNIVORE, 1768. M2_NOPOLY | M2_HUMAN | M2_MERC | M2_STALK | M2_HOSTILE | M2_STRONG | 1769. M2_COLLECT, 0, C(BLUE) }, 1770. #endif 1771. /* 1772. * Keep these separate - some of the mkroom code assumes that all 1773. * the soldiers are contiguous. 1774. */ 1775. { "watchman", S_HUMAN, 6, 4, MARM(10,3), 0, -2, (G_SGROUP | G_NOGEN | G_GENO | 1), 1776. { { AT_WEAP, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, 1777. NO_ATTK, NO_ATTK, NO_ATTK }, 1778. WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN, 1779. 0, 0, M1_HUMANOID | M1_OMNIVORE, 1780. M2_NOPOLY | M2_HUMAN | M2_MERC | M2_STALK | M2_PEACEFUL | M2_STRONG | 1781. M2_COLLECT, 0, C(GRAY) }, 1782. { "watch captain", S_HUMAN, 10, 4, MARM(10,-2), 15, -4, (G_NOGEN | G_GENO | 1), 1783. { { AT_WEAP, AD_PHYS, 3, 4 }, { AT_WEAP, AD_PHYS, 3, 4 }, 1784. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1785. WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN, 1786. 0, 0, M1_HUMANOID | M1_OMNIVORE, 1787. M2_NOPOLY | M2_HUMAN | M2_MERC | M2_STALK | M2_PEACEFUL | M2_STRONG | 1788. M2_COLLECT, 0, C(GREEN) }, 1789. { "Medusa", S_HUMAN, 20, 12, 2, 50, -15, G_NOGEN | G_UNIQ, 1790. { { AT_CLAW, AD_PHYS, 1, 8 }, { AT_GAZE, AD_STON, 0, 0 }, 1791. { AT_BITE, AD_DRST, 1, 6 }, { AT_WEAP, AD_PHYS, 2, 4 }, 1792. NO_ATTK, NO_ATTK }, 1793. WT_HUMAN, 400, 0, MS_HISS, MZ_LARGE, 1794. MR_POISON | MR_STONE, MR_POISON | MR_STONE, M1_SWIM | 1795. M1_AMPHIBIOUS | M1_HUMANOID | M1_SLITHY | M1_POIS | M1_OMNIVORE, 1796. M2_NOPOLY | M2_HOSTILE | M2_STRONG | M2_PNAME | M2_FEMALE, 1797. 0, C(BRIGHT_GREEN) }, 1798. { "Wizard of Yendor", S_HUMAN, 30, 12, -8, 100, A_NONE, G_NOGEN, 1799. { { AT_CLAW, AD_SAMU, 2, 12 }, { AT_MAGC, AD_SPEL, 0, 0 }, 1800. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1801. WT_HUMAN, 400, 0, MS_CUSS, MZ_HUMAN, 1802. MR_FIRE | MR_POISON, MR_FIRE | MR_POISON, 1803. M1_FLY | M1_BREATHLESS | M1_HUMANOID | M1_REGEN | M1_SEE_INVIS | 1804. M1_TPORT | M1_TPORT_CNTRL | M1_OMNIVORE, 1805. M2_NOPOLY | M2_HUMAN | M2_PNAME | M2_HOSTILE | M2_STRONG | M2_NASTY | 1806. M2_PRINCE | M2_MALE | M2_MAGIC, 1807. M3_COVETOUS | M3_WAITFORU, C(HI_LORD) }, 1808. #ifdef MULDGN 1809. { "Croesus", S_HUMAN, 20, 15, 0, 40, 15, (G_UNIQ | G_NOGEN), 1810. { { AT_WEAP, AD_PHYS, 4, 10 }, NO_ATTK, NO_ATTK, 1811. NO_ATTK, NO_ATTK, NO_ATTK }, 1812. WT_HUMAN, 400, 0, MS_GUARD, MZ_HUMAN, 1813. MR_STONE, MR_STONE, M1_HUMANOID | M1_SEE_INVIS | M1_OMNIVORE, 1814. M2_NOPOLY | M2_HUMAN | M2_STALK | M2_PEACEFUL | M2_STRONG | M2_NASTY | 1815. M2_PNAME | M2_PRINCE | M2_MALE | M2_GREEDY | M2_JEWELS | M2_COLLECT | 1816. M2_MAGIC, 0, C(HI_LORD) }, 1817. #endif 1818. #ifdef CHARON 1819. { "Charon", S_HUMAN, 76, 18, -5, 120, 0, 1820. (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ), 1821. { { AT_WEAP, AD_PHYS, 1, 8 }, { AT_TUCH, AD_PLYS, 1, 8 }, 1822. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1823. WT_HUMAN, 400, 0, MS_FERRY, MZ_HUMAN, 1824. MR_FIRE | MR_COLD | MR_POISON | MR_STONE, 0, 1825. M1_BREATHLESS | M1_SEE_INVIS | M1_HUMANOID, 1826. M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_PNAME | M2_MALE | M2_GREEDY | 1827. M2_COLLECT, 1828. 0, C(WHITE) }, 1829. #endif 1830. /* Ghosts */ 1831. { "ghost", S_GHOST, 10, 3, -5, 50, -5, (G_NOCORPSE | G_NOGEN), 1832. { { AT_TUCH, AD_PHYS, 1, 1 }, NO_ATTK, NO_ATTK, 1833. NO_ATTK, NO_ATTK, NO_ATTK }, 1834. WT_HUMAN, 0, PL_NSIZ, MS_SILENT, MZ_HUMAN, 1835. MR_COLD | MR_DISINT | MR_SLEEP | MR_POISON | MR_STONE, 0, 1836. M1_FLY | M1_BREATHLESS | M1_WALLWALK | M1_HUMANOID | M1_UNSOLID, 1837. M2_NOPOLY | M2_UNDEAD | M2_STALK | M2_HOSTILE, 0, C(GRAY) }, 1838. { "shade", S_GHOST, 12, 10, 10, 0, 0, (G_NOCORPSE | G_NOGEN), 1839. { { AT_TUCH, AD_PLYS, 2, 6 }, { AT_TUCH, AD_SLOW, 1, 6}, 1840. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1841. WT_HUMAN, 0, 0, MS_WAIL, MZ_HUMAN, 1842. MR_COLD | MR_DISINT | MR_SLEEP | MR_POISON | MR_STONE, 0, 1843. M1_FLY | M1_BREATHLESS | M1_WALLWALK | M1_HUMANOID | M1_UNSOLID | 1844. M1_SEE_INVIS, 1845. M2_NOPOLY | M2_UNDEAD | M2_WANDER | M2_STALK | M2_HOSTILE, 1846. 0, C(BLACK) }, 1847. /* (major) Demons */ 1848. { "water demon", S_DEMON, 8, 12,-4, 30, -7, (G_NOCORPSE | G_NOGEN), 1849. { { AT_WEAP, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 }, 1850. { AT_BITE, AD_PHYS, 1, 3 }, NO_ATTK, NO_ATTK, NO_ATTK }, 1851. WT_HUMAN, 400, 0, MS_SILENT, MZ_HUMAN, 1852. MR_FIRE | MR_POISON, 0, M1_HUMANOID | M1_POIS | M1_SWIM, 1853. M2_DEMON | M2_STALK | M2_HOSTILE | M2_NASTY | M2_COLLECT, 1854. 0, C(BLUE) }, 1855. /* standard demons & devils */ 1856. { "horned devil", S_DEMON, 6, 9, -5, 50, 11, (G_HELL | G_NOCORPSE | 2), 1857. { { AT_WEAP, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, 1858. { AT_BITE, AD_PHYS, 2, 3 }, { AT_STNG, AD_PHYS, 1, 3 }, 1859. NO_ATTK, NO_ATTK }, 1860. WT_HUMAN, 400, 0, MS_SILENT, MZ_HUMAN, 1861. MR_FIRE | MR_POISON, 0, M1_POIS | M1_THICK_HIDE, 1862. M2_DEMON | M2_STALK | M2_HOSTILE | M2_NASTY, 0, C(BROWN) }, 1863. #ifdef SEDUCE 1864. { "succubus", S_DEMON, 6, 12, 0, 70, -9, (G_NOCORPSE | 1), 1865. { { AT_BITE, AD_SSEX, 0, 0 }, { AT_CLAW, AD_PHYS, 1, 3 }, 1866. { AT_CLAW, AD_PHYS, 1, 3 }, NO_ATTK, 1867. NO_ATTK, NO_ATTK }, 1868. WT_HUMAN, 400, 0, MS_SEDUCE, MZ_HUMAN, 1869. MR_FIRE | MR_POISON, 0, M1_HUMANOID | M1_FLY | M1_POIS, 1870. M2_DEMON | M2_STALK | M2_HOSTILE | M2_NASTY | M2_FEMALE, 0, C(GRAY) }, 1871. { "incubus", S_DEMON, 6, 12, 0, 70, -9, (G_NOCORPSE | 1), 1872. { { AT_BITE, AD_SSEX, 0, 0 }, { AT_CLAW, AD_PHYS, 1, 3 }, 1873. { AT_CLAW, AD_PHYS, 1, 3 }, NO_ATTK, NO_ATTK, NO_ATTK }, 1874. WT_HUMAN, 400, 0, MS_SEDUCE, MZ_HUMAN, 1875. MR_FIRE | MR_POISON, 0, M1_HUMANOID | M1_FLY | M1_POIS, 1876. M2_DEMON | M2_STALK | M2_HOSTILE | M2_NASTY | M2_MALE, 0, C(GRAY) }, 1877. #else 1878. { "succubus", S_DEMON, 6, 12, 0, 70, -9, (G_NOCORPSE | 1), 1879. { { AT_CLAW, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 }, 1880. { AT_BITE, AD_DRLI, 2, 6 }, NO_ATTK, NO_ATTK, NO_ATTK }, 1881. WT_HUMAN, 400, 0, MS_SEDUCE, MZ_HUMAN, 1882. MR_FIRE | MR_POISON, 0, M1_HUMANOID | M1_FLY, 1883. M2_DEMON | M2_STALK | M2_HOSTILE | M2_NASTY | M2_FEMALE, 0, C(GRAY) }, 1884. { "incubus", S_DEMON, 6, 12, 0, 70, -9, (G_NOCORPSE | 1), 1885. { { AT_CLAW, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 }, 1886. { AT_BITE, AD_DRLI, 2, 6 }, NO_ATTK, NO_ATTK, NO_ATTK }, 1887. WT_HUMAN, 400, 0, MS_SEDUCE, MZ_HUMAN, 1888. MR_FIRE | MR_POISON, 0, M1_HUMANOID | M1_FLY | M1_POIS, 1889. M2_DEMON | M2_STALK | M2_HOSTILE | M2_NASTY | M2_MALE, 0, C(GRAY) }, 1890. #endif 1891. { "erinyes", S_DEMON, 7, 12, 2, 30, 10, 1892. (G_HELL | G_NOCORPSE | G_SGROUP | 2), 1893. { { AT_WEAP, AD_DRST, 2, 4 }, NO_ATTK, NO_ATTK, 1894. NO_ATTK, NO_ATTK, NO_ATTK }, 1895. WT_HUMAN, 400, 0, MS_SILENT, MZ_HUMAN, 1896. MR_FIRE | MR_POISON, 0, M1_HUMANOID | M1_POIS, 1897. M2_DEMON | M2_STALK | M2_HOSTILE | M2_STRONG | M2_NASTY | M2_FEMALE | 1898. M2_COLLECT, 0, C(RED) }, 1899. { "barbed devil", S_DEMON, 8, 12, 0, 35, 8, 1900. (G_HELL | G_NOCORPSE | G_SGROUP | 2), 1901. { { AT_CLAW, AD_PHYS, 2, 4 }, { AT_CLAW, AD_PHYS, 2, 4 }, 1902. { AT_STNG, AD_PHYS, 3, 4 }, NO_ATTK, NO_ATTK, NO_ATTK }, 1903. WT_HUMAN, 400, 0, MS_SILENT, MZ_HUMAN, 1904. MR_FIRE | MR_POISON, 0, M1_POIS | M1_THICK_HIDE, 1905. M2_DEMON | M2_STALK | M2_HOSTILE | M2_NASTY, 0, C(RED) }, 1906. { "marilith", S_DEMON, 7, 12, -6, 80, -12, (G_HELL | G_NOCORPSE | 1), 1907. { { AT_WEAP, AD_PHYS, 2, 4 }, { AT_WEAP, AD_PHYS, 2, 4 }, 1908. { AT_WEAP, AD_PHYS, 2, 4 }, { AT_WEAP, AD_PHYS, 2, 4 }, 1909. { AT_WEAP, AD_PHYS, 2, 4 }, { AT_WEAP, AD_PHYS, 2, 4 } }, 1910. WT_HUMAN, 400, 0, MS_CUSS, MZ_LARGE, 1911. MR_FIRE | MR_POISON, 0, 1912. M1_HUMANOID | M1_SLITHY | M1_SEE_INVIS | M1_POIS, 1913. M2_DEMON | M2_STALK | M2_HOSTILE | M2_NASTY | M2_FEMALE | M2_COLLECT, 1914. 0, C(RED) }, 1915. { "vrock", S_DEMON, 8, 12, 0, 50, -9, 1916. (G_HELL | G_NOCORPSE | G_SGROUP | 2), 1917. { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, 1918. { AT_CLAW, AD_PHYS, 1, 8 }, { AT_CLAW, AD_PHYS, 1, 8 }, 1919. { AT_BITE, AD_PHYS, 1, 6 }, NO_ATTK }, 1920. WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE, 1921. MR_FIRE | MR_POISON, 0, M1_POIS, 1922. M2_DEMON | M2_STALK | M2_HOSTILE | M2_NASTY, 0, C(RED) }, 1923. { "hezrou", S_DEMON, 9, 6, -2, 55, -10, 1924. (G_HELL | G_NOCORPSE | G_SGROUP | 2), 1925. { { AT_CLAW, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 }, 1926. { AT_BITE, AD_PHYS, 4, 4 }, NO_ATTK, NO_ATTK, NO_ATTK }, 1927. WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE, 1928. MR_FIRE | MR_POISON, 0, M1_HUMANOID | M1_POIS, 1929. M2_DEMON | M2_STALK | M2_HOSTILE | M2_NASTY, 0, C(RED) }, 1930. { "bone devil", S_DEMON, 9, 15, -1, 40, -9, 1931. (G_HELL | G_NOCORPSE | G_SGROUP | 2), 1932. { { AT_WEAP, AD_PHYS, 3, 4 }, { AT_STNG, AD_DRST, 2, 4 }, 1933. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1934. WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE, 1935. MR_FIRE | MR_POISON, 0, M1_POIS, 1936. M2_DEMON | M2_STALK | M2_HOSTILE | M2_NASTY | M2_COLLECT, 1937. 0, C(GRAY) }, 1938. { "ice devil", S_DEMON, 11, 6, -4, 55, -12, (G_HELL | G_NOCORPSE | 2), 1939. { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, 1940. { AT_BITE, AD_PHYS, 2, 4 }, { AT_STNG, AD_COLD, 3, 4 }, 1941. NO_ATTK, NO_ATTK }, 1942. WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE, 1943. MR_FIRE | MR_COLD | MR_POISON, 0, M1_SEE_INVIS | M1_POIS, 1944. M2_DEMON | M2_STALK | M2_HOSTILE | M2_NASTY, 0, C(WHITE) }, 1945. { "nalfeshnee", S_DEMON, 11, 9, -1, 65, -11, (G_HELL | G_NOCORPSE | 1), 1946. { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, 1947. { AT_BITE, AD_PHYS, 2, 4 }, { AT_MAGC, AD_SPEL, 0, 0 }, 1948. NO_ATTK, NO_ATTK }, 1949. WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE, 1950. MR_FIRE | MR_POISON, 0, M1_HUMANOID | M1_POIS, 1951. M2_DEMON | M2_STALK | M2_HOSTILE | M2_NASTY, 0, C(RED) }, 1952. { "pit fiend", S_DEMON, 13, 6, -3, 65, -13, (G_HELL | G_NOCORPSE | 2), 1953. { { AT_WEAP, AD_PHYS, 4, 2 }, { AT_WEAP, AD_PHYS, 4, 2 }, 1954. { AT_HUGS, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK }, 1955. WT_HUMAN, 400, 0, MS_GROWL, MZ_LARGE, 1956. MR_FIRE | MR_POISON, 0, M1_SEE_INVIS | M1_POIS, 1957. M2_DEMON | M2_STALK | M2_HOSTILE | M2_NASTY | M2_COLLECT, 0, C(RED) }, 1958. { "balrog", S_DEMON, 16, 5, -2, 75, -14, (G_HELL | G_NOCORPSE | 1), 1959. { { AT_WEAP, AD_PHYS, 8, 4 }, { AT_WEAP, AD_PHYS, 4, 6 }, 1960. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1961. WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE, 1962. MR_FIRE | MR_POISON, 0, M1_FLY | M1_SEE_INVIS | M1_POIS, 1963. M2_DEMON | M2_STALK | M2_HOSTILE | M2_STRONG | M2_NASTY | M2_COLLECT, 1964. 0, C(RED) }, 1965. /* Named demon lords & princes plus Arch-Devils */ 1966. { "Juiblex", S_DEMON, 50, 3, -7, 65, -15, 1967. (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ), 1968. { { AT_ENGL, AD_DISE, 4, 10 }, { AT_SPIT, AD_ACID, 3, 6 }, 1969. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 1970. 1500, 0, 0, MS_GURGLE, MZ_LARGE, 1971. MR_FIRE | MR_POISON | MR_ACID | MR_STONE, 0, 1972. M1_AMPHIBIOUS | M1_AMORPHOUS | M1_NOHEAD | M1_FLY | M1_SEE_INVIS | 1973. M1_ACID | M1_POIS, 1974. M2_NOPOLY | M2_DEMON | M2_STALK | M2_HOSTILE | M2_PNAME | M2_NASTY | 1975. M2_LORD | M2_MALE, 1976. M3_WANTSAMUL, C(BRIGHT_GREEN) }, 1977. { "Yeenoghu", S_DEMON, 56, 18, -5, 80, -15, 1978. (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ), 1979. { { AT_WEAP, AD_PHYS, 3, 6 }, { AT_WEAP, AD_CONF, 2, 8 }, 1980. { AT_WEAP, AD_PLYS, 1, 6 }, { AT_MAGC, AD_MAGM, 2, 6 }, 1981. NO_ATTK, NO_ATTK }, 1982. 900, 500, 0, MS_ORC, MZ_LARGE, MR_FIRE | MR_POISON, 0, 1983. M1_FLY | M1_SEE_INVIS | M1_POIS, M2_NOPOLY | M2_DEMON | M2_STALK | 1984. M2_HOSTILE | M2_PNAME | M2_NASTY | M2_LORD | M2_MALE | M2_COLLECT, 1985. M3_WANTSAMUL, C(HI_LORD) }, 1986. { "Orcus", S_DEMON, 66, 9, -6, 85, -20, 1987. (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ), 1988. { { AT_MAGC, AD_SPEL, 8, 6 }, { AT_WEAP, AD_PHYS, 3, 6 }, 1989. { AT_CLAW, AD_PHYS, 3, 4 }, { AT_CLAW, AD_PHYS, 3, 4 }, 1990. { AT_STNG, AD_DRST, 2, 4 }, NO_ATTK }, 1991. 1500, 500, 0, MS_ORC, MZ_HUGE, 1992. MR_FIRE | MR_POISON, 0, 1993. M1_FLY | M1_SEE_INVIS | M1_POIS, M2_NOPOLY | M2_DEMON | M2_STALK | 1994. M2_HOSTILE | M2_PNAME | M2_NASTY | M2_PRINCE | M2_MALE | M2_COLLECT, 1995. M3_WANTSBOOK | M3_WANTSAMUL, C(HI_LORD) }, 1996. { "Geryon", S_DEMON, 72, 3, -3, 75, 15, 1997. (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ), 1998. { { AT_CLAW, AD_PHYS, 3, 6 }, { AT_CLAW, AD_PHYS, 3, 6 }, 1999. { AT_STNG, AD_DRST, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK }, 2000. 1500, 500, 0, MS_BRIBE, MZ_HUGE, 2001. MR_FIRE | MR_POISON, 0, 2002. M1_FLY | M1_SEE_INVIS | M1_POIS | M1_SLITHY, M2_NOPOLY | M2_DEMON | 2003. M2_STALK | M2_HOSTILE | M2_PNAME | M2_NASTY | M2_PRINCE | M2_MALE, 2004. M3_WANTSAMUL, C(HI_LORD) }, 2005. { "Dispater", S_DEMON, 78, 15, -2, 80, 15, 2006. (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ), 2007. { { AT_WEAP, AD_PHYS, 4, 6 }, { AT_MAGC, AD_SPEL, 6, 6 }, 2008. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 2009. 1500, 500, 0, MS_BRIBE, MZ_HUMAN, 2010. MR_FIRE | MR_POISON, 0, M1_FLY | M1_SEE_INVIS | M1_POIS | 2011. M1_HUMANOID, M2_NOPOLY | M2_DEMON | M2_STALK | M2_HOSTILE | 2012. M2_PNAME | M2_NASTY | M2_PRINCE | M2_MALE | M2_COLLECT, 2013. M3_WANTSAMUL, C(HI_LORD) }, 2014. { "Baalzebub", S_DEMON, 89, 9, -5, 85, 20, 2015. (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ), 2016. { { AT_BITE, AD_DRST, 2, 6 }, { AT_GAZE, AD_STUN, 2, 6 }, 2017. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 2018. 1500, 500, 0, MS_BRIBE, MZ_LARGE, 2019. MR_FIRE | MR_POISON, 0, M1_FLY | M1_SEE_INVIS | M1_POIS, 2020. M2_NOPOLY | M2_DEMON | M2_STALK | M2_HOSTILE | M2_PNAME | M2_NASTY | 2021. M2_PRINCE | M2_MALE, M3_WANTSAMUL | M3_WAITFORU, C(HI_LORD) }, 2022. { "Asmodeus", S_DEMON, 105, 12, -7, 90, 20, 2023. (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ), 2024. { { AT_CLAW, AD_PHYS, 4, 4 }, { AT_MAGC, AD_COLD, 6, 6 }, 2025. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 2026. 1500, 500, 0, MS_BRIBE, MZ_HUGE, 2027. MR_FIRE | MR_COLD | MR_POISON, 0, 2028. M1_FLY | M1_SEE_INVIS | M1_HUMANOID | M1_POIS, 2029. M2_NOPOLY | M2_DEMON | M2_STALK | M2_HOSTILE | M2_PNAME | M2_STRONG | 2030. M2_NASTY | M2_PRINCE | M2_MALE, M3_WANTSAMUL | M3_WAITFORU, 2031. C(HI_LORD) }, 2032. { "Demogorgon", S_DEMON, 106, 15, -8, 95, -20, 2033. (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ), 2034. { { AT_MAGC, AD_SPEL, 8, 6 }, { AT_STNG, AD_DRLI, 1, 4 }, 2035. { AT_CLAW, AD_DISE, 1, 6 }, { AT_CLAW, AD_DISE, 1, 6 }, 2036. NO_ATTK, NO_ATTK }, 2037. 1500, 500, 0, MS_GROWL, MZ_HUGE, MR_FIRE | MR_POISON, 0, 2038. M1_FLY | M1_SEE_INVIS | M1_NOHANDS | M1_POIS, M2_NOPOLY | M2_DEMON | 2039. M2_STALK | M2_HOSTILE | M2_PNAME | M2_NASTY | M2_PRINCE | M2_MALE, 2040. M3_WANTSAMUL, C(HI_LORD) }, 2041. { "Death", S_DEMON, 20, 3, 4, 95, 0, (G_UNIQ | G_NOGEN), 2042. { { AT_TUCH, AD_DETH, 8, 8 }, { AT_TUCH, AD_DETH, 8, 8 }, 2043. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 2044. WT_HUMAN, 0, 0, MS_DEATH, MZ_HUMAN, 2045. MR_FIRE | MR_COLD | MR_ELEC | MR_SLEEP | MR_POISON | MR_STONE, 2046. MR_FIRE | MR_COLD | MR_ELEC | MR_SLEEP | MR_POISON | MR_STONE, 2047. M1_FLY | M1_SEE_INVIS | M1_HUMANOID | M1_REGEN, 2048. M2_NOPOLY | M2_STALK | M2_HOSTILE | M2_PNAME | M2_STRONG | M2_NASTY, 2049. 0, C(HI_LORD) }, 2050. { "Pestilence", S_DEMON, 20, 3, 4, 95, 0, (G_UNIQ | G_NOGEN), 2051. { { AT_TUCH, AD_PEST, 8, 8 }, { AT_TUCH, AD_PEST, 8, 8 }, 2052. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 2053. WT_HUMAN, 0, 0, MS_PESTILENCE, MZ_HUMAN, 2054. MR_FIRE | MR_COLD | MR_ELEC | MR_SLEEP | MR_POISON | MR_STONE, 2055. MR_FIRE | MR_COLD | MR_ELEC | MR_SLEEP | MR_POISON | MR_STONE, 2056. M1_FLY | M1_SEE_INVIS | M1_HUMANOID | M1_REGEN, 2057. M2_NOPOLY | M2_STALK | M2_HOSTILE | M2_PNAME | M2_STRONG | M2_NASTY, 2058. 0, C(HI_LORD) }, 2059. { "Famine", S_DEMON, 20, 3, 4, 95, 0, (G_UNIQ | G_NOGEN), 2060. { { AT_TUCH, AD_FAMN, 8, 8 }, { AT_TUCH, AD_FAMN, 8, 8 }, 2061. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 2062. WT_HUMAN, 0, 0, MS_FAMINE, MZ_HUMAN, 2063. MR_FIRE | MR_COLD | MR_ELEC | MR_SLEEP | MR_POISON | MR_STONE, 2064. MR_FIRE | MR_COLD | MR_ELEC | MR_SLEEP | MR_POISON | MR_STONE, 2065. M1_FLY | M1_SEE_INVIS | M1_HUMANOID | M1_REGEN, 2066. M2_NOPOLY | M2_STALK | M2_HOSTILE | M2_PNAME | M2_STRONG | M2_NASTY, 2067. 0, C(HI_LORD) }, 2068. #ifdef MAIL 2069. { "mail daemon", S_DEMON, 56, 24, 10, 127, 0, (G_NOGEN | G_NOCORPSE), 2070. { NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 2071. 600, 300, 0, MS_SILENT, MZ_HUMAN, 2072. MR_FIRE | MR_COLD | MR_ELEC | MR_SLEEP | MR_POISON | MR_STONE, 0, 2073. M1_FLY | M1_SWIM | M1_BREATHLESS | M1_SEE_INVIS | M1_HUMANOID | 2074. M1_POIS, M2_NOPOLY | M2_STALK | M2_PEACEFUL, 0, C(BRIGHT_BLUE) }, 2075. /* Neither rain nor sleet nor gloom of night shall stay this courier... */ 2076. #endif 2077. { "djinni", S_DEMON, 7, 12, 4, 30, 0, (G_NOGEN | G_NOCORPSE), 2078. { { AT_WEAP, AD_PHYS, 2, 8 }, NO_ATTK, NO_ATTK, 2079. NO_ATTK, NO_ATTK, NO_ATTK }, 2080. 1500, 400, 0, MS_DJINNI, MZ_HUMAN, MR_POISON | MR_STONE, 0, 2081. M1_HUMANOID | M1_FLY | M1_POIS, 2082. M2_NOPOLY | M2_STALK | M2_COLLECT, 0, C(YELLOW) }, 2083. /* sea monsters */ 2084. { "giant eel", S_EEL, 5, 9, -1, 0, 0, (G_GENO | G_NOGEN), 2085. { { AT_BITE, AD_PHYS, 3, 6 }, { AT_TUCH, AD_WRAP, 0, 0 }, 2086. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 2087. 200, 250, 0, MS_SILENT, MZ_HUGE, 2088. 0, 0, M1_SWIM | M1_AMPHIBIOUS | M1_ANIMAL | M1_SLITHY | 2089. M1_NOLIMBS | M1_CARNIVORE | M1_OVIPAROUS, M2_HOSTILE, 0, C(CYAN) }, 2090. { "electric eel", S_EEL, 7, 10, -3, 0, 0, (G_GENO | G_NOGEN), 2091. { { AT_BITE, AD_ELEC, 4, 6 }, { AT_TUCH, AD_WRAP, 0, 0 }, 2092. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 2093. 200, 250, 0, MS_SILENT, MZ_HUGE, MR_ELEC, MR_ELEC, 2094. M1_SWIM | M1_AMPHIBIOUS | M1_ANIMAL | M1_SLITHY | M1_NOLIMBS | 2095. M1_CARNIVORE | M1_OVIPAROUS, M2_HOSTILE, 0, C(BLUE) }, 2096. { "kraken", S_EEL, 20, 3, 6, 0, -3, (G_GENO | G_NOGEN), 2097. { { AT_CLAW, AD_PHYS, 2, 4 }, { AT_CLAW, AD_PHYS, 2, 4 }, 2098. { AT_HUGS, AD_WRAP, 2, 6 }, { AT_BITE, AD_PHYS, 5, 4 }, 2099. NO_ATTK, NO_ATTK }, 2100. 1800, 1000, 0, MS_SILENT, MZ_HUGE, 0, 0, 2101. M1_SWIM | M1_AMPHIBIOUS | M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, 2102. M2_NOPOLY | M2_HOSTILE | M2_STRONG, 0, C(RED) }, 2103. /* lizards */ 2104. { "newt", S_LIZARD, 0, 6, 8, 0, 0, (G_GENO | 5), 2105. { { AT_BITE, AD_PHYS, 1, 2 }, NO_ATTK, NO_ATTK, 2106. NO_ATTK, NO_ATTK, NO_ATTK }, 2107. 10, 20, 0, MS_SILENT, MZ_TINY, 0, 0, 2108. M1_SWIM | M1_AMPHIBIOUS | M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, 2109. M2_HOSTILE, 0, C(YELLOW) }, 2110. { "gecko", S_LIZARD, 1, 6, 8, 0, 0, (G_GENO | 5), 2111. { { AT_BITE, AD_PHYS, 1, 3 }, NO_ATTK, NO_ATTK, 2112. NO_ATTK, NO_ATTK, NO_ATTK }, 2113. 10, 20, 0, MS_SQEEK, MZ_TINY, 0, 0, 2114. M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_HOSTILE, 0, C(GREEN) }, 2115. { "iguana", S_LIZARD, 2, 6, 7, 0, 0, (G_GENO | 5), 2116. { { AT_BITE, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, 2117. NO_ATTK, NO_ATTK, NO_ATTK }, 2118. 30, 30, 0, MS_SILENT, MZ_TINY, 0, 0, 2119. M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_HOSTILE, 0, C(BROWN) }, 2120. { "baby crocodile", S_LIZARD, 3, 6, 7, 0, 0, G_GENO, 2121. { { AT_BITE, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, 2122. NO_ATTK, NO_ATTK, NO_ATTK }, 2123. 200, 200, 0, MS_SILENT, MZ_MEDIUM, 0, 0, 2124. M1_SWIM | M1_AMPHIBIOUS | M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, 2125. M2_HOSTILE, 0, C(BROWN) }, 2126. { "lizard", S_LIZARD, 5, 6, 6, 10, 0, (G_GENO | 5), 2127. { { AT_BITE, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 2128. NO_ATTK, NO_ATTK, NO_ATTK }, 2129. 10, 40, 0, MS_SILENT, MZ_TINY, MR_STONE, MR_STONE, 2130. M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, M2_HOSTILE, 0, C(GREEN) }, 2131. { "chameleon", S_LIZARD, 6, 5, 6, 10, 0, (G_GENO | 2), 2132. { { AT_BITE, AD_PHYS, 4, 2 }, NO_ATTK, NO_ATTK, 2133. NO_ATTK, NO_ATTK, NO_ATTK }, 2134. 100, 100, 0, MS_SILENT, MZ_TINY, 2135. 0, 0, M1_ANIMAL | M1_NOHANDS | M1_CARNIVORE, 2136. M2_NOPOLY | M2_HOSTILE, 0, C(BROWN) }, 2137. { "crocodile", S_LIZARD, 6, 9, 5, 0, 0, (G_GENO | 1), 2138. { { AT_BITE, AD_PHYS, 4, 2 }, { AT_CLAW, AD_PHYS, 1, 12 }, 2139. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 2140. WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE, 0, 0, 2141. M1_SWIM | M1_AMPHIBIOUS | M1_ANIMAL | M1_THICK_HIDE | M1_NOHANDS | 2142. M1_OVIPAROUS | M1_CARNIVORE, M2_STRONG | M2_HOSTILE, 0, C(BROWN) }, 2143. 2144. /* character classes */ 2145. { "archeologist", S_HUMAN, 1, 10, 10, 1, 3, G_NOGEN, 2146. { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 2147. NO_ATTK, NO_ATTK, NO_ATTK }, 2148. WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN, 0, 0, 2149. M1_HUMANOID | M1_TUNNEL | M1_NEEDPICK | M1_OMNIVORE, 2150. M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_COLLECT, 0, C(HI_DOMESTIC) }, 2151. { "barbarian", S_HUMAN, 1, 10, 10, 1, 0, G_NOGEN, 2152. { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 2153. NO_ATTK, NO_ATTK, NO_ATTK }, 2154. WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN, MR_POISON, MR_POISON, 2155. M1_HUMANOID | M1_OMNIVORE, 2156. M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_COLLECT, 0, C(HI_DOMESTIC) }, 2157. { "caveman", S_HUMAN, 1, 10, 10, 0, 1, G_NOGEN, 2158. { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, 2159. NO_ATTK, NO_ATTK, NO_ATTK }, 2160. WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN, 0, 0, 2161. M1_HUMANOID | M1_OMNIVORE, 2162. M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_MALE | M2_COLLECT, 0, C(RED) }, 2163. { "cavewoman", S_HUMAN, 1, 10, 10, 0, 1, G_NOGEN, 2164. { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, 2165. NO_ATTK, NO_ATTK, NO_ATTK }, 2166. WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN, 0, 0, 2167. M1_HUMANOID | M1_OMNIVORE, 2168. M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_FEMALE | M2_COLLECT, 2169. 0, C(HI_DOMESTIC) }, 2170. /* Note: players who are elves still get normal carrying capacity, 2171. * even though this is strictly speaking inconsistent. 2172. */ 2173. { "elf", S_HUMAN, 1, 12, 10, 2, -3, G_NOGEN, 2174. { { AT_WEAP, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, 2175. NO_ATTK, NO_ATTK, NO_ATTK }, 2176. WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN, MR_SLEEP, MR_SLEEP, 2177. M1_HUMANOID | M1_OMNIVORE | M1_SEE_INVIS, 2178. M2_NOPOLY | M2_ELF | M2_STRONG | M2_COLLECT, 0, C(HI_DOMESTIC) }, 2179. { "healer", S_HUMAN, 1, 10, 10, 1, 0, G_NOGEN, 2180. { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 2181. NO_ATTK, NO_ATTK, NO_ATTK }, 2182. WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN, MR_POISON, MR_POISON, 2183. M1_HUMANOID | M1_OMNIVORE, 2184. M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_COLLECT, 0, C(HI_DOMESTIC) }, 2185. { "knight", S_HUMAN, 1, 10, 10, 1, 3, G_NOGEN, 2186. { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 2187. NO_ATTK, NO_ATTK, NO_ATTK }, 2188. WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN, 0, 0, 2189. M1_HUMANOID | M1_OMNIVORE, 2190. M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_COLLECT, 0, C(HI_DOMESTIC) }, 2191. { "priest", S_HUMAN, 1, 10, 10, 2, 0, G_NOGEN, 2192. { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 2193. NO_ATTK, NO_ATTK, NO_ATTK }, 2194. WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN, 0, 0, 2195. M1_HUMANOID | M1_OMNIVORE, 2196. M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_MALE | M2_COLLECT, 2197. 0, C(HI_DOMESTIC) }, 2198. { "priestess", S_HUMAN, 1, 10, 10, 2, 0, G_NOGEN, 2199. { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 2200. NO_ATTK, NO_ATTK, NO_ATTK }, 2201. WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN, 0, 0, 2202. M1_HUMANOID | M1_OMNIVORE, 2203. M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_FEMALE | M2_COLLECT, 2204. 0, C(HI_DOMESTIC) }, 2205. { "rogue", S_HUMAN, 1, 10, 10, 1, -3, G_NOGEN, 2206. { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 2207. NO_ATTK, NO_ATTK, NO_ATTK }, 2208. WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN, 0, 0, 2209. M1_HUMANOID | M1_OMNIVORE, 2210. M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_GREEDY | M2_JEWELS | M2_COLLECT, 2211. 0, C(HI_DOMESTIC) }, 2212. { "samurai", S_HUMAN, 1, 10, 10, 1, 3, G_NOGEN, 2213. { { AT_WEAP, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, 2214. NO_ATTK, NO_ATTK, NO_ATTK }, 2215. WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN, 0, 0, 2216. M1_HUMANOID | M1_OMNIVORE, 2217. M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_COLLECT, 0, C(HI_DOMESTIC) }, 2218. #ifdef TOURIST 2219. { "tourist", S_HUMAN, 1, 10, 10, 1, 0, G_NOGEN, 2220. { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 2221. NO_ATTK, NO_ATTK, NO_ATTK }, 2222. WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN, 0, 0, 2223. M1_HUMANOID | M1_OMNIVORE, 2224. M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_COLLECT, 0, C(HI_DOMESTIC) }, 2225. #endif 2226. { "valkyrie", S_HUMAN, 1, 10, 10, 1, -1, G_NOGEN, 2227. { { AT_WEAP, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, 2228. NO_ATTK, NO_ATTK, NO_ATTK }, 2229. WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN, MR_COLD, MR_COLD, 2230. M1_HUMANOID | M1_OMNIVORE, 2231. M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_FEMALE | M2_COLLECT, 2232. 0, C(HI_DOMESTIC) }, 2233. { "wizard", S_HUMAN, 1, 10, 10, 3, 0, G_NOGEN, 2234. { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 2235. NO_ATTK, NO_ATTK, NO_ATTK }, 2236. WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN, 0, 0, 2237. M1_HUMANOID | M1_OMNIVORE, 2238. M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_COLLECT | M2_MAGIC, 2239. 0, C(HI_DOMESTIC) }, 2240. #ifdef MULDGN 2241. { "Lord Carnarvon", S_HUMAN, 20, 12, 0, 30, 20, (G_NOGEN | G_UNIQ), 2242. { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 2243. NO_ATTK, NO_ATTK, NO_ATTK }, 2244. WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN, 0, 0, 2245. M1_TUNNEL | M1_NEEDPICK | M1_HUMANOID | M1_OMNIVORE, 2246. M2_NOPOLY | M2_HUMAN | M2_PNAME | M2_PEACEFUL | M2_STRONG | M2_MALE | 2247. M2_COLLECT | M2_MAGIC, 2248. M3_CLOSE, C(HI_LORD) }, 2249. { "Pelias", S_HUMAN, 20, 12, 0, 30, 0, (G_NOGEN | G_UNIQ), 2250. { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 2251. NO_ATTK, NO_ATTK, NO_ATTK }, 2252. WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN, MR_POISON, MR_POISON, 2253. M1_HUMANOID | M1_OMNIVORE, 2254. M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | 2255. M2_COLLECT | M2_MAGIC, 2256. M3_CLOSE, C(HI_LORD) }, 2257. { "Shaman Karnov", S_HUMAN, 20, 12, 0, 30, 20, (G_NOGEN | G_UNIQ), 2258. { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, 2259. NO_ATTK, NO_ATTK, NO_ATTK }, 2260. WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN, 0, 0, 2261. M1_HUMANOID | M1_OMNIVORE, 2262. M2_NOPOLY | M2_HUMAN | M2_PNAME | M2_PEACEFUL | M2_STRONG | M2_MALE | 2263. M2_COLLECT | M2_MAGIC, 2264. M3_CLOSE, C(HI_LORD) }, 2265. /* Two for elves - one of each sex. */ 2266. { "Earendil", S_HUMAN, 20, 15, 0, 50, -20, (G_NOGEN | G_UNIQ), 2267. { { AT_WEAP, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, 2268. NO_ATTK, NO_ATTK, NO_ATTK }, 2269. WT_ELF, 350, 0, MS_LEADER, MZ_HUMAN, MR_SLEEP, MR_SLEEP, 2270. M1_HUMANOID | M1_SEE_INVIS | M1_OMNIVORE, 2271. M2_NOPOLY | M2_ELF | M2_HUMAN | M2_PNAME | M2_PEACEFUL | M2_STRONG | 2272. M2_MALE | M2_COLLECT | M2_MAGIC, M3_CLOSE, C(HI_LORD) }, 2273. { "Elwing", S_HUMAN, 20, 15, 0, 50, -20, (G_NOGEN | G_UNIQ), 2274. { { AT_WEAP, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, 2275. NO_ATTK, NO_ATTK, NO_ATTK }, 2276. WT_ELF, 350, 0, MS_LEADER, MZ_HUMAN, MR_SLEEP, MR_SLEEP, 2277. M1_HUMANOID | M1_SEE_INVIS | M1_OMNIVORE, 2278. M2_NOPOLY | M2_ELF | M2_HUMAN | M2_PNAME | M2_PEACEFUL | M2_STRONG | 2279. M2_FEMALE | M2_COLLECT | M2_MAGIC, M3_CLOSE, C(HI_LORD) }, 2280. { "Hippocrates", S_HUMAN, 20, 12, 0, 40, 0, (G_NOGEN | G_UNIQ), 2281. { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 2282. NO_ATTK, NO_ATTK, NO_ATTK }, 2283. WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN, MR_POISON, MR_POISON, 2284. M1_HUMANOID | M1_OMNIVORE, 2285. M2_NOPOLY | M2_HUMAN | M2_PNAME | M2_PEACEFUL | M2_STRONG | M2_MALE | 2286. M2_COLLECT | M2_MAGIC, M3_CLOSE, C(HI_LORD) }, 2287. { "King Arthur", S_HUMAN, 20, 12, 0, 40, 20, (G_NOGEN | G_UNIQ), 2288. { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 2289. NO_ATTK, NO_ATTK, NO_ATTK }, 2290. WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN, 0, 0, 2291. M1_HUMANOID | M1_OMNIVORE, 2292. M2_NOPOLY | M2_HUMAN | M2_PNAME | M2_PEACEFUL | M2_STRONG | M2_MALE | 2293. M2_COLLECT | M2_MAGIC, M3_CLOSE, C(HI_LORD) }, 2294. { "Arch Priest", S_HUMAN, 25, 15, MARM(7,-3), 70, 0, 2295. (G_NOGEN | G_UNIQ), 2296. { { AT_WEAP, AD_PHYS, 4, 10 }, { AT_KICK, AD_PHYS, 2, 8 }, 2297. { AT_MAGC, AD_CLRC, 2, 8 }, { AT_MAGC, AD_CLRC, 2, 8 }, 2298. NO_ATTK, NO_ATTK }, 2299. WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN, 2300. MR_FIRE | MR_ELEC | MR_SLEEP | MR_POISON, 2301. MR_FIRE | MR_ELEC | MR_SLEEP | MR_POISON, 2302. M1_HUMANOID | M1_SEE_INVIS | M1_OMNIVORE, 2303. M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | M2_NASTY | 2304. M2_COLLECT | M2_MAGIC, M3_CLOSE, C(WHITE) }, 2305. { "Master of Thieves", S_HUMAN, 20, 15, 0, 30, -20, (G_NOGEN | G_UNIQ), 2306. { { AT_WEAP, AD_PHYS, 2, 6 }, { AT_WEAP, AD_PHYS, 2, 6 }, NO_ATTK, 2307. NO_ATTK, NO_ATTK, NO_ATTK }, 2308. WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN, 0, 0, 2309. M1_HUMANOID | M1_OMNIVORE, 2310. M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | M2_MALE | 2311. M2_GREEDY | M2_JEWELS | M2_COLLECT | M2_MAGIC, 2312. M3_CLOSE, C(HI_LORD) }, 2313. { "Lord Sato", S_HUMAN, 20, 0, 0, 30, 20, (G_NOGEN | G_UNIQ), 2314. { { AT_WEAP, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, 2315. NO_ATTK, NO_ATTK, NO_ATTK }, 2316. WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN, 0, 0, 2317. M1_HUMANOID | M1_OMNIVORE, 2318. M2_NOPOLY | M2_HUMAN | M2_PNAME | M2_PEACEFUL | M2_STRONG | M2_MALE | 2319. M2_COLLECT | M2_MAGIC, M3_CLOSE, C(HI_LORD) }, 2320. #ifdef TOURIST 2321. { "Twoflower", S_HUMAN, 20, 10, 10, 20, 0, (G_NOGEN | G_UNIQ), 2322. { {AT_WEAP, AD_PHYS, 1, 6}, NO_ATTK, NO_ATTK, 2323. NO_ATTK, NO_ATTK, NO_ATTK }, 2324. WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN, 0, 0, 2325. M1_HUMANOID | M1_OMNIVORE, 2326. M2_NOPOLY | M2_HUMAN | M2_PNAME | M2_PEACEFUL | M2_STRONG | M2_MALE | 2327. M2_COLLECT | M2_MAGIC, M3_CLOSE, C(HI_DOMESTIC) }, 2328. #endif 2329. { "Norn", S_HUMAN, 20, 15, 0, 80, 0, (G_NOGEN | G_UNIQ), 2330. { { AT_WEAP, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, 2331. NO_ATTK, NO_ATTK, NO_ATTK }, 2332. WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN, MR_COLD, MR_COLD, 2333. M1_HUMANOID | M1_OMNIVORE, 2334. M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | M2_FEMALE | 2335. M2_COLLECT | M2_MAGIC, M3_CLOSE, C(HI_LORD) }, 2336. { "Wizard of Balance", S_HUMAN, 20, 12, 0, 60, 0, (G_NOGEN | G_UNIQ), 2337. { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 2338. NO_ATTK, NO_ATTK, NO_ATTK }, 2339. WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN, 0, 0, 2340. M1_HUMANOID | M1_OMNIVORE, 2341. M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | 2342. M2_COLLECT | M2_MAGIC, M3_CLOSE, C(HI_LORD) }, 2343. 2344. /* The nemesis monsters */ 2345. 2346. { "Minion of Huhetol", S_DEMON, 16, 10, -2, 75, -14, 2347. (G_NOCORPSE | G_NOGEN | G_UNIQ), 2348. { { AT_WEAP, AD_PHYS, 8, 4 }, { AT_WEAP, AD_PHYS, 4, 6 }, 2349. { AT_MAGC, AD_SPEL, 0, 0 }, NO_ATTK, NO_ATTK, NO_ATTK }, 2350. WT_HUMAN, 400, 0, MS_NEMESIS, MZ_LARGE, MR_FIRE | MR_POISON, 0, 2351. M1_FLY | M1_SEE_INVIS | M1_POIS, 2352. M2_NOPOLY | M2_DEMON | M2_STALK | M2_HOSTILE | M2_STRONG | M2_NASTY | 2353. M2_COLLECT, M3_WANTSARTI | M3_WAITFORU, C(RED) }, 2354. { "Thoth Amon", S_HUMAN, 16, 10, 0, 10, -14, (G_NOGEN | G_UNIQ), 2355. { { AT_MAGC, AD_SPEL, 0, 0 }, { AT_MAGC, AD_SPEL, 0, 0 }, 2356. { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK }, 2357. WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN, MR_POISON, MR_POISON, 2358. M1_HUMANOID | M1_OMNIVORE, 2359. M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_STALK | M2_HOSTILE | M2_NASTY | 2360. M2_COLLECT | M2_MAGIC, M3_WANTSARTI | M3_WAITFORU, C(HI_LORD) }, 2361. { "Chromatic Dragon", S_DRAGON, 16, 10, 0, 30, -14, (G_NOGEN | G_UNIQ), 2362. { { AT_BREA, AD_RBRE, 6, 8 }, { AT_MAGC, AD_SPEL, 0, 0 }, 2363. { AT_BITE, AD_PHYS, 4, 8 }, { AT_BITE, AD_PHYS, 4, 8 }, 2364. { AT_BITE, AD_PHYS, 4, 8 }, { AT_STNG, AD_PHYS, 1, 6 } }, 2365. WT_DRAGON, 1700, 0, MS_NEMESIS, MZ_GIGANTIC, 2366. MR_FIRE | MR_COLD | MR_ELEC | MR_DISINT | MR_POISON, 2367. MR_FIRE | MR_COLD | MR_ELEC | MR_DISINT | MR_POISON, 2368. M1_THICK_HIDE | M1_NOHANDS | M1_CARNIVORE | M1_SEE_INVIS | M1_POIS, 2369. M2_NOPOLY | M2_HOSTILE | M2_FEMALE | M2_PNAME | M2_STALK | 2370. M2_STRONG | M2_NASTY | M2_GREEDY | M2_JEWELS | M2_MAGIC, 2371. M3_WANTSARTI | M3_WAITFORU, C(HI_LORD) }, 2372. { "Goblin King", S_ORC, 15, 10, MARM(10,4), 0, -15, (G_NOGEN | G_UNIQ), 2373. { { AT_WEAP, AD_PHYS, 2, 6 }, { AT_WEAP, AD_PHYS, 2, 6 }, 2374. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 2375. 750, 350, 0, MS_NEMESIS, MZ_HUMAN, 0, 0, M1_HUMANOID | M1_OMNIVORE, 2376. M2_NOPOLY | M2_ORC | M2_HOSTILE | M2_STRONG | M2_STALK | M2_NASTY | 2377. M2_MALE | M2_GREEDY | M2_JEWELS | M2_COLLECT | M2_MAGIC, 2378. M3_WANTSARTI | M3_WAITFORU, C(HI_LORD) }, 2379. { "Cyclops", S_GIANT, 18, 10, 0, 0, -15, (G_NOGEN | G_UNIQ), 2380. { { AT_WEAP, AD_PHYS, 4, 8 }, { AT_WEAP, AD_PHYS, 4, 8 }, 2381. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 2382. 1900, 700, 0, MS_NEMESIS, MZ_HUGE, 0, 0, 2383. M1_HUMANOID | M1_OMNIVORE, 2384. M2_NOPOLY | M2_GIANT | M2_STRONG | M2_ROCKTHROW | M2_STALK | 2385. M2_HOSTILE | M2_NASTY | M2_MALE | M2_JEWELS | M2_COLLECT, 2386. M3_WANTSARTI | M3_WAITFORU, C(GRAY) }, 2387. { "Ixoth", S_DRAGON, 15, 9, -1, 20, -14, (G_NOGEN | G_UNIQ), 2388. { { AT_BREA, AD_FIRE, 8, 6 }, { AT_BITE, AD_PHYS, 4, 8 }, 2389. { AT_MAGC, AD_SPEL, 0, 0 }, { AT_CLAW, AD_PHYS, 2, 4 }, 2390. { AT_CLAW, AD_PHYS, 2, 4 }, NO_ATTK }, 2391. WT_DRAGON, 1600, 0, MS_NEMESIS, MZ_GIGANTIC, MR_FIRE, MR_FIRE, 2392. M1_FLY | M1_THICK_HIDE | M1_NOHANDS | M1_CARNIVORE | M1_SEE_INVIS, 2393. M2_NOPOLY | M2_HOSTILE | M2_PNAME | M2_STRONG | M2_NASTY | M2_STALK | 2394. M2_GREEDY | M2_JEWELS | M2_MAGIC, 2395. M3_WANTSARTI | M3_WAITFORU, C(RED) }, 2396. { "Nalzok", S_DEMON, 16, 10, -2, 85, -127, 2397. (G_NOGEN | G_UNIQ | G_NOCORPSE), 2398. { { AT_WEAP, AD_PHYS, 8, 4 }, { AT_WEAP, AD_PHYS, 4, 6 }, 2399. { AT_MAGC, AD_SPEL, 0, 0 }, NO_ATTK, NO_ATTK, NO_ATTK }, 2400. WT_HUMAN, 400, 0, MS_NEMESIS, MZ_LARGE, MR_FIRE | MR_POISON, 0, 2401. M1_FLY | M1_SEE_INVIS | M1_POIS, 2402. M2_NOPOLY | M2_DEMON | M2_PNAME | M2_HOSTILE | M2_STRONG | M2_STALK | 2403. M2_NASTY | M2_COLLECT, M3_WANTSARTI | M3_WAITFORU, C(RED) }, 2404. { "Master Assassin", S_HUMAN, 15, 15, 0, 30, 18, (G_NOGEN | G_UNIQ), 2405. { { AT_WEAP, AD_DRST, 2, 6 }, { AT_WEAP, AD_PHYS, 2, 8 }, NO_ATTK, 2406. NO_ATTK, NO_ATTK, NO_ATTK }, 2407. WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN, 0, 0, 2408. M1_HUMANOID | M1_OMNIVORE, 2409. M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_HOSTILE | M2_STALK | M2_NASTY | 2410. M2_COLLECT | M2_MAGIC, 2411. M3_WANTSARTI | M3_WAITFORU, C(HI_LORD) }, 2412. /* A renegade daimyo who led a 13 year civil war against the shogun */ 2413. /* of his time. */ 2414. { "Ashikaga Takauji", S_HUMAN, 15, 15, 0, 40, -13, (G_NOGEN | G_UNIQ), 2415. { { AT_WEAP, AD_PHYS, 2, 6 }, { AT_WEAP, AD_PHYS, 2, 6 }, NO_ATTK, 2416. NO_ATTK, NO_ATTK, NO_ATTK }, 2417. WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN, 0, 0, 2418. M1_HUMANOID | M1_OMNIVORE, 2419. M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_PNAME | M2_HOSTILE | M2_STALK | 2420. M2_NASTY | M2_MALE | M2_COLLECT | M2_MAGIC, 2421. M3_WANTSARTI | M3_WAITFORU, C(HI_LORD) }, 2422. 2423. /* NOTE: the Master of Thieves was defined above. */ 2424. 2425. { "Lord Surtur", S_GIANT, 15, 12, 2, 50, 12, (G_NOGEN | G_UNIQ), 2426. { { AT_WEAP, AD_PHYS, 2, 10 }, { AT_WEAP, AD_PHYS, 2, 10 }, NO_ATTK, 2427. NO_ATTK, NO_ATTK, NO_ATTK }, 2428. 2250, 850, 0, MS_NEMESIS, MZ_HUGE, MR_FIRE, MR_FIRE, 2429. M1_HUMANOID | M1_OMNIVORE, 2430. M2_NOPOLY | M2_GIANT | M2_STRONG | M2_ROCKTHROW | M2_STALK | 2431. M2_HOSTILE | M2_NASTY | M2_MALE | M2_PNAME | M2_COLLECT | M2_JEWELS, 2432. M3_WANTSARTI | M3_WAITFORU, C(HI_LORD) }, 2433. { "Dark One", S_HUMAN, 15, 10, 0, 80, -10, (G_NOGEN | G_UNIQ), 2434. { { AT_WEAP, AD_PHYS, 1, 6 }, { AT_MAGC, AD_SPEL, 0, 0 }, 2435. { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK }, 2436. WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN, 0, 0, 2437. M1_HUMANOID | M1_OMNIVORE, 2438. M2_NOPOLY | M2_HUMAN | M2_STRONG | M2_HOSTILE | M2_STALK | M2_NASTY | 2439. M2_COLLECT | M2_MAGIC, 2440. M3_WANTSARTI | M3_WAITFORU, C(BLACK) }, 2441. 2442. /* The "guards" */ 2443. { "student", S_HUMAN, 5, 10, 10, 10, 3, G_NOGEN, 2444. { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 2445. NO_ATTK, NO_ATTK, NO_ATTK }, 2446. WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN, 0, 0, 2447. M1_TUNNEL | M1_NEEDPICK | M1_HUMANOID | M1_OMNIVORE, 2448. M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | M2_COLLECT, 2449. 0, C(HI_DOMESTIC) }, 2450. { "chieftain", S_HUMAN, 5, 10, 10, 10, 0, G_NOGEN, 2451. { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 2452. NO_ATTK, NO_ATTK, NO_ATTK }, 2453. WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN, MR_POISON, MR_POISON, 2454. M1_HUMANOID | M1_OMNIVORE, 2455. M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | M2_COLLECT, 2456. 0, C(HI_DOMESTIC) }, 2457. { "neanderthal", S_HUMAN, 5, 10, 10, 10, 1, G_NOGEN, 2458. { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, 2459. NO_ATTK, NO_ATTK, NO_ATTK }, 2460. WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN, 0, 0, 2461. M1_HUMANOID | M1_OMNIVORE, 2462. M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | M2_COLLECT, 2463. 0, C(HI_DOMESTIC) }, 2464. { "High-elf", S_HUMAN, 5, 12, MARM(10,5), 10, -7, G_NOGEN, 2465. { { AT_WEAP, AD_PHYS, 2, 4 }, { AT_MAGC, AD_CLRC, 0, 0 }, 2466. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 2467. WT_ELF, 350, 0, MS_GUARDIAN, MZ_HUMAN, MR_SLEEP, MR_SLEEP, 2468. M1_HUMANOID | M1_OMNIVORE, 2469. M2_NOPOLY | M2_ELF | M2_PEACEFUL | M2_COLLECT, 0, C(HI_DOMESTIC) }, 2470. { "intern", S_HUMAN, 5, 10, 10, 10, 3, G_NOGEN, 2471. { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 2472. NO_ATTK, NO_ATTK, NO_ATTK }, 2473. WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN, MR_POISON, MR_POISON, 2474. M1_HUMANOID | M1_OMNIVORE, 2475. M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | M2_COLLECT, 2476. 0, C(HI_DOMESTIC) }, 2477. { "page", S_HUMAN, 5, 10, 10, 10, 3, G_NOGEN, 2478. { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 2479. NO_ATTK, NO_ATTK, NO_ATTK }, 2480. WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN, 0, 0, 2481. M1_HUMANOID | M1_OMNIVORE, 2482. M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | M2_COLLECT, 2483. 0, C(HI_DOMESTIC) }, 2484. { "acolyte", S_HUMAN, 5, 10, 10, 20, 0, G_NOGEN, 2485. { { AT_WEAP, AD_PHYS, 1, 6 }, { AT_MAGC, AD_CLRC, 0, 0 }, 2486. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 2487. WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN, 0, 0, 2488. M1_HUMANOID | M1_OMNIVORE, 2489. M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | M2_COLLECT, 2490. 0, C(HI_DOMESTIC) }, 2491. { "thug", S_HUMAN, 5, 10, 10, 10, -3, G_NOGEN, 2492. { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, 2493. NO_ATTK, NO_ATTK, NO_ATTK }, 2494. WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN, 0, 0, 2495. M1_HUMANOID | M1_OMNIVORE, 2496. M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | 2497. M2_GREEDY | M2_COLLECT, 2498. 0, C(HI_DOMESTIC) }, 2499. { "ninja", S_HUMAN, 5, 10, 10, 10, 3, G_NOGEN, 2500. { { AT_WEAP, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, 2501. NO_ATTK, NO_ATTK, NO_ATTK }, 2502. WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN, 0, 0, 2503. M1_HUMANOID | M1_OMNIVORE, 2504. M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | M2_COLLECT, 2505. 0, C(HI_DOMESTIC) }, 2506. { "ronin", S_HUMAN, 5, 10, 10, 10, 3, G_NOGEN, 2507. { { AT_WEAP, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, 2508. NO_ATTK, NO_ATTK, NO_ATTK }, 2509. WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN, 0, 0, 2510. M1_HUMANOID | M1_OMNIVORE, 2511. M2_NOPOLY | M2_HUMAN | M2_HOSTILE | M2_STRONG | M2_COLLECT, 2512. 0, C(HI_DOMESTIC) }, 2513. #ifdef TOURIST 2514. { "guide", S_HUMAN, 5, 10, 10, 20, 0, G_NOGEN, 2515. { { AT_WEAP, AD_PHYS, 1, 6 }, { AT_MAGC, AD_SPEL, 0, 0 }, 2516. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 2517. WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN, 0, 0, 2518. M1_HUMANOID | M1_OMNIVORE, 2519. M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | 2520. M2_COLLECT | M2_MAGIC, 0, C(HI_DOMESTIC) }, 2521. #endif 2522. { "warrior", S_HUMAN, 5, 10, 10, 10, -1, G_NOGEN, 2523. { { AT_WEAP, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, 2524. NO_ATTK, NO_ATTK, NO_ATTK }, 2525. WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN, 0, 0, 2526. M1_HUMANOID | M1_OMNIVORE, 2527. M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | M2_COLLECT, 2528. 0, C(HI_DOMESTIC) }, 2529. { "apprentice", S_HUMAN, 5, 10, 10, 30, 0, G_NOGEN, 2530. { { AT_WEAP, AD_PHYS, 1, 6 }, { AT_MAGC, AD_SPEL, 0, 0 }, 2531. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 2532. WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN, 0, 0, 2533. M1_HUMANOID | M1_OMNIVORE, 2534. M2_NOPOLY | M2_HUMAN | M2_PEACEFUL | M2_STRONG | 2535. M2_COLLECT | M2_MAGIC, 0, C(HI_DOMESTIC) }, 2536. #endif /* MULDGN /* */ 2537. /* ARRAY TERMINATOR */ 2538. { "", 0, 0, 0, 0, 0, 0, 0, 2539. { NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 2540. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, C(0) } 2541. }; 2542. #endif /* !SPLITMON_1 */ 2543. 2544. #ifndef SPLITMON_1 2545. /* dummy routine used to force linkage */ 2546. void 2547. monst_init() 2548. { 2549. return; 2550. } 2551. #endif 2552. 2553. /*monst.c*/
|