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

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