home *** CD-ROM | disk | FTP | other *** search
/ Giga Games 1 / Giga Games.iso / net / usenet / volume7 / nethack3 / patch1d < prev    next >
Encoding:
Internet Message Format  |  1989-08-08  |  53.2 KB

  1. Path: uunet!zephyr.ens.tek.com!tekgen!tekred!saab!billr
  2. From: billr@saab.CNA.TEK.COM (Bill Randle)
  3. Newsgroups: comp.sources.games
  4. Subject: v07i097:  NetHack3 -  display oriented dungeons & dragons (Ver. 3.0), Patch1d
  5. Message-ID: <4391@tekred.CNA.TEK.COM>
  6. Date: 3 Aug 89 16:58:43 GMT
  7. Sender: nobody@tekred.CNA.TEK.COM
  8. Lines: 1114
  9. Approved: billr@saab.CNA.TEK.COM
  10.  
  11. Submitted-by: Izchak Miller <izchak@linc.cis.upenn.edu>
  12. Posting-number: Volume 7, Issue 97
  13. Archive-name: NetHack3/Patch1d
  14. Patch-To: NetHack3: Volume 7, Issue 56-93
  15.  
  16.  
  17.  
  18. #! /bin/sh
  19. # This is a shell archive.  Remove anything before this line, then unpack
  20. # it by saving it into a file and typing "sh file".  To overwrite existing
  21. # files, type "sh file -c".  You can also feed this as standard input via
  22. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  23. # will see the following message at the end:
  24. #        "End of archive 4 (of 6)."
  25. # Contents:  src2.diff
  26. # Wrapped by billr@saab on Thu Aug  3 09:57:22 1989
  27. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  28. if test -f 'src2.diff' -a "${1}" != "-c" ; then 
  29.   echo shar: Will not clobber existing file \"'src2.diff'\"
  30. else
  31. echo shar: Extracting \"'src2.diff'\" \(51559 characters\)
  32. sed "s/^X//" >'src2.diff' <<'END_OF_FILE'
  33. XSource patches, part 2
  34. X
  35. X-----------------------------------Cut-----------------------------------
  36. X*** src/Old/monst.c    Mon Jul 31 14:19:14 1989
  37. X--- src/monst.c    Sat Jul 29 22:25:12 1989
  38. X***************
  39. X*** 15,26 ****
  40. X  
  41. X  #define    NO_ATTK        { 0, 0, 0, 0 }
  42. X  
  43. X  struct permonst playermon = {        /* used by weapons bonus code */
  44. X      "player", S_HUMAN, 1, 10, 10, 0, 0, G_GENO | G_NOGEN,
  45. X      { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  46. X!     40, 400, PL_NSIZ, MS_SILENT, M1_HUMANOID | M1_COLLECT,
  47. X      M2_HUMAN | M2_STRONG | M2_NEEDPICK
  48. X  },    *uasmon = &playermon;
  49. X  
  50. X  /*
  51. X   *    Rule #1:    monsters of a given class are contiguous in the
  52. X--- 15,28 ----
  53. X  
  54. X  #define    NO_ATTK        { 0, 0, 0, 0 }
  55. X  
  56. X+ #ifndef SPLITMON_2
  57. X  struct permonst playermon = {        /* used by weapons bonus code */
  58. X      "player", S_HUMAN, 1, 10, 10, 0, 0, G_GENO | G_NOGEN,
  59. X      { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  60. X!     45, 400, PL_NSIZ, MS_SILENT, M1_HUMANOID | M1_COLLECT,
  61. X      M2_HUMAN | M2_STRONG | M2_NEEDPICK
  62. X  },    *uasmon = &playermon;
  63. X+ #endif /* SPLITMON_2 */
  64. X  
  65. X  /*
  66. X   *    Rule #1:    monsters of a given class are contiguous in the
  67. X***************
  68. X*** 34,39 ****
  69. X--- 36,42 ----
  70. X   *            be skipped during generation.
  71. X   */
  72. X  
  73. X+ #ifndef SPLITMON_2
  74. X  struct permonst mons[] = {
  75. X  /*    ants    */
  76. X      { "giant ant",    S_ANT, 2, 18, 3, 0, 0, (G_GENO | G_SGROUP | 3),
  77. X***************
  78. X*** 196,202 ****
  79. X      { "manes", S_IMP, 1, 3, 7, 0, -7, (G_GENO | G_LGROUP | G_NOCORPSE | 1),
  80. X        { { AT_CLAW, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 },
  81. X          { AT_BITE, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK },
  82. X!       0, 0, 0, MS_JEER, M1_VSMALL | M1_POIS | M1_STALK, 0 },
  83. X      { "homunculus", S_IMP, 2, 12, 6, 10, -7, (G_GENO | 2),
  84. X        { { AT_BITE, AD_SLEE, 1, 3 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  85. X        20, 200, 0, MS_SILENT, M1_VSMALL | M1_FLY | M1_POIS | M1_POIS_RES |
  86. X--- 199,205 ----
  87. X      { "manes", S_IMP, 1, 3, 7, 0, -7, (G_GENO | G_LGROUP | G_NOCORPSE | 1),
  88. X        { { AT_CLAW, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 },
  89. X          { AT_BITE, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK },
  90. X!       10, 100, 0, MS_JEER, M1_VSMALL | M1_POIS | M1_STALK, 0 },
  91. X      { "homunculus", S_IMP, 2, 12, 6, 10, -7, (G_GENO | 2),
  92. X        { { AT_BITE, AD_SLEE, 1, 3 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  93. X        20, 200, 0, MS_SILENT, M1_VSMALL | M1_FLY | M1_POIS | M1_POIS_RES |
  94. X***************
  95. X*** 204,210 ****
  96. X      { "lemure", S_IMP, 3, 3, 7, 0, -7,
  97. X        (G_HELL | G_GENO | G_LGROUP | G_NOCORPSE | 1),
  98. X        { { AT_CLAW, AD_PHYS, 1, 3 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  99. X!       0, 0, 0, MS_SILENT, M1_POIS | M1_SLEE_RES | M1_REGEN | M1_STALK,
  100. X        M2_HOSTILE | M2_WANDER },
  101. X      { "imp", S_IMP, 3, 12, 2, 20, -7, (G_GENO | 1),
  102. X        { { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  103. X--- 207,213 ----
  104. X      { "lemure", S_IMP, 3, 3, 7, 0, -7,
  105. X        (G_HELL | G_GENO | G_LGROUP | G_NOCORPSE | 1),
  106. X        { { AT_CLAW, AD_PHYS, 1, 3 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  107. X!       10, 100, 0, MS_SILENT, M1_POIS | M1_SLEE_RES | M1_REGEN | M1_STALK,
  108. X        M2_HOSTILE | M2_WANDER },
  109. X      { "imp", S_IMP, 3, 12, 2, 20, -7, (G_GENO | 1),
  110. X        { { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  111. X***************
  112. X*** 453,486 ****
  113. X  /*    vortices    */
  114. X      { "fog cloud",    S_VORTEX, 3,  1, 0, 0, 0, (G_GENO | G_NOCORPSE | 2),
  115. X        { { AT_ENGL, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  116. X!       0, 0, 0, MS_SILENT,
  117. X        M1_FLY | M1_NOEYES | M1_NOHANDS | M1_POIS_RES, M2_HOSTILE |
  118. X        M2_NOLIMBS },
  119. X      { "dust vortex", S_VORTEX, 4, 20, 2, 30, 0, (G_GENO | G_NOCORPSE | 2),
  120. X        { { AT_ENGL, AD_BLND, 2, 8 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  121. X!       0, 0, 0, MS_SILENT,
  122. X        M1_FLY | M1_NOEYES | M1_NOHANDS | M1_POIS_RES, M2_HOSTILE |
  123. X        M2_NOLIMBS },
  124. X      { "energy vortex", S_VORTEX, 6, 20, 2, 30, 0, (G_GENO | G_NOCORPSE | 1),
  125. X        { { AT_ENGL, AD_ELEC, 1, 6 }, { AT_ENGL, AD_DREN, 0, 0 },
  126. X!         NO_ATTK, NO_ATTK, NO_ATTK }, 0, 0, 0, MS_SILENT,
  127. X        M1_FLY | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_ELEC_RES,
  128. X        M2_HOSTILE | M2_NOLIMBS },
  129. X      { "ice vortex", S_VORTEX, 5, 20, 2, 30, 0, (G_GENO | G_NOCORPSE | 1),
  130. X        { { AT_ENGL, AD_COLD, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  131. X!       0, 0, 0, MS_SILENT,
  132. X        M1_FLY | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_COLD_RES,
  133. X        M2_HOSTILE | M2_NOLIMBS },
  134. X      { "steam vortex", S_VORTEX, 7, 22, 2, 30, 0,
  135. X        (G_HELL | G_GENO | G_NOCORPSE | 2),
  136. X        { { AT_ENGL, AD_FIRE, 1, 8 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  137. X!       0, 0, 0, MS_SILENT,
  138. X        M1_FLY | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_FIRE_RES,
  139. X        M2_HOSTILE | M2_NOLIMBS },
  140. X      { "fire vortex", S_VORTEX, 8, 22, 2, 30, 0,
  141. X        (G_HELL | G_GENO | G_NOCORPSE | 1),
  142. X        { { AT_ENGL, AD_FIRE, 1, 10 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  143. X!       0, 0, 0, MS_SILENT,
  144. X        M1_FLY | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_FIRE_RES,
  145. X        M2_HOSTILE | M2_NOLIMBS },
  146. X  /*    worms    */
  147. X--- 456,489 ----
  148. X  /*    vortices    */
  149. X      { "fog cloud",    S_VORTEX, 3,  1, 0, 0, 0, (G_GENO | G_NOCORPSE | 2),
  150. X        { { AT_ENGL, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  151. X!       10, 0, 0, MS_SILENT,
  152. X        M1_FLY | M1_NOEYES | M1_NOHANDS | M1_POIS_RES, M2_HOSTILE |
  153. X        M2_NOLIMBS },
  154. X      { "dust vortex", S_VORTEX, 4, 20, 2, 30, 0, (G_GENO | G_NOCORPSE | 2),
  155. X        { { AT_ENGL, AD_BLND, 2, 8 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  156. X!       20, 0, 0, MS_SILENT,
  157. X        M1_FLY | M1_NOEYES | M1_NOHANDS | M1_POIS_RES, M2_HOSTILE |
  158. X        M2_NOLIMBS },
  159. X      { "energy vortex", S_VORTEX, 6, 20, 2, 30, 0, (G_GENO | G_NOCORPSE | 1),
  160. X        { { AT_ENGL, AD_ELEC, 1, 6 }, { AT_ENGL, AD_DREN, 0, 0 },
  161. X!         NO_ATTK, NO_ATTK, NO_ATTK }, 20, 0, 0, MS_SILENT,
  162. X        M1_FLY | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_ELEC_RES,
  163. X        M2_HOSTILE | M2_NOLIMBS },
  164. X      { "ice vortex", S_VORTEX, 5, 20, 2, 30, 0, (G_GENO | G_NOCORPSE | 1),
  165. X        { { AT_ENGL, AD_COLD, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  166. X!       30, 0, 0, MS_SILENT,
  167. X        M1_FLY | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_COLD_RES,
  168. X        M2_HOSTILE | M2_NOLIMBS },
  169. X      { "steam vortex", S_VORTEX, 7, 22, 2, 30, 0,
  170. X        (G_HELL | G_GENO | G_NOCORPSE | 2),
  171. X        { { AT_ENGL, AD_FIRE, 1, 8 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  172. X!       30, 0, 0, MS_SILENT,
  173. X        M1_FLY | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_FIRE_RES,
  174. X        M2_HOSTILE | M2_NOLIMBS },
  175. X      { "fire vortex", S_VORTEX, 8, 22, 2, 30, 0,
  176. X        (G_HELL | G_GENO | G_NOCORPSE | 1),
  177. X        { { AT_ENGL, AD_FIRE, 1, 10 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  178. X!       3, 0, 0, MS_SILENT,
  179. X        M1_FLY | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_FIRE_RES,
  180. X        M2_HOSTILE | M2_NOLIMBS },
  181. X  /*    worms    */
  182. X***************
  183. X*** 487,498 ****
  184. X  #ifdef WORM
  185. X      { "baby long worm", S_WORM, 8, 3, 5, 0, 0, G_GENO,
  186. X        { { AT_BITE, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  187. X!       10, 100, 0, MS_SILENT, M1_ANIMAL | M1_NOHANDS, M2_HOSTILE |
  188. X        M2_NOLIMBS | M2_CARNIVORE },
  189. X  #endif
  190. X      { "baby purple worm", S_WORM, 8, 3, 5, 0, 0, G_GENO,
  191. X        { { AT_BITE, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  192. X!       10, 100, 0, MS_SILENT, M1_ANIMAL | M1_NOHANDS, M2_HOSTILE |
  193. X        M2_NOLIMBS | M2_CARNIVORE },
  194. X  #ifdef WORM
  195. X      { "long worm", S_WORM, 8, 3, 5, 10, 0, (G_GENO | 2),
  196. X--- 490,501 ----
  197. X  #ifdef WORM
  198. X      { "baby long worm", S_WORM, 8, 3, 5, 0, 0, G_GENO,
  199. X        { { AT_BITE, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  200. X!       25, 250, 0, MS_SILENT, M1_ANIMAL | M1_NOHANDS, M2_HOSTILE |
  201. X        M2_NOLIMBS | M2_CARNIVORE },
  202. X  #endif
  203. X      { "baby purple worm", S_WORM, 8, 3, 5, 0, 0, G_GENO,
  204. X        { { AT_BITE, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  205. X!       25, 250, 0, MS_SILENT, M1_ANIMAL | M1_NOHANDS, M2_HOSTILE |
  206. X        M2_NOLIMBS | M2_CARNIVORE },
  207. X  #ifdef WORM
  208. X      { "long worm", S_WORM, 8, 3, 5, 10, 0, (G_GENO | 2),
  209. X***************
  210. X*** 651,672 ****
  211. X  /*    Elementals    */
  212. X      { "air elemental", S_ELEMENTAL, 8, 36, 2, 30, 0, (G_NOCORPSE | 1),
  213. X        { { AT_ENGL, AD_PHYS, 2, 10 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  214. X!       0, 0, 0, MS_SILENT,
  215. X        M1_BIG | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_FLY,
  216. X        M2_STRONG | M2_NOLIMBS },
  217. X      { "fire elemental", S_ELEMENTAL, 8, 12, 2, 30, 0, (G_NOCORPSE | 1),
  218. X        { { AT_CLAW, AD_FIRE, 3, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  219. X!       0, 0, 0, MS_SILENT,
  220. X        M1_BIG | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_FLY | M1_FIRE_RES,
  221. X        M2_STRONG | M2_NOLIMBS },
  222. X      { "earth elemental", S_ELEMENTAL, 8, 6, 2, 30, 0, (G_NOCORPSE | 1),
  223. X        { { AT_CLAW, AD_PHYS, 4, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  224. X!       0, 0, 0, MS_SILENT, 
  225. X        M1_BIG | M1_WALLWALK | M1_NOEYES | M1_NOHANDS | M1_POIS_RES |
  226. X        M1_STON_RES, M2_STRONG | M2_NOLIMBS | M2_THICK_HIDE },
  227. X      { "water elemental", S_ELEMENTAL, 8, 6, 2, 30, 0, (G_NOCORPSE | 1),
  228. X        { { AT_CLAW, AD_PHYS, 5, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  229. X!       0, 0, 0, MS_SILENT,
  230. X        M1_BIG | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_SWIM,
  231. X        M2_STRONG | M2_NOLIMBS },
  232. X  /*    Fungi    */
  233. X--- 654,675 ----
  234. X  /*    Elementals    */
  235. X      { "air elemental", S_ELEMENTAL, 8, 36, 2, 30, 0, (G_NOCORPSE | 1),
  236. X        { { AT_ENGL, AD_PHYS, 2, 10 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  237. X!       5, 0, 0, MS_SILENT,
  238. X        M1_BIG | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_FLY,
  239. X        M2_STRONG | M2_NOLIMBS },
  240. X      { "fire elemental", S_ELEMENTAL, 8, 12, 2, 30, 0, (G_NOCORPSE | 1),
  241. X        { { AT_CLAW, AD_FIRE, 3, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  242. X!       5, 0, 0, MS_SILENT,
  243. X        M1_BIG | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_FLY | M1_FIRE_RES,
  244. X        M2_STRONG | M2_NOLIMBS },
  245. X      { "earth elemental", S_ELEMENTAL, 8, 6, 2, 30, 0, (G_NOCORPSE | 1),
  246. X        { { AT_CLAW, AD_PHYS, 4, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  247. X!       50, 0, 0, MS_SILENT,
  248. X        M1_BIG | M1_WALLWALK | M1_NOEYES | M1_NOHANDS | M1_POIS_RES |
  249. X        M1_STON_RES, M2_STRONG | M2_NOLIMBS | M2_THICK_HIDE },
  250. X      { "water elemental", S_ELEMENTAL, 8, 6, 2, 30, 0, (G_NOCORPSE | 1),
  251. X        { { AT_CLAW, AD_PHYS, 5, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  252. X!       50, 0, 0, MS_SILENT,
  253. X        M1_BIG | M1_NOEYES | M1_NOHANDS | M1_POIS_RES | M1_SWIM,
  254. X        M2_STRONG | M2_NOLIMBS },
  255. X  /*    Fungi    */
  256. X***************
  257. X*** 704,714 ****
  258. X      { "gnomish wizard", S_GNOME, 3, 10, 4, 10, 0, (G_GENO | 1),
  259. X        { { AT_MAGC, AD_SPEL, 0, 0 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  260. X        15, 120, 0, MS_ORC, M1_HUMANOID | M1_MAGIC, 0 },
  261. X  /*    giant Humanoids */
  262. X      { "ettin", S_GIANT, 10, 12, 3, 0, 0, (G_GENO | 1),
  263. X        { { AT_WEAP, AD_PHYS, 2, 8 }, { AT_WEAP, AD_PHYS, 3, 6 },
  264. X          NO_ATTK, NO_ATTK, NO_ATTK },
  265. X!       30, 300, 0, MS_GRUNT, M1_BIG | M1_ANIMAL | M1_HUMANOID | M1_COLLECT,
  266. X        M2_HOSTILE | M2_STRONG | M2_NASTY | M2_CARNIVORE },
  267. X      { "giant", S_GIANT, 6, 6, 0, 0, 2, (G_GENO | G_NOGEN | 1),
  268. X        { { AT_WEAP, AD_PHYS, 2, 10 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  269. X--- 707,733 ----
  270. X      { "gnomish wizard", S_GNOME, 3, 10, 4, 10, 0, (G_GENO | 1),
  271. X        { { AT_MAGC, AD_SPEL, 0, 0 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  272. X        15, 120, 0, MS_ORC, M1_HUMANOID | M1_MAGIC, 0 },
  273. X+ #ifdef SPLITMON_1
  274. X+ };
  275. X+ #endif
  276. X+ #endif /* !SPLITMON_2 */
  277. X+ 
  278. X+ /* horrible kludge alert: splitting monst.o into two parts depends on
  279. X+    the two files monst1.o and monst2.o being loaded consecutively into
  280. X+    memory, i.e. _mons2 must immediately follow mons. Needless to say,
  281. X+    don't depend on this unless you have to (I had to; my compiler was
  282. X+    too much of a memory pig to produce monst.o in a measly 2 megabytes
  283. X+    of memory -- ERS */
  284. X+ 
  285. X+ #ifndef SPLITMON_1
  286. X+ #ifdef SPLITMON_2
  287. X+ struct permonst _mons2[] = {
  288. X+ #endif
  289. X  /*    giant Humanoids */
  290. X      { "ettin", S_GIANT, 10, 12, 3, 0, 0, (G_GENO | 1),
  291. X        { { AT_WEAP, AD_PHYS, 2, 8 }, { AT_WEAP, AD_PHYS, 3, 6 },
  292. X          NO_ATTK, NO_ATTK, NO_ATTK },
  293. X!       50, 500, 0, MS_GRUNT, M1_BIG | M1_ANIMAL | M1_HUMANOID | M1_COLLECT,
  294. X        M2_HOSTILE | M2_STRONG | M2_NASTY | M2_CARNIVORE },
  295. X      { "giant", S_GIANT, 6, 6, 0, 0, 2, (G_GENO | G_NOGEN | 1),
  296. X        { { AT_WEAP, AD_PHYS, 2, 10 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  297. X***************
  298. X*** 796,828 ****
  299. X  /*     Mummies        */
  300. X      { "kobold mummy", S_MUMMY, 3, 8, 6, 20, -2, (G_GENO | G_NOCORPSE | 1),
  301. X        { { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  302. X!       10, 20, 0, MS_SILENT,
  303. X        M1_HUMANOID | M1_UNDEAD | M1_POIS, M2_HOSTILE },
  304. X      { "gnome mummy", S_MUMMY, 4, 10, 6, 20, -3, (G_GENO | G_NOCORPSE | 1),
  305. X        { { AT_CLAW, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  306. X!       20, 25, 0, MS_SILENT,
  307. X        M1_HUMANOID | M1_UNDEAD | M1_POIS, M2_HOSTILE },
  308. X      { "orc mummy", S_MUMMY, 5, 10, 5, 20, -4, (G_GENO | G_NOCORPSE | 1),
  309. X        { { AT_CLAW, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  310. X!       30, 30, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS |
  311. X        M1_GREEDY | M1_JEWELS, M2_HOSTILE | M2_ORC },
  312. X      { "elf mummy", S_MUMMY, 6, 12, 4, 30, -5, (G_GENO | G_NOCORPSE | 1),
  313. X        { { AT_CLAW, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  314. X!       35, 35, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS | M1_SLEE_RES,
  315. X        M2_HOSTILE | M2_ELF },
  316. X      { "human mummy", S_MUMMY, 6, 12, 4, 30, -5, (G_GENO | G_NOCORPSE | 1),
  317. X        { { AT_CLAW, AD_PHYS, 2, 4 }, { AT_CLAW, AD_PHYS, 2, 4 },
  318. X          NO_ATTK, NO_ATTK, NO_ATTK },
  319. X!       40, 40, 0, MS_SILENT,
  320. X        M1_HUMANOID | M1_UNDEAD | M1_POIS, M2_HOSTILE },
  321. X      { "ettin mummy", S_MUMMY, 7, 12, 4, 30, -6, (G_GENO | G_NOCORPSE | 1),
  322. X        { { AT_CLAW, AD_PHYS, 2, 6 }, { AT_CLAW, AD_PHYS, 2, 6 },
  323. X!         NO_ATTK, NO_ATTK, NO_ATTK }, 70, 50, 0, MS_SILENT,
  324. X        M1_HUMANOID | M1_UNDEAD | M1_POIS | M1_BIG,
  325. X        M2_HOSTILE | M2_STRONG },
  326. X      { "giant mummy", S_MUMMY, 8, 14, 3, 30, -7, (G_GENO | G_NOCORPSE | 1),
  327. X        { { AT_CLAW, AD_PHYS, 3, 4 }, { AT_CLAW, AD_PHYS, 3, 4 },
  328. X!         NO_ATTK, NO_ATTK, NO_ATTK }, 70, 50, 0, MS_SILENT,
  329. X        M1_HUMANOID | M1_UNDEAD | M1_POIS | M1_BIG | M1_JEWELS,
  330. X        M2_HOSTILE | M2_GIANT | M2_STRONG },
  331. X  /*    Nymphs    */
  332. X--- 815,847 ----
  333. X  /*     Mummies        */
  334. X      { "kobold mummy", S_MUMMY, 3, 8, 6, 20, -2, (G_GENO | G_NOCORPSE | 1),
  335. X        { { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  336. X!       10, 100, 0, MS_SILENT,
  337. X        M1_HUMANOID | M1_UNDEAD | M1_POIS, M2_HOSTILE },
  338. X      { "gnome mummy", S_MUMMY, 4, 10, 6, 20, -3, (G_GENO | G_NOCORPSE | 1),
  339. X        { { AT_CLAW, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  340. X!       10, 100, 0, MS_SILENT,
  341. X        M1_HUMANOID | M1_UNDEAD | M1_POIS, M2_HOSTILE },
  342. X      { "orc mummy", S_MUMMY, 5, 10, 5, 20, -4, (G_GENO | G_NOCORPSE | 1),
  343. X        { { AT_CLAW, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  344. X!       15, 150, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS |
  345. X        M1_GREEDY | M1_JEWELS, M2_HOSTILE | M2_ORC },
  346. X      { "elf mummy", S_MUMMY, 6, 12, 4, 30, -5, (G_GENO | G_NOCORPSE | 1),
  347. X        { { AT_CLAW, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  348. X!       35, 350, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS | M1_SLEE_RES,
  349. X        M2_HOSTILE | M2_ELF },
  350. X      { "human mummy", S_MUMMY, 6, 12, 4, 30, -5, (G_GENO | G_NOCORPSE | 1),
  351. X        { { AT_CLAW, AD_PHYS, 2, 4 }, { AT_CLAW, AD_PHYS, 2, 4 },
  352. X          NO_ATTK, NO_ATTK, NO_ATTK },
  353. X!       40, 400, 0, MS_SILENT,
  354. X        M1_HUMANOID | M1_UNDEAD | M1_POIS, M2_HOSTILE },
  355. X      { "ettin mummy", S_MUMMY, 7, 12, 4, 30, -6, (G_GENO | G_NOCORPSE | 1),
  356. X        { { AT_CLAW, AD_PHYS, 2, 6 }, { AT_CLAW, AD_PHYS, 2, 6 },
  357. X!         NO_ATTK, NO_ATTK, NO_ATTK }, 50, 500, 0, MS_SILENT,
  358. X        M1_HUMANOID | M1_UNDEAD | M1_POIS | M1_BIG,
  359. X        M2_HOSTILE | M2_STRONG },
  360. X      { "giant mummy", S_MUMMY, 8, 14, 3, 30, -7, (G_GENO | G_NOCORPSE | 1),
  361. X        { { AT_CLAW, AD_PHYS, 3, 4 }, { AT_CLAW, AD_PHYS, 3, 4 },
  362. X!         NO_ATTK, NO_ATTK, NO_ATTK }, 75, 750, 0, MS_SILENT,
  363. X        M1_HUMANOID | M1_UNDEAD | M1_POIS | M1_BIG | M1_JEWELS,
  364. X        M2_HOSTILE | M2_GIANT | M2_STRONG },
  365. X  /*    Nymphs    */
  366. X***************
  367. X*** 974,991 ****
  368. X  /*    Wraiths     */
  369. X      { "barrow wight", S_WRAITH, 3, 12, 5, 5, -3, (G_GENO | G_NOCORPSE | 1),
  370. X        { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_MAGC, AD_SPEL, 0, 0 },
  371. X!         { AT_WEAP, AD_DRLI, 0, 0 }, NO_ATTK, NO_ATTK }, 0, 0, 0, MS_SILENT,
  372. X        M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK | M1_COLLECT, 
  373. X        M2_HOSTILE },
  374. X      { "wraith", S_WRAITH, 6, 12, 4, 15, -6, (G_GENO | 2),
  375. X        { { AT_TUCH, AD_DRLI, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  376. X!       0, 0, 0, MS_SILENT, 
  377. X        M1_FLY | M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK, 
  378. X        M2_HOSTILE },
  379. X  #ifdef TOLKIEN
  380. X      { "Nazgul", S_WRAITH, 13, 12, 0, 25, -17, (G_GENO | G_NOCORPSE | 1),
  381. X        { { AT_WEAP, AD_DRLI, 1, 4 }, { AT_BREA, AD_SLEE, 0, 0 },
  382. X!         NO_ATTK, NO_ATTK, NO_ATTK }, 0, 0, 0, MS_SILENT,
  383. X        M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK | M1_COLLECT, 
  384. X        M2_STRONG },
  385. X  #endif
  386. X--- 993,1010 ----
  387. X  /*    Wraiths     */
  388. X      { "barrow wight", S_WRAITH, 3, 12, 5, 5, -3, (G_GENO | G_NOCORPSE | 1),
  389. X        { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_MAGC, AD_SPEL, 0, 0 },
  390. X!         { AT_WEAP, AD_DRLI, 0, 0 }, NO_ATTK, NO_ATTK }, 30, 0, 0, MS_SILENT,
  391. X        M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK | M1_COLLECT, 
  392. X        M2_HOSTILE },
  393. X      { "wraith", S_WRAITH, 6, 12, 4, 15, -6, (G_GENO | 2),
  394. X        { { AT_TUCH, AD_DRLI, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  395. X!       30, 0, 0, MS_SILENT,
  396. X        M1_FLY | M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK, 
  397. X        M2_HOSTILE },
  398. X  #ifdef TOLKIEN
  399. X      { "Nazgul", S_WRAITH, 13, 12, 0, 25, -17, (G_GENO | G_NOCORPSE | 1),
  400. X        { { AT_WEAP, AD_DRLI, 1, 4 }, { AT_BREA, AD_SLEE, 0, 0 },
  401. X!         NO_ATTK, NO_ATTK, NO_ATTK }, 30, 0, 0, MS_SILENT,
  402. X        M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK | M1_COLLECT, 
  403. X        M2_STRONG },
  404. X  #endif
  405. X***************
  406. X*** 1005,1039 ****
  407. X  /*    Zombies     */
  408. X      { "kobold zombie", S_ZOMBIE, 0, 6, 10, 0, -2, (G_GENO | G_NOCORPSE | 1),
  409. X        { { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  410. X!       10, 0, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS |
  411. X        M1_POIS_RES | M1_STALK, M2_HOSTILE },
  412. X      { "gnome zombie", S_ZOMBIE, 1, 6, 10, 0, -2, (G_GENO | G_NOCORPSE | 1),
  413. X        { { AT_CLAW, AD_PHYS, 1, 5 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  414. X!       20, 0, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS |
  415. X        M1_POIS_RES | M1_STALK, M2_HOSTILE },
  416. X      { "orc zombie", S_ZOMBIE, 2, 6, 9, 0, -3,
  417. X        (G_GENO | G_SGROUP | G_NOCORPSE | 1),
  418. X        { { AT_CLAW, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  419. X!       30, 0, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS_RES |
  420. X        M1_STALK | M1_GREEDY | M1_JEWELS, M2_HOSTILE | M2_ORC },
  421. X      { "elf zombie", S_ZOMBIE, 3, 6, 9, 0, -3,
  422. X        (G_GENO | G_SGROUP | G_NOCORPSE | 1),
  423. X        { { AT_CLAW, AD_PHYS, 1, 7 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  424. X!       35, 0, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS_RES |
  425. X        M1_STALK | M1_SLEE_RES, M2_HOSTILE | M2_ELF },
  426. X      { "human zombie", S_ZOMBIE, 4, 6, 8, 0, -3,
  427. X        (G_GENO | G_SGROUP | G_NOCORPSE | 1),
  428. X        { { AT_CLAW, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  429. X!       40, 0, 0, MS_SILENT,
  430. X        M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK, M2_HOSTILE },
  431. X      { "ettin zombie", S_ZOMBIE, 6, 8, 6, 0, -4, (G_GENO | G_NOCORPSE | 1),
  432. X        { { AT_CLAW, AD_PHYS, 1, 10 }, { AT_CLAW, AD_PHYS, 1, 10 },
  433. X!         NO_ATTK, NO_ATTK, NO_ATTK }, 70, 0, 0, MS_SILENT,
  434. X        M1_BIG | M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK,
  435. X        M2_HOSTILE | M2_STRONG },
  436. X      { "giant zombie", S_ZOMBIE, 8, 8, 6, 0, -4, (G_GENO | G_NOCORPSE | 1),
  437. X        { { AT_CLAW, AD_PHYS, 2, 8 }, { AT_CLAW, AD_PHYS, 2, 8 },
  438. X!         NO_ATTK, NO_ATTK, NO_ATTK }, 70, 0, 0, MS_SILENT,
  439. X        M1_BIG | M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK |
  440. X        M1_JEWELS, M2_HOSTILE | M2_GIANT | M2_STRONG },
  441. X  /*    Golems    */
  442. X--- 1024,1058 ----
  443. X  /*    Zombies     */
  444. X      { "kobold zombie", S_ZOMBIE, 0, 6, 10, 0, -2, (G_GENO | G_NOCORPSE | 1),
  445. X        { { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  446. X!       10, 100, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS |
  447. X        M1_POIS_RES | M1_STALK, M2_HOSTILE },
  448. X      { "gnome zombie", S_ZOMBIE, 1, 6, 10, 0, -2, (G_GENO | G_NOCORPSE | 1),
  449. X        { { AT_CLAW, AD_PHYS, 1, 5 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  450. X!       10, 100, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS |
  451. X        M1_POIS_RES | M1_STALK, M2_HOSTILE },
  452. X      { "orc zombie", S_ZOMBIE, 2, 6, 9, 0, -3,
  453. X        (G_GENO | G_SGROUP | G_NOCORPSE | 1),
  454. X        { { AT_CLAW, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  455. X!       15, 150, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS_RES |
  456. X        M1_STALK | M1_GREEDY | M1_JEWELS, M2_HOSTILE | M2_ORC },
  457. X      { "elf zombie", S_ZOMBIE, 3, 6, 9, 0, -3,
  458. X        (G_GENO | G_SGROUP | G_NOCORPSE | 1),
  459. X        { { AT_CLAW, AD_PHYS, 1, 7 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  460. X!       35, 350, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS_RES |
  461. X        M1_STALK | M1_SLEE_RES, M2_HOSTILE | M2_ELF },
  462. X      { "human zombie", S_ZOMBIE, 4, 6, 8, 0, -3,
  463. X        (G_GENO | G_SGROUP | G_NOCORPSE | 1),
  464. X        { { AT_CLAW, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  465. X!       40, 400, 0, MS_SILENT,
  466. X        M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK, M2_HOSTILE },
  467. X      { "ettin zombie", S_ZOMBIE, 6, 8, 6, 0, -4, (G_GENO | G_NOCORPSE | 1),
  468. X        { { AT_CLAW, AD_PHYS, 1, 10 }, { AT_CLAW, AD_PHYS, 1, 10 },
  469. X!         NO_ATTK, NO_ATTK, NO_ATTK }, 50, 500, 0, MS_SILENT,
  470. X        M1_BIG | M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK,
  471. X        M2_HOSTILE | M2_STRONG },
  472. X      { "giant zombie", S_ZOMBIE, 8, 8, 6, 0, -4, (G_GENO | G_NOCORPSE | 1),
  473. X        { { AT_CLAW, AD_PHYS, 2, 8 }, { AT_CLAW, AD_PHYS, 2, 8 },
  474. X!         NO_ATTK, NO_ATTK, NO_ATTK }, 75, 750, 0, MS_SILENT,
  475. X        M1_BIG | M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK |
  476. X        M1_JEWELS, M2_HOSTILE | M2_GIANT | M2_STRONG },
  477. X  /*    Golems    */
  478. X***************
  479. X*** 1077,1095 ****
  480. X  /*    Humans        */
  481. X      { "human", S_HUMAN, 0, 12, 10, 0, 0, G_NOGEN,
  482. X        { {AT_WEAP, AD_PHYS, 1, 6}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  483. X!       35, 400, 0, MS_HUMANOID, M1_NOPOLY | M1_HUMANOID | M1_COLLECT,
  484. X        M2_HUMAN | M2_PEACEFUL | M2_STRONG }, /* for corpses */
  485. X      { "wererat", S_HUMAN, 2, 12, 7, 10, -7, 1,
  486. X        { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  487. X!       35, 400, 0, MS_SILENT, M1_NOPOLY | M1_HUMANOID | M1_WERE | M1_POIS |
  488. X        M1_REGEN | M1_COLLECT, M2_HOSTILE | M2_HUMAN },
  489. X      { "werejackal", S_HUMAN, 2, 12, 7, 10, -7, 1,
  490. X        { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  491. X!       35, 400, 0, MS_BARK, M1_NOPOLY | M1_HUMANOID | M1_WERE | M1_POIS |
  492. X        M1_REGEN | M1_COLLECT, M2_HOSTILE | M2_HUMAN },
  493. X      { "werewolf", S_HUMAN, 5, 12, 6, 20, -7, 1,
  494. X        { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  495. X!       35, 400, 0, MS_BARK, M1_NOPOLY | M1_HUMANOID | M1_WERE | M1_POIS |
  496. X        M1_REGEN | M1_COLLECT, M2_HOSTILE | M2_HUMAN },
  497. X  #ifdef TOLKIEN
  498. X      { "Woodland-elf", S_HUMAN, 4, 12, 5, 10, 5, (G_GENO | G_SGROUP | 2),
  499. X--- 1096,1114 ----
  500. X  /*    Humans        */
  501. X      { "human", S_HUMAN, 0, 12, 10, 0, 0, G_NOGEN,
  502. X        { {AT_WEAP, AD_PHYS, 1, 6}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  503. X!       45, 400, 0, MS_HUMANOID, M1_NOPOLY | M1_HUMANOID | M1_COLLECT,
  504. X        M2_HUMAN | M2_PEACEFUL | M2_STRONG }, /* for corpses */
  505. X      { "wererat", S_HUMAN, 2, 12, 7, 10, -7, 1,
  506. X        { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  507. X!       45, 400, 0, MS_SILENT, M1_NOPOLY | M1_HUMANOID | M1_WERE | M1_POIS |
  508. X        M1_REGEN | M1_COLLECT, M2_HOSTILE | M2_HUMAN },
  509. X      { "werejackal", S_HUMAN, 2, 12, 7, 10, -7, 1,
  510. X        { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  511. X!       45, 400, 0, MS_BARK, M1_NOPOLY | M1_HUMANOID | M1_WERE | M1_POIS |
  512. X        M1_REGEN | M1_COLLECT, M2_HOSTILE | M2_HUMAN },
  513. X      { "werewolf", S_HUMAN, 5, 12, 6, 20, -7, 1,
  514. X        { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  515. X!       45, 400, 0, MS_BARK, M1_NOPOLY | M1_HUMANOID | M1_WERE | M1_POIS |
  516. X        M1_REGEN | M1_COLLECT, M2_HOSTILE | M2_HUMAN },
  517. X  #ifdef TOLKIEN
  518. X      { "Woodland-elf", S_HUMAN, 4, 12, 5, 10, 5, (G_GENO | G_SGROUP | 2),
  519. X***************
  520. X*** 1117,1127 ****
  521. X        M1_SLEE_RES, M2_ELF | M2_STRONG },
  522. X      { "nurse", S_HUMAN, 11, 6, 0, 0, 0, (G_GENO | 3),
  523. X        { { AT_CLAW, AD_HEAL, 2, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  524. X!       35, 400, 0, MS_NURSE, M1_NOPOLY | M1_HUMANOID | M1_POIS_RES,
  525. X        M2_HUMAN | M2_HOSTILE },
  526. X      { "shopkeeper", S_HUMAN, 12, 18, 0, 50, 0, G_NOGEN,
  527. X        { { AT_WEAP, AD_PHYS, 4, 4 }, { AT_WEAP, AD_PHYS, 4, 4 }, NO_ATTK,
  528. X!         NO_ATTK, NO_ATTK }, 40, 400, sizeof(struct eshk), MS_SELL,
  529. X        M1_NOPOLY | M1_HUMANOID | M1_MAGIC | M1_COLLECT,
  530. X        M2_HUMAN | M2_PEACEFUL | M2_STRONG },
  531. X      { "guard", S_HUMAN, 12, 12, -1, 40, 10, G_NOGEN,
  532. X--- 1136,1146 ----
  533. X        M1_SLEE_RES, M2_ELF | M2_STRONG },
  534. X      { "nurse", S_HUMAN, 11, 6, 0, 0, 0, (G_GENO | 3),
  535. X        { { AT_CLAW, AD_HEAL, 2, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  536. X!       45, 400, 0, MS_NURSE, M1_NOPOLY | M1_HUMANOID | M1_POIS_RES,
  537. X        M2_HUMAN | M2_HOSTILE },
  538. X      { "shopkeeper", S_HUMAN, 12, 18, 0, 50, 0, G_NOGEN,
  539. X        { { AT_WEAP, AD_PHYS, 4, 4 }, { AT_WEAP, AD_PHYS, 4, 4 }, NO_ATTK,
  540. X!         NO_ATTK, NO_ATTK }, 45, 400, sizeof(struct eshk), MS_SELL,
  541. X        M1_NOPOLY | M1_HUMANOID | M1_MAGIC | M1_COLLECT,
  542. X        M2_HUMAN | M2_PEACEFUL | M2_STRONG },
  543. X      { "guard", S_HUMAN, 12, 12, -1, 40, 10, G_NOGEN,
  544. X***************
  545. X*** 1172,1178 ****
  546. X  #endif
  547. X      { "Wizard of Yendor", S_HUMAN, 30, 12, -8, 100, -20, G_NOGEN,
  548. X        { { AT_CLAW, AD_SAMU, 2, 12 }, { AT_MAGC, AD_SPEL, 0, 0 },
  549. X!         { AT_BITE, AD_CUSS, 0, 0 }, NO_ATTK, NO_ATTK }, 40, 400, PL_NSIZ,
  550. X        MS_CUSS, M1_NOPOLY | M1_FLY | M1_HUMANOID | M1_POIS_RES |
  551. X        M1_FIRE_RES | M1_REGEN | M1_SEE_INVIS | M1_TPORT |
  552. X        M1_TPORT_CONTROL | M1_MAGIC,
  553. X--- 1191,1197 ----
  554. X  #endif
  555. X      { "Wizard of Yendor", S_HUMAN, 30, 12, -8, 100, -20, G_NOGEN,
  556. X        { { AT_CLAW, AD_SAMU, 2, 12 }, { AT_MAGC, AD_SPEL, 0, 0 },
  557. X!         { AT_BITE, AD_CUSS, 0, 0 }, NO_ATTK, NO_ATTK }, 45, 400, PL_NSIZ,
  558. X        MS_CUSS, M1_NOPOLY | M1_FLY | M1_HUMANOID | M1_POIS_RES |
  559. X        M1_FIRE_RES | M1_REGEN | M1_SEE_INVIS | M1_TPORT |
  560. X        M1_TPORT_CONTROL | M1_MAGIC,
  561. X***************
  562. X*** 1181,1187 ****
  563. X      { "Medusa", S_HUMAN, 20, 12, 2, 50, -15, G_NOGEN | G_UNIQ,
  564. X        { { AT_CLAW, AD_PHYS, 1, 8 }, { AT_GAZE, AD_STON, 0, 0 },
  565. X          { AT_BITE, AD_DRST, 1, 6 }, { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK },
  566. X!       40, 400, 0, MS_HISS,
  567. X        M1_NOPOLY | M1_BIG | M1_HUMANOID | M1_POIS | M1_POIS_RES |
  568. X        M1_STON_RES | M1_FEM, M2_HOSTILE | M2_STRONG | M2_PNAME },
  569. X  #endif
  570. X--- 1200,1206 ----
  571. X      { "Medusa", S_HUMAN, 20, 12, 2, 50, -15, G_NOGEN | G_UNIQ,
  572. X        { { AT_CLAW, AD_PHYS, 1, 8 }, { AT_GAZE, AD_STON, 0, 0 },
  573. X          { AT_BITE, AD_DRST, 1, 6 }, { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK },
  574. X!       45, 400, PL_NSIZ, MS_HISS,
  575. X        M1_NOPOLY | M1_BIG | M1_HUMANOID | M1_POIS | M1_POIS_RES |
  576. X        M1_STON_RES | M1_FEM, M2_HOSTILE | M2_STRONG | M2_PNAME },
  577. X  #endif
  578. X***************
  579. X*** 1188,1194 ****
  580. X  #ifdef ORACLE
  581. X      { "oracle", S_HUMAN, 12, 0, 0, 50, 0, G_NOGEN | G_UNIQ,
  582. X        { { AT_NONE, AD_MAGM, 0, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  583. X!       35, 400, 0, MS_ORACLE, M1_NOPOLY | M1_HUMANOID | M1_FEM,
  584. X        M2_HUMAN | M2_PEACEFUL },
  585. X  #endif
  586. X  #ifdef CHARON
  587. X--- 1207,1213 ----
  588. X  #ifdef ORACLE
  589. X      { "oracle", S_HUMAN, 12, 0, 0, 50, 0, G_NOGEN | G_UNIQ,
  590. X        { { AT_NONE, AD_MAGM, 0, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  591. X!       45, 400, 0, MS_ORACLE, M1_NOPOLY | M1_HUMANOID | M1_FEM,
  592. X        M2_HUMAN | M2_PEACEFUL },
  593. X  #endif
  594. X  #ifdef CHARON
  595. X***************
  596. X*** 1195,1201 ****
  597. X      { "Charon", S_HUMAN, 76, 18, -5, 120, 0,
  598. X        (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
  599. X        { { AT_WEAP, AD_PHYS, 1, 8 }, { AT_TUCH, AD_PLYS, 1, 8 },
  600. X!         NO_ATTK, NO_ATTK, NO_ATTK }, 0, 0, PL_NSIZ, MS_FERRY,
  601. X        M1_NOPOLY | M1_HUMANOID | M1_POIS_RES | M1_FIRE_RES | M1_COLLECT,
  602. X        M2_HUMAN | M2_PEACEFUL },
  603. X  #endif
  604. X--- 1214,1220 ----
  605. X      { "Charon", S_HUMAN, 76, 18, -5, 120, 0,
  606. X        (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
  607. X        { { AT_WEAP, AD_PHYS, 1, 8 }, { AT_TUCH, AD_PLYS, 1, 8 },
  608. X!         NO_ATTK, NO_ATTK, NO_ATTK }, 45, 400, PL_NSIZ, MS_FERRY,
  609. X        M1_NOPOLY | M1_HUMANOID | M1_POIS_RES | M1_FIRE_RES | M1_COLLECT,
  610. X        M2_HUMAN | M2_PEACEFUL },
  611. X  #endif
  612. X***************
  613. X*** 1202,1220 ****
  614. X  /*    Ghost        */
  615. X      { "ghost", S_GHOST, 10, 3, -5, 50, -5, (G_NOCORPSE | G_NOGEN),
  616. X        { { AT_TUCH, AD_PHYS, 1, 1 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  617. X!       0, 0, PL_NSIZ, MS_SILENT, M1_NOPOLY | M1_FLY | M1_WALLWALK |
  618. X        M1_HUMANOID | M1_UNDEAD | M1_STALK | M1_POIS_RES, M2_HOSTILE },
  619. X  /*    (major) Demons    */
  620. X      { "water demon", S_DEMON, 8, 12,-4, 30, -7, (G_NOCORPSE | G_NOGEN),
  621. X        { { AT_WEAP, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 },
  622. X          { AT_BITE, AD_PHYS, 1, 3 }, NO_ATTK, NO_ATTK },
  623. X!       60, 0, 0, MS_SILENT, M1_SWIM | M1_POIS | M1_FIRE_RES |
  624. X        M1_STALK | M1_COLLECT, M2_DEMON | M2_HOSTILE | M2_NASTY },
  625. X  #ifndef HARD /* generic type */
  626. X      { "demon", S_DEMON, 10, 12,-4, 30, -7, (G_NOCORPSE | 1),
  627. X        { { AT_WEAP, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 },
  628. X          { AT_BITE, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK },
  629. X!       60, 0, 0, MS_JEER, M1_POIS | M1_FIRE_RES | M1_STALK | M1_COLLECT,
  630. X        M2_DEMON | M2_HOSTILE | M2_NASTY },
  631. X  #else    /* used in hell for bigger, badder demons! */
  632. X      /* standard demons & devils */
  633. X--- 1221,1239 ----
  634. X  /*    Ghost        */
  635. X      { "ghost", S_GHOST, 10, 3, -5, 50, -5, (G_NOCORPSE | G_NOGEN),
  636. X        { { AT_TUCH, AD_PHYS, 1, 1 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  637. X!       45, 0, PL_NSIZ, MS_SILENT, M1_NOPOLY | M1_FLY | M1_WALLWALK |
  638. X        M1_HUMANOID | M1_UNDEAD | M1_STALK | M1_POIS_RES, M2_HOSTILE },
  639. X  /*    (major) Demons    */
  640. X      { "water demon", S_DEMON, 8, 12,-4, 30, -7, (G_NOCORPSE | G_NOGEN),
  641. X        { { AT_WEAP, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 },
  642. X          { AT_BITE, AD_PHYS, 1, 3 }, NO_ATTK, NO_ATTK },
  643. X!       45, 450, 0, MS_SILENT, M1_SWIM | M1_POIS | M1_FIRE_RES |
  644. X        M1_STALK | M1_COLLECT, M2_DEMON | M2_HOSTILE | M2_NASTY },
  645. X  #ifndef HARD /* generic type */
  646. X      { "demon", S_DEMON, 10, 12,-4, 30, -7, (G_NOCORPSE | 1),
  647. X        { { AT_WEAP, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 },
  648. X          { AT_BITE, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK },
  649. X!       45, 450, 0, MS_JEER, M1_POIS | M1_FIRE_RES | M1_STALK | M1_COLLECT,
  650. X        M2_DEMON | M2_HOSTILE | M2_NASTY },
  651. X  #else    /* used in hell for bigger, badder demons! */
  652. X      /* standard demons & devils */
  653. X***************
  654. X*** 1221,1248 ****
  655. X      { "horned devil", S_DEMON, 6, 9, -5, 50, 11, (G_HELL | G_NOCORPSE | 2),
  656. X        { { AT_WEAP, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 },
  657. X          { AT_BITE, AD_PHYS, 2, 3 }, { AT_STNG, AD_PHYS, 1, 3 }, NO_ATTK },
  658. X!       0, 0, 0, MS_SILENT, M1_POIS | M1_FIRE_RES | M1_STALK,
  659. X        M2_DEMON | M2_HOSTILE | M2_NASTY | M2_THICK_HIDE },
  660. X  #ifdef SEDUCE
  661. X      { "succubus", S_DEMON, 6, 12, 0, 70, -9, (G_NOCORPSE | 1),
  662. X        { { AT_BITE, AD_SSEX, 0, 0 }, { AT_CLAW, AD_PHYS, 1, 3 },
  663. X!         { AT_CLAW, AD_PHYS, 1, 3 }, NO_ATTK }, 0, 0, 0, MS_SEDUCE,
  664. X        M1_HUMANOID | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK | M1_FEM,
  665. X        M2_DEMON | M2_HOSTILE | M2_NASTY },
  666. X      { "incubus", S_DEMON, 6, 12, 0, 70, -9, (G_NOCORPSE | 1),
  667. X        { { AT_BITE, AD_SSEX, 0, 0 }, { AT_CLAW, AD_PHYS, 1, 3 },
  668. X!         { AT_CLAW, AD_PHYS, 1, 3 }, NO_ATTK }, 0, 0, 0, MS_SEDUCE,
  669. X        M1_HUMANOID | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK,
  670. X        M2_DEMON | M2_HOSTILE | M2_NASTY },
  671. X  #else
  672. X      { "succubus", S_DEMON, 6, 12, 0, 70, -9, (G_NOCORPSE | 1),
  673. X        { { AT_CLAW, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 },
  674. X!         { AT_BITE, AD_DRLI, 2, 6 }, NO_ATTK }, 0, 0, 0, MS_SEDUCE,
  675. X        M1_HUMANOID | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK | M1_FEM,
  676. X        M2_DEMON | M2_HOSTILE | M2_NASTY },
  677. X      { "incubus", S_DEMON, 6, 12, 0, 70, -9, (G_NOCORPSE | 1),
  678. X        { { AT_CLAW, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 },
  679. X!         { AT_BITE, AD_DRLI, 2, 6 }, NO_ATTK }, 0, 0, 0, MS_SEDUCE,
  680. X        M1_HUMANOID | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK,
  681. X        M2_DEMON | M2_HOSTILE | M2_NASTY },
  682. X  #endif
  683. X--- 1240,1267 ----
  684. X      { "horned devil", S_DEMON, 6, 9, -5, 50, 11, (G_HELL | G_NOCORPSE | 2),
  685. X        { { AT_WEAP, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 },
  686. X          { AT_BITE, AD_PHYS, 2, 3 }, { AT_STNG, AD_PHYS, 1, 3 }, NO_ATTK },
  687. X!       45, 450, 0, MS_SILENT, M1_POIS | M1_FIRE_RES | M1_STALK,
  688. X        M2_DEMON | M2_HOSTILE | M2_NASTY | M2_THICK_HIDE },
  689. X  #ifdef SEDUCE
  690. X      { "succubus", S_DEMON, 6, 12, 0, 70, -9, (G_NOCORPSE | 1),
  691. X        { { AT_BITE, AD_SSEX, 0, 0 }, { AT_CLAW, AD_PHYS, 1, 3 },
  692. X!         { AT_CLAW, AD_PHYS, 1, 3 }, NO_ATTK }, 45, 450, 0, MS_SEDUCE,
  693. X        M1_HUMANOID | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK | M1_FEM,
  694. X        M2_DEMON | M2_HOSTILE | M2_NASTY },
  695. X      { "incubus", S_DEMON, 6, 12, 0, 70, -9, (G_NOCORPSE | 1),
  696. X        { { AT_BITE, AD_SSEX, 0, 0 }, { AT_CLAW, AD_PHYS, 1, 3 },
  697. X!         { AT_CLAW, AD_PHYS, 1, 3 }, NO_ATTK }, 45, 450, 0, MS_SEDUCE,
  698. X        M1_HUMANOID | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK,
  699. X        M2_DEMON | M2_HOSTILE | M2_NASTY },
  700. X  #else
  701. X      { "succubus", S_DEMON, 6, 12, 0, 70, -9, (G_NOCORPSE | 1),
  702. X        { { AT_CLAW, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 },
  703. X!         { AT_BITE, AD_DRLI, 2, 6 }, NO_ATTK }, 45, 450, 0, MS_SEDUCE,
  704. X        M1_HUMANOID | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK | M1_FEM,
  705. X        M2_DEMON | M2_HOSTILE | M2_NASTY },
  706. X      { "incubus", S_DEMON, 6, 12, 0, 70, -9, (G_NOCORPSE | 1),
  707. X        { { AT_CLAW, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 },
  708. X!         { AT_BITE, AD_DRLI, 2, 6 }, NO_ATTK }, 45, 450, 0, MS_SEDUCE,
  709. X        M1_HUMANOID | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK,
  710. X        M2_DEMON | M2_HOSTILE | M2_NASTY },
  711. X  #endif
  712. X***************
  713. X*** 1249,1260 ****
  714. X      { "erinyes", S_DEMON, 7, 12, 2, 30, 10,
  715. X        (G_HELL | G_NOCORPSE | G_SGROUP | 2),
  716. X        { { AT_WEAP, AD_DRST, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  717. X!       0, 0, 0, MS_SILENT, M1_HUMANOID | M1_POIS | M1_FIRE_RES | M1_STALK |
  718. X!       M1_COLLECT | M1_FEM, M2_DEMON | M2_HOSTILE | M2_STRONG | M2_NASTY },
  719. X      { "marilith", S_DEMON, 7, 12, -6, 80, -12, (G_HELL | G_NOCORPSE | 1),
  720. X        { { AT_WEAP, AD_PHYS, 2, 4 }, { AT_WEAP, AD_PHYS, 2, 4 },
  721. X          { AT_WEAP, AD_PHYS, 2, 4 }, { AT_WEAP, AD_PHYS, 2, 4 },
  722. X!         { AT_WEAP, AD_PHYS, 2, 4 }, }, 0, 0, 0, MS_SILENT, M1_HUMANOID |
  723. X        M1_POIS | M1_FIRE_RES | M1_STALK | M1_COLLECT | M1_FEM,
  724. X        M2_DEMON | M2_HOSTILE | M2_NASTY },
  725. X      { "barbed devil", S_DEMON, 8, 12, 0, 35, 8,
  726. X--- 1268,1280 ----
  727. X      { "erinyes", S_DEMON, 7, 12, 2, 30, 10,
  728. X        (G_HELL | G_NOCORPSE | G_SGROUP | 2),
  729. X        { { AT_WEAP, AD_DRST, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  730. X!       45, 450, 0, MS_SILENT, M1_HUMANOID | M1_POIS | M1_FIRE_RES |
  731. X!       M1_STALK | M1_COLLECT | M1_FEM,
  732. X!       M2_DEMON | M2_HOSTILE | M2_STRONG | M2_NASTY },
  733. X      { "marilith", S_DEMON, 7, 12, -6, 80, -12, (G_HELL | G_NOCORPSE | 1),
  734. X        { { AT_WEAP, AD_PHYS, 2, 4 }, { AT_WEAP, AD_PHYS, 2, 4 },
  735. X          { AT_WEAP, AD_PHYS, 2, 4 }, { AT_WEAP, AD_PHYS, 2, 4 },
  736. X!         { AT_WEAP, AD_PHYS, 2, 4 }, }, 45, 450, 0, MS_SILENT, M1_HUMANOID |
  737. X        M1_POIS | M1_FIRE_RES | M1_STALK | M1_COLLECT | M1_FEM,
  738. X        M2_DEMON | M2_HOSTILE | M2_NASTY },
  739. X      { "barbed devil", S_DEMON, 8, 12, 0, 35, 8,
  740. X***************
  741. X*** 1261,1267 ****
  742. X        (G_HELL | G_NOCORPSE | G_SGROUP | 2),
  743. X        { { AT_CLAW, AD_PHYS, 2, 4 }, { AT_CLAW, AD_PHYS, 2, 4 },
  744. X          { AT_STNG, AD_PHYS, 3, 4 }, NO_ATTK, NO_ATTK },
  745. X!       0, 0, 0, MS_SILENT, M1_POIS | M1_FIRE_RES | M1_STALK,
  746. X        M2_DEMON | M2_HOSTILE | M2_NASTY | M2_THICK_HIDE },
  747. X      { "vrock", S_DEMON, 8, 12, 0, 50, -9,
  748. X        (G_HELL | G_NOCORPSE | G_SGROUP | 2),
  749. X--- 1281,1287 ----
  750. X        (G_HELL | G_NOCORPSE | G_SGROUP | 2),
  751. X        { { AT_CLAW, AD_PHYS, 2, 4 }, { AT_CLAW, AD_PHYS, 2, 4 },
  752. X          { AT_STNG, AD_PHYS, 3, 4 }, NO_ATTK, NO_ATTK },
  753. X!       45, 450, 0, MS_SILENT, M1_POIS | M1_FIRE_RES | M1_STALK,
  754. X        M2_DEMON | M2_HOSTILE | M2_NASTY | M2_THICK_HIDE },
  755. X      { "vrock", S_DEMON, 8, 12, 0, 50, -9,
  756. X        (G_HELL | G_NOCORPSE | G_SGROUP | 2),
  757. X***************
  758. X*** 1268,1319 ****
  759. X        { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 },
  760. X          { AT_CLAW, AD_PHYS, 1, 8 }, { AT_CLAW, AD_PHYS, 1, 8 },
  761. X          { AT_BITE, AD_PHYS, 1, 6 }, },
  762. X!       0, 0, 0, MS_SILENT, M1_POIS | M1_FIRE_RES | M1_STALK,
  763. X        M2_DEMON | M2_HOSTILE | M2_NASTY },
  764. X      { "hezrou", S_DEMON, 9, 6, -2, 55, -10,
  765. X        (G_HELL | G_NOCORPSE | G_SGROUP | 2),
  766. X        { { AT_CLAW, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 },
  767. X!         { AT_BITE, AD_PHYS, 4, 4 }, NO_ATTK, NO_ATTK }, 0, 0, 0, MS_SILENT,
  768. X!       M1_HUMANOID | M1_POIS | M1_FIRE_RES | M1_STALK,
  769. X        M2_DEMON | M2_HOSTILE | M2_NASTY },
  770. X      { "bone devil", S_DEMON, 9, 15, -1, 40, -9,
  771. X        (G_HELL | G_NOCORPSE | G_SGROUP | 2),
  772. X        { { AT_WEAP, AD_PHYS, 3, 4 }, { AT_STNG, AD_DRST, 2, 4 },
  773. X!         NO_ATTK, NO_ATTK, NO_ATTK }, 0, 0, 0, MS_SILENT,
  774. X        M1_POIS | M1_FIRE_RES | M1_STALK | M1_COLLECT,
  775. X        M2_DEMON | M2_HOSTILE | M2_NASTY },
  776. X      { "nalfeshnee", S_DEMON, 11, 9, -1, 65, -11, (G_HELL | G_NOCORPSE | 1),
  777. X        { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 },
  778. X          { AT_BITE, AD_PHYS, 2, 4 }, { AT_MAGC, AD_SPEL, 0, 0 }, NO_ATTK },
  779. X!       0, 0, 0, MS_SILENT, M1_HUMANOID | M1_POIS | M1_FIRE_RES | M1_STALK,
  780. X        M2_DEMON | M2_HOSTILE | M2_NASTY },
  781. X      { "ice devil", S_DEMON, 11, 6, -4, 55, -12, (G_HELL | G_NOCORPSE | 2),
  782. X        { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 },
  783. X          { AT_BITE, AD_PHYS, 2, 4 }, { AT_STNG, AD_COLD, 3, 4 }, NO_ATTK },
  784. X!       0, 0, 0, MS_SILENT, M1_POIS | M1_FIRE_RES | M1_COLD_RES | M1_STALK,
  785. X        M2_DEMON | M2_HOSTILE | M2_NASTY },
  786. X      { "pit fiend", S_DEMON, 13, 6, -3, 65, -13, (G_HELL | G_NOCORPSE | 2),
  787. X        { { AT_WEAP, AD_PHYS, 4, 2 }, { AT_WEAP, AD_PHYS, 4, 2 },
  788. X!         { AT_HUGS, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK }, 0, 0, 0, MS_GROWL,
  789. X!       M1_POIS | M1_FIRE_RES | M1_STALK | M1_COLLECT,
  790. X        M2_DEMON | M2_HOSTILE | M2_NASTY },
  791. X      { "balrog", S_DEMON, 16, 5, -2, 75, -14, (G_HELL | G_NOCORPSE | 1),
  792. X        { { AT_WEAP, AD_PHYS, 8, 4 }, { AT_WEAP, AD_PHYS, 4, 6 },
  793. X          NO_ATTK, NO_ATTK, NO_ATTK },
  794. X!       0, 0, 0, MS_SILENT, M1_FLY | M1_BIG | M1_COLLECT | M1_STALK |
  795. X        M1_POIS | M1_FIRE_RES, M2_DEMON | M2_HOSTILE | M2_STRONG | M2_NASTY },
  796. X      /* Named demon lords & princes plus Arch-Devils */
  797. X      { "Juiblex", S_DEMON, 50, 3, -7, 65, -15,
  798. X        (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
  799. X        { { AT_ENGL, AD_DISE, 4, 10 }, { AT_SPIT, AD_ACID, 3, 6 },
  800. X!         NO_ATTK, NO_ATTK, NO_ATTK }, 0, 0, PL_NSIZ, MS_GURGLE, M1_NOPOLY |
  801. X!       M1_FLY | M1_NOHANDS | M1_POIS | M1_FIRE_RES | M1_STALK | M1_LORD,
  802. X!       M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY | M2_AMORPHOUS },
  803. X      { "Yeenoghu", S_DEMON, 56, 18, -5, 80, -15,
  804. X        (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
  805. X        { { AT_WEAP, AD_PHYS, 3, 6 }, { AT_WEAP, AD_CONF, 2, 8 },
  806. X          { AT_WEAP, AD_PLYS, 1, 6 }, { AT_MAGC, AD_MAGM, 2, 6 }, NO_ATTK },
  807. X!       0, 0, PL_NSIZ, MS_ORC, M1_NOPOLY | M1_FLY | M1_POIS |
  808. X        M1_FIRE_RES | M1_STALK | M1_COLLECT | M1_LORD,
  809. X        M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
  810. X      { "Orcus", S_DEMON, 66, 9, -6, 85, -20,
  811. X--- 1288,1339 ----
  812. X        { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 },
  813. X          { AT_CLAW, AD_PHYS, 1, 8 }, { AT_CLAW, AD_PHYS, 1, 8 },
  814. X          { AT_BITE, AD_PHYS, 1, 6 }, },
  815. X!       45, 450, 0, MS_SILENT, M1_POIS | M1_FIRE_RES | M1_STALK,
  816. X        M2_DEMON | M2_HOSTILE | M2_NASTY },
  817. X      { "hezrou", S_DEMON, 9, 6, -2, 55, -10,
  818. X        (G_HELL | G_NOCORPSE | G_SGROUP | 2),
  819. X        { { AT_CLAW, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 },
  820. X!         { AT_BITE, AD_PHYS, 4, 4 }, NO_ATTK, NO_ATTK }, 45, 450, 0,
  821. X!       MS_SILENT, M1_HUMANOID | M1_POIS | M1_FIRE_RES | M1_STALK,
  822. X        M2_DEMON | M2_HOSTILE | M2_NASTY },
  823. X      { "bone devil", S_DEMON, 9, 15, -1, 40, -9,
  824. X        (G_HELL | G_NOCORPSE | G_SGROUP | 2),
  825. X        { { AT_WEAP, AD_PHYS, 3, 4 }, { AT_STNG, AD_DRST, 2, 4 },
  826. X!         NO_ATTK, NO_ATTK, NO_ATTK }, 45, 450, 0, MS_SILENT,
  827. X        M1_POIS | M1_FIRE_RES | M1_STALK | M1_COLLECT,
  828. X        M2_DEMON | M2_HOSTILE | M2_NASTY },
  829. X      { "nalfeshnee", S_DEMON, 11, 9, -1, 65, -11, (G_HELL | G_NOCORPSE | 1),
  830. X        { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 },
  831. X          { AT_BITE, AD_PHYS, 2, 4 }, { AT_MAGC, AD_SPEL, 0, 0 }, NO_ATTK },
  832. X!       45, 450, 0, MS_SILENT, M1_HUMANOID | M1_POIS | M1_FIRE_RES | M1_STALK,
  833. X        M2_DEMON | M2_HOSTILE | M2_NASTY },
  834. X      { "ice devil", S_DEMON, 11, 6, -4, 55, -12, (G_HELL | G_NOCORPSE | 2),
  835. X        { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 },
  836. X          { AT_BITE, AD_PHYS, 2, 4 }, { AT_STNG, AD_COLD, 3, 4 }, NO_ATTK },
  837. X!       45, 450, 0, MS_SILENT, M1_POIS | M1_FIRE_RES | M1_COLD_RES | M1_STALK,
  838. X        M2_DEMON | M2_HOSTILE | M2_NASTY },
  839. X      { "pit fiend", S_DEMON, 13, 6, -3, 65, -13, (G_HELL | G_NOCORPSE | 2),
  840. X        { { AT_WEAP, AD_PHYS, 4, 2 }, { AT_WEAP, AD_PHYS, 4, 2 },
  841. X!         { AT_HUGS, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK }, 45, 450, 0,
  842. X!       MS_GROWL, M1_POIS | M1_FIRE_RES | M1_STALK | M1_COLLECT,
  843. X        M2_DEMON | M2_HOSTILE | M2_NASTY },
  844. X      { "balrog", S_DEMON, 16, 5, -2, 75, -14, (G_HELL | G_NOCORPSE | 1),
  845. X        { { AT_WEAP, AD_PHYS, 8, 4 }, { AT_WEAP, AD_PHYS, 4, 6 },
  846. X          NO_ATTK, NO_ATTK, NO_ATTK },
  847. X!       45, 450, 0, MS_SILENT, M1_FLY | M1_BIG | M1_COLLECT | M1_STALK |
  848. X        M1_POIS | M1_FIRE_RES, M2_DEMON | M2_HOSTILE | M2_STRONG | M2_NASTY },
  849. X      /* Named demon lords & princes plus Arch-Devils */
  850. X      { "Juiblex", S_DEMON, 50, 3, -7, 65, -15,
  851. X        (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
  852. X        { { AT_ENGL, AD_DISE, 4, 10 }, { AT_SPIT, AD_ACID, 3, 6 },
  853. X!         NO_ATTK, NO_ATTK, NO_ATTK }, 50, 500, PL_NSIZ, MS_GURGLE,
  854. X!       M1_NOPOLY | M1_FLY | M1_NOHANDS | M1_POIS | M1_FIRE_RES | M1_STALK |
  855. X!       M1_LORD, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY | M2_AMORPHOUS },
  856. X      { "Yeenoghu", S_DEMON, 56, 18, -5, 80, -15,
  857. X        (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
  858. X        { { AT_WEAP, AD_PHYS, 3, 6 }, { AT_WEAP, AD_CONF, 2, 8 },
  859. X          { AT_WEAP, AD_PLYS, 1, 6 }, { AT_MAGC, AD_MAGM, 2, 6 }, NO_ATTK },
  860. X!       50, 500, PL_NSIZ, MS_ORC, M1_NOPOLY | M1_FLY | M1_POIS |
  861. X        M1_FIRE_RES | M1_STALK | M1_COLLECT | M1_LORD,
  862. X        M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
  863. X      { "Orcus", S_DEMON, 66, 9, -6, 85, -20,
  864. X***************
  865. X*** 1320,1338 ****
  866. X        (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
  867. X        { { AT_MAGC, AD_SPEL, 8, 6 }, { AT_WEAP, AD_PHYS, 3, 6 },
  868. X          { AT_CLAW, AD_PHYS, 3, 4 }, { AT_CLAW, AD_PHYS, 3, 4 },
  869. X!         { AT_STNG, AD_DRST, 2, 4 }, }, 0, 0, PL_NSIZ, MS_ORC,
  870. X        M1_NOPOLY | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK |
  871. X        M1_COLLECT | M1_PRINCE, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
  872. X      { "Geryon", S_DEMON, 72, 3, -3, 75, 15,
  873. X        (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
  874. X        { { AT_CLAW, AD_PHYS, 3, 6 }, { AT_CLAW, AD_PHYS, 3, 6 },
  875. X!         { AT_STNG, AD_DRST, 2, 4 }, NO_ATTK, NO_ATTK }, 0, 0, PL_NSIZ,
  876. X        MS_JEER, M1_NOPOLY | M1_FLY | M1_POIS | M1_FIRE_RES |
  877. X        M1_STALK | M1_PRINCE, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
  878. X      { "Dispater", S_DEMON, 78, 15, -2, 80, 15,
  879. X        (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
  880. X        { { AT_WEAP, AD_PHYS, 4, 6 }, { AT_MAGC, AD_SPEL, 6, 6 },
  881. X!         NO_ATTK, NO_ATTK, NO_ATTK }, 0, 0, PL_NSIZ, MS_JEER,
  882. X        M1_NOPOLY | M1_FLY | M1_HUMANOID | M1_POIS |
  883. X        M1_FIRE_RES | M1_STALK | M1_COLLECT | M1_PRINCE,
  884. X        M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
  885. X--- 1340,1358 ----
  886. X        (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
  887. X        { { AT_MAGC, AD_SPEL, 8, 6 }, { AT_WEAP, AD_PHYS, 3, 6 },
  888. X          { AT_CLAW, AD_PHYS, 3, 4 }, { AT_CLAW, AD_PHYS, 3, 4 },
  889. X!         { AT_STNG, AD_DRST, 2, 4 }, }, 50, 500, PL_NSIZ, MS_ORC,
  890. X        M1_NOPOLY | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK |
  891. X        M1_COLLECT | M1_PRINCE, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
  892. X      { "Geryon", S_DEMON, 72, 3, -3, 75, 15,
  893. X        (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
  894. X        { { AT_CLAW, AD_PHYS, 3, 6 }, { AT_CLAW, AD_PHYS, 3, 6 },
  895. X!         { AT_STNG, AD_DRST, 2, 4 }, NO_ATTK, NO_ATTK }, 50, 500, PL_NSIZ,
  896. X        MS_JEER, M1_NOPOLY | M1_FLY | M1_POIS | M1_FIRE_RES |
  897. X        M1_STALK | M1_PRINCE, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
  898. X      { "Dispater", S_DEMON, 78, 15, -2, 80, 15,
  899. X        (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
  900. X        { { AT_WEAP, AD_PHYS, 4, 6 }, { AT_MAGC, AD_SPEL, 6, 6 },
  901. X!         NO_ATTK, NO_ATTK, NO_ATTK }, 50, 500, PL_NSIZ, MS_JEER,
  902. X        M1_NOPOLY | M1_FLY | M1_HUMANOID | M1_POIS |
  903. X        M1_FIRE_RES | M1_STALK | M1_COLLECT | M1_PRINCE,
  904. X        M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
  905. X***************
  906. X*** 1339,1351 ****
  907. X      { "Baalzebul", S_DEMON, 89, 9, -5, 85, 20,
  908. X        (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
  909. X        { { AT_BITE, AD_DRST, 2, 6 }, { AT_GAZE, AD_STUN, 2, 6 },
  910. X!         NO_ATTK, NO_ATTK, NO_ATTK }, 0, 0, PL_NSIZ, MS_JEER,
  911. X        M1_NOPOLY | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK |
  912. X        M1_PRINCE, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
  913. X      { "Asmodeus", S_DEMON, 105, 12, -7, 90, 20,
  914. X        (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
  915. X        { { AT_CLAW, AD_PHYS, 4, 4 }, { AT_MAGC, AD_COLD, 6, 6 },
  916. X!         NO_ATTK, NO_ATTK, NO_ATTK }, 0, 0, PL_NSIZ, MS_JEER,
  917. X        M1_NOPOLY | M1_FLY | M1_HUMANOID | M1_POIS |
  918. X        M1_FIRE_RES | M1_COLD_RES | M1_STALK | M1_PRINCE,
  919. X        M2_DEMON | M2_HOSTILE | M2_PNAME | M2_STRONG | M2_NASTY },
  920. X--- 1359,1371 ----
  921. X      { "Baalzebul", S_DEMON, 89, 9, -5, 85, 20,
  922. X        (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
  923. X        { { AT_BITE, AD_DRST, 2, 6 }, { AT_GAZE, AD_STUN, 2, 6 },
  924. X!         NO_ATTK, NO_ATTK, NO_ATTK }, 50, 500, PL_NSIZ, MS_JEER,
  925. X        M1_NOPOLY | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK |
  926. X        M1_PRINCE, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
  927. X      { "Asmodeus", S_DEMON, 105, 12, -7, 90, 20,
  928. X        (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
  929. X        { { AT_CLAW, AD_PHYS, 4, 4 }, { AT_MAGC, AD_COLD, 6, 6 },
  930. X!         NO_ATTK, NO_ATTK, NO_ATTK }, 50, 500, PL_NSIZ, MS_JEER,
  931. X        M1_NOPOLY | M1_FLY | M1_HUMANOID | M1_POIS |
  932. X        M1_FIRE_RES | M1_COLD_RES | M1_STALK | M1_PRINCE,
  933. X        M2_DEMON | M2_HOSTILE | M2_PNAME | M2_STRONG | M2_NASTY },
  934. X***************
  935. X*** 1353,1372 ****
  936. X        (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
  937. X        { { AT_MAGC, AD_SPEL, 8, 6 }, { AT_STNG, AD_DRLI, 1, 4 },
  938. X          { AT_CLAW, AD_DISE, 1, 6 }, { AT_CLAW, AD_DISE, 1, 6 },
  939. X!         NO_ATTK }, 0, 0, PL_NSIZ, MS_GROWL, M1_NOPOLY | M1_FLY |
  940. X        M1_NOHANDS | M1_POIS | M1_FIRE_RES | M1_STALK |
  941. X        M1_PRINCE, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
  942. X  #endif
  943. X  #ifdef MAIL
  944. X      { "mail daemon", S_DEMON, 56, 24, 10, 127, 0, (G_NOGEN | G_NOCORPSE),
  945. X!       { NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 0, 0, 0, MS_SILENT,
  946. X!       M1_NOPOLY | M1_FLY | M1_SWIM | M1_HUMANOID | M1_POIS | M1_FIRE_RES |
  947. X!       M1_COLD_RES | M1_SLEE_RES | M1_STALK, M2_PEACEFUL },
  948. X  /* Neither rain nor sleet nor gloom of night shall stay this courier... */
  949. X  #endif
  950. X      { "djinni", S_DEMON, 7, 12, 4, 30, 0, (G_NOGEN | G_NOCORPSE),
  951. X        { { AT_WEAP, AD_PHYS, 2, 8 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  952. X!       0, 0, 0, MS_DJINNI,
  953. X        M1_NOPOLY | M1_FLY | M1_POIS | M1_STALK | M1_COLLECT, 0 },
  954. X  /*    eels        */
  955. X      { "giant eel", S_EEL, 5, 9, -1, 0, 0, (G_GENO | G_NOGEN),
  956. X--- 1373,1392 ----
  957. X        (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
  958. X        { { AT_MAGC, AD_SPEL, 8, 6 }, { AT_STNG, AD_DRLI, 1, 4 },
  959. X          { AT_CLAW, AD_DISE, 1, 6 }, { AT_CLAW, AD_DISE, 1, 6 },
  960. X!         NO_ATTK }, 50, 500, PL_NSIZ, MS_GROWL, M1_NOPOLY | M1_FLY |
  961. X        M1_NOHANDS | M1_POIS | M1_FIRE_RES | M1_STALK |
  962. X        M1_PRINCE, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
  963. X  #endif
  964. X  #ifdef MAIL
  965. X      { "mail daemon", S_DEMON, 56, 24, 10, 127, 0, (G_NOGEN | G_NOCORPSE),
  966. X!       { NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 30, 300, 0,
  967. X!       MS_SILENT, M1_NOPOLY | M1_FLY | M1_SWIM | M1_HUMANOID | M1_POIS |
  968. X!       M1_FIRE_RES | M1_COLD_RES | M1_SLEE_RES | M1_STALK, M2_PEACEFUL },
  969. X  /* Neither rain nor sleet nor gloom of night shall stay this courier... */
  970. X  #endif
  971. X      { "djinni", S_DEMON, 7, 12, 4, 30, 0, (G_NOGEN | G_NOCORPSE),
  972. X        { { AT_WEAP, AD_PHYS, 2, 8 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  973. X!       40, 400, 0, MS_DJINNI,
  974. X        M1_NOPOLY | M1_FLY | M1_POIS | M1_STALK | M1_COLLECT, 0 },
  975. X  /*    eels        */
  976. X      { "giant eel", S_EEL, 5, 9, -1, 0, 0, (G_GENO | G_NOGEN),
  977. X***************
  978. X*** 1389,1395 ****
  979. X  /*    chameleon    */
  980. X      { "chameleon", S_CHAMELEON, 6, 5, 6, 10, 0, (G_GENO | 2),
  981. X        { { AT_BITE, AD_PHYS, 4, 2 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  982. X!       1, 10, 0, MS_SILENT, M1_VSMALL | M1_ANIMAL,
  983. X        M2_HOSTILE | M2_CARNIVORE },
  984. X  
  985. X  /*    character classes */
  986. X--- 1409,1415 ----
  987. X  /*    chameleon    */
  988. X      { "chameleon", S_CHAMELEON, 6, 5, 6, 10, 0, (G_GENO | 2),
  989. X        { { AT_BITE, AD_PHYS, 4, 2 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  990. X!       10, 100, 0, MS_SILENT, M1_VSMALL | M1_ANIMAL,
  991. X        M2_HOSTILE | M2_CARNIVORE },
  992. X  
  993. X  /*    character classes */
  994. X***************
  995. X*** 1409,1417 ****
  996. X        { {AT_WEAP, AD_PHYS, 2, 4}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  997. X        45, 400, 0, MS_HUMANOID, M1_NOPOLY | M1_HUMANOID | M1_COLLECT | M1_FEM,
  998. X        M2_HUMAN | M2_STRONG | M2_CARNIVORE },
  999. X      { "elf", S_HUMAN, 1, 12, 10, 2, 3, G_NOGEN,
  1000. X        { {AT_WEAP, AD_PHYS, 1, 8}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  1001. X!       45, 400, 0, MS_HUMANOID, M1_NOPOLY | M1_HUMANOID | M1_COLLECT |
  1002. X        M1_SLEE_RES | M1_SEE_INVIS, M2_ELF | M2_STRONG },
  1003. X      { "healer", S_HUMAN, 1, 10, 10, 1, 3, G_NOGEN,
  1004. X        { {AT_WEAP, AD_PHYS, 1, 6}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  1005. X--- 1429,1440 ----
  1006. X        { {AT_WEAP, AD_PHYS, 2, 4}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  1007. X        45, 400, 0, MS_HUMANOID, M1_NOPOLY | M1_HUMANOID | M1_COLLECT | M1_FEM,
  1008. X        M2_HUMAN | M2_STRONG | M2_CARNIVORE },
  1009. X+     /* Note: players who are elves still get normal carrying capacity,
  1010. X+      * even though this is strictly speaking inconsistent.
  1011. X+      */
  1012. X      { "elf", S_HUMAN, 1, 12, 10, 2, 3, G_NOGEN,
  1013. X        { {AT_WEAP, AD_PHYS, 1, 8}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  1014. X!       35, 350, 0, MS_HUMANOID, M1_NOPOLY | M1_HUMANOID | M1_COLLECT |
  1015. X        M1_SLEE_RES | M1_SEE_INVIS, M2_ELF | M2_STRONG },
  1016. X      { "healer", S_HUMAN, 1, 10, 10, 1, 3, G_NOGEN,
  1017. X        { {AT_WEAP, AD_PHYS, 1, 6}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  1018. X***************
  1019. X*** 1456,1458 ****
  1020. X--- 1479,1482 ----
  1021. X        { NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
  1022. X        0, 0, 0, 0, 0, 0 }
  1023. X  };
  1024. X+ #endif /* !SPLITMON_1 */
  1025. X*** src/Old/mthrowu.c    Sat Jul 22 08:19:57 1989
  1026. X--- src/mthrowu.c    Mon Jul 31 21:56:30 1989
  1027. X***************
  1028. X*** 42,53
  1029. X      } else {
  1030. X          if(Blind || !flags.verbose) You("are hit!");
  1031. X          else You("are hit by %s!", buf);
  1032. X-         Strcpy(buf,name);
  1033. X-         /* If name came from xname() we must copy it, otherwise if
  1034. X-          * you die, the possession identify will call xname(),
  1035. X-          * overwriting xname's buffer, and your tombstone will say
  1036. X-          * you were killed by a green gem or some such.
  1037. X-          */
  1038. X  #ifdef POLYSELF
  1039. X          if (acidic && resists_acid(uasmon))
  1040. X              pline("It doesn't seem to hurt you.");
  1041. X
  1042. X--- 42,47 -----
  1043. X      } else {
  1044. X          if(Blind || !flags.verbose) You("are hit!");
  1045. X          else You("are hit by %s!", buf);
  1046. X  #ifdef POLYSELF
  1047. X          if (acidic && resists_acid(uasmon))
  1048. X              pline("It doesn't seem to hurt you.");
  1049. X***************
  1050. X*** 54,60
  1051. X          else {
  1052. X  #endif
  1053. X              if (acidic) pline("It burns!");
  1054. X!             losehp(dam, buf);
  1055. X  #ifdef POLYSELF
  1056. X          }
  1057. X  #endif
  1058. X
  1059. X--- 48,54 -----
  1060. X          else {
  1061. X  #endif
  1062. X              if (acidic) pline("It burns!");
  1063. X!             losehp(dam, name);
  1064. X  #ifdef POLYSELF
  1065. X          }
  1066. X  #endif
  1067. X***************
  1068. X*** 191,197
  1069. X                  if (dam < 1) dam = 1;
  1070. X                  hitu = thitu(8+obj->spe, dam, xname(singleobj));
  1071. X              }
  1072. X!             if (obj->opoisoned)
  1073. X                  /* it's safe to call xname twice because it's the
  1074. X                     same object both times... */
  1075. X                  poisoned(xname(singleobj), A_STR, xname(singleobj));
  1076. X
  1077. X--- 185,191 -----
  1078. X                  if (dam < 1) dam = 1;
  1079. X                  hitu = thitu(8+obj->spe, dam, xname(singleobj));
  1080. X              }
  1081. X!             if (hitu && obj->opoisoned)
  1082. X                  /* it's safe to call xname twice because it's the
  1083. X                     same object both times... */
  1084. X                  poisoned(xname(singleobj), A_STR, xname(singleobj));
  1085. X*** src/Old/objects.c    Mon Jul 31 14:23:38 1989
  1086. X--- src/objects.c    Wed Jul 26 19:33:48 1989
  1087. X***************
  1088. X*** 58,64 ****
  1089. X--- 58,68 ----
  1090. X      FOOD("pear",             7, 0, 1, 0,  50),
  1091. X      FOOD("melon",             7, 0, 1, 0, 100),
  1092. X      FOOD("banana",             7, 0, 1, 0,  80),
  1093. X+ #ifdef TUTTI_FRUTTI
  1094. X      FOOD("slime mold",        75, 0, 1, 0, 250),
  1095. X+ #else
  1096. X+     FOOD("slice of pizza",        75, 0, 1, 0, 250),
  1097. X+ #endif
  1098. X      FOOD("carrot",            15, 0, 1, 0,  50),
  1099. X      FOOD("clove of garlic",      5, 0, 1, 0,  40),
  1100. X      /* human food */
  1101. END_OF_FILE
  1102. if test 51559 -ne `wc -c <'src2.diff'`; then
  1103.     echo shar: \"'src2.diff'\" unpacked with wrong size!
  1104. fi
  1105. # end of 'src2.diff'
  1106. fi
  1107. echo shar: End of archive 4 \(of 6\).
  1108. cp /dev/null ark4isdone
  1109. MISSING=""
  1110. for I in 1 2 3 4 5 6 ; do
  1111.     if test ! -f ark${I}isdone ; then
  1112.     MISSING="${MISSING} ${I}"
  1113.     fi
  1114. done
  1115. if test "${MISSING}" = "" ; then
  1116.     echo You have unpacked all 6 archives.
  1117.     echo "now type ./do_patch.sh"
  1118.     rm -f ark[1-9]isdone
  1119. else
  1120.     echo You still need to unpack the following archives:
  1121.     echo "        " ${MISSING}
  1122. fi
  1123. ##  End of shell archive.
  1124. exit 0
  1125.