home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / sources / games / 164 < prev    next >
Encoding:
Internet Message Format  |  1992-08-20  |  54.7 KB

  1. Path: sparky!uunet!zephyr.ens.tek.com!master!saab!billr
  2. From: billr@saab.CNA.TEK.COM (Bill Randle)
  3. Newsgroups: comp.sources.games
  4. Subject: v14i034:  umoria4 - single player dungeon simulation (ver. 5.5), Part02/39
  5. Message-ID: <3392@master.CNA.TEK.COM>
  6. Date: 20 Aug 92 18:01:11 GMT
  7. Sender: news@master.CNA.TEK.COM
  8. Lines: 1039
  9. Approved: billr@saab.CNA.TEK.COM
  10.  
  11. Submitted-by: grabiner@math.harvard.edu (David Grabiner)
  12. Posting-number: Volume 14, Issue 34
  13. Archive-name: umoria4/Part02
  14. Supersedes: umoria3: Volume 9, Issue 55-97, Volume 10, Issue 15-17
  15. Environment: Curses, Unix, Mac, MS-DOS, Atari-ST, Amiga, VMS
  16.  
  17.  
  18.  
  19. #! /bin/sh
  20. # This is a shell archive.  Remove anything before this line, then unpack
  21. # it by saving it into a file and typing "sh file".  To overwrite existing
  22. # files, type "sh file -c".  You can also feed this as standard input via
  23. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  24. # will see the following message at the end:
  25. #        "End of archive 2 (of 39)."
  26. # Contents:  files/scores source/treasure.c
  27. # Wrapped by billr@saab on Thu Aug 20 09:11:26 1992
  28. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  29. if test -f 'files/scores' -a "${1}" != "-c" ; then 
  30.   echo shar: Will not clobber existing file \"'files/scores'\"
  31. else
  32. echo shar: Extracting \"'files/scores'\" \(0 characters\)
  33. sed "s/^X//" >'files/scores' <<'END_OF_FILE'
  34. END_OF_FILE
  35. if test 0 -ne `wc -c <'files/scores'`; then
  36.     echo shar: \"'files/scores'\" unpacked with wrong size!
  37. fi
  38. # end of 'files/scores'
  39. fi
  40. if test -f 'source/treasure.c' -a "${1}" != "-c" ; then 
  41.   echo shar: Will not clobber existing file \"'source/treasure.c'\"
  42. else
  43. echo shar: Extracting \"'source/treasure.c'\" \(52575 characters\)
  44. sed "s/^X//" >'source/treasure.c' <<'END_OF_FILE'
  45. X/* source/treasure.c: dungeon object definitions
  46. X
  47. X   Copyright (c) 1989-92 James E. Wilson, Robert A. Koeneke
  48. X
  49. X   This software may be copied and distributed for educational, research, and
  50. X   not for profit purposes provided that this copyright and statement are
  51. X   included in all such copies. */
  52. X
  53. X#include "config.h"
  54. X#include "constant.h"
  55. X#include "types.h"
  56. X
  57. X/* Following are treasure arrays    and variables            */
  58. X
  59. X/* Object description:    Objects are defined here.  Each object has
  60. X  the following attributes:
  61. X    Descriptor : Name of item and formats.
  62. X        & is replaced with 'a', 'an', or a number.
  63. X        ~ is replaced with null or 's'.
  64. X    Character  : Character that represents the item.
  65. X    Type value : Value representing the type of object.
  66. X    Sub value  : separate value for each item of a type.
  67. X        0 - 63: object can not stack
  68. X        64 - 127: dungeon object, can stack with other D object
  69. X        128 - 191: unused, previously for store items
  70. X        192: stack with other iff have same p1 value, always
  71. X            treated as individual objects
  72. X        193 - 255: object can stack with others iff they have
  73. X            the same p1 value, usually considered one group
  74. X        Objects which have two type values, e.g. potions and
  75. X        scrolls, need to have distinct subvals for
  76. X        each item regardless of its tval
  77. X    Damage       : amount of damage item can cause.
  78. X    Weight       : relative weight of an item.
  79. X    Number       : number of items appearing in group.
  80. X    To hit       : magical plusses to hit.
  81. X    To damage  : magical plusses to damage.
  82. X    AC       : objects relative armor class.
  83. X        1 is worse than 5 is worse than 10 etc.
  84. X    To AC       : Magical bonuses to AC.
  85. X    P1       : Catch all for magical abilities such as
  86. X             plusses to strength, minuses to searching.
  87. X    Flags       : Abilities of object.  Each ability is a
  88. X             bit.  Bits 1-31 are used. (Signed integer)
  89. X    Level       : Minimum level on which item can be found.
  90. X    Cost       : Relative cost of item.
  91. X
  92. X    Special Abilities can be added to item by magic_init(),
  93. X    found in misc.c.
  94. X
  95. X    Scrolls, Potions, and Food:
  96. X    Flags is used to define a function which reading/quaffing
  97. X    will cause.  Most scrolls and potions have only one bit
  98. X    set.  Potions will generally have some food value, found
  99. X    in p1.
  100. X
  101. X    Wands and Staffs:
  102. X    Flags defines a function, p1 contains number of charges
  103. X    for item.  p1 is set in magic_init() in misc.c.
  104. X
  105. X    Chests:
  106. X    Traps are added randomly by magic_init() in misc.c.    */
  107. X
  108. X/* Object list (All objects must be defined here)         */
  109. X
  110. X#if defined(MACGAME) || defined(RSRC_PART2)
  111. Xtreasure_type *object_list;
  112. X#else
  113. Xtreasure_type object_list[MAX_OBJECTS] = {
  114. X/* Dungeon items from 0 to MAX_DUNGEON_OBJ */
  115. X{"Poison"            ,0x00000001L,    TV_FOOD, ',',    /*  0*/
  116. X  500,       0,    64,   1,   1,    0,   0,     0,   0, {0,0}    ,  7},
  117. X{"Blindness"            ,0x00000002L,    TV_FOOD, ',',    /*  1*/
  118. X  500,       0,    65,   1,   1,    0,   0,     0,   0, {0,0}    ,  9},
  119. X{"Paranoia"            ,0x00000004L,    TV_FOOD, ',',    /*  2*/
  120. X  500,       0,    66,   1,   1,    0,   0,     0,   0, {0,0}    ,  9},
  121. X{"Confusion"            ,0x00000008L,    TV_FOOD, ',',    /*  3*/
  122. X  500,       0,    67,   1,   1,    0,   0,     0,   0, {0,0}    ,  7},
  123. X{"Hallucination"        ,0x00000010L,    TV_FOOD, ',',    /*  4*/
  124. X  500,       0,    68,   1,   1,    0,   0,     0,   0, {0,0}    , 13},
  125. X{"Cure Poison"            ,0x00000020L,    TV_FOOD, ',',    /*  5*/
  126. X  500,      60,    69,   1,   1,    0,   0,     0,   0, {0,0}    ,  8},
  127. X{"Cure Blindness"        ,0x00000040L,    TV_FOOD, ',',    /*  6*/
  128. X  500,      50,    70,   1,   1,    0,   0,     0,   0, {0,0}    , 10},
  129. X{"Cure Paranoia"        ,0x00000080L,    TV_FOOD, ',',    /*  7*/
  130. X  500,      25,    71,   1,   1,    0,   0,     0,   0, {0,0}    , 12},
  131. X{"Cure Confusion"        ,0x00000100L,    TV_FOOD, ',',    /*  8*/
  132. X  500,      50,    72,   1,   1,    0,   0,     0,   0, {0,0}    ,  6},
  133. X{"Weakness"            ,0x04000200L,    TV_FOOD, ',',    /*  9*/
  134. X  500,       0,    73,   1,   1,    0,   0,     0,   0, {0,0}    ,  7},
  135. X{"Unhealth"            ,0x04000400L,    TV_FOOD, ',',    /* 10*/
  136. X  500,      50,    74,   1,   1,    0,   0,     0,   0, {10,10}, 15},
  137. X{"Restore Constitution"        ,0x00010000L,    TV_FOOD, ',',    /* 11*/
  138. X  500,     350,    75,   1,   1,    0,   0,     0,   0, {0,0}    , 20},
  139. X{"First-Aid"            ,0x00200000L,    TV_FOOD, ',',    /* 12*/
  140. X  500,       5,    76,   1,   1,    0,   0,     0,   0, {0,0}    ,  6},
  141. X{"Minor Cures"            ,0x00400000L,    TV_FOOD, ',',    /* 13*/
  142. X  500,      20,    77,   1,   1,    0,   0,     0,   0, {0,0}    ,  7},
  143. X{"Light Cures"            ,0x00800000L,    TV_FOOD, ',',    /* 14*/
  144. X  500,      30,    78,   1,   1,    0,   0,     0,   0, {0,0}    , 10},
  145. X{"Restoring"            ,0x001F8040L,    TV_FOOD, ',',    /* 15*/
  146. X  500,    1000,    79,   1,   1,    0,   0,     0,   0, {0,0}    , 30},
  147. X{"Poison"            ,0x00000001L,    TV_FOOD, ',',    /* 16*/
  148. X 1200,       0,    80,   1,   1,    0,   0,     0,   0, {0,0}    , 15},
  149. X{"Hallucinations"        ,0x00000010L,    TV_FOOD, ',',    /* 17*/
  150. X 1200,       0,    81,   1,   1,    0,   0,     0,   0, {0,0}    , 18},
  151. X{"Cure Poison"            ,0x00000020L,    TV_FOOD, ',',    /* 18*/
  152. X 1200,      75,    82,   1,   1,    0,   0,     0,   0, {0,0}    , 19},
  153. X{"Unhealth"            ,0x00000400L,    TV_FOOD, ',',    /* 19*/
  154. X 1200,      25,    83,   1,   1,    0,   0,     0,   0, {6,8}    , 28},
  155. X{"Cure Serious Wounds"        ,0x02000000L,    TV_FOOD, ',',    /* 20*/
  156. X 1200,      75,    84,   1,   2,    0,   0,     0,   0, {0,0}    , 16},
  157. X{"& Ration~ of Food"        ,0x00000000L,    TV_FOOD, ',',    /* 21*/
  158. X 5000,       3,    90,   1,  10,    0,   0,     0,   0, {0,0}    ,  0},
  159. X{"& Ration~ of Food"        ,0x00000000L,    TV_FOOD, ',',    /* 22*/
  160. X 5000,       3,    90,   1,  10,    0,   0,     0,   0, {0,0}    ,  5},
  161. X{"& Ration~ of Food"        ,0x00000000L,    TV_FOOD, ',',    /* 23*/
  162. X 5000,       3,    90,   1,  10,    0,   0,     0,   0, {0,0}    , 10},
  163. X{"& Slime Mold~"        ,0x00000000L,    TV_FOOD, ',',    /* 24*/
  164. X 3000,       2,    91,   1,   5,    0,   0,     0,   0, {0,0}    ,  1},
  165. X{"& Piece~ of Elvish Waybread"    ,0x02000020L,    TV_FOOD, ',',    /* 25*/
  166. X 7500,      10,    92,   1,   3,    0,   0,     0,   0, {0,0}    ,  6},
  167. X{"& Piece~ of Elvish Waybread"    ,0x02000020L,    TV_FOOD, ',',    /* 26*/
  168. X 7500,      10,    92,   1,   3,    0,   0,     0,   0, {0,0}    , 12},
  169. X{"& Piece~ of Elvish Waybread"    ,0x02000020L,    TV_FOOD, ',',    /* 27*/
  170. X 7500,      10,    92,   1,   3,    0,   0,     0,   0, {0,0}    , 20},
  171. X{"& Dagger (Main Gauche)"    ,0x00000000L,    TV_SWORD, '|',    /* 28*/
  172. X    0,      25,    1,   1,  30,    0,   0,     0,   0, {1,5}    ,  2},
  173. X{"& Dagger (Misericorde)"    ,0x00000000L,    TV_SWORD, '|',    /* 29*/
  174. X    0,      10,    2,   1,  15,    0,   0,     0,   0, {1,4}    ,  0},
  175. X{"& Dagger (Stiletto)"        ,0x00000000L,    TV_SWORD, '|',    /* 30*/
  176. X    0,      10,    3,   1,  12,    0,   0,     0,   0, {1,4}    ,  0},
  177. X{"& Dagger (Bodkin)"        ,0x00000000L,    TV_SWORD, '|',    /* 31*/
  178. X    0,      10,    4,   1,  20,    0,   0,     0,   0, {1,4}    ,  1},
  179. X{"& Broken dagger"        ,0x00000000L,    TV_SWORD, '|',    /* 32*/
  180. X    0,       0,    5,   1,  15,  -2,  -2,     0,   0, {1,1}    ,  0},
  181. X{"& Backsword"            ,0x00000000L,    TV_SWORD, '|',    /* 33*/
  182. X    0,      60,    6,   1,  95,    0,   0,     0,   0, {1,9}    ,  7},
  183. X{"& Bastard Sword"        ,0x00000000L,    TV_SWORD, '|',    /* 34*/
  184. X    0,     350,    7,   1, 140,    0,   0,     0,   0, {3,4}    , 14},
  185. X{"& Thrusting Sword (Bilbo)"    ,0x00000000L,    TV_SWORD, '|',    /* 35*/
  186. X    0,      60,    8,   1,  80,    0,   0,     0,   0, {1,6}    ,  4},
  187. X{"& Thrusting Sword (Baselard)"    ,0x00000000L,    TV_SWORD, '|',    /* 36*/
  188. X    0,      80,    9,   1, 100,    0,   0,     0,   0, {1,7}    ,  5},
  189. X{"& Broadsword"            ,0x00000000L,    TV_SWORD, '|',    /* 37*/
  190. X    0,     255,    10,   1, 150,    0,   0,     0,   0, {2,5}    ,  9},
  191. X{"& Two-Handed Sword (Claymore)",0x00000000L,    TV_SWORD, '|',    /* 38*/
  192. X    0,     775,    11,   1, 200,    0,   0,     0,   0, {3,6}    , 30},
  193. X{"& Cutlass"            ,0x00000000L,    TV_SWORD, '|',    /* 39*/
  194. X    0,      85,    12,   1, 110,    0,   0,     0,   0, {1,7}    ,  7},
  195. X{"& Two-Handed Sword (Espadon)"    ,0x00000000L,    TV_SWORD, '|',    /* 40*/
  196. X    0,     655,    13,   1, 180,    0,   0,     0,   0, {3,6}    , 35},
  197. X{"& Executioner's Sword"    ,0x00000000L,    TV_SWORD, '|',    /* 41*/
  198. X    0,     850,    14,   1, 260,    0,   0,     0,   0, {4,5}    , 40},
  199. X{"& Two-Handed Sword (Flamberge)",0x00000000L,    TV_SWORD, '|',    /* 42*/
  200. X    0,    1000,    15,   1, 240,    0,   0,     0,   0, {4,5}    , 45},
  201. X{"& Foil"            ,0x00000000L,    TV_SWORD, '|',    /* 43*/
  202. X    0,      35,    16,   1,  30,    0,   0,     0,   0, {1,5}    ,  2},
  203. X{"& Katana"            ,0x00000000L,    TV_SWORD, '|',    /* 44*/
  204. X    0,     400,    17,   1, 120,    0,   0,     0,   0, {3,4}    , 18},
  205. X{"& Longsword"            ,0x00000000L,    TV_SWORD, '|',    /* 45*/
  206. X    0,     300,    18,   1, 130,    0,   0,     0,   0, {1,10} , 12},
  207. X{"& Two-Handed Sword (No-Dachi)",0x00000000L,    TV_SWORD, '|',    /* 46*/
  208. X    0,     675,    19,   1, 200,    0,   0,     0,   0, {4,4}    , 45},
  209. X{"& Rapier"            ,0x00000000L,    TV_SWORD, '|',    /* 47*/
  210. X    0,      42,    20,   1,  40,    0,   0,     0,   0, {1,6}    ,  4},
  211. X{"& Sabre"            ,0x00000000L,    TV_SWORD, '|',    /* 48*/
  212. X    0,      50,    21,   1,  50,    0,   0,     0,   0, {1,7}    ,  5},
  213. X{"& Small Sword"        ,0x00000000L,    TV_SWORD, '|',    /* 49*/
  214. X    0,      48,    22,   1,  75,    0,   0,     0,   0, {1,6}    ,  5},
  215. X{"& Two-Handed Sword (Zweihander)",0x00000000L,    TV_SWORD, '|',    /* 50*/
  216. X    0,    1500,    23,   1, 280,    0,   0,     0,   0, {4,6}    , 50},
  217. X{"& Broken sword"        ,0x00000000L,    TV_SWORD, '|',    /* 51*/
  218. X    0,       0,    24,   1,  75,  -2,  -2,     0,   0, {1,1}    ,  0},
  219. X{"& Ball and Chain"        ,0x00000000L,    TV_HAFTED, '\\',/* 52*/
  220. X    0,     200,    1,   1, 150,    0,   0,     0,   0, {2,4}    , 20},
  221. X{"& Cat-O-Nine Tails"        ,0x00000000L,    TV_HAFTED, '\\',/* 53*/
  222. X    0,      14,    2,   1,  40,    0,   0,     0,   0, {1,4}    ,  3},
  223. X{"& Wooden Club"        ,0x00000000L,    TV_HAFTED, '\\',/* 54*/
  224. X    0,      10,    3,   1, 100,    0,   0,     0,   0, {1,3}    ,  0},
  225. X{"& Flail"            ,0x00000000L,    TV_HAFTED, '\\',/* 55*/
  226. X    0,     353,    4,   1, 150,    0,   0,     0,   0, {2,6}    , 12},
  227. X{"& Two-Handed Great Flail"    ,0x00000000L,    TV_HAFTED, '\\',/* 56*/
  228. X    0,     590,    5,   1, 280,    0,   0,     0,   0, {3,6}    , 45},
  229. X{"& Morningstar"        ,0x00000000L,    TV_HAFTED, '\\',/* 57*/
  230. X    0,     396,    6,   1, 150,    0,   0,     0,   0, {2,6}    , 10},
  231. X{"& Mace"            ,0x00000000L,    TV_HAFTED, '\\',/* 58*/
  232. X    0,     130,    7,   1, 120,    0,   0,     0,   0, {2,4}    ,  6},
  233. X{"& War Hammer"            ,0x00000000L,    TV_HAFTED, '\\',/* 59*/
  234. X    0,     225,    8,   1, 120,    0,   0,     0,   0, {3,3}    ,  5},
  235. X{"& Mace (Lead-filled)"        ,0x00000000L,    TV_HAFTED, '\\',/* 60*/
  236. X    0,     502,    9,   1, 180,    0,   0,     0,   0, {3,4}    , 15},
  237. X{"& Awl-Pike"            ,0x00000000L,    TV_POLEARM, '/',/* 61*/
  238. X    0,     340,    1,   1, 160,    0,   0,     0,   0, {1,8}    ,  8},
  239. X{"& Beaked Axe"            ,0x00000000L,    TV_POLEARM, '/',/* 62*/
  240. X    0,     408,    2,   1, 180,    0,   0,     0,   0, {2,6}    , 15},
  241. X{"& Fauchard"            ,0x00000000L,    TV_POLEARM, '/',/* 63*/
  242. X    0,     376,    3,   1, 170,    0,   0,     0,   0, {1,10} , 17},
  243. X{"& Glaive"            ,0x00000000L,    TV_POLEARM, '/',/* 64*/
  244. X    0,     363,    4,   1, 190,    0,   0,     0,   0, {2,6}    , 20},
  245. X{"& Halberd"            ,0x00000000L,    TV_POLEARM, '/',/* 65*/
  246. X    0,     430,    5,   1, 190,    0,   0,     0,   0, {3,4}    , 22},
  247. X{"& Lucerne Hammer"        ,0x00000000L,    TV_POLEARM, '/',/* 66*/
  248. X    0,     376,    6,   1, 120,    0,   0,     0,   0, {2,5}    , 11},
  249. X{"& Pike"            ,0x00000000L,    TV_POLEARM, '/',/* 67*/
  250. X    0,     358,    7,   1, 160,    0,   0,     0,   0, {2,5}    , 15},
  251. X{"& Spear"            ,0x00000000L,    TV_POLEARM, '/',/* 68*/
  252. X    0,      36,    8,   1,  50,    0,   0,     0,   0, {1,6}    ,  5},
  253. X{"& Lance"            ,0x00000000L,    TV_POLEARM, '/',/* 69*/
  254. X    0,     230,    9,   1, 300,    0,   0,     0,   0, {2,8}    , 10},
  255. X{"& Javelin"            ,0x00000000L,    TV_POLEARM, '/',/* 70*/
  256. X    0,      18,    10,   1,  30,    0,   0,     0,   0, {1,4}    ,  4},
  257. X{"& Battle Axe (Balestarius)"    ,0x00000000L,    TV_POLEARM, '/',/* 71*/
  258. X    0,     500,    11,   1, 180,    0,   0,     0,   0, {2,8}    , 30},
  259. X{"& Battle Axe (European)"    ,0x00000000L,    TV_POLEARM, '/',/* 72*/
  260. X    0,     334,    12,   1, 170,    0,   0,     0,   0, {3,4}    , 13},
  261. X{"& Broad Axe"            ,0x00000000L,    TV_POLEARM, '/',/* 73*/
  262. X    0,     304,    13,   1, 160,    0,   0,     0,   0, {2,6}    , 17},
  263. X{"& Short Bow"            ,0x00000000L,    TV_BOW, '}',    /* 74*/
  264. X    2,      50,    1,   1,  30,    0,   0,     0,   0, {0,0}    ,  3},
  265. X{"& Long Bow"            ,0x00000000L,    TV_BOW, '}',    /* 75*/
  266. X    3,     120,    2,   1,  40,    0,   0,     0,   0, {0,0}    , 10},
  267. X{"& Composite Bow"        ,0x00000000L,    TV_BOW, '}',    /* 76*/
  268. X    4,     240,    3,   1,  40,    0,   0,     0,   0, {0,0}    , 40},
  269. X{"& Light Crossbow"        ,0x00000000L,    TV_BOW, '}',    /* 77*/
  270. X    5,     140,    10,   1, 110,    0,   0,     0,   0, {0,0}    , 15},
  271. X{"& Heavy Crossbow"        ,0x00000000L,    TV_BOW, '}',    /* 78*/
  272. X    6,     300,    11,   1, 200,    0,   0,     0,   0, {1,1}    , 30},
  273. X{"& Sling"            ,0x00000000L,    TV_BOW, '}',    /* 79*/
  274. X    1,       5,    20,   1,   5,    0,   0,     0,   0, {0,0}    ,  1},
  275. X{"& Arrow~"            ,0x00000000L,    TV_ARROW, '{',    /* 80*/
  276. X    0,       1, 193,   1,   2,    0,   0,     0,   0, {1,4}    ,  2},
  277. X{"& Bolt~"            ,0x00000000L,    TV_BOLT, '{',    /* 81*/
  278. X    0,       2, 193,   1,   3,    0,   0,     0,   0, {1,5}    ,  2},
  279. X{"& Rounded Pebble~"        ,0x00000000L,    TV_SLING_AMMO, '{',/* 82*/
  280. X    0,       1, 193,   1,   4,    0,   0,     0,   0, {1,2}    ,  0},
  281. X{"& Iron Shot~"            ,0x00000000L,    TV_SLING_AMMO, '{',/* 83*/
  282. X    0,       2, 194,   1,   5,    0,   0,     0,   0, {1,3}    ,  3},
  283. X{"& Iron Spike~"        ,0x00000000L,    TV_SPIKE, '~',    /* 84*/
  284. X    0,       1, 193,   1,  10,    0,   0,     0,   0, {1,1}    ,  1},
  285. X{"& Brass Lantern~"        ,0x00000000L,    TV_LIGHT, '~',    /* 85*/
  286. X 7500,      35,    1,   1,  50,    0,   0,     0,   0, {1,1}    ,  1},
  287. X{"& Wooden Torch~"        ,0x00000000L,    TV_LIGHT, '~',    /* 86*/
  288. X 4000,       2, 193,   1,  30,    0,   0,     0,   0, {1,1}    ,  1},
  289. X{"& Orcish Pick"        ,0x20000000L,    TV_DIGGING, '\\',/* 87*/
  290. X    2,     500,    2,   1, 180,    0,   0,     0,   0, {1,3}    , 20},
  291. X{"& Dwarven Pick"           ,0x20000000L,    TV_DIGGING, '\\',/* 88*/
  292. X    3,    1200,    3,   1, 200,    0,   0,     0,   0, {1,4}    , 50},
  293. X{"& Gnomish Shovel"        ,0x20000000L,    TV_DIGGING, '\\',/* 89*/
  294. X    1,     100,    5,   1,  50,    0,   0,     0,   0, {1,2}    , 20},
  295. X{"& Dwarven Shovel"        ,0x20000000L,    TV_DIGGING, '\\',/* 90*/
  296. X    2,     250,    6,   1, 120,    0,   0,     0,   0, {1,3}    , 40},
  297. X{"& Pair of Soft Leather Shoes"    ,0x00000000L,    TV_BOOTS, ']',    /* 91*/
  298. X    0,       4,    1,   1,   5,    0,   0,     1,   0, {0,0}    ,  1},
  299. X{"& Pair of Soft Leather Boots"    ,0x00000000L,    TV_BOOTS, ']',    /* 92*/
  300. X    0,       7,    2,   1,  20,    0,   0,     2,   0, {1,1}    ,  4},
  301. X{"& Pair of Hard Leather Boots"    ,0x00000000L,    TV_BOOTS, ']',    /* 93*/
  302. X    0,      12,    3,   1,  40,    0,   0,     3,   0, {1,1}    ,  6},
  303. X{"& Soft Leather Cap"        ,0x00000000L,    TV_HELM, ']',    /* 94*/
  304. X    0,       4,    1,   1,  10,    0,   0,     1,   0, {0,0}    ,  2},
  305. X{"& Hard Leather Cap"        ,0x00000000L,    TV_HELM, ']',    /* 95*/
  306. X    0,      12,    2,   1,  15,    0,   0,     2,   0, {0,0}    ,  4},
  307. X{"& Metal Cap"            ,0x00000000L,    TV_HELM, ']',    /* 96*/
  308. X    0,      30,    3,   1,  20,    0,   0,     3,   0, {1,1}    ,  7},
  309. X{"& Iron Helm"            ,0x00000000L,    TV_HELM, ']',    /* 97*/
  310. X    0,      75,    4,   1,  75,    0,   0,     5,   0, {1,3}    , 20},
  311. X{"& Steel Helm"            ,0x00000000L,    TV_HELM, ']',    /* 98*/
  312. X    0,     200,    5,   1,  60,    0,   0,     6,   0, {1,3}    , 40},
  313. X{"& Silver Crown"        ,0x00000000L,    TV_HELM, ']',    /* 99*/
  314. X    0,     500,    6,   1,  20,    0,   0,     0,   0, {1,1}    , 44},
  315. X{"& Golden Crown"        ,0x00000000L,    TV_HELM, ']',    /*100*/
  316. X    0,    1000,    7,   1,  30,    0,   0,     0,   0, {1,1}    , 47},
  317. X{"& Jewel-Encrusted Crown"    ,0x00000000L,    TV_HELM, ']',    /*101*/
  318. X    0,    2000,    8,   1,  40,    0,   0,     0,   0, {1,1}    , 50},
  319. X{"& Robe"            ,0x00000000L,    TV_SOFT_ARMOR, '(',/*102*/
  320. X    0,       4,    1,   1,  20,    0,   0,     2,   0, {0,0}    ,  1},
  321. X{"Soft Leather Armor"        ,0x00000000L,    TV_SOFT_ARMOR, '(',/*103*/
  322. X    0,      18,    2,   1,  80,    0,   0,     4,   0, {0,0}    ,  2},
  323. X{"Soft Studded Leather"        ,0x00000000L,    TV_SOFT_ARMOR, '(',/*104*/
  324. X    0,      35,    3,   1,  90,    0,   0,     5,   0, {1,1}    ,  3},
  325. X{"Hard Leather Armor"        ,0x00000000L,    TV_SOFT_ARMOR, '(',/*105*/
  326. X    0,      55,    4,   1, 100,  -1,   0,     6,   0, {1,1}    ,  5},
  327. X{"Hard Studded Leather"        ,0x00000000L,    TV_SOFT_ARMOR, '(',/*106*/
  328. X    0,     100,    5,   1, 110,  -1,   0,     7,   0, {1,2}    ,  7},
  329. X{"Woven Cord Armor"        ,0x00000000L,    TV_SOFT_ARMOR, '(',/*107*/
  330. X    0,      45,    6,   1, 150,  -1,   0,     6,   0, {0,0}    ,  7},
  331. X{"Soft Leather Ring Mail"    ,0x00000000L,    TV_SOFT_ARMOR, '(',/*108*/
  332. X    0,     160,    7,   1, 130,  -1,   0,     6,   0, {1,2}    , 10},
  333. X{"Hard Leather Ring Mail"    ,0x00000000L,    TV_SOFT_ARMOR, '(',/*109*/
  334. X    0,     230,    8,   1, 150,  -2,   0,     8,   0, {1,3}    , 12},
  335. X{"Leather Scale Mail"        ,0x00000000L,    TV_SOFT_ARMOR, '(',/*110*/
  336. X    0,     330,    9,   1, 140,  -1,   0,    11,   0, {1,1}    , 14},
  337. X{"Metal Scale Mail"        ,0x00000000L,    TV_HARD_ARMOR, '[',/*111*/
  338. X    0,     430,    1,   1, 250,  -2,   0,    13,   0, {1,4}    , 24},
  339. X{"Chain Mail"            ,0x00000000L,    TV_HARD_ARMOR, '[',/*112*/
  340. X    0,     530,    2,   1, 220,  -2,   0,    14,   0, {1,4}    , 26},
  341. X{"Rusty Chain Mail"        ,0x00000000L,    TV_HARD_ARMOR, '[',/*113*/
  342. X    0,       0,    3,   1, 200,  -5,   0,    14,  -8, {1,4}    , 26},
  343. X{"Double Chain Mail"        ,0x00000000L,    TV_HARD_ARMOR, '[',/*114*/
  344. X    0,     630,    4,   1, 260,  -2,   0,    15,   0, {1,4}    , 28},
  345. X{"Augmented Chain Mail"        ,0x00000000L,    TV_HARD_ARMOR, '[',/*115*/
  346. X    0,     675,    5,   1, 270,  -2,   0,    16,   0, {1,4}    , 30},
  347. X{"Bar Chain Mail"        ,0x00000000L,    TV_HARD_ARMOR, '[',/*116*/
  348. X    0,     720,    6,   1, 280,  -2,   0,    18,   0, {1,4}    , 34},
  349. X{"Metal Brigandine Armor"    ,0x00000000L,    TV_HARD_ARMOR, '[',/*117*/
  350. X    0,     775,    7,   1, 290,  -3,   0,    19,   0, {1,4}    , 36},
  351. X{"Laminated Armor"        ,0x00000000L,    TV_HARD_ARMOR, '[',/*118*/
  352. X    0,     825,    8,   1, 300,  -3,   0,    20,   0, {1,4}    , 38},
  353. X{"Partial Plate Armor"        ,0x00000000L,    TV_HARD_ARMOR, '[',/*119*/
  354. X    0,     900,    9,   1, 260,  -3,   0,    22,   0, {1,6}    , 42},
  355. X{"Metal Lamellar Armor"        ,0x00000000L,    TV_HARD_ARMOR, '[',/*120*/
  356. X    0,     950,    10,   1, 340,  -3,   0,    23,   0, {1,6}    , 44},
  357. X{"Full Plate Armor"        ,0x00000000L,    TV_HARD_ARMOR, '[',/*121*/
  358. X    0,    1050,    11,   1, 380,  -3,   0,    25,   0, {2,4}    , 48},
  359. X{"Ribbed Plate Armor"        ,0x00000000L,    TV_HARD_ARMOR, '[',/*122*/
  360. X    0,    1200,    12,   1, 380,  -3,   0,    28,   0, {2,4}    , 50},
  361. X{"& Cloak"            ,0x00000000L,    TV_CLOAK, '(',    /*123*/
  362. X    0,       3,    1,   1,  10,    0,   0,     1,   0, {0,0}    ,  1},
  363. X{"& Set of Leather Gloves"    ,0x00000000L,    TV_GLOVES, ']',    /*124*/
  364. X    0,       3,    1,   1,   5,    0,   0,     1,   0, {0,0}    ,  1},
  365. X{"& Set of Gauntlets"        ,0x00000000L,    TV_GLOVES, ']',    /*125*/
  366. X    0,      35,    2,   1,  25,    0,   0,     2,   0, {1,1}    , 12},
  367. X{"& Small Leather Shield"    ,0x00000000L,    TV_SHIELD, ')',    /*126*/
  368. X    0,      30,    1,   1,  50,    0,   0,     2,   0, {1,1}    ,  3},
  369. X{"& Medium Leather Shield"    ,0x00000000L,    TV_SHIELD, ')',    /*127*/
  370. X    0,      60,    2,   1,  75,    0,   0,     3,   0, {1,2}    ,  8},
  371. X{"& Large Leather Shield"    ,0x00000000L,    TV_SHIELD, ')',    /*128*/
  372. X    0,     120,    3,   1, 100,    0,   0,     4,   0, {1,2}    , 15},
  373. X{"& Small Metal Shield"        ,0x00000000L,    TV_SHIELD, ')',    /*129*/
  374. X    0,      50,    4,   1,  65,    0,   0,     3,   0, {1,2}    , 10},
  375. X{"& Medium Metal Shield"    ,0x00000000L,    TV_SHIELD, ')',    /*130*/
  376. X    0,     125,    5,   1,  90,    0,   0,     4,   0, {1,3}    , 20},
  377. X{"& Large Metal Shield"        ,0x00000000L,    TV_SHIELD, ')',    /*131*/
  378. X    0,     200,    6,   1, 120,    0,   0,     5,   0, {1,3}    , 30},
  379. X{"Gain Strength"        ,0x00000001L,    TV_RING, '=',    /*132*/
  380. X    0,     400,    0,   1,   2,    0,   0,     0,   0, {0,0}    , 30},
  381. X{"Gain Dexterity"        ,0x00000008L,    TV_RING, '=',    /*133*/
  382. X    0,     400,    1,   1,   2,    0,   0,     0,   0, {0,0}    , 30},
  383. X{"Gain Constitution"        ,0x00000010L,    TV_RING, '=',    /*134*/
  384. X    0,     400,    2,   1,   2,    0,   0,     0,   0, {0,0}    , 30},
  385. X{"Gain Intelligence"        ,0x00000002L,    TV_RING, '=',    /*135*/
  386. X    0,     350,    3,   1,   2,    0,   0,     0,   0, {0,0}    , 30},
  387. X{"Speed"            ,0x00001000L,    TV_RING, '=',    /*136*/
  388. X    0,    3000,    4,   1,   2,    0,   0,     0,   0, {0,0}    , 50},
  389. X{"Searching"            ,0x00000040L,    TV_RING, '=',    /*137*/
  390. X    0,     250,    5,   1,   2,    0,   0,     0,   0, {0,0}    ,  7},
  391. X{"Teleportation"        ,0x80000400L,    TV_RING, '=',    /*138*/
  392. X    0,       0,    6,   1,   2,    0,   0,     0,   0, {0,0}    ,  7},
  393. X{"Slow Digestion"        ,0x00000080L,    TV_RING, '=',    /*139*/
  394. X    0,     250,    7,   1,   2,    0,   0,     0,   0, {0,0}    ,  7},
  395. X{"Resist Fire"            ,0x00080000L,    TV_RING, '=',    /*140*/
  396. X    0,     250,    8,   1,   2,    0,   0,     0,   0, {0,0}    , 14},
  397. X{"Resist Cold"            ,0x00200000L,    TV_RING, '=',    /*141*/
  398. X    0,     250,    9,   1,   2,    0,   0,     0,   0, {0,0}    , 14},
  399. X{"Feather Falling"        ,0x04000000L,    TV_RING, '=',    /*142*/
  400. X    0,     200,    10,   1,   2,    0,   0,     0,   0, {0,0}    ,  7},
  401. X{"Adornment"            ,0x00000000L,    TV_RING, '=',    /*143*/
  402. X    0,      20,    11,   1,   2,    0,   0,     0,   0, {0,0}    ,  7},
  403. X/* was a ring of adornment, subval = 12 here */
  404. X{"& Arrow~"            ,0x00000000L,    TV_ARROW, '{',    /*144*/
  405. X    0,       1, 193,   1,   2,    0,   0,     0,   0, {1,4}    , 15},
  406. X{"Weakness"            ,0x80000001L,    TV_RING, '=',    /*145*/
  407. X   -5,       0,    13,   1,   2,    0,   0,     0,   0, {0,0}    ,  7},
  408. X{"Lordly Protection (FIRE)"    ,0x00080000L,    TV_RING, '=',    /*146*/
  409. X    0,    1200,    14,   1,   2,    0,   0,     0,   5, {0,0}    , 50},
  410. X{"Lordly Protection (ACID)"    ,0x00100000L,    TV_RING, '=',    /*147*/
  411. X    0,    1200,    15,   1,   2,    0,   0,     0,   5, {0,0}    , 50},
  412. X{"Lordly Protection (COLD)"    ,0x00200000L,    TV_RING, '=',    /*148*/
  413. X    0,    1200,    16,   1,   2,    0,   0,     0,   5, {0,0}    , 50},
  414. X{"WOE"                ,0x80000644L,    TV_RING, '=',    /*149*/
  415. X   -5,       0,    17,   1,   2,    0,   0,     0,  -3, {0,0}    , 50},
  416. X{"Stupidity"            ,0x80000002L,    TV_RING, '=',    /*150*/
  417. X   -5,       0,    18,   1,   2,    0,   0,     0,   0, {0,0}    ,  7},
  418. X{"Increase Damage"        ,0x00000000L,    TV_RING, '=',    /*151*/
  419. X    0,     100,    19,   1,   2,    0,   0,     0,   0, {0,0}    , 20},
  420. X{"Increase To-Hit"        ,0x00000000L,    TV_RING, '=',    /*152*/
  421. X    0,     100,    20,   1,   2,    0,   0,     0,   0, {0,0}    , 20},
  422. X{"Protection"            ,0x00000000L,    TV_RING, '=',    /*153*/
  423. X    0,     100,    21,   1,   2,    0,   0,     0,   0, {0,0}    ,  7},
  424. X{"Aggravate Monster"        ,0x80000200L,    TV_RING, '=',    /*154*/
  425. X    0,       0,    22,   1,   2,    0,   0,     0,   0, {0,0}    ,  7},
  426. X{"See Invisible"        ,0x01000000L,    TV_RING, '=',    /*155*/
  427. X    0,     340,    23,   1,   2,    0,   0,     0,   0, {0,0}    , 40},
  428. X{"Sustain Strength"        ,0x00400000L,    TV_RING, '=',    /*156*/
  429. X    1,     750,    24,   1,   2,    0,   0,     0,   0, {0,0}    , 44},
  430. X{"Sustain Intelligence"        ,0x00400000L,    TV_RING, '=',    /*157*/
  431. X    2,     600,    25,   1,   2,    0,   0,     0,   0, {0,0}    , 44},
  432. X{"Sustain Wisdom"        ,0x00400000L,    TV_RING, '=',    /*158*/
  433. X    3,     600,    26,   1,   2,    0,   0,     0,   0, {0,0}    , 44},
  434. X{"Sustain Constitution"        ,0x00400000L,    TV_RING, '=',    /*159*/
  435. X    4,     750,    27,   1,   2,    0,   0,     0,   0, {0,0}    , 44},
  436. X{"Sustain Dexterity"        ,0x00400000L,    TV_RING, '=',    /*160*/
  437. X    5,     750,    28,   1,   2,    0,   0,     0,   0, {0,0}    , 44},
  438. X{"Sustain Charisma"        ,0x00400000L,    TV_RING, '=',    /*161*/
  439. X    6,     500,    29,   1,   2,    0,   0,     0,   0, {0,0}    , 44},
  440. X{"Slaying"            ,0x00000000L,    TV_RING, '=',    /*162*/
  441. X    0,    1000,    30,   1,   2,    0,   0,     0,   0, {0,0}    , 50},
  442. X{"Wisdom"            ,0x00000004L,    TV_AMULET, '"',    /*163*/
  443. X    0,     300,    0,   1,   3,    0,   0,     0,   0, {0,0}    , 20},
  444. X{"Charisma"            ,0x00000020L,    TV_AMULET, '"',    /*164*/
  445. X    0,     250,    1,   1,   3,    0,   0,     0,   0, {0,0}    , 20},
  446. X{"Searching"            ,0x00000040L,    TV_AMULET, '"',    /*165*/
  447. X    0,     250,    2,   1,   3,    0,   0,     0,   0, {0,0}    , 14},
  448. X{"Teleportation"        ,0x80000400L,    TV_AMULET, '"',    /*166*/
  449. X    0,       0,    3,   1,   3,    0,   0,     0,   0, {0,0}    , 14},
  450. X{"Slow Digestion"        ,0x00000080L,    TV_AMULET, '"',    /*167*/
  451. X    0,     200,    4,   1,   3,    0,   0,     0,   0, {0,0}    , 14},
  452. X{"Resist Acid"            ,0x00100000L,    TV_AMULET, '"',    /*168*/
  453. X    0,     300,    5,   1,   3,    0,   0,     0,   0, {0,0}    , 24},
  454. X{"Adornment"            ,0x00000000L,    TV_AMULET, '"',    /*169*/
  455. X    0,      20,    6,   1,   3,    0,   0,     0,   0, {0,0}    , 16},
  456. X/* was an amulet of adornment here, subval = 7 */
  457. X{"& Bolt~"            ,0x00000000L,    TV_BOLT, '{',    /*170*/
  458. X    0,       2, 193,   1,   3,    0,   0,     0,   0, {1,5}    , 25},
  459. X{"the Magi"            ,0x01800040L,    TV_AMULET, '"',    /*171*/
  460. X    0,    5000,    8,   1,   3,    0,   0,     0,   3, {0,0}    , 50},
  461. X{"DOOM"                ,0x8000007FL,    TV_AMULET, '"',    /*172*/
  462. X   -5,       0,    9,   1,   3,    0,   0,     0,   0, {0,0}    , 50},
  463. X{"Enchant Weapon To-Hit"    ,0x00000001L,    TV_SCROLL1, '?',/*173*/
  464. X    0,     125,    64,   1,   5,    0,   0,     0,   0, {0,0}    , 12},
  465. X{"Enchant Weapon To-Dam"    ,0x00000002L,    TV_SCROLL1, '?',/*174*/
  466. X    0,     125,    65,   1,   5,    0,   0,     0,   0, {0,0}    , 12},
  467. X{"Enchant Armor"        ,0x00000004L,    TV_SCROLL1, '?',/*175*/
  468. X    0,     125,    66,   1,   5,    0,   0,     0,   0, {0,0}    , 12},
  469. X{"Identify"            ,0x00000008L,    TV_SCROLL1, '?',/*176*/
  470. X    0,      50,    67,   1,   5,    0,   0,     0,   0, {0,0}    ,  1},
  471. X{"Identify"            ,0x00000008L,    TV_SCROLL1, '?',/*177*/
  472. X    0,      50,    67,   1,   5,    0,   0,     0,   0, {0,0}    ,  5},
  473. X{"Identify"            ,0x00000008L,    TV_SCROLL1, '?',/*178*/
  474. X    0,      50,    67,   1,   5,    0,   0,     0,   0, {0,0}    , 10},
  475. X{"Identify"            ,0x00000008L,    TV_SCROLL1, '?',/*179*/
  476. X    0,      50,    67,   1,   5,    0,   0,     0,   0, {0,0}    , 30},
  477. X{"Remove Curse"            ,0x00000010L,    TV_SCROLL1, '?',/*180*/
  478. X    0,     100,    68,   1,   5,    0,   0,     0,   0, {0,0}    ,  7},
  479. X{"Light"            ,0x00000020L,    TV_SCROLL1, '?',/*181*/
  480. X    0,      15,    69,   1,   5,    0,   0,     0,   0, {0,0}    ,  0},
  481. X{"Light"            ,0x00000020L,    TV_SCROLL1, '?',/*182*/
  482. X    0,      15,    69,   1,   5,    0,   0,     0,   0, {0,0}    ,  3},
  483. X{"Light"            ,0x00000020L,    TV_SCROLL1, '?',/*183*/
  484. X    0,      15,    69,   1,   5,    0,   0,     0,   0, {0,0}    ,  7},
  485. X{"Summon Monster"        ,0x00000040L,    TV_SCROLL1, '?',/*184*/
  486. X    0,       0,    70,   1,   5,    0,   0,     0,   0, {0,0}    ,  1},
  487. X{"Phase Door"            ,0x00000080L,    TV_SCROLL1, '?',/*185*/
  488. X    0,      15,    71,   1,   5,    0,   0,     0,   0, {0,0}    ,  1},
  489. X{"Teleport"            ,0x00000100L,    TV_SCROLL1, '?',/*186*/
  490. X    0,      40,    72,   1,   5,    0,   0,     0,   0, {0,0}    , 10},
  491. X{"Teleport Level"        ,0x00000200L,    TV_SCROLL1, '?',/*187*/
  492. X    0,      50,    73,   1,   5,    0,   0,     0,   0, {0,0}    , 20},
  493. X{"Monster Confusion"        ,0x00000400L,    TV_SCROLL1, '?',/*188*/
  494. X    0,      30,    74,   1,   5,    0,   0,     0,   0, {0,0}    ,  5},
  495. X{"Magic Mapping"        ,0x00000800L,    TV_SCROLL1, '?',/*189*/
  496. X    0,      40,    75,   1,   5,    0,   0,     0,   0, {0,0}    ,  5},
  497. X{"Sleep Monster"        ,0x00001000L,    TV_SCROLL1, '?',/*190*/
  498. X    0,      35,    76,   1,   5,    0,   0,     0,   0, {0,0}    ,  5},
  499. X{"Rune of Protection"        ,0x00002000L,    TV_SCROLL1, '?',/*191*/
  500. X    0,     500,    77,   1,   5,    0,   0,     0,   0, {0,0}    , 50},
  501. X{"Treasure Detection"        ,0x00004000L,    TV_SCROLL1, '?',/*192*/
  502. X    0,      15,    78,   1,   5,    0,   0,     0,   0, {0,0}    ,  0},
  503. X{"Object Detection"        ,0x00008000L,    TV_SCROLL1, '?',/*193*/
  504. X    0,      15,    79,   1,   5,    0,   0,     0,   0, {0,0}    ,  0},
  505. X{"Trap Detection"        ,0x00010000L,    TV_SCROLL1, '?',/*194*/
  506. X    0,      35,    80,   1,   5,    0,   0,     0,   0, {0,0}    ,  5},
  507. X{"Trap Detection"        ,0x00010000L,    TV_SCROLL1, '?',/*195*/
  508. X    0,      35,    80,   1,   5,    0,   0,     0,   0, {0,0}    ,  8},
  509. X{"Trap Detection"        ,0x00010000L,    TV_SCROLL1, '?',/*196*/
  510. X    0,      35,    80,   1,   5,    0,   0,     0,   0, {0,0}    , 12},
  511. X{"Door/Stair Location"        ,0x00020000L,    TV_SCROLL1, '?',/*197*/
  512. X    0,      35,    81,   1,   5,    0,   0,     0,   0, {0,0}    ,  5},
  513. X{"Door/Stair Location"        ,0x00020000L,    TV_SCROLL1, '?',/*198*/
  514. X    0,      35,    81,   1,   5,    0,   0,     0,   0, {0,0}    , 10},
  515. X{"Door/Stair Location"        ,0x00020000L,    TV_SCROLL1, '?',/*199*/
  516. X    0,      35,    81,   1,   5,    0,   0,     0,   0, {0,0}    , 15},
  517. X{"Mass Genocide"        ,0x00040000L,    TV_SCROLL1, '?',/*200*/
  518. X    0,    1000,    82,   1,   5,    0,   0,     0,   0, {0,0}    , 50},
  519. X{"Detect Invisible"        ,0x00080000L,    TV_SCROLL1, '?',/*201*/
  520. X    0,      15,    83,   1,   5,    0,   0,     0,   0, {0,0}    ,  1},
  521. X{"Aggravate Monster"        ,0x00100000L,    TV_SCROLL1, '?',/*202*/
  522. X    0,       0,    84,   1,   5,    0,   0,     0,   0, {0,0}    ,  5},
  523. X{"Trap Creation"        ,0x00200000L,    TV_SCROLL1, '?',/*203*/
  524. X    0,       0,    85,   1,   5,    0,   0,     0,   0, {0,0}    , 12},
  525. X{"Trap/Door Destruction"    ,0x00400000L,    TV_SCROLL1, '?',/*204*/
  526. X    0,      50,    86,   1,   5,    0,   0,     0,   0, {0,0}    , 12},
  527. X{"Door Creation"        ,0x00800000L,    TV_SCROLL1, '?',/*205*/
  528. X    0,     100,    87,   1,   5,    0,   0,     0,   0, {0,0}    , 12},
  529. X{"Recharging"            ,0x01000000L,    TV_SCROLL1, '?',/*206*/
  530. X    0,     200,    88,   1,   5,    0,   0,     0,   0, {0,0}    , 40},
  531. X{"Genocide"            ,0x02000000L,    TV_SCROLL1, '?',/*207*/
  532. X    0,     750,    89,   1,   5,    0,   0,     0,   0, {0,0}    , 35},
  533. X{"Darkness"            ,0x04000000L,    TV_SCROLL1, '?',/*208*/
  534. X    0,       0,    90,   1,   5,    0,   0,     0,   0, {0,0}    ,  1},
  535. X{"Protection from Evil"        ,0x08000000L,    TV_SCROLL1, '?',/*209*/
  536. X    0,      50,    91,   1,   5,    0,   0,     0,   0, {0,0}    , 30},
  537. X{"Create Food"            ,0x10000000L,    TV_SCROLL1, '?',/*210*/
  538. X    0,      10,    92,   1,   5,    0,   0,     0,   0, {0,0}    ,  5},
  539. X{"Dispel Undead"        ,0x20000000L,    TV_SCROLL1, '?',/*211*/
  540. X    0,     200,    93,   1,   5,    0,   0,     0,   0, {0,0}    , 40},
  541. X{"*Enchant Weapon*"        ,0x00000001L,    TV_SCROLL2, '?',/*212*/
  542. X    0,     500,    94,   1,   5,    0,   0,     0,   0, {0,0}    , 50},
  543. X{"Curse Weapon"            ,0x00000002L,    TV_SCROLL2, '?',/*213*/
  544. X    0,       0,    95,   1,   5,    0,   0,     0,   0, {0,0}    , 50},
  545. X{"*Enchant Armor*"        ,0x00000004L,    TV_SCROLL2, '?',/*214*/
  546. X    0,     500,    96,   1,   5,    0,   0,     0,   0, {0,0}    , 50},
  547. X{"Curse Armor"            ,0x00000008L,    TV_SCROLL2, '?',/*215*/
  548. X    0,       0,    97,   1,   5,    0,   0,     0,   0, {0,0}    , 50},
  549. X{"Summon Undead"        ,0x00000010L,    TV_SCROLL2, '?',/*216*/
  550. X    0,       0,    98,   1,   5,    0,   0,     0,   0, {0,0}    , 15},
  551. X{"Blessing"            ,0x00000020L,    TV_SCROLL2, '?',/*217*/
  552. X    0,      15,    99,   1,   5,    0,   0,     0,   0, {0,0}    ,  1},
  553. X{"Holy Chant"            ,0x00000040L,    TV_SCROLL2, '?',/*218*/
  554. X    0,      40, 100,   1,   5,    0,   0,     0,   0, {0,0}    , 12},
  555. X{"Holy Prayer"            ,0x00000080L,    TV_SCROLL2, '?',/*219*/
  556. X    0,      80, 101,   1,   5,    0,   0,     0,   0, {0,0}    , 24},
  557. X{"Word-of-Recall"        ,0x00000100L,    TV_SCROLL2, '?',/*220*/
  558. X    0,     150, 102,   1,   5,    0,   0,     0,   0, {0,0}    ,  5},
  559. X{"*Destruction*"        ,0x00000200L,    TV_SCROLL2, '?',/*221*/
  560. X    0,     250, 103,   1,   5,    0,   0,     0,   0, {0,0}    , 40},
  561. X/* SMJ, AJ, Water must be subval 64-66 resp. for objdes to work */
  562. X{"Slime Mold Juice"        ,0x30000000L,    TV_POTION1, '!',/*222*/
  563. X  400,       2,    64,   1,   4,    0,   0,     0,   0, {1,1}    ,  0},
  564. X{"Apple Juice"            ,0x00000000L,    TV_POTION1, '!',/*223*/
  565. X  250,       1,    65,   1,   4,    0,   0,     0,   0, {1,1}    ,  0},
  566. X{"Water"            ,0x00000000L,    TV_POTION1, '!',/*224*/
  567. X  200,       0,    66,   1,   4,    0,   0,     0,   0, {1,1}    ,  0},
  568. X{"Gain Strength"        ,0x00000001L,    TV_POTION1, '!',/*225*/
  569. X    0,     300,    67,   1,   4,    0,   0,     0,   0, {1,1}    , 25},
  570. X{"Weakness"            ,0x00000002L,    TV_POTION1, '!',/*226*/
  571. X    0,       0,    68,   1,   4,    0,   0,     0,   0, {1,1}    ,  3},
  572. X{"Restore Strength"        ,0x00000004L,    TV_POTION1, '!',/*227*/
  573. X    0,     300,    69,   1,   4,    0,   0,     0,   0, {1,1}    , 40},
  574. X{"Gain Intelligence"        ,0x00000008L,    TV_POTION1, '!',/*228*/
  575. X    0,     300,    70,   1,   4,    0,   0,     0,   0, {1,1}    , 25},
  576. X{"Lose Intelligence"        ,0x00000010L,    TV_POTION1, '!',/*229*/
  577. X    0,       0,    71,   1,   4,    0,   0,     0,   0, {1,1}    , 25},
  578. X{"Restore Intelligence"        ,0x00000020L,    TV_POTION1, '!',/*230*/
  579. X    0,     300,    72,   1,   4,    0,   0,     0,   0, {1,1}    , 40},
  580. X{"Gain Wisdom"            ,0x00000040L,    TV_POTION1, '!',/*231*/
  581. X    0,     300,    73,   1,   4,    0,   0,     0,   0, {1,1}    , 25},
  582. X{"Lose Wisdom"            ,0x00000080L,    TV_POTION1, '!',/*232*/
  583. X    0,       0,    74,   1,   4,    0,   0,     0,   0, {1,1}    , 25},
  584. X{"Restore Wisdom"        ,0x00000100L,    TV_POTION1, '!',/*233*/
  585. X    0,     300,    75,   1,   4,    0,   0,     0,   0, {1,1}    , 40},
  586. X{"Charisma"            ,0x00000200L,    TV_POTION1, '!',/*234*/
  587. X    0,     300,    76,   1,   4,    0,   0,     0,   0, {1,1}    , 25},
  588. X{"Ugliness"            ,0x00000400L,    TV_POTION1, '!',/*235*/
  589. X    0,       0,    77,   1,   4,    0,   0,     0,   0, {1,1}    , 25},
  590. X{"Restore Charisma"        ,0x00000800L,    TV_POTION1, '!',/*236*/
  591. X    0,     300,    78,   1,   4,    0,   0,     0,   0, {1,1}    , 40},
  592. X{"Cure Light Wounds"        ,0x10001000L,    TV_POTION1, '!',/*237*/
  593. X   50,      15,    79,   1,   4,    0,   0,     0,   0, {1,1}    ,  0},
  594. X{"Cure Light Wounds"        ,0x10001000L,    TV_POTION1, '!',/*238*/
  595. X   50,      15,    79,   1,   4,    0,   0,     0,   0, {1,1}    ,  1},
  596. X{"Cure Light Wounds"        ,0x10001000L,    TV_POTION1, '!',/*239*/
  597. X   50,      15,    79,   1,   4,    0,   0,     0,   0, {1,1}    ,  2},
  598. X{"Cure Serious Wounds"        ,0x30002000L,    TV_POTION1, '!',/*240*/
  599. X  100,      40,    80,   1,   4,    0,   0,     0,   0, {1,1}    ,  3},
  600. X{"Cure Critical Wounds"        ,0x70004000L,    TV_POTION1, '!',/*241*/
  601. X  100,     100,    81,   1,   4,    0,   0,     0,   0, {1,1}    ,  5},
  602. X{"Healing"            ,0x70008000L,    TV_POTION1, '!',/*242*/
  603. X  200,     200,    82,   1,   4,    0,   0,     0,   0, {1,1}    , 12},
  604. X{"Gain Constitution"        ,0x00010000L,    TV_POTION1, '!',/*243*/
  605. X    0,     300,    83,   1,   4,    0,   0,     0,   0, {1,1}    , 25},
  606. X{"Gain Experience"        ,0x00020000L,    TV_POTION1, '!',/*244*/
  607. X    0,    2500,    84,   1,   4,    0,   0,     0,   0, {1,1}    , 50},
  608. X{"Sleep"            ,0x00040000L,    TV_POTION1, '!',/*245*/
  609. X  100,       0,    85,   1,   4,    0,   0,     0,   0, {1,1}    ,  0},
  610. X{"Blindness"            ,0x00080000L,    TV_POTION1, '!',/*246*/
  611. X    0,       0,    86,   1,   4,    0,   0,     0,   0, {1,1}    ,  0},
  612. X{"Confusion"            ,0x00100000L,    TV_POTION1, '!',/*247*/
  613. X   50,       0,    87,   1,   4,    0,   0,     0,   0, {1,1}    ,  0},
  614. X{"Poison"            ,0x00200000L,    TV_POTION1, '!',/*248*/
  615. X    0,       0,    88,   1,   4,    0,   0,     0,   0, {1,1}    ,  3},
  616. X{"Haste Self"            ,0x00400000L,    TV_POTION1, '!',/*249*/
  617. X    0,      75,    89,   1,   4,    0,   0,     0,   0, {1,1}    ,  1},
  618. X{"Slowness"            ,0x00800000L,    TV_POTION1, '!',/*250*/
  619. X   50,       0,    90,   1,   4,    0,   0,     0,   0, {1,1}    ,  1},
  620. X{"Gain Dexterity"        ,0x02000000L,    TV_POTION1, '!',/*251*/
  621. X    0,     300,    91,   1,   4,    0,   0,     0,   0, {1,1}    , 25},
  622. X{"Restore Dexterity"        ,0x04000000L,    TV_POTION1, '!',/*252*/
  623. X    0,     300,    92,   1,   4,    0,   0,     0,   0, {1,1}    , 40},
  624. X{"Restore Constitution"        ,0x68000000L,    TV_POTION1, '!',/*253*/
  625. X    0,     300,    93,   1,   4,    0,   0,     0,   0, {1,1}    , 40},
  626. X{"Lose Experience"        ,0x00000002L,    TV_POTION2, '!',/*254*/
  627. X    0,       0,    95,   1,   4,    0,   0,     0,   0, {1,1}    , 10},
  628. X{"Salt Water"            ,0x00000004L,    TV_POTION2, '!',/*255*/
  629. X    0,       0,    96,   1,   4,    0,   0,     0,   0, {1,1}    ,  0},
  630. X{"Invulnerability"        ,0x00000008L,    TV_POTION2, '!',/*256*/
  631. X    0,     250,    97,   1,   4,    0,   0,     0,   0, {1,1}    , 40},
  632. X{"Heroism"            ,0x00000010L,    TV_POTION2, '!',/*257*/
  633. X    0,      35,    98,   1,   4,    0,   0,     0,   0, {1,1}    ,  1},
  634. X{"Super Heroism"        ,0x00000020L,    TV_POTION2, '!',/*258*/
  635. X    0,     100,    99,   1,   4,    0,   0,     0,   0, {1,1}    ,  3},
  636. X{"Boldness"            ,0x00000040L,    TV_POTION2, '!',/*259*/
  637. X    0,      10, 100,   1,   4,    0,   0,     0,   0, {1,1}    ,  1},
  638. X{"Restore Life Levels"        ,0x00000080L,    TV_POTION2, '!',/*260*/
  639. X    0,     400, 101,   1,   4,    0,   0,     0,   0, {1,1}    , 40},
  640. X{"Resist Heat"            ,0x00000100L,    TV_POTION2, '!',/*261*/
  641. X    0,      30, 102,   1,   4,    0,   0,     0,   0, {1,1}    ,  1},
  642. X{"Resist Cold"            ,0x00000200L,    TV_POTION2, '!',/*262*/
  643. X    0,      30, 103,   1,   4,    0,   0,     0,   0, {1,1}    ,  1},
  644. X{"Detect Invisible"        ,0x00000400L,    TV_POTION2, '!',/*263*/
  645. X    0,      50, 104,   1,   4,    0,   0,     0,   0, {1,1}    ,  3},
  646. X{"Slow Poison"            ,0x00000800L,    TV_POTION2, '!',/*264*/
  647. X    0,      25, 105,   1,   4,    0,   0,     0,   0, {1,1}    ,  1},
  648. X{"Neutralize Poison"        ,0x00001000L,    TV_POTION2, '!',/*265*/
  649. X    0,      75, 106,   1,   4,    0,   0,     0,   0, {1,1}    ,  5},
  650. X{"Restore Mana"            ,0x00002000L,    TV_POTION2, '!',/*266*/
  651. X    0,     350, 107,   1,   4,    0,   0,     0,   0, {1,1}    , 25},
  652. X{"Infra-Vision"            ,0x00004000L,    TV_POTION2, '!',/*267*/
  653. X    0,      20, 108,   1,   4,    0,   0,     0,   0, {1,1}    ,  3},
  654. X{"& Flask~ of oil"        ,0x00040000L,    TV_FLASK, '!',    /*268*/
  655. X 7500,       3,    64,   1,  10,    0,   0,     0,   0, {2,6}    ,  1},
  656. X{"Light"            ,0x00000001L,    TV_WAND, '-',    /*269*/
  657. X    0,     200,    0,   1,  10,    0,   0,     0,   0, {1,1}    ,  2},
  658. X{"Lightning Bolts"        ,0x00000002L,    TV_WAND, '-',    /*270*/
  659. X    0,     600,    1,   1,  10,    0,   0,     0,   0, {1,1}    , 15},
  660. X{"Frost Bolts"            ,0x00000004L,    TV_WAND, '-',    /*271*/
  661. X    0,     800,    2,   1,  10,    0,   0,     0,   0, {1,1}    , 20},
  662. X{"Fire Bolts"            ,0x00000008L,    TV_WAND, '-',    /*272*/
  663. X    0,    1000,    3,   1,  10,    0,   0,     0,   0, {1,1}    , 30},
  664. X{"Stone-to-Mud"            ,0x00000010L,    TV_WAND, '-',    /*273*/
  665. X    0,     300,    4,   1,  10,    0,   0,     0,   0, {1,1}    , 12},
  666. X{"Polymorph"            ,0x00000020L,    TV_WAND, '-',    /*274*/
  667. X    0,     400,    5,   1,  10,    0,   0,     0,   0, {1,1}    , 20},
  668. X{"Heal Monster"            ,0x00000040L,    TV_WAND, '-',    /*275*/
  669. X    0,       0,    6,   1,  10,    0,   0,     0,   0, {1,1}    ,  2},
  670. X{"Haste Monster"        ,0x00000080L,    TV_WAND, '-',    /*276*/
  671. X    0,       0,    7,   1,  10,    0,   0,     0,   0, {1,1}    ,  2},
  672. X{"Slow Monster"            ,0x00000100L,    TV_WAND, '-',    /*277*/
  673. X    0,     500,    8,   1,  10,    0,   0,     0,   0, {1,1}    ,  2},
  674. X{"Confuse Monster"        ,0x00000200L,    TV_WAND, '-',    /*278*/
  675. X    0,     400,    9,   1,  10,    0,   0,     0,   0, {1,1}    ,  2},
  676. X{"Sleep Monster"        ,0x00000400L,    TV_WAND, '-',    /*279*/
  677. X    0,     500,    10,   1,  10,    0,   0,     0,   0, {1,1}    ,  7},
  678. X{"Drain Life"            ,0x00000800L,    TV_WAND, '-',    /*280*/
  679. X    0,    1200,    11,   1,  10,    0,   0,     0,   0, {1,1}    , 50},
  680. X{"Trap/Door Destruction"    ,0x00001000L,    TV_WAND, '-',    /*281*/
  681. X    0,     100,    12,   1,  10,    0,   0,     0,   0, {1,1}    , 12},
  682. X{"Magic Missile"        ,0x00002000L,    TV_WAND, '-',    /*282*/
  683. X    0,     200,    13,   1,  10,    0,   0,     0,   0, {1,1}    ,  2},
  684. X{"Wall Building"        ,0x00004000L,    TV_WAND, '-',    /*283*/
  685. X    0,     400,    14,   1,  10,    0,   0,     0,   0, {1,1}    , 25},
  686. X{"Clone Monster"        ,0x00008000L,    TV_WAND, '-',    /*284*/
  687. X    0,       0,    15,   1,  10,    0,   0,     0,   0, {1,1}    , 15},
  688. X{"Teleport Away"        ,0x00010000L,    TV_WAND, '-',    /*285*/
  689. X    0,     350,    16,   1,  10,    0,   0,     0,   0, {1,1}    , 20},
  690. X{"Disarming"            ,0x00020000L,    TV_WAND, '-',    /*286*/
  691. X    0,     700,    17,   1,  10,    0,   0,     0,   0, {1,1}    , 20},
  692. X{"Lightning Balls"        ,0x00040000L,    TV_WAND, '-',    /*287*/
  693. X    0,    1200,    18,   1,  10,    0,   0,     0,   0, {1,1}    , 35},
  694. X{"Cold Balls"            ,0x00080000L,    TV_WAND, '-',    /*288*/
  695. X    0,    1500,    19,   1,  10,    0,   0,     0,   0, {1,1}    , 40},
  696. X{"Fire Balls"            ,0x00100000L,    TV_WAND, '-',    /*289*/
  697. X    0,    1800,    20,   1,  10,    0,   0,     0,   0, {1,1}    , 50},
  698. X{"Stinking Cloud"        ,0x00200000L,    TV_WAND, '-',    /*290*/
  699. X    0,     400,    21,   1,  10,    0,   0,     0,   0, {1,1}    ,  5},
  700. X{"Acid Balls"            ,0x00400000L,    TV_WAND, '-',    /*291*/
  701. X    0,    1650,    22,   1,  10,    0,   0,     0,   0, {1,1}    , 48},
  702. X{"Wonder"            ,0x00800000L,    TV_WAND, '-',    /*292*/
  703. X    0,     250,    23,   1,  10,    0,   0,     0,   0, {1,1}    ,  2},
  704. X{"Light"            ,0x00000001L,    TV_STAFF, '_',    /*293*/
  705. X    0,     250,    0,   1,  50,    0,   0,     0,   0, {1,2}    ,  5},
  706. X{"Door/Stair Location"        ,0x00000002L,    TV_STAFF, '_',    /*294*/
  707. X    0,     350,    1,   1,  50,    0,   0,     0,   0, {1,2}    , 10},
  708. X{"Trap Location"        ,0x00000004L,    TV_STAFF, '_',    /*295*/
  709. X    0,     350,    2,   1,  50,    0,   0,     0,   0, {1,2}    , 10},
  710. X{"Treasure Location"        ,0x00000008L,    TV_STAFF, '_',    /*296*/
  711. X    0,     200,    3,   1,  50,    0,   0,     0,   0, {1,2}    ,  5},
  712. X{"Object Location"        ,0x00000010L,    TV_STAFF, '_',    /*297*/
  713. X    0,     200,    4,   1,  50,    0,   0,     0,   0, {1,2}    ,  5},
  714. X{"Teleportation"        ,0x00000020L,    TV_STAFF, '_',    /*298*/
  715. X    0,     400,    5,   1,  50,    0,   0,     0,   0, {1,2}    , 20},
  716. X{"Earthquakes"            ,0x00000040L,    TV_STAFF, '_',    /*299*/
  717. X    0,     350,    6,   1,  50,    0,   0,     0,   0, {1,2}    , 40},
  718. X{"Summoning"            ,0x00000080L,    TV_STAFF, '_',    /*300*/
  719. X    0,       0,    7,   1,  50,    0,   0,     0,   0, {1,2}    , 10},
  720. X{"Summoning"            ,0x00000080L,    TV_STAFF, '_',    /*301*/
  721. X    0,       0,    7,   1,  50,    0,   0,     0,   0, {1,2}    , 50},
  722. X{"*Destruction*"        ,0x00000200L,    TV_STAFF, '_',    /*302*/
  723. X    0,    2500,    8,   1,  50,    0,   0,     0,   0, {1,2}    , 50},
  724. X{"Starlight"            ,0x00000400L,    TV_STAFF, '_',    /*303*/
  725. X    0,     800,    9,   1,  50,    0,   0,     0,   0, {1,2}    , 20},
  726. X{"Haste Monsters"        ,0x00000800L,    TV_STAFF, '_',    /*304*/
  727. X    0,       0,    10,   1,  50,    0,   0,     0,   0, {1,2}    , 10},
  728. X{"Slow Monsters"        ,0x00001000L,    TV_STAFF, '_',    /*305*/
  729. X    0,     800,    11,   1,  50,    0,   0,     0,   0, {1,2}    , 10},
  730. X{"Sleep Monsters"        ,0x00002000L,    TV_STAFF, '_',    /*306*/
  731. X    0,     700,    12,   1,  50,    0,   0,     0,   0, {1,2}    , 10},
  732. X{"Cure Light Wounds"        ,0x00004000L,    TV_STAFF, '_',    /*307*/
  733. X    0,     350,    13,   1,  50,    0,   0,     0,   0, {1,2}    ,  5},
  734. X{"Detect Invisible"        ,0x00008000L,    TV_STAFF, '_',    /*308*/
  735. X    0,     200,    14,   1,  50,    0,   0,     0,   0, {1,2}    ,  5},
  736. X{"Speed"            ,0x00010000L,    TV_STAFF, '_',    /*309*/
  737. X    0,    1000,    15,   1,  50,    0,   0,     0,   0, {1,2}    , 40},
  738. X{"Slowness"            ,0x00020000L,    TV_STAFF, '_',    /*310*/
  739. X    0,       0,    16,   1,  50,    0,   0,     0,   0, {1,2}    , 40},
  740. X{"Mass Polymorph"        ,0x00040000L,    TV_STAFF, '_',    /*311*/
  741. X    0,     750,    17,   1,  50,    0,   0,     0,   0, {1,2}    , 46},
  742. X{"Remove Curse"            ,0x00080000L,    TV_STAFF, '_',    /*312*/
  743. X    0,     500,    18,   1,  50,    0,   0,     0,   0, {1,2}    , 47},
  744. X{"Detect Evil"            ,0x00100000L,    TV_STAFF, '_',    /*313*/
  745. X    0,     350,    19,   1,  50,    0,   0,     0,   0, {1,2}    , 20},
  746. X{"Curing"            ,0x00200000L,    TV_STAFF, '_',    /*314*/
  747. X    0,    1000,    20,   1,  50,    0,   0,     0,   0, {1,2}    , 25},
  748. X{"Dispel Evil"            ,0x00400000L,    TV_STAFF, '_',    /*315*/
  749. X    0,    1200,    21,   1,  50,    0,   0,     0,   0, {1,2}    , 49},
  750. X{"Darkness"            ,0x01000000L,    TV_STAFF, '_',    /*316*/
  751. X    0,       0,    22,   1,  50,    0,   0,     0,   0, {1,2}    , 50},
  752. X{"Darkness"            ,0x01000000L,    TV_STAFF, '_',    /*317*/
  753. X    0,       0,    22,   1,  50,    0,   0,     0,   0, {1,2}    ,  5},
  754. X{"[Beginners-Magik]"        ,0x0000007FL,    TV_MAGIC_BOOK, '?',/*318*/
  755. X    0,      25,    64,   1,  30,   0,   0,     0,   0, {1,1}    , 40},
  756. X{"[Magik I]"            ,0x0000FF80L,    TV_MAGIC_BOOK, '?',/*319*/
  757. X    0,     100,    65,   1,  30,   0,   0,     0,   0, {1,1}    , 40},
  758. X{"[Magik II]"            ,0x00FF0000L,    TV_MAGIC_BOOK, '?',/*320*/
  759. X    0,     400,    66,   1,  30,   0,   0,     0,   0, {1,1}    , 40},
  760. X{"[The Mages Guide to Power]"    ,0x7F000000L,    TV_MAGIC_BOOK, '?',/*321*/
  761. X    0,     800,    67,   1,  30,   0,   0,     0,   0, {1,1}    , 40},
  762. X{"[Beginners Handbook]"        ,0x000000FFL,    TV_PRAYER_BOOK, '?',/*322*/
  763. X    0,      25,    64,   1,  30,   0,   0,     0,   0, {1,1}    , 40},
  764. X{"[Words of Wisdom]"        ,0x0000FF00L,    TV_PRAYER_BOOK, '?',/*323*/
  765. X    0,     100,    65,   1,  30,   0,   0,     0,   0, {1,1}    , 40},
  766. X{"[Chants and Blessings]"    ,0x01FF0000L,    TV_PRAYER_BOOK, '?',/*324*/
  767. X    0,     300,    66,   1,  30,   0,   0,     0,   0, {1,1}    , 40},
  768. X{"[Exorcism and Dispelling]"    ,0x7E000000L,    TV_PRAYER_BOOK, '?',/*325*/
  769. X    0,     900,    67,   1,  30,   0,   0,     0,   0, {1,1}    , 40},
  770. X{"& Small wooden chest"        ,0x0F000000L,     TV_CHEST, '&',    /*326*/
  771. X    0,      20,    1,   1, 250,    0,   0,     0,   0, {2,3}    ,  7},
  772. X{"& Large wooden chest"        ,0x15000000L,     TV_CHEST, '&',    /*327*/
  773. X    0,      60,    4,   1, 500,    0,   0,     0,   0, {2,5}    , 15},
  774. X{"& Small iron chest"        ,0x0F000000L,     TV_CHEST, '&',    /*328*/
  775. X    0,     100,    7,   1, 300,    0,   0,     0,   0, {2,4}    , 25},
  776. X{"& Large iron chest"        ,0x1F000000L,     TV_CHEST, '&',    /*329*/
  777. X    0,     150,    10,   1,1000,    0,   0,     0,   0, {2,6}    , 35},
  778. X{"& Small steel chest"        ,0x0F000000L,     TV_CHEST, '&',    /*330*/
  779. X    0,     200,    13,   1, 500,    0,   0,     0,   0, {2,4}    , 45},
  780. X{"& Large steel chest"        ,0x23000000L,     TV_CHEST, '&',    /*331*/
  781. X    0,     250,    16,   1,1000,    0,   0,     0,   0, {2,6}    , 50},
  782. X{"& Rat Skeleton"        ,0x00000000L,     TV_MISC, 's',    /*332*/
  783. X    0,       0,    1,   1,  10,    0,   0,     0,   0, {1,1}    ,  1},
  784. X{"& Giant Centipede Skeleton"    ,0x00000000L,     TV_MISC, 's',    /*333*/
  785. X    0,       0,    2,   1,  25,    0,   0,     0,   0, {1,1}    ,  1},
  786. X{"some filthy rags"        ,0x00000000L,    TV_SOFT_ARMOR, '~',/*334*/
  787. X    0,       0,    63,   1,  20,    0,   0,     1,   0, {0,0}    ,  0},
  788. X{"& empty bottle"        ,0x00000000L,     TV_MISC, '!',    /*335*/
  789. X    0,       0,    4,   1,   2,    0,   0,     0,   0, {1,1}    ,  0},
  790. X{"some shards of pottery"    ,0x00000000L,     TV_MISC, '~',    /*336*/
  791. X    0,       0,    5,   1,   5,    0,   0,     0,   0, {1,1}    ,  0},
  792. X{"& Human Skeleton"        ,0x00000000L,     TV_MISC, 's',    /*337*/
  793. X    0,       0,    7,   1,  50,    0,   0,     0,   0, {1,1}    ,  1},
  794. X{"& Dwarf Skeleton"        ,0x00000000L,     TV_MISC, 's',    /*338*/
  795. X    0,       0,    8,   1,  60,    0,   0,     0,   0, {1,1}    ,  1},
  796. X{"& Elf Skeleton"        ,0x00000000L,     TV_MISC, 's',    /*339*/
  797. X    0,       0,    9,   1,  40,    0,   0,     0,   0, {1,1}    ,  1},
  798. X{"& Gnome Skeleton"        ,0x00000000L,     TV_MISC, 's',    /*340*/
  799. X    0,       0,    10,   1,  25,    0,   0,     0,   0, {1,1}    ,  1},
  800. X{"& broken set of teeth"    ,0x00000000L,     TV_MISC, 's',    /*341*/
  801. X    0,       0,    11,   1,   3,    0,   0,     0,   0, {1,1}    ,  0},
  802. X{"& large broken bone"        ,0x00000000L,     TV_MISC, 's',    /*342*/
  803. X    0,       0,    12,   1,   2,    0,   0,     0,   0, {1,1}    ,  0},
  804. X{"& broken stick"        ,0x00000000L,     TV_MISC, '~',    /*343*/
  805. X    0,       0,    13,   1,   3,    0,   0,     0,   0, {1,1}    ,  0},
  806. X/* end of Dungeon items */
  807. X/* Store items, which are not also dungeon items, some of these can be
  808. X   found above, except that the number is >1 below */
  809. X{"& Ration~ of Food"        ,0x00000000L,    TV_FOOD, ',',    /*344*/
  810. X 5000,       3,    90,   5,  10,    0,   0,     0,   0, {0,0}    ,  0},
  811. X{"& Hard Biscuit~"        ,0x00000000L,    TV_FOOD, ',',    /*345*/
  812. X  500,       1,    93,   5,   2,    0,   0,     0,   0, {0,0}    ,  0},
  813. X{"& Strip~ of Beef Jerky"    ,0x00000000L,    TV_FOOD, ',',    /*346*/
  814. X 1750,       2,    94,   5,   2,    0,   0,     0,   0, {0,0}    ,  0},
  815. X{"& Pint~ of Fine Ale"        ,0x00000000L,    TV_FOOD, ',',    /*347*/
  816. X  500,       1,    95,   3,  10,    0,   0,     0,   0, {0,0}    ,  0},
  817. X{"& Pint~ of Fine Wine"        ,0x00000000L,    TV_FOOD, ',',    /*348*/
  818. X  400,       2,    96,   1,  10,    0,   0,     0,   0, {0,0}    ,  0},
  819. X{"& Pick"            ,0x20000000L,    TV_DIGGING, '\\',/*349*/
  820. X    1,      50,    1,   1, 150,    0,   0,     0,   0, {1,3}    ,  0},
  821. X{"& Shovel"            ,0x20000000L,    TV_DIGGING, '\\',/*350*/
  822. X    0,      15,    4,   1,  60,    0,   0,     0,   0, {1,2}    ,  0},
  823. X{"Identify"            ,0x00000008L,    TV_SCROLL1, '?',/*351*/
  824. X    0,      50,  67,   2,   5,    0,   0,     0,   0, {0,0}    ,  0},
  825. X{"Light"            ,0x00000020L,    TV_SCROLL1, '?',/*352*/
  826. X    0,      15,  69,   3,   5,    0,   0,     0,   0, {0,0}    ,  0},
  827. X{"Phase Door"            ,0x00000080L,    TV_SCROLL1, '?',/*353*/
  828. X    0,      15,  71,   2,   5,    0,   0,     0,   0, {0,0}    ,  0},
  829. X{"Magic Mapping"        ,0x00000800L,    TV_SCROLL1, '?',/*354*/
  830. X    0,      40,  75,   2,   5,    0,   0,     0,   0, {0,0}    ,  0},
  831. X{"Treasure Detection"        ,0x00004000L,    TV_SCROLL1, '?',/*355*/
  832. X    0,      15,  78,   2,   5,    0,   0,     0,   0, {0,0}    ,  0},
  833. X{"Object Detection"        ,0x00008000L,    TV_SCROLL1, '?',/*356*/
  834. X    0,      15,  79,   2,   5,    0,   0,     0,   0, {0,0}    ,  0},
  835. X{"Detect Invisible"        ,0x00080000L,    TV_SCROLL1, '?',/*357*/
  836. X    0,      15,  83,   2,   5,    0,   0,     0,   0, {0,0}    ,  0},
  837. X{"Blessing"            ,0x00000020L,    TV_SCROLL2, '?',/*358*/
  838. X    0,      15,  99,   2,   5,    0,   0,     0,   0, {0,0}    ,  0},
  839. X{"Word-of-Recall"        ,0x00000100L,    TV_SCROLL2, '?',/*359*/
  840. X    0,     150, 102,   3,   5,    0,   0,     0,   0, {0,0}    ,  0},
  841. X{"Cure Light Wounds"        ,0x10001000L,    TV_POTION1, '!',/*360*/
  842. X   50,      15,  79,   2,   4,    0,   0,     0,   0, {1,1}    ,  0},
  843. X{"Heroism"            ,0x00000010L,    TV_POTION2, '!',/*361*/
  844. X    0,      35,  98,   2,   4,    0,   0,     0,   0, {1,1}    ,  0},
  845. X{"Boldness"            ,0x00000040L,    TV_POTION2, '!',/*362*/
  846. X    0,      10, 100,   2,   4,    0,   0,     0,   0, {1,1}    ,  0},
  847. X{"Slow Poison"            ,0x00000800L,    TV_POTION2, '!',/*363*/
  848. X    0,      25, 105,   2,   4,    0,   0,     0,   0, {1,1}    ,  0},
  849. X{"& Brass Lantern~"        ,0x00000000L,    TV_LIGHT, '~',    /*364*/
  850. X 7500,      35,    0,   1,  50,    0,   0,     0,   0, {1,1}    ,  1},
  851. X{"& Wooden Torch~"        ,0x00000000L,    TV_LIGHT, '~',    /*365*/
  852. X 4000,       2, 192,   5,  30,    0,   0,     0,   0, {1,1}    ,  1},
  853. X{"& Flask~ of oil"        ,0x00040000L,    TV_FLASK, '!',    /*366*/
  854. X 7500,       3,    64,   5,  10,    0,   0,     0,   0, {2,6}    ,  1},
  855. X/* end store items */
  856. X/* start doors */
  857. X/* Secret door must have same subval as closed door in    */
  858. X/* TRAP_LISTB.    See CHANGE_TRAP. Must use & because of stone_to_mud. */
  859. X{"& open door"            ,0x00000000L, TV_OPEN_DOOR, '\'',
  860. X    0,       0,    1,   1,   0,    0,   0,     0,   0, {1,1}    ,  0},
  861. X{"& closed door"        ,0x00000000L, TV_CLOSED_DOOR, '+',
  862. X    0,       0,    19,   1,   0,    0,   0,     0,   0, {1,1}    ,  0},
  863. X#ifdef ATARI_ST
  864. X{"& secret door"        ,0x00000000L, TV_SECRET_DOOR,
  865. X   (unsigned char)240, /* 369 */
  866. X#else
  867. X{"& secret door"        ,0x00000000L, TV_SECRET_DOOR, '#',/* 369 */
  868. X#endif
  869. X    0,       0,    19,   1,   0,    0,   0,     0,   0, {1,1}    ,  0},
  870. X/* end doors */
  871. X/* stairs */
  872. X{"an up staircase "        ,0x00000000L, TV_UP_STAIR, '<',    /* 370 */
  873. X    0,       0,    1,   1,   0,    0,   0,     0,   0, {1,1}    ,  0},
  874. X{"a down staircase"        ,0x00000000L, TV_DOWN_STAIR, '>',/* 371 */
  875. X    0,       0,    1,   1,   0,    0,   0,     0,   0, {1,1}    ,  0},
  876. X/* store door */
  877. X/* Stores are just special traps        */
  878. X{"General Store"        ,0x00000000L, TV_STORE_DOOR, '1',/* 372 */
  879. X    0,       0, 101,   1,   0,    0,   0,     0,   0, {0,0}    ,  0},
  880. X{"Armory"            ,0x00000000L, TV_STORE_DOOR, '2',
  881. X    0,       0, 102,   1,   0,    0,   0,     0,   0, {0,0}    ,  0},
  882. X{"Weapon Smiths"        ,0x00000000L, TV_STORE_DOOR, '3',
  883. X    0,       0, 103,   1,   0,    0,   0,     0,   0, {0,0}    ,  0},
  884. X{"Temple"            ,0x00000000L, TV_STORE_DOOR, '4',
  885. X    0,       0, 104,   1,   0,    0,   0,     0,   0, {0,0}    ,  0},
  886. X{"Alchemy Shop"            ,0x00000000L, TV_STORE_DOOR, '5',
  887. X    0,       0, 105,   1,   0,    0,   0,     0,   0, {0,0}    ,  0},
  888. X{"Magic Shop"            ,0x00000000L, TV_STORE_DOOR, '6',/* 377 */
  889. X    0,       0, 106,   1,   0,    0,   0,     0,   0, {0,0}    ,  0},
  890. X/* end store door */
  891. X/* Traps are just Nasty treasures.                */
  892. X/* Traps: Level represents the relative difficulty of disarming;    */
  893. X/* and P1 represents the experienced gained when disarmed*/
  894. X{"an open pit"            ,0x00000000L, TV_VIS_TRAP, ' ',    /* 378 */
  895. X    1,       0,    1,   1,   0,    0,   0,     0,   0, {2,6}    ,50},
  896. X{"an arrow trap"        ,0x00000000L, TV_INVIS_TRAP, '^',
  897. X    3,       0,    2,   1,   0,    0,   0,     0,   0, {1,8}    ,90},
  898. X{"a covered pit"        ,0x00000000L, TV_INVIS_TRAP, '^',
  899. X    2,       0,    3,   1,   0,    0,   0,     0,   0, {2,6}    ,60},
  900. X{"a trap door"            ,0x00000000L, TV_INVIS_TRAP, '^',
  901. X    5,       0,    4,   1,   0,    0,   0,     0,   0, {2,8}    ,75},
  902. X{"a gas trap"            ,0x00000000L, TV_INVIS_TRAP, '^',
  903. X    3,       0,    5,   1,   0,    0,   0,     0,   0, {1,4}    ,95},
  904. X{"a loose rock"            ,0x00000000L, TV_INVIS_TRAP, ';',
  905. X    0,       0,    6,   1,   0,    0,   0,     0,   0, {0,0}    ,10},
  906. X{"a dart trap"            ,0x00000000L, TV_INVIS_TRAP, '^',
  907. X    5,       0,    7,   1,   0,    0,   0,     0,   0, {1,4}    ,110},
  908. X{"a strange rune"        ,0x00000000L, TV_INVIS_TRAP, '^',
  909. X    5,       0,    8,   1,   0,    0,   0,     0,   0, {0,0}    ,90},
  910. X{"some loose rock"        ,0x00000000L, TV_INVIS_TRAP, '^',
  911. X    5,       0,    9,   1,   0,    0,   0,     0,   0, {2,6}    ,90},
  912. X{"a gas trap"            ,0x00000000L, TV_INVIS_TRAP, '^',
  913. X   10,       0,    10,   1,   0,    0,   0,     0,   0, {1,4}    ,105},
  914. X{"a strange rune"        ,0x00000000L, TV_INVIS_TRAP, '^',
  915. X    5,       0,    11,   1,   0,    0,   0,     0,   0, {0,0}    ,90},
  916. X{"a blackened spot"        ,0x00000000L, TV_INVIS_TRAP, '^',
  917. X   10,       0,    12,   1,   0,    0,   0,     0,   0, {4,6}    ,110},
  918. X{"some corroded rock"        ,0x00000000L, TV_INVIS_TRAP, '^',
  919. X   10,       0,    13,   1,   0,    0,   0,     0,   0, {4,6}    ,110},
  920. X{"a gas trap"            ,0x00000000L, TV_INVIS_TRAP, '^',
  921. X    5,       0,    14,   1,   0,    0,   0,     0,   0, {2,6}    ,105},
  922. X{"a gas trap"            ,0x00000000L, TV_INVIS_TRAP, '^',
  923. X    5,       0,    15,   1,   0,    0,   0,     0,   0, {1,4}    ,110},
  924. X{"a gas trap"            ,0x00000000L, TV_INVIS_TRAP, '^',
  925. X    5,       0,    16,   1,   0,    0,   0,     0,   0, {1,8}    ,105},
  926. X{"a dart trap"            ,0x00000000L, TV_INVIS_TRAP, '^',
  927. X    5,       0,    17,   1,   0,    0,   0,     0,   0, {1,8}    ,110},
  928. X{"a dart trap"            ,0x00000000L, TV_INVIS_TRAP, '^',/* 395 */
  929. X    5,       0,    18,   1,   0,    0,   0,     0,   0, {1,8}    ,110},
  930. X/* rubble */
  931. X{"some rubble"            ,0x00000000L, TV_RUBBLE, ':',    /* 396 */
  932. X    0,       0,    1,   1,   0,    0,   0,     0,   0, {0,0}    ,  0},
  933. X/* mush */
  934. X{"& pint~ of fine grade mush"    ,0x00000000L, TV_FOOD, ',',    /* 397 */
  935. X 1500,       0,  97,   1,   1,   0,   0,   0,   0, {1,1}  ,  1},
  936. X/* Special trap    */
  937. X{"a strange rune"        ,0x00000000L, TV_VIS_TRAP, '^',    /* 398 */
  938. X    0,       0,    99,   1,   0,    0,   0,     0,   0, {0,0}    , 10},
  939. X/* Gold list (All types of gold and gems are defined here)    */
  940. X{"copper"            ,0x00000000L, TV_GOLD, '$',    /* 399 */
  941. X    0,       3,    1,   1,   0,    0,   0,     0,   0, {0,0}      ,  1},
  942. X{"copper"            ,0x00000000L, TV_GOLD, '$',
  943. X    0,       4,    2,   1,   0,    0,   0,     0,   0, {0,0}      ,  1},
  944. X{"copper"            ,0x00000000L, TV_GOLD, '$',
  945. X    0,       5,    3,   1,   0,    0,   0,     0,   0, {0,0}      ,  1},
  946. X{"silver"            ,0x00000000L, TV_GOLD, '$',
  947. X    0,       6,    4,   1,   0,    0,   0,     0,   0, {0,0}      ,  1},
  948. X{"silver"            ,0x00000000L, TV_GOLD, '$',
  949. X    0,       7,    5,   1,   0,    0,   0,     0,   0, {0,0}      ,  1},
  950. X{"silver"            ,0x00000000L, TV_GOLD, '$',
  951. X    0,       8,    6,   1,   0,    0,   0,     0,   0, {0,0}      ,  1},
  952. X{"garnets"            ,0x00000000L, TV_GOLD, '*',
  953. X    0,       9,    7,   1,   0,    0,   0,     0,   0, {0,0}      ,  1},
  954. X{"garnets"            ,0x00000000L, TV_GOLD, '*',
  955. X    0,      10,    8,   1,   0,    0,   0,     0,   0, {0,0}      ,  1},
  956. X{"gold"                ,0x00000000L, TV_GOLD, '$',
  957. X    0,      12,    9,   1,   0,    0,   0,     0,   0, {0,0}      ,  1},
  958. X{"gold"                ,0x00000000L, TV_GOLD, '$',
  959. X    0,      14,    10,   1,   0,    0,   0,     0,   0, {0,0}      ,  1},
  960. X{"gold"                ,0x00000000L, TV_GOLD, '$',
  961. X    0,      16,    11,   1,   0,    0,   0,     0,   0, {0,0}      ,  1},
  962. X{"opals"            ,0x00000000L, TV_GOLD, '*',
  963. X    0,      18,    12,   1,   0,    0,   0,     0,   0, {0,0}      ,  1},
  964. X{"sapphires"            ,0x00000000L, TV_GOLD, '*',
  965. X    0,      20,    13,   1,   0,    0,   0,     0,   0, {0,0}      ,  1},
  966. X{"gold"                ,0x00000000L, TV_GOLD, '$',
  967. X    0,      24,    14,   1,   0,    0,   0,     0,   0, {0,0}      ,  1},
  968. X{"rubies"            ,0x00000000L, TV_GOLD, '*',
  969. X    0,      28,    15,   1,   0,    0,   0,     0,   0, {0,0}      ,  1},
  970. X{"diamonds"            ,0x00000000L, TV_GOLD, '*',
  971. X    0,      32,    16,   1,   0,    0,   0,     0,   0, {0,0}      ,  1},
  972. X{"emeralds"            ,0x00000000L, TV_GOLD, '*',
  973. X    0,      40,    17,   1,   0,    0,   0,     0,   0, {0,0}      ,  1},
  974. X{"mithril"            ,0x00000000L, TV_GOLD, '$',    /* 416 */
  975. X    0,      80,    18,   1,   0,    0,   0,     0,   0, {0,0}      ,  1},
  976. X/* nothing, used as inventory place holder */
  977. X/* must be stackable, so that can be picked up by inven_carry */
  978. X{"nothing"            ,0x00000000L,  TV_NOTHING, ' ',    /* 417 */
  979. X   0,       0,  64,   0,   0,   0,   0,   0,   0, {0,0}    ,  0},
  980. X/* these next two are needed only for the names */
  981. X{"& ruined chest"        ,0x00000000L,   TV_CHEST, '&',    /* 418 */
  982. X   0,       0,    0,   1, 250,    0,   0,     0,   0, {0,0}    ,  0},
  983. X{""                ,0x00000000L,  TV_NOTHING, ' ',    /* 419 */
  984. X   0,       0,   0,   0,   0,   0,   0,   0,   0, {0,0}  ,  0}
  985. X};
  986. X#endif
  987. X
  988. Xchar *special_names[SN_ARRAY_SIZE] = {
  989. X    CNIL,            "(R)",            "(RA)",
  990. X    "(RF)",            "(RC)",            "(RL)",
  991. X    "(HA)",            "(DF)",            "(SA)",
  992. X    "(SD)",            "(SE)",            "(SU)",
  993. X    "(FT)",            "(FB)",            "of Free Action",
  994. X    "of Slaying",        "of Clumsiness",    "of Weakness",
  995. X    "of Slow Descent",    "of Speed",        "of Stealth",
  996. X    "of Slowness",        "of Noise",        "of Great Mass",
  997. X    "of Intelligence",    "of Wisdom",        "of Infra-Vision",
  998. X    "of Might",        "of Lordliness",    "of the Magi",
  999. X    "of Beauty",        "of Seeing",        "of Regeneration",
  1000. X    "of Stupidity",        "of Dullness",        "of Blindness",
  1001. X    "of Timidness",        "of Teleportation",    "of Ugliness",
  1002. X    "of Protection",    "of Irritation",    "of Vulnerability",
  1003. X    "of Enveloping",    "of Fire",        "of Slay Evil",
  1004. X    "of Dragon Slaying",    "(Empty)",        "(Locked)",
  1005. X    "(Poison Needle)",    "(Gas Trap)",        "(Explosion Device)",
  1006. X    "(Summoning Runes)",    "(Multiple Traps)",    "(Disarmed)",
  1007. X    "(Unlocked)",        "of Slay Animal"
  1008. X};
  1009. X
  1010. X/* Pairing things down for THINK C.  */
  1011. X#ifndef RSRC_PART2
  1012. Xint16 sorted_objects[MAX_DUNGEON_OBJ];
  1013. X
  1014. X/* Identified objects flags                    */
  1015. Xint8u object_ident[OBJECT_IDENT_SIZE];
  1016. Xint16 t_level[MAX_OBJ_LEVEL+1];
  1017. Xinven_type t_list[MAX_TALLOC];
  1018. Xinven_type inventory[INVEN_ARRAY_SIZE];
  1019. X#endif
  1020. X
  1021. X/* Treasure related values                    */
  1022. Xint16 inven_ctr = 0;        /* Total different obj's    */
  1023. Xint16 inven_weight = 0;        /* Cur carried weight    */
  1024. Xint16 equip_ctr = 0;        /* Cur equipment ctr    */
  1025. Xint16 tcptr;            /* Cur treasure heap ptr    */
  1026. END_OF_FILE
  1027. if test 52575 -ne `wc -c <'source/treasure.c'`; then
  1028.     echo shar: \"'source/treasure.c'\" unpacked with wrong size!
  1029. fi
  1030. # end of 'source/treasure.c'
  1031. fi
  1032. echo shar: End of archive 2 \(of 39\).
  1033. cp /dev/null ark2isdone
  1034. MISSING=""
  1035. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ; do
  1036.     if test ! -f ark${I}isdone ; then
  1037.     MISSING="${MISSING} ${I}"
  1038.     fi
  1039. done
  1040. if test "${MISSING}" = "" ; then
  1041.     echo You have unpacked all 39 archives.
  1042.     echo "Now run "bldfiles.sh" to build split files"
  1043.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1044. else
  1045.     echo You still need to unpack the following archives:
  1046.     echo "        " ${MISSING}
  1047. fi
  1048. ##  End of shell archive.
  1049. exit 0
  1050.