home *** CD-ROM | disk | FTP | other *** search
- Path: uunet!news.tek.com!master!saab!billr
- From: billr@saab.CNA.TEK.COM (Bill Randle)
- Newsgroups: comp.sources.games
- Subject: v15i021: dinkum - australian text adventure game, Part01/06
- Message-ID: <3979@master.CNA.TEK.COM>
- Date: 29 Nov 92 20:30:35 GMT
- Sender: news@master.CNA.TEK.COM
- Lines: 1378
- Approved: billr@saab.CNA.TEK.COM
- Xref: uunet comp.sources.games:1520
-
- Submitted-by: Gary Allen <gary@sun.mech.uq.oz.au>
- Posting-number: Volume 15, Issue 21
- Archive-name: dinkum/Part01
- Environment: Unix, DOS
-
- ["G'day Mate! Welcome to 'Dinkum' the Australian adventure
- game. In Dinkum you'll search for treasure in the
- Australian Outback. You give the commands and I'll do the
- dangerous work. I understand most plain English sentences."]
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 1 (of 6)."
- # Contents: README MANIFEST dink_glb.h gleeper.c
- # Wrapped by billr@saab on Sun Nov 29 12:25:48 1992
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'README' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'README'\"
- else
- echo shar: Extracting \"'README'\" \(1857 characters\)
- sed "s/^X//" >'README' <<'END_OF_FILE'
- X --- Dinkum ---
- X (c) Copyright 1990 by Gary A. Allen, Jr.
- X All Rights Reserved. Version: 1.27, 24 August 1992
- X
- X Dinkum is a text style "adventure" game.
- X
- XYou are free to use, copy and distribute Dinkum provided:
- X NO FEE IS CHARGED FOR USE, COPYING OR DISTRIBUTION.
- X THIS PROGRAM IS FOR PRIVATE, NONCOMMERICAL USE ONLY.
- X THE PROGRAM MAY NOT BE MODIFIED IN ANY WAY.
- X
- XThis program is provided AS IS without any warranty,
- Xexpressed or implied, including but not limited to fitness
- Xfor any particular purpose.
- X
- XWhen corresponding please state the current version of
- XDinkum which you are using. Contributions and questions
- Xabout this program should be sent to the following address:
- X
- X E-mail address: gary@sun.mech.uq.oz.au
- X
- X Postal address: Gary A. Allen, Jr.
- X P.O. Box 13
- X St. Lucia, Queensland 4067
- X Australia
- X
- X -----------------------
- X
- XThe program has been tested to compile under DOS through Turbo-C or under Unix
- Xfor the IBM-RISC/6000, Sun and Iris. As far as I know it works and has no
- Xobvious bugs. Of course with adventure games the word "bug" has a pretty
- Xloose meaning.
- X
- XThe C coding style is a little bit embarrassing for me. I wrote this program
- Xafter I finally resolved to never again code in FORTRAN. In fact I used this
- Xcode for learning C and exploring natural language. If you think this program
- Xis worth the trouble then I'll try and clean it up and get the source code
- Xinto a more presentable form. Also if you should have any suggestions on
- Xways to improve this program then please feel free to suggest them. However
- XI'll only invest another month on this thing (I wasted too much time on it
- Xalready).
- X
- X
- X Gary Allen
- END_OF_FILE
- if test 1857 -ne `wc -c <'README'`; then
- echo shar: \"'README'\" unpacked with wrong size!
- fi
- # end of 'README'
- fi
- if test -f 'MANIFEST' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'MANIFEST'\"
- else
- echo shar: Extracting \"'MANIFEST'\" \(579 characters\)
- sed "s/^X//" >'MANIFEST' <<'END_OF_FILE'
- X File Name Archive # Description
- X-----------------------------------------------------------
- X MANIFEST 1 This shipping list
- X README 1
- X actor.c 5
- X describe.c 3
- X dink_glb.h 1
- X dink_sym.h 6
- X dinkum.c 4
- X gleeper.c 1
- X longdsc.c 2
- X makefile 2
- X monster.c 4
- X objlook.c 2
- X opener.c 5
- X parse.c 5
- X taker.c 3
- END_OF_FILE
- if test 579 -ne `wc -c <'MANIFEST'`; then
- echo shar: \"'MANIFEST'\" unpacked with wrong size!
- fi
- # end of 'MANIFEST'
- fi
- if test -f 'dink_glb.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'dink_glb.h'\"
- else
- echo shar: Extracting \"'dink_glb.h'\" \(35916 characters\)
- sed "s/^X//" >'dink_glb.h' <<'END_OF_FILE'
- X/***************************************************************/
- X/* */
- X/* --- Global Variables Header File --- */
- X/* */
- X/* Software by Gary A. Allen, Jr. 20 May 1990 */
- X/* (c) Copyright 1990 by Gary A. Allen, Jr. */
- X/* */
- X/***************************************************************/
- X
- X/* repeated global varaiable dimenions */
- X#define DM_letmax 310 /* DM_letmax = DM_vocab - 1 */
- X#define DM_vocab 311
- X#define DM_tag 312 /* DM_tag = DM_vocab + 1 */
- X
- X#define DM_room 243
- X
- X#define DM_object 66
- X#define DM_objcnt 65 /* DM_objcnt = DM_object - 1 */
- X
- X#define DM_enemy_cnt_m1 14
- X#define DM_enemy_cnt 15
- X#define DM_enemy_cnt_p1 16
- X
- X/***************************************************************/
- X
- X#ifdef DINKUM
- Xextern int room[DM_room][16] ;
- Xextern int objcnt ;
- Xextern int object[DM_object][6] ;
- Xextern int tag[DM_tag] ;
- Xextern int sw_transport ;
- Xint gleep_count = 0 ; /* gleeps being carried */
- Xint verb, max_score = 1100 ;
- Xint sw_wizard = FALSE ;
- Xlong clock_explode ;
- Xint sw_warned, flag_clock, sw_clock = FALSE, i_poison = 0 ;
- X
- X/* gleep initialization matrix */
- Xint gleep_init[10][4] = {
- X97, 98, 101, 102,
- X98, 99, 102, 103,
- X99, 100, 103, 96,
- X100, 101, 96, 97,
- X101, 102, 97, 98,
- X102, 103, 98, 99,
- X103, 96, 99, 100,
- X134, 132, 136, 137,
- X69, 66, 90, 89,
- X74, 72, 68, 92
- X};
- Xint gleep_spot[10] ; /* gleep reproduction room pointer array */
- Xint gleep_score = 0 ; /* gleeps dropped in the gleep tank */
- X
- X/* monster matrix initialization matrix */
- Xint mon_init_max = DM_enemy_cnt_m1 ;
- Xint mon_init[DM_enemy_cnt][4] = {
- X/* Mutant Wombat */
- X139, 67, 86, 115,
- X/* Drop Bears */
- X77, 75, 78, 79,
- X103, 97, 98, 71,
- X64, 60, 62, 93,
- X67, 69, 66, 75,
- X/* Hoop Snakes */
- X93, 95, 94, 64,
- X75, 73, 76, 67,
- X71, 68, 67, 77,
- X52, 53, 51, 103,
- X115, 114, 113, 129,
- X131, 130, 129, 80,
- X119, 120, 118, 84,
- X109, 87, 84, 52,
- X/* Revolutionary Guards */
- X241, 241, 241, 241,
- X/* Chief Mullah */
- X242, 242, 242, 242
- X} ;
- X
- X/* object matrix initialization matrix */
- Xint obj_init_max = 50 ;
- Xint obj_init[51][5] = {
- XO_can, 1, 1, 1, 1,
- XO_butt, 165, 166, 161, 152,
- XO_bottle, 11, 11, 11, 11,
- XO_gold, 54, 53, 55, 56,
- XO_dynamite, 78, 91, 69, 117,
- XO_clip, 48, 52, 52, 48,
- XO_org_clip, 117, 69, 113, 82,
- XO_rifle, 48, 56, 48, 52,
- XO_cap, 183, 184, 183, 184,
- XO_matches, 69, 85, 78, 121,
- XO_ring, 87, 135, 127, 105,
- XO_ruby, 99, 106, 114, 74,
- XO_coin, 127, 127, 87, 87,
- XO_bill, 135, 87, 135, 127,
- XO_pills, 85, 83, 91, 78,
- XO_saphire, 91, 78, 85, 69,
- XO_emerald, 68, 74, 117, 66,
- XO_letter, 177, 177, 177, 177,
- XO_torch, 92, 114, 66, 53,
- XO_cube, 202, 202, 202, 202,
- XO_wrapper, 171, 216, 239, 101,
- XO_tire, 47, 47, 47, 47,
- XO_shell, 82, 107, 213, 175,
- XO_brick, 33, 33, 33, 33,
- XO_rope, 209, 179, 181, 155,
- XO_package, 156, 137, 95, 113,
- XO_belt, 21, 21, 21, 21,
- XO_filter, 142, 142, 142, 142,
- XO_string, 204, 88, 118, 167,
- XO_umbrella, 37, 37, 37, 37,
- XO_tackle, 9, 9, 9, 9,
- XO_bit, 81, 117, 90, 184,
- XO_jack, 81, 81, 81, 81,
- XO_pen, 177, 177, 177, 177,
- XO_pencil, 202, 202, 202, 202,
- XO_wire, 214, 154, 159, 151,
- XO_pipe, 206, 239, 166, 151,
- XO_opener, 63, 62, 61, 60,
- XO_cord, 80, 131, 119, 79,
- XO_photo, 206, 160, 155, 180,
- XO_chair, 177, 177, 177, 177,
- XO_bulb, 154, 162, 164, 181,
- XO_rag, 92, 89, 73, 132,
- XO_tube, 139, 121, 129, 132,
- XO_carpet, 41, 41, 41, 41,
- XO_branch, 28, 28, 28, 28,
- XO_cork, 130, 122, 115, 109,
- XO_trap, 146, 146, 146, 146,
- XO_lighter, 210, 213, 46, 79,
- XO_lace, 126, 136, 67, 72,
- XO_comb, 164, 157, 156, 172
- X} ;
- X
- X/************************************************/
- X/* --- Enemy/Monster matrix --- */
- X/* enemy[i][j] description */
- X/* i = Monster Type */
- X/* = 0 = N_ned = Ned Kelly */
- X/* = 1 = N_wombat = Mutant Wombat */
- X/* = (2 - 5) = Drop Bears (four total) */
- X/* = (6 - 13) = Hoop Snakes (eight total) */
- X/* = 14 = Revolutionary Guards */
- X/* = 15 = Chief Mullah */
- X/* */
- X/* j = 0 = E_location */
- X/* = monster location or if negative */
- X/* can be B_unmade or B_destroyed */
- X/* = 1 = E_status */
- X/* = monster status */
- X/* = 2 = E_hits */
- X/* = monster hits (times shot) */
- X/************************************************/
- Xint enemy_max = DM_enemy_cnt ;
- Xint enemy [DM_enemy_cnt_p1][3] = {
- XB_unmade, F_asleep, 0,
- XB_unmade, F_asleep, 0,
- XB_unmade, F_asleep, 0,
- XB_unmade, F_asleep, 0,
- XB_unmade, F_asleep, 0,
- XB_unmade, F_asleep, 0,
- XB_unmade, F_asleep, 0,
- XB_unmade, F_asleep, 0,
- XB_unmade, F_asleep, 0,
- XB_unmade, F_asleep, 0,
- XB_unmade, F_asleep, 0,
- XB_unmade, F_asleep, 0,
- XB_unmade, F_asleep, 0,
- XB_unmade, F_asleep, 0,
- XB_unmade, F_asleep, 0,
- XB_unmade, F_asleep, 0
- X} ;
- X
- Xint score = 0 ;
- Xint monster_flag = F_no_monster ;
- Xint carry_count, carry_weight ;
- X#endif
- X
- X/***************************************************************/
- X
- X#ifdef OBJLKR
- Xextern int enemy[DM_enemy_cnt_p1][3] ;
- Xextern int tag[DM_tag] ;
- Xextern int sw_warned, score, gleep_score, max_score, sw_wizard ;
- X/* a switch used in the "kelly" subroutine */
- Xint sw_valuable = FALSE ;
- X
- X/* layout matrix for game */
- X/* n = room number */
- X
- X/* The direction elements contain the adjoining room or a wall */
- X/* if the element value is negative. */
- X/* room[n][0] = north direction */
- X/* room[n][1] = south direction */
- X/* room[n][2] = east direction */
- X/* room[n][3] = west direction */
- X/* room[n][4] = up direction */
- X/* room[n][5] = down direction */
- X/* room[n][6] = north-east direction */
- X/* room[n][7] = north-west direction */
- X/* room[n][8] = south-east direction */
- X/* room[n][9] = south-west direction */
- X
- X/* room[n][10] points to the room type */
- X/* = -1 == instantly lethal */
- X/* = 1 == long description */
- X/* = 2 == contains a nonmovable action device */
- X/* = 3 == used to have a long description */
- X/* = 4 == contains a nonmovable device */
- X/* = 5 == room goes into itself (looping) */
- X/* room[n][11] flag indicates number of objects in room. */
- X/* room[n][12] is the room status number as refered by type */
- X/* room[n][13] is the monster indicater, 0 = no monsters */
- X/* room[n][14] is the gleep count */
- X/* room[n][15] points to the description text file */
- X
- Xint room [DM_room][16] = {
- X 3, 2, 1, 15, -1, -1, 1, 15, 3, 2, 0, 0, 0, 0, 0, 0,
- X 6, 2, 20, 0, -1, -1, 0, 3, 0, 2, 0, 0, 0, 0, 0, 1,
- X 28, 11, 29,148, -1, -1, 29, 11, 28,148, 0, 0, 0, 0, 0, 2,
- X 4, 0, 6, 4, -1, -1, 2, 1, 4, 2, 0, 0, 0, 0, 0, 3,
- X 5, 9, 4, 4, -1, -1, 5, 5, 9, 9, 5, 0, 0, 0, 0, 4,
- X -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 5,
- X 3, 14, 47, 3, -1, -1, 2, 3, 14, 3, 0, 0, 0, 0, 0, 6,
- X 14, 8, 14, 8, -1, -1, 14, 14, 8, 8, 0, 0, 0, 0, 0, 7,
- X -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 8,
- X 4, 1, 6, 4, -1, -1, 0, 2, 0, 1, 0, 0, 0, 0, 0, 9,
- X 14, 6, 14, 3, -1, -1, 6, 14, 6, 14, 0, 0, 0, 0, 0, 10,
- X 28, 12, 28, 12, -1, -1, 12, 28, 3, 6, 0, 0, 0, 0, 0, 11,
- X 11, 13, 12, 13, -1, -1, 13, 12, 11, 13, 5, 0, 0, 0, 0, 12,
- X 13, 13, 13, 13, -1, -1, 13, 13, 13, 12, 5, 0, 0, 0, 0, 13,
- X 6, 7, 7, 10, -1, -1, 6, 10, 7, 7, 0, 0, 0, 0, 0, 14,
- X147,148, 0, 16, -1, -1, 0,147, 0,148, 4, 0, 0, 0, 0, 15,
- X 19, 19, 16, 17, -1, -1, 19, 19, 17, 17, 5, 0, 0, 0, 0, 16,
- X 16, 16, 16, 18, -1, -1, 16, 16, 18, 16, 0, 0, 0, 0, 0, 17,
- X -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 18,
- X 3, 2, 0, 16, -1, -1, 0, 16, 2, 16, 0, 0, 0, 0, 0, 19,
- X 21,142, 22, 1, -1, -1, 23, 2,141, 1, 0, 0, 0, 0, 0, 20,
- X 42, 20,145, 47, -1, -1,145, 1,145, 6, 0, 0, 0, 0, 0, 21,
- X 36, 27, -1, 20, -1, -1, -1, 20, -1, 20, 1, 0, 0, 0, 0, 22,
- X 25, 24, 25,145, -1, -1, 25,145, 25, 34, 4, 0, 0, 0, 0, 23,
- X 23, 26, 25, 33, -1, -1, 25, 33, 25, 32, 0, 0, 0, 0, 0, 24,
- X 25, 25, 25, 25, -1, -1,143, 23, 25, 26, 5, 0, 0, 0, 0, 25,
- X 24, 25, 25,141, -1, -1, 25, 31, 25,141, 4, 0, 0, 0, 0, 26,
- X 22, 30, -1, 20, -1, -1, -1, 20, -1, 20, 2, 0, 0, 0, 0, 27,
- X 0, 2, 29,148, -1, -1, 29, 11, 0, 2, 0, 0, 0, 0, 0, 28,
- X142, 29,141, 2, -1, -1,141, 2,141, 2, 5, 0, 0, 0, 0, 29,
- X 27,141, 31, 20, -1, -1, -1, 20,141,141, 0, 0, 0, 0, 0, 30,
- X 32,141, 24, 30, -1, -1, 24, -1, 26,141, 0, 0, 0, 0, 0, 31,
- X 33, 31, 24, -1, -1, -1, 24, -1, 24, -1, 0, 0, 0, 0, 0, 32,
- X 34, 32, 24, -1, -1, -1, 24, -1, 24, -1, 0, 0, 0, 0, 0, 33,
- X145, 33, 24, 35, -1, -1, 23,145, 24, -1, 0, 0, 0, 0, 0, 34,
- X145, 36, 34, 20, -1, -1,145,145, -1, 20, 0, 0, 0, 0, 0, 35,
- X 35, 22, -1, 20, -1, -1, 35, 20, -1, 20, 2, 0, 0, 0, 0, 36,
- X 38, 39, -1, 36, -1, -1, 38, 36, 39, 36, 0, 0, 0, 0, 0, 37,
- X -1, 37, -1, -1, -1, -1, -1, -1, -1, 37, 1, 0, 0, 0, 0, 38,
- X 37, -1, 41, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0, 39,
- X -1, 41, -1, -1, -1, -1, -1, -1, -1, 41, 2, 0, 0, 0, 0, 40,
- X 40, -1, -1, 39, -1, -1, 40, -1, -1, -1, 4, 0, 0, 0, 0, 41,
- X 42, 21,145, 6, -1, -1,145, 1,145, 6, 5, 0, 0, 0, 0, 42,
- X -1, -1, -1, 27, -1, -1, -1, 27, -1, -1, 1, 0, 4, 0, 0, 43,
- X -1, -1, 43, 48, -1, -1, -1, -1, 43, -1, 0, 0, 0, 0, 0, 44,
- X -1,204, 43,149, -1, -1, -1, -1, 43, -1, 0, 0, 0, 0, 0, 45,
- X239, -1, 43, -1, -1, -1, -1, -1, 43, -1, 0, 0, 0, 0, 0, 46,
- X 3, 20, 21, 6, -1, -1, 21, 3, 20, 6, 0, 0, 0, 0, 0, 47,
- X 49, 50, 44, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 48, /*48*/
- X 51, 48, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55, /*49*/
- X 48, 56, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55, /*50*/
- X -1, 49, 52, 53, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 51, /*51*/
- X -1, -1, 54, 51, -1, 88, -1, -1, -1, -1, 0, 0, 0, 0, 0, 59, /*52*/
- X -1, -1, 51, 55, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56, /*53*/
- X -1, -1, -1, 52, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 91, /*54*/
- X -1, -1, 53, -1, 57, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 62, /*54*/
- X 50, -1, -1, -1, -1, -1, -1, -1, 74, 72, 0, 0, 0, 0, 0, 64, /*56*/
- X -1, -1, -1, -1, -1, 55, -1, 58, -1, 59, 0, 0, 0, 0, 0, 76, /*57*/
- X -1, -1, -1, -1, -1, -1, -1, 60, 57, -1, 0, 0, 0, 0, 0, 57, /*58*/
- X -1, -1, -1, -1, -1, -1, 57, -1, -1, 61, 0, 0, 0, 0, 0, 58, /*59*/
- X -1, -1, -1, -1, -1, -1, -1, -1, 58, 62, 0, 0, 0, 0, 0, 84, /*60*/
- X -1, -1, -1, -1, -1, -1, 59, 63, -1, -1, 0, 0, 0, 0, 0, 87, /*61*/
- X -1, -1, -1, -1, -1, -1, 60, -1, -1, 64, 0, 0, 0, 0, 0, 58, /*62*/
- X -1, -1, -1, -1, -1, -1, -1, 64, 61, -1, 0, 0, 0, 0, 0, 57, /*63*/
- X -1, -1, -1, -1, -1, 65, 62, -1, 63, -1, 0, 0, 0, 0, 0, 77, /*64*/
- X -1, 66, -1, -1, 64, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 61, /*65*/
- X 65, 67, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55, /*66*/
- X 66, 69, 68, 70, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 78, /*67*/
- X -1, -1, 71, 67, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56, /*68*/
- X 67, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 92, /*69*/
- X121,128, 67, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 48, /*70*/
- X -1, -1, -1, 68, -1, -1, 72, -1, 73, -1, 0, 0, 0, 0, 0, 66, /*71*/
- X -1, -1, -1, -1, -1, -1, 56, -1, -1, 71, 0, 0, 0, 0, 0, 58, /*72*/
- X -1, -1, -1, -1, -1, -1, -1, 71, 75, -1, 0, 0, 0, 0, 0, 57, /*73*/
- X -1, -1, -1, -1, -1, -1, -1, 56, 77, -1, 0, 0, 0, 0, 0, 57, /*74*/
- X -1, -1, -1, -1, -1, -1, 76, 73, -1, 80, 0, 0, 0, 0, 0, 52, /*75*/
- X -1, -1, -1, -1, -1, -1, 77, -1, -1, 75, 0, 0, 0, 0, 0, 58, /*76*/
- X -1, -1, -1, -1, -1, -1, 79, 74, 78, 76, 0, 0, 0, 0, 0, 79, /*77*/
- X -1, -1, -1, -1, -1, -1, -1, 77, -1, -1, 0, 0, 0, 0, 0, 90, /*78*/
- X -1, -1, -1, -1, -1, -1,108, -1, -1, 77, 0, 0, 0, 0, 0, 58, /*79*/
- X -1, -1, 81, 82, -1, -1, 75, -1, -1, -1, 0, 0, 0, 0, 0, 74, /*80*/
- X -1, -1, -1, 80, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 93, /*81*/
- X -1, -1, 80, 83, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56, /*82*/
- X -1, 84, 82, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 81, /*83*/
- X 83, -1, 85, 86, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 50, /*84*/
- X -1, -1, -1, 84, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 90, /*85*/
- X 87, -1, 84, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 83, /*86*/
- X -1, 86, -1,109, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 94, /*87*/
- X -1, -1, -1, -1, 52, -1, 92, -1, -1, 89, 0, 0, 0, 0, 0, 96, /*88*/
- X -1, -1, -1, -1, -1, -1, 88, -1, -1, 90, 0, 0, 0, 0, 0, 58, /*89*/
- X -1, -1, -1, -1, -1, -1, 89, -1, -1, 91, 0, 0, 0, 0, 0, 58, /*90*/
- X -1, -1, -1, -1, -1, -1, 90, -1, -1, -1, 0, 0, 0, 0, 0, 90, /*91*/
- X -1, -1, -1, -1, -1, -1, 93, -1, -1, 88, 0, 0, 0, 0, 0, 58, /*92*/
- X -1, -1, -1, -1, -1, -1, -1, 94, 95, 92, 0, 0, 0, 0, 0, 95, /*93*/
- X -1, -1, -1, -1, 96, -1, -1, -1, 93, -1, 0, 0, 0, 0, 0, 60, /*94*/
- X -1, -1, -1, -1, -1, -1, -1, 93,104, -1, 0, 0, 0, 0, 0, 57, /*95*/
- X 97, -1,103, -1, -1, 94, -1, -1, -1, -1, 0, 0, 0, 0, 0, 97, /*96*/
- X 98, 96, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55, /*97*/
- X -1, 97, 99, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 81, /*98*/
- X -1, -1,100, 98, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56, /*99*/
- X -1,101, -1, 99, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 80,/*100*/
- X100,102, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55,/*101*/
- X101, -1, -1,103, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 82,/*102*/
- X -1, -1,102, 96, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*103*/
- X -1, -1, -1, -1, -1, -1, -1, 95,105, -1, 0, 0, 0, 0, 0, 57,/*104*/
- X -1, -1, -1, -1, -1, -1, -1,104, -1,106, 0, 0, 0, 0, 0, 86,/*105*/
- X -1, -1, -1, -1, -1, -1,105, -1, -1,107, 0, 0, 0, 0, 0, 58,/*106*/
- X -1, -1, -1, -1, 79, -1,106, -1, -1, -1, 0, 0, 0, 0, 0, 89,/*107*/
- X -1, -1, -1, -1, -1,106, -1, -1, -1, 79, 0, 0, 0, 0, 0, 88,/*108*/
- X -1, -1, 87,110, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*109*/
- X -1, -1,109, -1, -1,140, -1, -1, -1, -1, 0, 0, 0, 0, 0, 99,/*110*/
- X -1, -1, -1,140,109, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 98,/*111*/
- X -1, -1,140, -1,113, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 62,/*112*/
- X114, -1, -1, -1, -1,112, -1, -1, -1, -1, 0, 0, 0, 0, 0,100,/*113*/
- X115,113, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55,/*114*/
- X -1,114,118,116, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 51,/*115*/
- X -1,117,115, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 81,/*116*/
- X116, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0,101,/*117*/
- X -1, -1,119,115, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*118*/
- X -1,125,120,118, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 51,/*119*/
- X -1,122, -1,119, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 80,/*120*/
- X -1, 70, -1,122, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 80,/*121*/
- X120,123,121, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 48,/*122*/
- X122, -1, -1,124, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 82,/*123*/
- X -1, -1,123, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 90,/*124*/
- X119, -1, -1,126, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 82,/*125*/
- X -1,127,125, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 81,/*126*/
- X126, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 90,/*127*/
- X 70, -1, -1,129, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 82,/*128*/
- X130,136,128, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 48,/*129*/
- X -1,129, -1,131, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 80,/*130*/
- X134,132,130, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 48,/*131*/
- X131, -1, -1,133, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 82,/*132*/
- X -1, -1,132, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 90,/*133*/
- X -1,131, -1,135, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 80,/*134*/
- X -1, -1,134, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 90,/*135*/
- X129, -1, -1,137, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 82,/*136*/
- X -1, -1,136,138, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*137*/
- X139, -1,137, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 83,/*138*/
- X -1,138, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 90,/*139*/
- X -1, -1,111,112, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*140*/
- X 30, 26, 26,142, -1, -1, 24, 20, 26,142, 0, 0, 0, 0, 0,102,/*141*/
- X 20, 29,141, 2, -1, -1,141, 2,141, 2, 0, 0, 0, 0, 0,103,/*142*/
- X 25, 25, 25, 25, -1, -1, 25, 25,144, 25, 0, 0, 0, 0, 0,104,/*143*/
- X143,143,146,143, -1, -1,143,143,143,143, 1, 0, 0, 0, 0,105,/*144*/
- X 23, 35, 23, 21, -1, -1, 23, 21, 35, 34, 0, 0, 0, 0, 0,106,/*145*/
- X -1, -1, -1,144, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0,107,/*146*/
- X 3, 15, 3, 3, -1, -1, 3, 3, 15, 15, 0, 0, 0, 0, 0,108,/*147*/
- X 15, 2, 2, 15, -1, -1, 15, 15, 2, 2, 0, 0, 0, 0, 0,109,/*148*/
- X -1, -1, 45, -1, -1,150, -1, -1, -1, -1, 0, 0, 0, 0, 0,110,/*149*/
- X -1,151, -1, -1,149, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 61,/*150*/
- X150,152, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55,/*151*/
- X151,153, -1,159, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 49,/*152*/
- X152,154, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55,/*153*/
- X153, -1, -1,155, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 82,/*154*/
- X -1, -1,154,156, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*155*/
- X157, -1,155, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 83,/*156*/
- X158,156, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55,/*157*/
- X -1,157,159,160, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 51,/*158*/
- X -1, -1,152,158, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,132,/*159*/
- X -1, -1,158,161, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*160*/
- X -1, -1,160,162, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*161*/
- X -1, -1,161,163, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*162*/
- X -1, -1,162,164, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*163*/
- X -1, -1,163,165, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*164*/
- X -1, -1,164, -1, -1,166, -1, -1, -1, -1, 0, 0, 0, 0, 0,110,/*165*/
- X -1, -1,167,178,165, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0,111,/*166*/
- X168, -1, -1,166, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 82,/*167*/
- X169,167, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55,/*168*/
- X170,168, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55,/*169*/
- X -1,169, -1, -1,171, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 61,/*170*/
- X -1, -1,172, -1, -1,170, -1, -1, -1, -1, 0, 0, 0, 0, 0,110,/*171*/
- X -1, -1,173,171, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*172*/
- X -1, -1,174,172, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*173*/
- X -1, -1,175,173, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*174*/
- X -1, -1,176,174, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*175*/
- X -1, -1,177,175, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*176*/
- X -1, -1, -1,176, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,112,/*177*/
- X -1, -1,166,179, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*178*/
- X -1, -1,178,180, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*179*/
- X -1,181,179, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 81,/*180*/
- X180,182, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55,/*181*/
- X181,185,184,183, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 78,/*182*/
- X -1, -1,182, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 90,/*183*/
- X -1, -1, -1,182, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 90,/*184*/
- X182, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 90,/*185*/
- X185,187, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55,/*186*/
- X186,189,190,188, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 78,/*187*/
- X -1, -1,187, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 90,/*188*/
- X187, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 90,/*189*/
- X -1, -1,191,187, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 56,/*190*/
- X192,198, -1,190, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,113,/*191*/
- X -1,191, -1, -1, -1, -1,193, -1, -1, -1, 1, 0, 0, 0, 0,114,/*192*/
- X -1, -1, -1, -1, -1, -1, -1, -1,194,192, 1, 0, 0, 0, 0,115,/*193*/
- X -1,195, -1, -1, -1, -1, -1,193, -1, -1, 1, 0, 0, 0, 0,116,/*194*/
- X194,196, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,117,/*195*/
- X195, -1, -1, -1,199, -1, -1, -1, -1,197, 1, 0, 0, 0, 0,118,/*196*/
- X -1, -1, -1, -1, -1, -1,196,198, -1, -1, 1, 0, 0, 0, 0,119,/*197*/
- X191, -1, -1, -1, -1, -1, -1, -1,197, -1, 1, 0, 0, 0, 0,120,/*198*/
- X200, -1, -1, -1, -1,196, -1, -1, -1, -1, 1, 0, 0, 0, 0,121,/*199*/
- X -1,199,201,202, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,122,/*200*/
- X -1, -1, -1,200, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,123,/*201*/
- X -1, -1,200,203, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,124,/*202*/
- X -1, -1,202, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,125,/*203*/
- X 45,205, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 55,/*204*/
- X204, -1,206, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 83,/*205*/
- X -1, -1, -1,205, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,126,/*206*/
- X -1,208,227, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 81,/*207*/
- X207,209,226, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 48,/*208*/
- X208,210,225, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 48,/*209*/
- X209,211,224, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 48,/*210*/
- X210,217,223, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 48,/*211*/
- X217,213,222, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 48,/*212*/
- X212,214,221, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 48,/*213*/
- X213,215,220, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 48,/*214*/
- X214,216,219, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 48,/*215*/
- X215, -1,218, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 83,/*216*/
- X211,212, -1,239, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,128,/*217*/
- X -1, -1,237,216, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 56,/*218*/
- X -1, -1,236,215, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 56,/*219*/
- X -1, -1,235,214, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 56,/*220*/
- X -1, -1,234,213, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 56,/*221*/
- X -1, -1,233,212, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 56,/*222*/
- X -1, -1,232,211, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 56,/*223*/
- X -1, -1,231,210, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 56,/*224*/
- X -1, -1,230,209, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 56,/*225*/
- X -1, -1,229,208, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 56,/*226*/
- X -1, -1,228,207, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 56,/*227*/
- X -1,229, -1,227, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 80,/*228*/
- X228,230, -1,226, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 49,/*229*/
- X229,231, -1,225, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 49,/*230*/
- X230,232, -1,224, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 49,/*231*/
- X231,233, -1,223, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 49,/*232*/
- X232,234, -1,222, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 49,/*233*/
- X233,235, -1,221, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 49,/*234*/
- X234,236, -1,220, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 49,/*235*/
- X235,237, -1,219, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 49,/*236*/
- X236,238, -1,218, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 49,/*237*/
- X237, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,127,/*238*/
- X -1, 46,217, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 81,/*239*/
- X241, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,129,/*240*/
- X -1,240,242, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,130,/*241*/
- X -1, -1, -1,241, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0,131 /*242*/
- X};
- X
- X/* Object file */
- X/* object [n][0] = room location if =>0, else =-1 is in possesion */
- X/* of player, = -2 means unmade, = -3 means it is destroyed, */
- X/* = -5 means the object is in the safe. */
- X/* object [n][1] = object's value */
- X/* object [n][2] = external property of the object */
- X/* = 1 indicates special action on taking */
- X/* = 2 alias */
- X/* = 3 nonmovable object which has no actions */
- X/* object [n][3] = object parse id name */
- X/* object [n][4] = object's weight */
- X/* object [n][5] = internal property of the object */
- Xint objcnt = DM_objcnt;
- Xint object [DM_object][6] = {
- X 0, 0, 0, V_can, 10, 0,
- X 0, 0, 0, V_butt, 1, 0,
- X 0, 0, 0, V_bottle, 20, 0,
- X36, 0, Z_transform, V_mat, 300, 0,
- X-2, 0, 0, V_key, 5, 0,
- X 0, 0, 0, V_umbrella, 100, 0,
- X 0, 0, 0, V_tackle, 50, 0,
- X 0, 0, 0, V_bit, 10, 0,
- X38, 0, Z_transform, V_map, 10, 0,
- X-2, 0, 0, V_map, 10, 0,
- X-5, 0, 0, V_paper, 10, 0,
- X 0, 200, 0, V_gold, 500, 0,
- X 0, 0, 0, V_jack, 400, 0,
- X 0, 0, 0, V_dynamite, 100, 0,
- X 0, 0, 0, V_clip, 50, 150,
- X 0, 0, 0, V_pen, 5, 0,
- X 0, 0, 0, V_org_clip, 50, 5,
- X 0, 0, 0, V_pencil, 5, 0,
- X 0, 0, 0, V_rifle, 300, 0,
- X 0, 0, 0, V_wire, 100, 0,
- X 0, 0, 0, V_pipe, 200, 0,
- X 0, 0, 0, V_cap, 5, 0,
- X 0, 0, 0, V_matches, 2, 0,
- X 0, 100, 0, V_ring, 5, 0,
- X 0, 0, 0, V_opener, 10, 0,
- X 0, 100, 0, V_ruby, 30, 0,
- X-2, 200, 0, V_teapot, 50, 0,
- X 0, 150, 0, V_coin, 7, 0,
- X 0, 0, 0, V_cord, 70, 0,
- X 0, 100, 0, V_bill, 5, 0,
- X 0, 0, 0, V_photo, 5, 0,
- X 0, 0, 0, V_chair, 500, 0,
- X 0, 0, 0, V_bulb, 10, 0,
- X 0, 0, 0, V_pills, 10, 0,
- X 0, 150, 0, V_saphire, 30, 0,
- X 0, 100, 0, V_emerald, 30, 0,
- X 0, 0, 0, V_rag, 50, 0,
- X 0, 0, 0, V_tube, 50, 0,
- X 0, 0, 0, V_carpet, 400, 0,
- X 0, 0, 0, V_branch, 400, 0,
- X 0, 0, 0, V_letter, 10, 0,
- X 0, 0, 0, V_cork, 5, 0,
- X 0, 0, 0, V_torch, 100, 0,
- X 0, 0, 0, V_trap, 5, 0,
- X 0, 0, 0, V_lighter, 5, 0,
- X 0, 0, 0, V_cube, 50, 0,
- X-2, 700, 0, V_clapper, 100, 0,
- X-2, 0, 0, V_detector, 100, 0,
- X 0, 0, 0, V_lace, 2, 0,
- X 0, 0, 0, V_comb, 5, 0,
- X 0, 0, 0, V_wrapper, 3, 0,
- X 0, 0, 0, V_tire, 400, 0,
- X 0, 0, 0, V_shell, 3, 0,
- X 0, 0, 0, V_brick, 100, 0,
- X 0, 0, 0, V_rope, 100, 0,
- X 0, 0, 0, V_package, 5, 0,
- X 0, 0, 0, V_belt, 10, 0,
- X 0, 0, 0, V_filter, 50, 0,
- X 0, 0, 0, V_string, 5, 0,
- X39, 0, Z_unmovable, V_poster, 0, 0,
- X41, 0, Z_unmovable, V_poster, 0, 0,
- X39, 0, Z_unmovable, V_cockroach, 0, 0,
- X41, 0, Z_unmovable, V_cockroach, 0, 0,
- X15, 0, Z_unmovable, V_kangaroo, 0, 0,
- X26, 0, Z_unmovable, V_spinifex, 0, 0,
- X23, 0, Z_unmovable, V_bulldust, 0, 0
- X};
- X
- X#endif
- X
- X/***************************************************************/
- X
- X#ifdef DSCRB
- Xint pill_count = 7 ;
- Xextern int room[DM_room][16] ;
- Xextern int enemy[DM_enemy_cnt_p1][3] ;
- Xextern int sw_active ;
- Xint rifle_flag = F_safety ;
- Xextern int clip_flag ;
- Xextern int object[DM_object][6] ;
- X#endif
- X
- X/***************************************************************/
- X
- X#ifdef LONG_DESCP
- X/* subroutines: new_score, pusher, switcher */
- Xextern int room[DM_room][16] ;
- Xextern int objcnt ;
- Xextern int object[DM_object][6] ;
- Xextern int verb, score;
- Xextern int monster_flag, rifle_flag ;
- Xextern int tag[DM_tag] ;
- Xint sw_transport = FALSE ;
- X#endif
- X
- X/***************************************************************/
- X
- X#ifdef ACTOR
- Xextern int room[DM_room][16], enemy[DM_enemy_cnt_p1][3], tag[DM_tag] ;
- Xextern int objcnt, gleep_safe, object[DM_object][6], verb ;
- Xextern int clip_flag, rifle_flag, monster_flag ;
- X#endif
- X
- X/***************************************************************/
- X
- X#ifdef MNSTR
- Xextern int room[DM_room][16] ;
- Xextern int objcnt ;
- Xextern int object[DM_object][6] ;
- Xextern int enemy_max ;
- Xextern int enemy[DM_enemy_cnt_p1][3] ;
- Xextern int monster_flag ;
- X#endif
- X
- X/***************************************************************/
- X
- X#ifdef OPNR
- Xint sw_active = FALSE ;
- Xextern int room[DM_room][16] ;
- Xextern int objcnt ;
- Xextern int object[DM_object][6] ;
- Xextern int sent[20];
- Xextern int gleep_count ;
- Xextern int tag[DM_tag] ;
- X#endif
- X
- X/***************************************************************/
- X
- X#ifdef GLPR
- Xextern int sw_active ;
- Xextern int room[DM_room][16] ;
- Xextern int object[DM_object][6] ;
- Xextern int sent[20], pill_count ;
- Xextern int tag[DM_tag] ;
- Xextern int gleep_spot[10] ;
- Xextern int score, gleep_score, clip_flag ;
- Xextern int carry_count, carry_weight ;
- Xextern long clock_explode ;
- Xextern int flag_clock, sw_clock, i_poison ;
- X#endif
- X
- X/***************************************************************/
- X
- X#ifdef PARSE
- Xint sent[20];
- Xextern int verb ;
- Xextern int sw_wizard ;
- Xextern int room[DM_room][16] ;
- Xextern int gleep_score ;
- Xextern int object[DM_object][6] ;
- Xint tag[DM_tag], tag_max = DM_vocab ;
- X
- X/* Game vocabulary */
- Xint letmax = DM_letmax ;
- Xchar *vocab[DM_vocab] = {
- X"north","south","east","west","up",
- X"down","northeast","northwest","southeast","southwest",
- X"n","s","e","w","u", /* "u" = 15 */
- X"d","ne","nw","se","sw", /* "sw" = 20 */
- X"quit","unlock","lock","take","leave", /* "leave" = 25 */
- X"drop","can","bottle","mat","key", /* "key" = 30 */
- X"butt","look","door","open","get", /* "get" = 35 */
- X"throw","turn","on","off","push", /* "push" = 40 */
- X"button","enter","switch","zero","forty-nine", /* "forty-nine" = 45 */
- X"sixty-seven","eighty-two","0","49","67", /* "67" = 50 */
- X"82","beer","lager","doormat","lift", /* "lift" = 55 */
- X"'on'","'off'","SVC","map","picture", /* "picture" = 60 */
- X"safe","dial","paper","put","close", /* "close" = 65 */
- X"read","gold","bar","dynamite","rifle", /* "rifle" = 70 */
- X"M16","m16","cap","matches","diamond", /* "diamond" = 75 */
- X"ring","ruby","silver","coin","bill", /* "bill" = 80 */
- X"money","teapot","clip","ammo","box", /* "box" = 85 */
- X"stick","pills","orange","glowing","saphire", /* "saphire" = 90 */
- X"emerald","score","inventory","examine","describe",
- X"drink","fill","water","fourex","invent", /* "invent" = 100 */
- X"l","press","exit","all","Fourex", /* "Fourex" = 105 */
- X"everything","shoot","kill","ned","Ned", /* "Ned" = 110 */
- X"kelly","Kelly","pick","grab","combination", /* "combination"= 115 */
- X"select","safety","SAFE","triple","III", /* "III" = 120 */
- X"single","I","auto","AUTO","automatic", /* "automatic" = 125 */
- X"set","insert","attach","plan","gun", /* "gun" = 130 */
- X"magazine","hoop","snake","bear","wombat", /* "wombat" = 135 */
- X"remove","eject","org_clip","shut","gleep", /* "gleep" = 140 */
- X"gleeps","letter","envelope","torch","mail", /* "mail" = 145 */
- X"tank","carefully","gently","softly","slow_drop",
- X"light","ignite","fuse","slowly","match", /* "match" = 155 */
- X"cube","blue","blue_button","green","green_button",
- X"clapper","sound","bang","hit","strike", /* "strike" = 160 */
- X"gong","detector","give","STATS","JSYS",
- X"SU","yellow","yellow_button","poster","eat",
- X"swallow","pill","atropine","packet","wrapper",
- X"tyre","shell","brick","rope","package",
- X"belt","filter","string","cabinet","calendar",
- X"tackle","bit","jack","pen","pencil",
- X"wire","pipe","panel","opener","cord",
- X"photo","chair","bulb","rag","tube", /* "tube" = 200 */
- X"carpet","branch","cork","trap","lighter",
- X"lace","comb","umbrella","meadow","billabong",
- X"river","road","forest","grass","stream",
- X"desert","building","office","hideout","dust",
- X"mine","tunnel","tree","spinifex","hexagon",
- X"spacecaft","airlock","wing","hole","tray",
- X"liquid","cockroach","go","scream","yell",
- X"bring","help","dump","attack","check",
- X"inspect","place","touch","pull","extinguish",
- X"ask","talk","tell","find","move", /* "move" = 250 */
- X"break","kick","smash","feed","taste",
- X"smell","slam","desk","in","into",
- X"under","out","from","by","with",
- X"fling","what","where","are","am", /* "am" = 275 */
- X"have","QUESTION","how","why","who", /* "who" = 280 */
- X"when","bop","walk","run","jump", /* "jump" = 285 */
- X"hop","stroll","saunter","swagger","swing", /* "swing" = 290 */
- X"dig","swim","depart","info","back", /* "back" = 295 */
- X"hold","fire","stand","painting","doors", /* "doors" = 300 */
- X"treasure","trigger","load","unload","sand", /* "sand" = 305 */
- X"cockroaches","kangaroo","climb","bulldust","kangaroos",
- X"spinifexes"
- X};
- X
- X/* Question Table */
- Xint quest_max = 8 ;
- Xint quest[9] = {
- XV_what, V_where, V_are, V_am, V_have,
- XV_how, V_why, V_who, V_when
- X} ;
- X
- X/* Adjective Table */
- Xint adj_max = 9 ;
- Xint adjective[10][4] = { /* first element points to adjective */
- XV_drop, V_bear,F_ignore,F_ignore, /* drop bear */
- XV_gold, V_bar,F_ignore,F_ignore, /* gold bar */
- XV_orange,V_clip,V_org_clip,F_replace, /* orange clip */
- XV_glowing, V_clip, V_org_clip,F_replace, /* glowing clip */
- XV_blue,V_switch,V_blue_button,F_replace, /* blue switch */
- XV_blue,V_button,V_blue_button,F_replace, /* blue button */
- XV_green,V_switch,V_green_button,F_replace, /* green switch */
- XV_green,V_button,V_green_button,F_replace, /* green button */
- XV_yellow,V_switch,V_yellow_button,F_replace, /* yellow switch */
- XV_yellow,V_button,V_yellow_button,F_replace /* yellow button */
- X} ;
- X
- X/* Adverb Table */
- Xint adv_max = 29 ;
- Xint adverb[30][3] = { /* first element points to adverb */
- XV_down, V_put, V_drop, /* put down */
- XV_down, V_set, V_drop, /* set down */
- XV_carefully, V_drop, V_slow_drop, /* drop carefully */
- XV_gently, V_drop, V_slow_drop, /* drop slowly */
- XV_softly, V_drop, V_slow_drop, /* drop softly */
- XV_slowly, V_drop, V_slow_drop, /* drop slowly */
- XV_carefully, V_put, V_slow_drop, /* put carefully */
- XV_gently, V_put, V_slow_drop, /* put slowly */
- XV_softly, V_put, V_slow_drop, /* put softly */
- XV_slowly, V_put, V_slow_drop, /* put slowly */
- XV_in, V_go, V_enter, /* go in */
- XV_in, V_move, V_enter, /* move in */
- XV_in, V_bop, V_enter, /* bop in */
- XV_in, V_walk, V_enter, /* walk in */
- XV_in, V_run, V_enter, /* run in */
- XV_in, V_jump, V_enter, /* jump in */
- XV_in, V_hop, V_enter, /* hop in */
- XV_in, V_stroll, V_enter, /* stroll in */
- XV_in, V_saunter, V_enter, /* saunter in */
- XV_in, V_swagger, V_enter, /* swagger in */
- XV_out, V_go, V_exit, /* go out */
- XV_out, V_move, V_exit, /* move out */
- XV_out, V_bop, V_exit, /* bop out */
- XV_out, V_walk, V_exit, /* walk out */
- XV_out, V_run, V_exit, /* run out */
- XV_out, V_jump, V_exit, /* jump out */
- XV_out, V_hop, V_exit, /* hop out */
- XV_out, V_stroll, V_exit, /* stroll out */
- XV_out, V_saunter, V_exit, /* saunter out */
- XV_out, V_swagger, V_exit /* swagger out */
- X} ;
- X
- X/* Verb Table */
- Xint verb_max = 78 ;
- Xint verb_table[79] = {
- XV_quit,V_unlock,V_lock,V_take,V_leave,
- XV_drop,V_look,V_open,V_get,V_throw,
- XV_turn,V_push,V_enter,V_switch,V_lift,
- XV_svc,V_dial,V_put,V_close,V_read,
- XV_score,V_inventory,V_examine,V_describe,V_drink,
- XV_fill,V_invent,V_l,V_press,V_exit,
- XV_shoot,V_kill,V_pick,V_grab,V_combination,
- XV_select,V_set,V_insert,V_attach,V_remove,
- XV_eject,V_shut,V_light,V_ignite,V_sound,
- XV_bang,V_hit,V_strike,V_give,V_stats,
- XV_jsys,V_su,V_eat,V_swallow,V_fling,
- XV_help,V_bop,V_walk,V_run,V_jump,
- XV_hop,V_stroll,V_saunter,V_swagger,V_go,
- XV_move,V_swing,V_dig,V_swim,V_depart,
- XV_info,V_back,V_hold,V_fire,V_pull,
- XV_stand,V_load,V_unload,V_climb
- X};
- X
- X#endif
- X
- X/***************************************************************/
- X
- X#ifdef TAKER
- Xint clip_flag = F_no_clip ;
- X/* gleep_drop triggers gleep destruction */
- Xint gleep_safe, gleep_drop = FALSE ;
- Xextern char *vocab[DM_vocab] ;
- Xextern int room[DM_room][16] ;
- Xextern int objcnt, rifle_flag ;
- Xextern int object[DM_object][6] ;
- Xextern int carry_count, carry_weight ;
- Xextern int gleep_count, gleep_score, verb, sent[20], tag[DM_tag] ;
- Xextern int sw_valuable ;
- X#endif
- END_OF_FILE
- if test 35916 -ne `wc -c <'dink_glb.h'`; then
- echo shar: \"'dink_glb.h'\" unpacked with wrong size!
- fi
- # end of 'dink_glb.h'
- fi
- if test -f 'gleeper.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'gleeper.c'\"
- else
- echo shar: Extracting \"'gleeper.c'\" \(13259 characters\)
- sed "s/^X//" >'gleeper.c' <<'END_OF_FILE'
- X#define GLPR
- X#include "dink_sym.h"
- X#include "dink_glb.h"
- X
- Xvoid gleeper(n)
- X/********************************************/
- X/* */
- X/* Gleeper Subroutine */
- X/* */
- X/* Software by Gary A. Allen, Jr. */
- X/* Version: Mk 1.00 */
- X/* (c) Copyright 1989 by Gary A. Allen, Jr. */
- X/* */
- X/********************************************/
- Xint n ;
- X{
- Xregister int i ;
- Xint count ;
- Xstatic int sw_glp_st = FALSE, cnt_down = 0 ;
- X
- X/* Gleep display routine */
- Xcount = room[n][M_gleep] ;
- X
- Xif (((object[O_torch][J_loc] == B_have)&&object[O_torch][J_property])||
- X (n < 186)||(n > 202)) {
- X if (count != 0) {
- X sw_glp_st = TRUE ; /* gleeps can now multiply */
- X if (count != 1)
- X printf("There are %d gleeps here. \n",count) ;
- X else printf("There is a gleep here. \n") ;
- X return ;
- X }
- X}
- X
- X/* Gleep reproduction routine */
- Xif (sw_glp_st == TRUE) {
- X if (++cnt_down > 5) {
- X cnt_down = 0 ;
- X for (i = 0; i <= 9; i++) {
- X if (room[gleep_spot[i]][M_gleep] == 0) continue;
- X if (room[gleep_spot[i]][M_gleep] > 10000)
- X ++room[gleep_spot[i]][M_gleep] ;
- X else room[gleep_spot[i]][M_gleep] <<= 1 ;
- X }
- X }
- X}
- X} /* --- end of "gleeper" subroutine --- */
- X
- Xvoid ender(i_quit)
- X/********************************************/
- X/* */
- X/* Ender Subroutine */
- X/* */
- X/* Software by Gary A. Allen, Jr. */
- X/* Version: Mk 1.00 */
- X/* (c) Copyright 1989 by Gary A. Allen, Jr. */
- X/* */
- X/********************************************/
- X
- Xint i_quit ;
- X{
- X#ifdef __TURBOC__
- Xvoid hold_it(void), new_score(void), exit(int) ;
- X#endif
- X
- X/* get last score */
- Xnew_score() ;
- X
- Xif (gleep_score != 0) sw_active = TRUE ;
- X
- Xif (i_quit == F_died) {
- X hold_it() ;
- X score -= 100 ;
- Xprintf ("\nOh Dear! You've just turned yourself into a corpse! \n\n");
- Xprintf ("For getting killed you lose 100 points. \n\n") ;
- X}
- X
- Xif (!sw_active) {
- X if (score == 0) {
- X printf("You concluded the game with no points. ") ;
- X printf("What a pitiful performance!!\n") ;
- X }
- X else {
- Xprintf("You concluded the game with a miserable negative score\n") ;
- Xprintf("of %d points. Your score was better BEFORE you \n",score);
- Xprintf("started playing (need I say more on how this reflects\n");
- Xprintf("upon your limited aptitude at Dinkum).\n") ;
- X }
- X goto all_done ;
- X}
- X
- Xif (score == 0) {
- Xprintf("You concluded the game with no points ") ;
- X if (gleep_score == 0) {
- Xprintf("and didn't drop a single gleep\n") ;
- Xprintf("into the gleep tank. What a pitiful performance!!\n") ;
- X }
- X else {
- X if (gleep_score > 1) {
- Xprintf("but you did put %d gleeps\n",gleep_score) ;
- Xprintf("into the gleep tank.\n") ;
- X }
- X else {
- Xprintf("but you did manage to find a gleep\n") ;
- Xprintf("and put it in the gleep tank, (Hah!! What an achievement!).\n");
- X }
- X }
- X}
- X
- Xelse {
- Xif (score > 0)
- Xprintf ("You concluded the game with %d points",score);
- Xelse {
- Xprintf("You concluded the game with a miserable negative score\n") ;
- Xprintf("of %d points. Your score was better BEFORE you \n",score);
- Xprintf("started playing (need I say more on how this reflects\n");
- Xprintf("upon your limited aptitude at Dinkum). You ") ;
- X if (gleep_score == 0) {
- Xprintf("also failed to\nget any gleeps into the tank. At least ");
- Xprintf("you're consistent.\n\n") ;
- X }
- X else {
- Xprintf("managed\nto get something into the gleep tank. However ");
- Xprintf("it hardly\nmatters, considering your poor score.\n\n") ;
- X }
- X goto all_done ;
- X}
- X if (gleep_score == 0)
- Xprintf(".\nHowever you placed no gleeps in the gleep tank.\n") ;
- X else {
- X if (gleep_score > 1) {
- Xprintf (" and placed %d gleeps\n",gleep_score) ;
- Xprintf ("in the gleep tank. Good on you, Mate!\n") ;
- X }
- X else {
- Xprintf(" but you did manage to find a gleep\n") ;
- Xprintf("and put it in the gleep tank. ") ;
- Xprintf("However any idiot could do that!\n") ;
- X }
- X }
- X}
- Xall_done:
- Xprintf("\nDinkum has ended. If you are interested in more ") ;
- Xprintf("information\nabout this program type: dinkum -h\n") ;
- Xexit(0);
- X} /* --- end of "ender" routine --- */
- X
- Xvoid clip_in(ammo_flag)
- X/********************************************/
- X/* */
- X/* Clip_In Subroutine */
- X/* */
- X/* Software by Gary A. Allen, Jr. */
- X/* Version: Mk 2.00 */
- X/* (c) Copyright 1990 by Gary A. Allen, Jr. */
- X/* */
- X/********************************************/
- X
- Xint ammo_flag ;
- X{
- X/* ammo clip insertion routine */
- Xif (object[O_rifle][J_loc] != B_have) {
- Xprintf("Galah!! You don't have a rifle to put an ammo clip into.\n");
- X return ;
- X}
- Xif (clip_flag != F_no_clip) {
- Xprintf("There is already an ammo clip in the rifle. \n") ;
- X return ;
- X}
- Xif (((object[O_clip][J_loc] != B_have)&&(ammo_flag == F_normal_clip))||
- X((object[O_org_clip][J_loc] != B_have)&&(ammo_flag == F_org_clip))) {
- Xprintf("You don't possess an ammo clip to put into the rifle.\n");
- X return ;
- X}
- X/* actually load the clip into the rifle */
- Xobject[O_rifle][J_type] = Z_alias ;
- Xcarry_count-- ;
- Xcarry_weight -= object[O_clip][J_weight] ;
- Xif (ammo_flag == F_normal_clip) {
- X object[O_clip][J_loc] = B_unmade ;
- X clip_flag = F_normal_clip ;
- X object[O_rifle][J_property] = object[O_clip][J_property] ;
- X}
- Xelse {
- X object[O_org_clip][J_loc] = B_unmade ;
- X clip_flag = F_org_clip ;
- X object[O_rifle][J_property] = object[O_org_clip][J_property] ;
- X}
- Xprintf("The ammunition clip slides into the rifle with a \"click\".\n");
- Xprintf("You have %d bullets in the clip \n",
- X object[O_rifle][J_property]) ;
- Xif (object[O_rifle][J_property] > 0)
- X printf("You cycle the M16's bolt once to chamber a round.\n");
- Xreturn ;
- X}
- X
- Xvoid clip_out(n)
- X/********************************************/
- X/* */
- X/* Clip_Out Subroutine */
- X/* */
- X/* Software by Gary A. Allen, Jr. */
- X/* Version: Mk 1.00 */
- X/* (c) Copyright 1989 by Gary A. Allen, Jr. */
- X/* */
- X/********************************************/
- Xint n ;
- X{
- Xint ammo_flag ;
- X
- X/* remove clip from rifle */
- Xif (object[O_rifle][J_loc] != B_have) {
- X printf("You Bloody Galah! ") ;
- X printf("You don't have a rifle in your possession!\n");
- Xreturn ;
- X}
- Xif (clip_flag == F_no_clip) {
- X printf("There is no clip in the rifle. \n") ;
- Xreturn ;
- X}
- X/* eject the clip from the rifle */
- Xobject[O_rifle][J_type] = Z_normal ;
- Xif (clip_flag == F_normal_clip) {
- X object[O_clip][J_loc] = n ;
- X ammo_flag = F_normal_clip ;
- X}
- Xelse {
- X object[O_org_clip][J_loc] = n ;
- X ammo_flag = F_org_clip ;
- X}
- X++room[n][M_obj_cnt] ;
- Xclip_flag = F_no_clip ;
- Xprintf("You press the \"eject\" button on the rifle and the ") ;
- Xprintf("magazine falls to the ground.\n") ;
- Xif (object[O_rifle][J_property] > 0) {
- Xprintf("You then cycle the M16's bolt once to clear the chamber. ");
- Xprintf("The unfired round\n") ;
- Xprintf("is ejected from the breech and rolls out of sight. \n") ;
- X if (ammo_flag == F_normal_clip)
- X object[O_clip][J_property] =
- X --object[O_rifle][J_property] ;
- X else object[O_org_clip][J_property] =
- X --object[O_rifle][J_property] ;
- X object[O_rifle][J_property] = 0 ;
- X}
- Xreturn ;
- X}
- X
- Xvoid igniter(n)
- X/********************************************/
- X/* */
- X/* Igniter Subroutine */
- X/* */
- X/* Software by Gary A. Allen, Jr. */
- X/* Version: Mk 1.00 */
- X/* (c) Copyright 1989 by Gary A. Allen, Jr. */
- X/* */
- X/********************************************/
- X
- Xint n ;
- X{
- X#ifdef __TURBOC__
- Xvoid switcher(int) ;
- Xlong time(int) ;
- X#endif
- X
- X/* reject single verb command */
- Xif (tag[V_VERB_ONLY]) {
- X printf("What exactly do you want me to set alight?\n") ;
- X return ;
- X}
- X
- X/* deal with 'light torch' command */
- Xif (tag[V_torch]) {
- X switcher(n) ;
- X return ;
- X}
- X
- X/* see if the user has or requested matches */
- Xif (!tag[V_match]) {
- Xprintf("What am I to light it with?\n") ;
- Xprintf("(I am not prepared to rub two sticks together.)\n") ;
- X return ;
- X}
- Xif (object[O_matches][J_loc] != B_have) {
- Xprintf("I have no matches!\n") ;
- X return ;
- X}
- Xelse {
- X/* reject spurious "ignite" command */
- X if ((!tag[V_cap])&&(!tag[V_dynamite])&&
- X (sent[2] != V_LINE_END)) {
- Xprintf("It would be a fire hazard to set that alight.\n");
- X return ;
- X }
- X
- X/* deal with spurious "light dynamite with match" */
- Xif (tag[V_dynamite]&&(object[O_dynamite][J_loc] != B_have)) {
- Xprintf("You have no dynamite to ignite.\n") ;
- X return ;
- X}
- X
- X/* deal with spurious "light cap with match" */
- Xif (tag[V_cap]&&(object[O_dynamite][J_loc] != B_have)&&
- X (object[O_cap][J_loc] != B_have)) {
- Xprintf("You don't have one to ignite.\n") ;
- X return ;
- X}
- X
- X/* light up the match(es) */
- X if (tag[V_PLURAL]) {
- Xprintf("You open up the match box and strike ALL of the matches.\n");
- X object[O_matches][J_loc] = B_destroyed ;
- X }
- X else {
- Xprintf("You take one match from the match box and ignite it.\n") ;
- X }
- X}
- X
- X/* see if user selected burnable objects */
- Xif (tag[V_cap]&&(object[O_cap][J_loc] == B_have)) {
- Xprintf("You then ignite the fuse of the blasting cap.\n\n");
- Xprintf("Ssssssssssssssssssssssss........\n");
- X clock_explode = time(0) + 11 ;
- X sw_clock = TRUE ;
- X flag_clock = V_cap ;
- X return ;
- X}
- X
- Xif ((tag[V_cap]||tag[V_dynamite])&&
- X (object[O_dynamite][J_loc] == B_have)) {
- X if (object[O_dynamite][J_type] == Z_alias) {
- Xprintf("You then ignite the fuse of the dynamite's blasting cap....\n");
- Xprintf("You need to very quickly get very far away from this thing!!");
- Xprintf("\n\nSsssssssssssssssssssssss........\n");
- X clock_explode = time(0) + 11 ;
- X sw_clock = TRUE ;
- X flag_clock = V_dynamite ;
- X return ;
- X }
- X else {
- Xprintf("You then ignite the dynamite. Which is an odd thing\n");
- Xprintf("to do since it doesn't have a blasting cap in it. The\n");
- Xprintf
- X ("\"dynamite\" (which is actually a very safe mining explosive)\n");
- Xprintf("burns for a few minutes, billowing out smelly black smoke\n");
- Xprintf("and eventually goes out leaving a few scant ashes behind.\n") ;
- X object[O_dynamite][J_loc] = B_destroyed ;
- X return ;
- X }
- X}
- X
- X} /* -- end of the "igniter" subroutine --- */
- X
- Xvoid hold_it()
- X/********************************************/
- X/* */
- X/* Wait Subroutine */
- X/* */
- X/* Software by Gary A. Allen, Jr. */
- X/* Version: Mk 1.00 */
- X/* (c) Copyright 1989 by Gary A. Allen, Jr. */
- X/* */
- X/********************************************/
- X
- X{
- X#ifdef __TURBOC__
- Xchar getch(void) ;
- X
- X/* Stop scrolling the screen until the user is ready */
- Xprintf(" [Press any key to continue]\r") ;
- Xgetch() ;
- Xprintf(" \n") ;
- X#endif
- X
- X#ifndef __TURBOC__
- Xprintf(" [Press RETURN to continue]\n") ;
- Xgetchar() ;
- X#endif
- X
- X} /* --- end of the "hold_it" subroutine --- */
- X
- Xvoid eater()
- X/********************************************/
- X/* */
- X/* Eater Subroutine */
- X/* */
- X/* Software by Gary A. Allen, Jr. */
- X/* Version: Mk 1.00 */
- X/* (c) Copyright 1989 by Gary A. Allen, Jr. */
- X/* */
- X/********************************************/
- X{
- X
- X#ifdef __TURBOC__
- Xvoid ender(int) ;
- X#endif
- X
- X/* reject single verb command */
- Xif (tag[V_VERB_ONLY]) {
- X printf("What exactly do you want me to swallow?\n") ;
- X return ;
- X}
- X
- X/* deal with "eat (atropine) pill(s)" command */
- Xif (tag[V_pill]) {
- X if (object[O_pills][J_loc] != B_have) {
- Xprintf("You don't have the atropine pills in your possesion!\n") ;
- X return ;
- X }
- X if (tag[V_PLURAL]) {
- Xprintf("You remove ALL of the pills from the packet and swallow\n");
- Xprintf("the lot. For a couple of minutes nothing happens, then you\n");
- Xprintf("start seeing double and have nervous twitches. You then\n");
- Xprintf("start shaking violently and collapse to the ground.\n") ;
- Xprintf("Eventually you pass out and expire from atropine poisoning.\n");
- X ender(F_died) ;
- X }
- X if (--pill_count <= 0 ) {
- X object[O_pills][J_loc] = B_destroyed ;
- X carry_count-- ;
- X carry_weight -= object[O_pills][J_weight] ;
- Xprintf("You swallow the last atropine pill and throw away the empty\n");
- Xprintf("packet which disappears from sight. ") ;
- X }
- Xelse printf("You swallow one atropine pill. ") ;
- X i_poison += 10 ;
- X if (i_poison >= 30) {
- Xprintf("\nAfter a moment you have a violent seizure and die.\n") ;
- X ender(F_died) ;
- X }
- X if (i_poison >= 20) {
- Xprintf("\nYou begin to shake violently and can barely stand.\n") ;
- X return ;
- X }
- X if (i_poison >= 15) {
- Xprintf("\nYour hands become a bit jittery and your vision blurred.\n") ;
- X return ;
- X }
- X printf("The drug has no ill effect.\n") ;
- X return ;
- X}
- Xelse
- Xprintf("I am not inclined towards putting that into my mouth!\n") ;
- X
- X} /* --- end of the "eater" subroutine --- */
- END_OF_FILE
- if test 13259 -ne `wc -c <'gleeper.c'`; then
- echo shar: \"'gleeper.c'\" unpacked with wrong size!
- fi
- # end of 'gleeper.c'
- fi
- echo shar: End of archive 1 \(of 6\).
- cp /dev/null ark1isdone
- MISSING=""
- for I in 1 2 3 4 5 6 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 6 archives.
- rm -f ark[1-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-