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