home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / games / volume15 / dinkum / part01 / dink_glb.h next >
C/C++ Source or Header  |  1993-01-27  |  36KB  |  791 lines

  1. /***************************************************************/
  2. /*                                                             */
  3. /*             --- Global Variables Header File ---            */
  4. /*                                                             */
  5. /*     Software by Gary A. Allen, Jr.  20 May 1990             */
  6. /*           (c) Copyright 1990 by Gary A. Allen, Jr.          */
  7. /*                                                             */
  8. /***************************************************************/
  9.  
  10. /* repeated global varaiable dimenions */
  11. #define DM_letmax        310    /* DM_letmax = DM_vocab - 1 */
  12. #define DM_vocab        311
  13. #define DM_tag            312    /* DM_tag    = DM_vocab + 1 */
  14.  
  15. #define DM_room             243
  16.  
  17. #define DM_object        66
  18. #define DM_objcnt        65    /* DM_objcnt = DM_object - 1 */
  19.  
  20. #define DM_enemy_cnt_m1        14 
  21. #define DM_enemy_cnt         15 
  22. #define DM_enemy_cnt_p1        16 
  23.  
  24. /***************************************************************/
  25.  
  26. #ifdef DINKUM
  27. extern int room[DM_room][16] ;
  28. extern int objcnt ; 
  29. extern int object[DM_object][6] ;
  30. extern int tag[DM_tag] ;
  31. extern int sw_transport ;
  32. int gleep_count = 0 ; /* gleeps being carried */
  33. int verb, max_score = 1100 ;
  34. int sw_wizard = FALSE ;
  35. long clock_explode ;
  36. int sw_warned, flag_clock, sw_clock = FALSE, i_poison = 0 ;
  37.  
  38. /* gleep initialization matrix */
  39. int gleep_init[10][4] = {
  40. 97,    98,    101,    102,
  41. 98,    99,    102,    103,
  42. 99,    100,    103,    96,
  43. 100,    101,    96,    97,
  44. 101,    102,    97,    98,
  45. 102,    103,    98,    99,
  46. 103,    96,    99,    100,
  47. 134,    132,    136,    137,
  48. 69,    66,    90,    89,
  49. 74,    72,    68,    92 
  50. };
  51. int gleep_spot[10] ; /* gleep reproduction room pointer array */
  52. int gleep_score = 0 ; /* gleeps dropped in the gleep tank */
  53.  
  54. /* monster matrix initialization matrix */
  55. int mon_init_max = DM_enemy_cnt_m1 ;
  56. int mon_init[DM_enemy_cnt][4] = {
  57. /* Mutant Wombat */
  58. 139,    67,    86,    115,
  59. /* Drop Bears    */
  60. 77,    75,    78,    79,
  61. 103,    97,    98,    71,
  62. 64,    60,    62,    93,
  63. 67,    69,    66,    75,
  64. /* Hoop Snakes   */
  65. 93,    95,    94,    64,
  66. 75,    73,    76,    67,
  67. 71,    68,    67,    77,
  68. 52,    53,    51,    103,
  69. 115,    114,    113,    129,
  70. 131,    130,    129,    80,
  71. 119,    120,    118,    84,
  72. 109,    87,    84,    52,
  73. /* Revolutionary Guards */
  74. 241,    241,    241,    241,
  75. /* Chief Mullah */
  76. 242,    242,    242,    242
  77. } ;
  78.  
  79. /* object matrix initialization matrix */
  80. int obj_init_max = 50 ;
  81. int obj_init[51][5] = {
  82. O_can,        1,    1,    1,    1,
  83. O_butt,        165,    166,    161,    152,
  84. O_bottle,    11,    11,     11,    11,
  85. O_gold,        54,    53,    55,    56,
  86. O_dynamite,    78,    91,    69,    117,
  87. O_clip,        48,    52,    52,    48,
  88. O_org_clip,    117,    69,    113,    82,
  89. O_rifle,    48,    56,    48,    52,
  90. O_cap,        183,    184,    183,    184,
  91. O_matches,    69,    85,    78,    121,
  92. O_ring,        87,    135,    127,    105,
  93. O_ruby,        99,    106,    114,    74,
  94. O_coin,        127,    127,    87,    87,
  95. O_bill,        135,    87,    135,    127,
  96. O_pills,    85,    83,    91,    78,
  97. O_saphire,    91,    78,    85,    69,
  98. O_emerald,    68,    74,    117,    66,
  99. O_letter,    177,    177,    177,    177,
  100. O_torch,    92,    114,    66,    53,
  101. O_cube,        202,    202,    202,    202,
  102. O_wrapper,    171,    216,    239,    101,
  103. O_tire,        47,    47,    47,    47,
  104. O_shell,    82,    107,    213,    175,
  105. O_brick,    33,    33,    33,    33,
  106. O_rope,        209,    179,    181,    155,
  107. O_package,    156,    137,    95,    113,
  108. O_belt,        21,    21,    21,    21,
  109. O_filter,    142,    142,    142,    142,
  110. O_string,    204,    88,    118,    167,
  111. O_umbrella,    37,    37,    37,    37,
  112. O_tackle,    9,    9,    9,    9,
  113. O_bit,        81,    117,    90,    184,
  114. O_jack,        81,    81,    81,    81,
  115. O_pen,        177,    177,    177,    177,
  116. O_pencil,    202,    202,    202,    202,
  117. O_wire,        214,    154,    159,    151,
  118. O_pipe,        206,    239,    166,    151,
  119. O_opener,    63,    62,    61,    60,
  120. O_cord,        80,    131,    119,    79,
  121. O_photo,    206,    160,    155,    180,
  122. O_chair,    177,    177,    177,    177,
  123. O_bulb,        154,    162,    164,    181,
  124. O_rag,        92,    89,    73,    132,
  125. O_tube,        139,    121,    129,    132,
  126. O_carpet,    41,    41,    41,    41,
  127. O_branch,    28,    28,    28,    28,
  128. O_cork,        130,    122,    115,    109,
  129. O_trap,        146,    146,    146,    146,
  130. O_lighter,    210,    213,    46,    79,
  131. O_lace,        126,    136,    67,    72,
  132. O_comb,        164,    157,    156,    172
  133. } ;
  134.  
  135. /************************************************/
  136. /*         --- Enemy/Monster matrix ---        */
  137. /*  enemy[i][j]  description             */ 
  138. /*    i = Monster Type              */
  139. /*      = 0 = N_ned = Ned Kelly            */
  140. /*      = 1 = N_wombat = Mutant Wombat        */
  141. /*      = (2 - 5) = Drop Bears (four total)    */
  142. /*      = (6 - 13) = Hoop Snakes (eight total)    */
  143. /*      = 14 = Revolutionary Guards             */
  144. /*      = 15 = Chief Mullah                        */
  145. /*                        */
  146. /*    j = 0 = E_location                         */
  147. /*          = monster location or if negative    */
  148. /*            can be B_unmade or B_destroyed    */
  149. /*      = 1 = E_status                */
  150. /*          = monster status             */
  151. /*    = 2 = E_hits                           */
  152. /*        = monster hits (times shot)        */
  153. /************************************************/
  154. int enemy_max = DM_enemy_cnt ;
  155. int enemy [DM_enemy_cnt_p1][3] = {
  156. B_unmade,    F_asleep,     0,
  157. B_unmade,    F_asleep,     0,
  158. B_unmade,    F_asleep,     0,
  159. B_unmade,    F_asleep,     0,
  160. B_unmade,    F_asleep,     0,
  161. B_unmade,    F_asleep,     0,
  162. B_unmade,    F_asleep,     0,
  163. B_unmade,    F_asleep,     0,
  164. B_unmade,    F_asleep,     0,
  165. B_unmade,    F_asleep,     0,
  166. B_unmade,    F_asleep,     0,
  167. B_unmade,    F_asleep,     0,
  168. B_unmade,    F_asleep,     0,
  169. B_unmade,    F_asleep,     0,
  170. B_unmade,    F_asleep,     0,
  171. B_unmade,    F_asleep,     0
  172. } ;
  173.  
  174. int score = 0 ;
  175. int monster_flag = F_no_monster ;
  176. int carry_count, carry_weight ;
  177. #endif
  178.  
  179. /***************************************************************/
  180.  
  181. #ifdef OBJLKR
  182. extern int enemy[DM_enemy_cnt_p1][3] ;
  183. extern int tag[DM_tag] ;
  184. extern int sw_warned, score, gleep_score, max_score, sw_wizard ;
  185. /* a switch used in the "kelly" subroutine */
  186. int sw_valuable = FALSE ;
  187.  
  188. /* layout matrix for game */
  189. /*   n = room number      */ 
  190.  
  191. /*   The direction elements contain the adjoining room or a wall */
  192. /*   if the element value is negative.                           */
  193. /*     room[n][0] = north direction      */
  194. /*     room[n][1] = south direction      */
  195. /*     room[n][2] = east direction       */
  196. /*     room[n][3] = west direction       */
  197. /*     room[n][4] = up direction         */
  198. /*     room[n][5] = down direction       */
  199. /*     room[n][6] = north-east direction */
  200. /*     room[n][7] = north-west direction */
  201. /*     room[n][8] = south-east direction */
  202. /*     room[n][9] = south-west direction */
  203.  
  204. /*  room[n][10] points to the room type                      */
  205. /*               = -1 == instantly lethal                    */
  206. /*               =  1 == long description                    */
  207. /*               =  2 == contains a nonmovable action device */
  208. /*               =  3 == used to have a long description     */
  209. /*               =  4 == contains a nonmovable device        */
  210. /*               =  5 == room goes into itself (looping)     */
  211. /*  room[n][11] flag indicates number of objects in room.    */
  212. /*  room[n][12] is the room status number as refered by type */
  213. /*  room[n][13] is the monster indicater, 0 = no monsters    */
  214. /*  room[n][14] is the gleep count                           */
  215. /*  room[n][15] points to the description text file          */
  216.  
  217. int room [DM_room][16] = {
  218.   3,  2,  1, 15, -1, -1,  1, 15,  3,  2,  0,  0,  0,  0,  0,  0, 
  219.   6,  2, 20,  0, -1, -1,  0,  3,  0,  2,  0,  0,  0,  0,  0,  1,
  220.  28, 11, 29,148, -1, -1, 29, 11, 28,148,  0,  0,  0,  0,  0,  2, 
  221.   4,  0,  6,  4, -1, -1,  2,  1,  4,  2,  0,  0,  0,  0,  0,  3, 
  222.   5,  9,  4,  4, -1, -1,  5,  5,  9,  9,  5,  0,  0,  0,  0,  4,
  223.  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  5,
  224.   3, 14, 47,  3, -1, -1,  2,  3, 14,  3,  0,  0,  0,  0,  0,  6,
  225.  14,  8, 14,  8, -1, -1, 14, 14,  8,  8,  0,  0,  0,  0,  0,  7,
  226.  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  8,
  227.   4,  1,  6,  4, -1, -1,  0,  2,  0,  1,  0,  0,  0,  0,  0,  9, 
  228.  14,  6, 14,  3, -1, -1,  6, 14,  6, 14,  0,  0,  0,  0,  0, 10,
  229.  28, 12, 28, 12, -1, -1, 12, 28,  3,  6,  0,  0,  0,  0,  0, 11,
  230.  11, 13, 12, 13, -1, -1, 13, 12, 11, 13,  5,  0,  0,  0,  0, 12,
  231.  13, 13, 13, 13, -1, -1, 13, 13, 13, 12,  5,  0,  0,  0,  0, 13,
  232.   6,  7,  7, 10, -1, -1,  6, 10,  7,  7,  0,  0,  0,  0,  0, 14,
  233. 147,148,  0, 16, -1, -1,  0,147,  0,148,  4,  0,  0,  0,  0, 15,
  234.  19, 19, 16, 17, -1, -1, 19, 19, 17, 17,  5,  0,  0,  0,  0, 16,
  235.  16, 16, 16, 18, -1, -1, 16, 16, 18, 16,  0,  0,  0,  0,  0, 17,
  236.  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0, 18,
  237.   3,  2,  0, 16, -1, -1,  0, 16,  2, 16,  0,  0,  0,  0,  0, 19,
  238.  21,142, 22,  1, -1, -1, 23,  2,141,  1,  0,  0,  0,  0,  0, 20,
  239.  42, 20,145, 47, -1, -1,145,  1,145,  6,  0,  0,  0,  0,  0, 21,
  240.  36, 27, -1, 20, -1, -1, -1, 20, -1, 20,  1,  0,  0,  0,  0, 22,
  241.  25, 24, 25,145, -1, -1, 25,145, 25, 34,  4,  0,  0,  0,  0, 23,
  242.  23, 26, 25, 33, -1, -1, 25, 33, 25, 32,  0,  0,  0,  0,  0, 24,
  243.  25, 25, 25, 25, -1, -1,143, 23, 25, 26,  5,  0,  0,  0,  0, 25,
  244.  24, 25, 25,141, -1, -1, 25, 31, 25,141,  4,  0,  0,  0,  0, 26,
  245.  22, 30, -1, 20, -1, -1, -1, 20, -1, 20,  2,  0,  0,  0,  0, 27,
  246.   0,  2, 29,148, -1, -1, 29, 11,  0,  2,  0,  0,  0,  0,  0, 28, 
  247. 142, 29,141,  2, -1, -1,141,  2,141,  2,  5,  0,  0,  0,  0, 29,
  248.  27,141, 31, 20, -1, -1, -1, 20,141,141,  0,  0,  0,  0,  0, 30,
  249.  32,141, 24, 30, -1, -1, 24, -1, 26,141,  0,  0,  0,  0,  0, 31,
  250.  33, 31, 24, -1, -1, -1, 24, -1, 24, -1,  0,  0,  0,  0,  0, 32,
  251.  34, 32, 24, -1, -1, -1, 24, -1, 24, -1,  0,  0,  0,  0,  0, 33,
  252. 145, 33, 24, 35, -1, -1, 23,145, 24, -1,  0,  0,  0,  0,  0, 34,
  253. 145, 36, 34, 20, -1, -1,145,145, -1, 20,  0,  0,  0,  0,  0, 35,
  254.  35, 22, -1, 20, -1, -1, 35, 20, -1, 20,  2,  0,  0,  0,  0, 36,
  255.  38, 39, -1, 36, -1, -1, 38, 36, 39, 36,  0,  0,  0,  0,  0, 37,
  256.  -1, 37, -1, -1, -1, -1, -1, -1, -1, 37,  1,  0,  0,  0,  0, 38,
  257.  37, -1, 41, -1, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0, 39,
  258.  -1, 41, -1, -1, -1, -1, -1, -1, -1, 41,  2,  0,  0,  0,  0, 40,
  259.  40, -1, -1, 39, -1, -1, 40, -1, -1, -1,  4,  0,  0,  0,  0, 41,
  260.  42, 21,145,  6, -1, -1,145,  1,145,  6,  5,  0,  0,  0,  0, 42,
  261.  -1, -1, -1, 27, -1, -1, -1, 27, -1, -1,  1,  0,  4,  0,  0, 43,
  262.  -1, -1, 43, 48, -1, -1, -1, -1, 43, -1,  0,  0,  0,  0,  0, 44,
  263.  -1,204, 43,149, -1, -1, -1, -1, 43, -1,  0,  0,  0,  0,  0, 45,
  264. 239, -1, 43, -1, -1, -1, -1, -1, 43, -1,  0,  0,  0,  0,  0, 46,
  265.   3, 20, 21,  6, -1, -1, 21,  3, 20,  6,  0,  0,  0,  0,  0, 47, 
  266.  49, 50, 44, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 48, /*48*/
  267.  51, 48, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55, /*49*/
  268.  48, 56, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55, /*50*/
  269.  -1, 49, 52, 53, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 51, /*51*/
  270.  -1, -1, 54, 51, -1, 88, -1, -1, -1, -1,  0,  0,  0,  0,  0, 59, /*52*/
  271.  -1, -1, 51, 55, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56, /*53*/
  272.  -1, -1, -1, 52, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 91, /*54*/
  273.  -1, -1, 53, -1, 57, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 62, /*54*/
  274.  50, -1, -1, -1, -1, -1, -1, -1, 74, 72,  0,  0,  0,  0,  0, 64, /*56*/
  275.  -1, -1, -1, -1, -1, 55, -1, 58, -1, 59,  0,  0,  0,  0,  0, 76, /*57*/
  276.  -1, -1, -1, -1, -1, -1, -1, 60, 57, -1,  0,  0,  0,  0,  0, 57, /*58*/
  277.  -1, -1, -1, -1, -1, -1, 57, -1, -1, 61,  0,  0,  0,  0,  0, 58, /*59*/
  278.  -1, -1, -1, -1, -1, -1, -1, -1, 58, 62,  0,  0,  0,  0,  0, 84, /*60*/
  279.  -1, -1, -1, -1, -1, -1, 59, 63, -1, -1,  0,  0,  0,  0,  0, 87, /*61*/
  280.  -1, -1, -1, -1, -1, -1, 60, -1, -1, 64,  0,  0,  0,  0,  0, 58, /*62*/
  281.  -1, -1, -1, -1, -1, -1, -1, 64, 61, -1,  0,  0,  0,  0,  0, 57, /*63*/
  282.  -1, -1, -1, -1, -1, 65, 62, -1, 63, -1,  0,  0,  0,  0,  0, 77, /*64*/
  283.  -1, 66, -1, -1, 64, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 61, /*65*/
  284.  65, 67, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55, /*66*/
  285.  66, 69, 68, 70, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 78, /*67*/
  286.  -1, -1, 71, 67, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56, /*68*/
  287.  67, -1, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 92, /*69*/
  288. 121,128, 67, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 48, /*70*/
  289.  -1, -1, -1, 68, -1, -1, 72, -1, 73, -1,  0,  0,  0,  0,  0, 66, /*71*/
  290.  -1, -1, -1, -1, -1, -1, 56, -1, -1, 71,  0,  0,  0,  0,  0, 58, /*72*/
  291.  -1, -1, -1, -1, -1, -1, -1, 71, 75, -1,  0,  0,  0,  0,  0, 57, /*73*/
  292.  -1, -1, -1, -1, -1, -1, -1, 56, 77, -1,  0,  0,  0,  0,  0, 57, /*74*/
  293.  -1, -1, -1, -1, -1, -1, 76, 73, -1, 80,  0,  0,  0,  0,  0, 52, /*75*/
  294.  -1, -1, -1, -1, -1, -1, 77, -1, -1, 75,  0,  0,  0,  0,  0, 58, /*76*/
  295.  -1, -1, -1, -1, -1, -1, 79, 74, 78, 76,  0,  0,  0,  0,  0, 79, /*77*/
  296.  -1, -1, -1, -1, -1, -1, -1, 77, -1, -1,  0,  0,  0,  0,  0, 90, /*78*/
  297.  -1, -1, -1, -1, -1, -1,108, -1, -1, 77,  0,  0,  0,  0,  0, 58, /*79*/
  298.  -1, -1, 81, 82, -1, -1, 75, -1, -1, -1,  0,  0,  0,  0,  0, 74, /*80*/
  299.  -1, -1, -1, 80, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 93, /*81*/
  300.  -1, -1, 80, 83, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56, /*82*/
  301.  -1, 84, 82, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 81, /*83*/
  302.  83, -1, 85, 86, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 50, /*84*/
  303.  -1, -1, -1, 84, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 90, /*85*/
  304.  87, -1, 84, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 83, /*86*/
  305.  -1, 86, -1,109, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 94, /*87*/
  306.  -1, -1, -1, -1, 52, -1, 92, -1, -1, 89,  0,  0,  0,  0,  0, 96, /*88*/
  307.  -1, -1, -1, -1, -1, -1, 88, -1, -1, 90,  0,  0,  0,  0,  0, 58, /*89*/
  308.  -1, -1, -1, -1, -1, -1, 89, -1, -1, 91,  0,  0,  0,  0,  0, 58, /*90*/
  309.  -1, -1, -1, -1, -1, -1, 90, -1, -1, -1,  0,  0,  0,  0,  0, 90, /*91*/
  310.  -1, -1, -1, -1, -1, -1, 93, -1, -1, 88,  0,  0,  0,  0,  0, 58, /*92*/
  311.  -1, -1, -1, -1, -1, -1, -1, 94, 95, 92,  0,  0,  0,  0,  0, 95, /*93*/
  312.  -1, -1, -1, -1, 96, -1, -1, -1, 93, -1,  0,  0,  0,  0,  0, 60, /*94*/
  313.  -1, -1, -1, -1, -1, -1, -1, 93,104, -1,  0,  0,  0,  0,  0, 57, /*95*/
  314.  97, -1,103, -1, -1, 94, -1, -1, -1, -1,  0,  0,  0,  0,  0, 97, /*96*/
  315.  98, 96, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55, /*97*/
  316.  -1, 97, 99, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 81, /*98*/
  317.  -1, -1,100, 98, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56, /*99*/
  318.  -1,101, -1, 99, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 80,/*100*/
  319. 100,102, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55,/*101*/
  320. 101, -1, -1,103, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 82,/*102*/
  321.  -1, -1,102, 96, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*103*/
  322.  -1, -1, -1, -1, -1, -1, -1, 95,105, -1,  0,  0,  0,  0,  0, 57,/*104*/
  323.  -1, -1, -1, -1, -1, -1, -1,104, -1,106,  0,  0,  0,  0,  0, 86,/*105*/
  324.  -1, -1, -1, -1, -1, -1,105, -1, -1,107,  0,  0,  0,  0,  0, 58,/*106*/
  325.  -1, -1, -1, -1, 79, -1,106, -1, -1, -1,  0,  0,  0,  0,  0, 89,/*107*/
  326.  -1, -1, -1, -1, -1,106, -1, -1, -1, 79,  0,  0,  0,  0,  0, 88,/*108*/
  327.  -1, -1, 87,110, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*109*/
  328.  -1, -1,109, -1, -1,140, -1, -1, -1, -1,  0,  0,  0,  0,  0, 99,/*110*/
  329.  -1, -1, -1,140,109, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 98,/*111*/
  330.  -1, -1,140, -1,113, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 62,/*112*/
  331. 114, -1, -1, -1, -1,112, -1, -1, -1, -1,  0,  0,  0,  0,  0,100,/*113*/
  332. 115,113, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55,/*114*/
  333.  -1,114,118,116, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 51,/*115*/
  334.  -1,117,115, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 81,/*116*/
  335. 116, -1, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0,101,/*117*/
  336.  -1, -1,119,115, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*118*/
  337.  -1,125,120,118, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 51,/*119*/
  338.  -1,122, -1,119, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 80,/*120*/
  339.  -1, 70, -1,122, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 80,/*121*/
  340. 120,123,121, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 48,/*122*/
  341. 122, -1, -1,124, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 82,/*123*/
  342.  -1, -1,123, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 90,/*124*/
  343. 119, -1, -1,126, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 82,/*125*/
  344.  -1,127,125, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 81,/*126*/
  345. 126, -1, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 90,/*127*/
  346.  70, -1, -1,129, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 82,/*128*/
  347. 130,136,128, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 48,/*129*/
  348.  -1,129, -1,131, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 80,/*130*/
  349. 134,132,130, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 48,/*131*/
  350. 131, -1, -1,133, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 82,/*132*/
  351.  -1, -1,132, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 90,/*133*/
  352.  -1,131, -1,135, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 80,/*134*/
  353.  -1, -1,134, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 90,/*135*/
  354. 129, -1, -1,137, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 82,/*136*/
  355.  -1, -1,136,138, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*137*/
  356. 139, -1,137, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 83,/*138*/
  357.  -1,138, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 90,/*139*/
  358.  -1, -1,111,112, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*140*/
  359.  30, 26, 26,142, -1, -1, 24, 20, 26,142,  0,  0,  0,  0,  0,102,/*141*/
  360.  20, 29,141,  2, -1, -1,141,  2,141,  2,  0,  0,  0,  0,  0,103,/*142*/
  361.  25, 25, 25, 25, -1, -1, 25, 25,144, 25,  0,  0,  0,  0,  0,104,/*143*/
  362. 143,143,146,143, -1, -1,143,143,143,143,  1,  0,  0,  0,  0,105,/*144*/
  363.  23, 35, 23, 21, -1, -1, 23, 21, 35, 34,  0,  0,  0,  0,  0,106,/*145*/
  364.  -1, -1, -1,144, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0,107,/*146*/
  365.   3, 15,  3,  3, -1, -1,  3,  3, 15, 15,  0,  0,  0,  0,  0,108,/*147*/
  366.  15,  2,  2, 15, -1, -1, 15, 15,  2,  2,  0,  0,  0,  0,  0,109,/*148*/
  367.  -1, -1, 45, -1, -1,150, -1, -1, -1, -1,  0,  0,  0,  0,  0,110,/*149*/
  368.  -1,151, -1, -1,149, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 61,/*150*/
  369. 150,152, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55,/*151*/
  370. 151,153, -1,159, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 49,/*152*/
  371. 152,154, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55,/*153*/
  372. 153, -1, -1,155, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 82,/*154*/
  373.  -1, -1,154,156, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*155*/
  374. 157, -1,155, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 83,/*156*/
  375. 158,156, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55,/*157*/
  376.  -1,157,159,160, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 51,/*158*/
  377.  -1, -1,152,158, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,132,/*159*/
  378.  -1, -1,158,161, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*160*/
  379.  -1, -1,160,162, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*161*/
  380.  -1, -1,161,163, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*162*/
  381.  -1, -1,162,164, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*163*/
  382.  -1, -1,163,165, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*164*/
  383.  -1, -1,164, -1, -1,166, -1, -1, -1, -1,  0,  0,  0,  0,  0,110,/*165*/
  384.  -1, -1,167,178,165, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0,111,/*166*/
  385. 168, -1, -1,166, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 82,/*167*/
  386. 169,167, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55,/*168*/
  387. 170,168, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55,/*169*/
  388.  -1,169, -1, -1,171, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 61,/*170*/
  389.  -1, -1,172, -1, -1,170, -1, -1, -1, -1,  0,  0,  0,  0,  0,110,/*171*/
  390.  -1, -1,173,171, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*172*/
  391.  -1, -1,174,172, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*173*/
  392.  -1, -1,175,173, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*174*/
  393.  -1, -1,176,174, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*175*/
  394.  -1, -1,177,175, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*176*/
  395.  -1, -1, -1,176, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,112,/*177*/
  396.  -1, -1,166,179, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*178*/
  397.  -1, -1,178,180, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*179*/
  398.  -1,181,179, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 81,/*180*/
  399. 180,182, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55,/*181*/
  400. 181,185,184,183, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 78,/*182*/
  401.  -1, -1,182, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 90,/*183*/
  402.  -1, -1, -1,182, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 90,/*184*/
  403. 182, -1, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 90,/*185*/
  404. 185,187, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55,/*186*/
  405. 186,189,190,188, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 78,/*187*/
  406.  -1, -1,187, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 90,/*188*/
  407. 187, -1, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 90,/*189*/
  408.  -1, -1,191,187, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 56,/*190*/
  409. 192,198, -1,190, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,113,/*191*/
  410.  -1,191, -1, -1, -1, -1,193, -1, -1, -1,  1,  0,  0,  0,  0,114,/*192*/
  411.  -1, -1, -1, -1, -1, -1, -1, -1,194,192,  1,  0,  0,  0,  0,115,/*193*/
  412.  -1,195, -1, -1, -1, -1, -1,193, -1, -1,  1,  0,  0,  0,  0,116,/*194*/
  413. 194,196, -1, -1, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,117,/*195*/
  414. 195, -1, -1, -1,199, -1, -1, -1, -1,197,  1,  0,  0,  0,  0,118,/*196*/
  415.  -1, -1, -1, -1, -1, -1,196,198, -1, -1,  1,  0,  0,  0,  0,119,/*197*/
  416. 191, -1, -1, -1, -1, -1, -1, -1,197, -1,  1,  0,  0,  0,  0,120,/*198*/
  417. 200, -1, -1, -1, -1,196, -1, -1, -1, -1,  1,  0,  0,  0,  0,121,/*199*/
  418.  -1,199,201,202, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,122,/*200*/
  419.  -1, -1, -1,200, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,123,/*201*/
  420.  -1, -1,200,203, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,124,/*202*/
  421.  -1, -1,202, -1, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,125,/*203*/
  422.  45,205, -1, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 55,/*204*/
  423. 204, -1,206, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 83,/*205*/
  424.  -1, -1, -1,205, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,126,/*206*/
  425.  -1,208,227, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 81,/*207*/
  426. 207,209,226, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 48,/*208*/
  427. 208,210,225, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 48,/*209*/
  428. 209,211,224, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 48,/*210*/
  429. 210,217,223, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 48,/*211*/
  430. 217,213,222, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 48,/*212*/
  431. 212,214,221, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 48,/*213*/
  432. 213,215,220, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 48,/*214*/
  433. 214,216,219, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 48,/*215*/
  434. 215, -1,218, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 83,/*216*/
  435. 211,212, -1,239, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,128,/*217*/
  436.  -1, -1,237,216, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0, 56,/*218*/
  437.  -1, -1,236,215, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0, 56,/*219*/
  438.  -1, -1,235,214, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0, 56,/*220*/
  439.  -1, -1,234,213, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0, 56,/*221*/
  440.  -1, -1,233,212, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0, 56,/*222*/
  441.  -1, -1,232,211, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0, 56,/*223*/
  442.  -1, -1,231,210, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0, 56,/*224*/
  443.  -1, -1,230,209, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0, 56,/*225*/
  444.  -1, -1,229,208, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0, 56,/*226*/
  445.  -1, -1,228,207, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0, 56,/*227*/
  446.  -1,229, -1,227, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 80,/*228*/
  447. 228,230, -1,226, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 49,/*229*/
  448. 229,231, -1,225, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 49,/*230*/
  449. 230,232, -1,224, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 49,/*231*/
  450. 231,233, -1,223, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 49,/*232*/
  451. 232,234, -1,222, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 49,/*233*/
  452. 233,235, -1,221, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 49,/*234*/
  453. 234,236, -1,220, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 49,/*235*/
  454. 235,237, -1,219, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 49,/*236*/
  455. 236,238, -1,218, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 49,/*237*/
  456. 237, -1, -1, -1, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,127,/*238*/
  457.  -1, 46,217, -1, -1, -1, -1, -1, -1, -1,  0,  0,  0,  0,  0, 81,/*239*/
  458. 241, -1, -1, -1, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,129,/*240*/
  459.  -1,240,242, -1, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,130,/*241*/
  460.  -1, -1, -1,241, -1, -1, -1, -1, -1, -1,  1,  0,  0,  0,  0,131 /*242*/
  461. };
  462.  
  463. /* Object file */
  464. /*    object [n][0] = room location if =>0, else =-1 is in possesion */
  465. /*        of player, = -2 means unmade, = -3 means it is destroyed,  */
  466. /*        = -5 means the object is in the safe.                      */
  467. /*    object [n][1] = object's value                                 */
  468. /*    object [n][2] = external property of the object                */
  469. /*                  = 1  indicates special action on taking          */
  470. /*                  = 2  alias                         */
  471. /*                  = 3  nonmovable object which has no actions      */
  472. /*    object [n][3] = object parse id name                           */
  473. /*    object [n][4] = object's weight                                */
  474. /*    object [n][5] = internal property of the object                */
  475. int objcnt = DM_objcnt;
  476. int object [DM_object][6] = {
  477.  0, 0,      0,      V_can,        10,    0,        
  478.  0, 0,      0,      V_butt,        1,     0,
  479.  0, 0,      0,      V_bottle,    20,     0,
  480. 36, 0,  Z_transform,      V_mat,         300,     0,
  481. -2, 0,      0,      V_key,         5,     0,
  482.  0, 0,        0,    V_umbrella,    100,     0,
  483.  0, 0,        0,    V_tackle,     50,     0,
  484.  0, 0,        0,    V_bit,         10,     0,
  485. 38, 0,  Z_transform,      V_map,        10,     0,
  486. -2, 0,      0,      V_map,        10,     0,
  487. -5, 0,      0,      V_paper,    10,     0,
  488.  0, 200,        0,    V_gold,     500,     0,
  489.  0, 0,        0,    V_jack,        400,     0,
  490.  0, 0,        0,    V_dynamite,    100,     0,
  491.  0, 0,      0,    V_clip,     50,     150,
  492.  0, 0,        0,    V_pen,         5,     0,
  493.  0, 0,      0,    V_org_clip,    50,     5,
  494.  0, 0,        0,    V_pencil,     5,     0,
  495.  0, 0,      0,    V_rifle,     300,     0,
  496.  0, 0,        0,    V_wire,     100,     0,
  497.  0, 0,        0,    V_pipe,        200,     0,
  498.  0, 0,      0,    V_cap,        5,     0,
  499.  0, 0,      0,      V_matches,    2,     0,
  500.  0, 100,      0,      V_ring,     5,     0,
  501.  0, 0,        0,    V_opener,    10,     0,
  502.  0, 100,      0,      V_ruby,     30,     0,
  503. -2, 200,      0,      V_teapot,    50,     0,
  504.  0, 150,      0,      V_coin,     7,     0,
  505.  0, 0,        0,    V_cord,        70,     0,
  506.  0, 100,    0,    V_bill,        5,     0,
  507.  0, 0,        0,    V_photo,    5,     0,
  508.  0, 0,        0,    V_chair,    500,     0,
  509.  0, 0,        0,    V_bulb,        10,     0,
  510.  0, 0,        0,      V_pills,    10,     0,
  511.  0, 150,    0,      V_saphire,    30,     0,
  512.  0, 100,    0,      V_emerald,    30,     0,
  513.  0, 0,        0,    V_rag,          50,     0,
  514.  0, 0,        0,    V_tube,        50,     0,
  515.  0, 0,        0,    V_carpet,    400,     0,
  516.  0, 0,        0,    V_branch,    400,     0,
  517.  0, 0,        0,      V_letter,    10,     0,
  518.  0, 0,        0,    V_cork,     5,     0,
  519.  0, 0,        0,      V_torch,    100,     0,
  520.  0, 0,        0,    V_trap,        5,     0,
  521.  0, 0,        0,    V_lighter,    5,     0,
  522.  0, 0,        0,      V_cube,     50,     0,
  523. -2, 700,      0,      V_clapper,    100,     0,
  524. -2, 0,      0,      V_detector,    100,     0,
  525.  0, 0,        0,    V_lace,        2,     0,
  526.  0, 0,        0,    V_comb,        5,     0,
  527.  0, 0,        0,    V_wrapper,    3,     0,
  528.  0, 0,        0,    V_tire,        400,     0,
  529.  0, 0,        0,    V_shell,    3,     0,
  530.  0, 0,        0,    V_brick,    100,     0,
  531.  0, 0,        0,    V_rope,        100,     0,
  532.  0, 0,        0,    V_package,    5,     0,
  533.  0, 0,        0,    V_belt,        10,     0,
  534.  0, 0,        0,    V_filter,    50,     0,
  535.  0, 0,        0,    V_string,    5,    0,
  536. 39, 0,    Z_unmovable,    V_poster,    0,    0,
  537. 41, 0,    Z_unmovable,    V_poster,    0,    0,
  538. 39, 0,    Z_unmovable,    V_cockroach,    0,    0,
  539. 41, 0,    Z_unmovable,    V_cockroach,    0,    0,
  540. 15, 0,    Z_unmovable,    V_kangaroo,    0,    0,
  541. 26, 0,    Z_unmovable,    V_spinifex,    0,    0,
  542. 23, 0,    Z_unmovable,    V_bulldust,    0,    0
  543. };     
  544.  
  545. #endif
  546.  
  547. /***************************************************************/
  548.  
  549. #ifdef DSCRB
  550. int pill_count = 7 ;
  551. extern int room[DM_room][16] ;
  552. extern int enemy[DM_enemy_cnt_p1][3] ;
  553. extern int sw_active ;
  554. int rifle_flag = F_safety ;
  555. extern int clip_flag ;
  556. extern int object[DM_object][6] ;
  557. #endif
  558.  
  559. /***************************************************************/
  560.  
  561. #ifdef LONG_DESCP
  562. /* subroutines: new_score, pusher, switcher */
  563. extern int room[DM_room][16] ;
  564. extern int objcnt ; 
  565. extern int object[DM_object][6] ;
  566. extern int verb, score;
  567. extern int monster_flag, rifle_flag ;
  568. extern int tag[DM_tag] ;
  569. int sw_transport = FALSE ;
  570. #endif
  571.  
  572. /***************************************************************/
  573.  
  574. #ifdef ACTOR
  575. extern int room[DM_room][16], enemy[DM_enemy_cnt_p1][3], tag[DM_tag] ;
  576. extern int objcnt, gleep_safe, object[DM_object][6], verb ;
  577. extern int clip_flag, rifle_flag, monster_flag ;
  578. #endif
  579.  
  580. /***************************************************************/
  581.  
  582. #ifdef MNSTR
  583. extern int room[DM_room][16] ;
  584. extern int objcnt ; 
  585. extern int object[DM_object][6] ;
  586. extern int enemy_max ;
  587. extern int enemy[DM_enemy_cnt_p1][3] ;
  588. extern int monster_flag ;
  589. #endif
  590.  
  591. /***************************************************************/
  592.  
  593. #ifdef OPNR
  594. int sw_active = FALSE ;
  595. extern int room[DM_room][16] ;
  596. extern int objcnt ; 
  597. extern int object[DM_object][6] ;
  598. extern int sent[20];
  599. extern int gleep_count ;
  600. extern int tag[DM_tag] ;
  601. #endif
  602.   
  603. /***************************************************************/
  604.  
  605. #ifdef GLPR
  606. extern int sw_active ;
  607. extern int room[DM_room][16] ;
  608. extern int object[DM_object][6] ;
  609. extern int sent[20], pill_count ;
  610. extern int tag[DM_tag] ;
  611. extern int gleep_spot[10] ;
  612. extern int score, gleep_score, clip_flag ;
  613. extern int carry_count, carry_weight ;
  614. extern long clock_explode ;
  615. extern int flag_clock, sw_clock, i_poison ;
  616. #endif
  617.   
  618. /***************************************************************/
  619.  
  620. #ifdef PARSE
  621. int sent[20];
  622. extern int verb ;
  623. extern int sw_wizard ; 
  624. extern int room[DM_room][16] ;
  625. extern int gleep_score ;
  626. extern int object[DM_object][6] ;
  627. int tag[DM_tag], tag_max = DM_vocab ;
  628.  
  629. /* Game vocabulary */
  630. int letmax = DM_letmax ;
  631. char *vocab[DM_vocab] = {
  632. "north","south","east","west","up",
  633. "down","northeast","northwest","southeast","southwest",
  634. "n","s","e","w","u",                            /* "u"          = 15 */
  635. "d","ne","nw","se","sw",                        /* "sw"         = 20 */
  636. "quit","unlock","lock","take","leave",          /* "leave"      = 25 */
  637. "drop","can","bottle","mat","key",              /* "key"        = 30 */
  638. "butt","look","door","open","get",              /* "get"        = 35 */
  639. "throw","turn","on","off","push",               /* "push"       = 40 */
  640. "button","enter","switch","zero","forty-nine",  /* "forty-nine" = 45 */
  641. "sixty-seven","eighty-two","0","49","67",       /* "67"         = 50 */
  642. "82","beer","lager","doormat","lift",           /* "lift"       = 55 */ 
  643. "'on'","'off'","SVC","map","picture",           /* "picture"    = 60 */
  644. "safe","dial","paper","put","close",            /* "close"      = 65 */
  645. "read","gold","bar","dynamite","rifle",         /* "rifle"      = 70 */
  646. "M16","m16","cap","matches","diamond",          /* "diamond"    = 75 */
  647. "ring","ruby","silver","coin","bill",           /* "bill"       = 80 */
  648. "money","teapot","clip","ammo","box",           /* "box"        = 85 */
  649. "stick","pills","orange","glowing","saphire",   /* "saphire"    = 90 */
  650. "emerald","score","inventory","examine","describe",
  651. "drink","fill","water","fourex","invent",    /* "invent"    = 100 */
  652. "l","press","exit","all","Fourex",        /* "Fourex"    = 105 */
  653. "everything","shoot","kill","ned","Ned",    /* "Ned"    = 110 */
  654. "kelly","Kelly","pick","grab","combination",    /* "combination"= 115 */
  655. "select","safety","SAFE","triple","III",    /* "III"    = 120 */
  656. "single","I","auto","AUTO","automatic",        /* "automatic"    = 125 */
  657. "set","insert","attach","plan","gun",           /* "gun"        = 130 */
  658. "magazine","hoop","snake","bear","wombat",    /* "wombat"     = 135 */
  659. "remove","eject","org_clip","shut","gleep",    /* "gleep"    = 140 */
  660. "gleeps","letter","envelope","torch","mail",    /* "mail"       = 145 */
  661. "tank","carefully","gently","softly","slow_drop",
  662. "light","ignite","fuse","slowly","match",    /* "match"    = 155 */
  663. "cube","blue","blue_button","green","green_button",
  664. "clapper","sound","bang","hit","strike",    /* "strike"    = 160 */
  665. "gong","detector","give","STATS","JSYS",
  666. "SU","yellow","yellow_button","poster","eat",
  667. "swallow","pill","atropine","packet","wrapper",
  668. "tyre","shell","brick","rope","package",
  669. "belt","filter","string","cabinet","calendar",
  670. "tackle","bit","jack","pen","pencil",
  671. "wire","pipe","panel","opener","cord",
  672. "photo","chair","bulb","rag","tube",        /* "tube"    = 200 */
  673. "carpet","branch","cork","trap","lighter",
  674. "lace","comb","umbrella","meadow","billabong",
  675. "river","road","forest","grass","stream",
  676. "desert","building","office","hideout","dust",
  677. "mine","tunnel","tree","spinifex","hexagon",
  678. "spacecaft","airlock","wing","hole","tray",
  679. "liquid","cockroach","go","scream","yell",
  680. "bring","help","dump","attack","check",
  681. "inspect","place","touch","pull","extinguish",
  682. "ask","talk","tell","find","move",        /* "move"    = 250 */
  683. "break","kick","smash","feed","taste",
  684. "smell","slam","desk","in","into",
  685. "under","out","from","by","with",
  686. "fling","what","where","are","am",        /* "am"        = 275 */
  687. "have","QUESTION","how","why","who",        /* "who"    = 280 */
  688. "when","bop","walk","run","jump",        /* "jump"       = 285 */
  689. "hop","stroll","saunter","swagger","swing",    /* "swing"        = 290 */
  690. "dig","swim","depart","info","back",        /* "back"    = 295 */
  691. "hold","fire","stand","painting","doors",    /* "doors"    = 300 */
  692. "treasure","trigger","load","unload","sand",    /* "sand"    = 305 */
  693. "cockroaches","kangaroo","climb","bulldust","kangaroos",
  694. "spinifexes"
  695. };
  696.  
  697. /* Question Table */
  698. int quest_max = 8 ;
  699. int quest[9] = {
  700. V_what, V_where, V_are, V_am, V_have,
  701. V_how, V_why, V_who, V_when
  702. } ;
  703.  
  704. /* Adjective Table */
  705. int adj_max = 9 ;
  706. int adjective[10][4] = {  /* first element points to adjective */
  707. V_drop, V_bear,F_ignore,F_ignore,        /* drop bear */
  708. V_gold, V_bar,F_ignore,F_ignore,        /* gold bar */
  709. V_orange,V_clip,V_org_clip,F_replace,        /* orange clip */
  710. V_glowing, V_clip, V_org_clip,F_replace,    /* glowing clip */
  711. V_blue,V_switch,V_blue_button,F_replace,    /* blue switch */
  712. V_blue,V_button,V_blue_button,F_replace,    /* blue button */
  713. V_green,V_switch,V_green_button,F_replace,    /* green switch */
  714. V_green,V_button,V_green_button,F_replace,    /* green button */
  715. V_yellow,V_switch,V_yellow_button,F_replace,    /* yellow switch */
  716. V_yellow,V_button,V_yellow_button,F_replace    /* yellow button */
  717. } ;
  718.  
  719. /* Adverb Table */
  720. int adv_max = 29 ;
  721. int adverb[30][3] = { /* first element points to adverb */
  722. V_down, V_put, V_drop,                /* put down */
  723. V_down, V_set, V_drop,                /* set down */
  724. V_carefully, V_drop, V_slow_drop,        /* drop carefully */
  725. V_gently, V_drop, V_slow_drop,            /* drop slowly */
  726. V_softly, V_drop, V_slow_drop,            /* drop softly */
  727. V_slowly, V_drop, V_slow_drop,            /* drop slowly */
  728. V_carefully, V_put, V_slow_drop,        /* put carefully */
  729. V_gently, V_put, V_slow_drop,            /* put slowly */
  730. V_softly, V_put, V_slow_drop,            /* put softly */
  731. V_slowly, V_put, V_slow_drop,            /* put slowly */
  732. V_in, V_go, V_enter,                /* go in */
  733. V_in, V_move, V_enter,                /* move in */
  734. V_in, V_bop, V_enter,                /* bop in */
  735. V_in, V_walk, V_enter,                /* walk in */
  736. V_in, V_run, V_enter,                /* run in */
  737. V_in, V_jump, V_enter,                /* jump in */
  738. V_in, V_hop, V_enter,                /* hop in */
  739. V_in, V_stroll, V_enter,            /* stroll in */
  740. V_in, V_saunter, V_enter,             /* saunter in */
  741. V_in, V_swagger, V_enter,            /* swagger in */
  742. V_out, V_go, V_exit,                /* go out */
  743. V_out, V_move, V_exit,                /* move out */
  744. V_out, V_bop, V_exit,                /* bop out */
  745. V_out, V_walk, V_exit,                /* walk out */
  746. V_out, V_run, V_exit,                /* run out */
  747. V_out, V_jump, V_exit,                /* jump out */
  748. V_out, V_hop, V_exit,                /* hop out */
  749. V_out, V_stroll, V_exit,            /* stroll out */
  750. V_out, V_saunter, V_exit,             /* saunter out */
  751. V_out, V_swagger, V_exit            /* swagger out */
  752. } ;
  753.  
  754. /* Verb Table */
  755. int  verb_max = 78 ;
  756. int verb_table[79] = {
  757. V_quit,V_unlock,V_lock,V_take,V_leave,
  758. V_drop,V_look,V_open,V_get,V_throw,
  759. V_turn,V_push,V_enter,V_switch,V_lift,
  760. V_svc,V_dial,V_put,V_close,V_read,
  761. V_score,V_inventory,V_examine,V_describe,V_drink,
  762. V_fill,V_invent,V_l,V_press,V_exit,
  763. V_shoot,V_kill,V_pick,V_grab,V_combination,
  764. V_select,V_set,V_insert,V_attach,V_remove,
  765. V_eject,V_shut,V_light,V_ignite,V_sound,
  766. V_bang,V_hit,V_strike,V_give,V_stats,
  767. V_jsys,V_su,V_eat,V_swallow,V_fling,
  768. V_help,V_bop,V_walk,V_run,V_jump,
  769. V_hop,V_stroll,V_saunter,V_swagger,V_go,
  770. V_move,V_swing,V_dig,V_swim,V_depart,
  771. V_info,V_back,V_hold,V_fire,V_pull,
  772. V_stand,V_load,V_unload,V_climb
  773. };
  774.  
  775. #endif
  776.  
  777. /***************************************************************/
  778.  
  779. #ifdef TAKER
  780. int clip_flag = F_no_clip ;
  781. /* gleep_drop triggers gleep destruction */
  782. int gleep_safe, gleep_drop = FALSE ;
  783. extern char *vocab[DM_vocab] ;
  784. extern int room[DM_room][16] ;
  785. extern int objcnt, rifle_flag ; 
  786. extern int object[DM_object][6] ;
  787. extern int carry_count, carry_weight ;
  788. extern int gleep_count, gleep_score, verb, sent[20], tag[DM_tag] ;
  789. extern int sw_valuable ;
  790. #endif
  791.