Path: uunet!zephyr.ens.tek.com!tekred!saab!billr
From: billr@saab.CNA.TEK.COM (Bill Randle)
Newsgroups: comp.sources.games
Subject: v09i092:  adven - original adventure game in FORTRAN, Part04/08
Message-ID: <5631@tekred.CNA.TEK.COM>
Date: 18 May 90 18:20:47 GMT
Sender: news@tekred.CNA.TEK.COM
Lines: 1703
Approved: billr@saab.CNA.TEK.COM

Submitted-by: Chris Rende <cfctech!rphroy!trux!car@uunet.uu.net>
Posting-number: Volume 9, Issue 92
Archive-name: adven/Part04



#! /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 4 (of 8)."
# Contents:  a1toa5.f adv.data.2 getobj.f travl.f
# Wrapped by billr@saab on Thu May 17 14:47:27 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'a1toa5.f' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'a1toa5.f'\"
else
echo shar: Extracting \"'a1toa5.f'\" \(995 characters\)
sed "s/^X//" >'a1toa5.f' <<'END_OF_FILE'
XC***   A1TOA5
X
X       SUBROUTINE A1TOA5(CHARS,CINDEX,WDS,PUNC)
X
X       IMPLICIT INTEGER(A-Z)
X       LOGICAL  PUNCT
X       DIMENSION CHARS(70),WDS(2)
X      REAL*8 WDS,WDUMY(1)
X       DATA SPACE,COMMA,PERIOD,SEMICO /' ',',','.',';'/
X      DATA LOWERA,LOWERZ/'a','z'/  /* THOSE ARE LOWER CASE!
X
X       PUNCT(CHAR)=CHAR.EQ.SPACE.OR.CHAR.EQ.COMMA.OR.CHAR.EQ.SEMICO
X     1  .OR.CHAR.EQ.PERIOD.OR.CHAR.EQ.0
X
X       WDS(1)=' '
X       WDS(2)=' '
X
X       DO 2 CINDEX=CINDEX,70
X       IF(.NOT.PUNCT(CHARS(CINDEX)))GOTO 4
X       IF(CHARS(CINDEX).EQ.0)GOTO 8
X2       CONTINUE
X       PUNC=0
X       RETURN
X
X4     DO 10 I=CINDEX,70
X      IF(PUNCT(CHARS(I)))GOTO 8
X      IF(CHARS(I).GE.LOWERA.AND.CHARS(I).LE.LOWERZ)
X     1   CHARS(I)=AND(CHARS(I),:157777)
X10    CONTINUE
X      ENCODE(16,101,WDS)(CHARS(I),I=CINDEX,70)
X      PUNC=0
X      CINDEX=71
X      RETURN
X8     PUNC=CHARS(I)
X      FINISH=I-1
X      ENCODE(16,101,WDS)(CHARS(J),J=CINDEX,FINISH)
X      CINDEX=I
X      RETURN
X101   FORMAT(2(6A1,2X))
X       END
END_OF_FILE
if test 995 -ne `wc -c <'a1toa5.f'`; then
    echo shar: \"'a1toa5.f'\" unpacked with wrong size!
fi
# end of 'a1toa5.f'
fi
if test -f 'adv.data.2' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'adv.data.2'\"
else
echo shar: Extracting \"'adv.data.2'\" \(40531 characters\)
sed "s/^X//" >'adv.data.2' <<'END_OF_FILE'
X4
X1       2       ROAD    W       U       CLIMB
X1       3       ENTER   BUILDIN IN      E
X1       4       DOWNSTR GULLY   STREAM  S       DOWN
X1       5       FOREST  N       EAST
X1       8       DEPRESS
X1       147     KNOLL
X1       157     HOLE    THUNDER
X2       1       ROAD    BUILDIN FORWARD E       N       D
X2       30146   FOREST
X2       5       FOREST  N       S
X2       146     WEST
X3       1       EXIT    OUTDOOR W
X3       11      XYZZY
X3       33      PLUGH
X3       467785  CLICK
X3       202     CLICK
X3       79      DOWNSTR STREAM
X3       238     PANTRY  ENTER   IN
X4       1       UPSTREA BUILDIN N
X4       5       FOREST  E       W       U
X4       7       DOWNSTR S       D
X4       8       DEPRESS
X5       4       VALLEY  E       D
X5       50005   FOREST  FORWARD N
X5       6       FOREST
X5       5       WEST    S
X6       1       ROAD    N
X6       4       VALLEY  E       W       D
X6       5       FOREST  S
X7       1       BUILDIN
X7       4       UPSTREA N
X7       5       FOREST  EAST    WEST
X7       8       DOWNSTR ROCKY   BED     S
X7       595     SLIT    STREAM  DOWN
X8       5       FOREST  E       W       S
X8       1       BUILDIN
X8       7       UPSTREA GULLY   N
X8       303009  ENTER   IN      D
X8       593     ENTER
X9       303008  EXIT    UP
X9       593     EXIT
X9       10      CRAWL   COBBLE  IN      W
X9       14      PIT
X9       11      DEBRIS
X10      9       EXIT    SURFACE NULL    EAST
X10      11      IN      DARK    W       DEBRIS
X10      14      PIT
X11      303008  DEPRESS
X11      9       ENTRANC
X11      10      CRAWL   COBBLE  PASSAGE LOW     E
X11      12      CANYON  IN      U       W
X11      3       XYZZY
X11      14      PIT
X12      303008  DEPRESS
X12      9       ENTRANC
X12      11      D       E       DEBRIS
X12      13      IN      U       W
X12      14      PIT
X12      239     N       HOLE
X13      303008  DEPRESS
X13      9       ENTRANC
X13      11      DEBRIS
X13      12      CANYON  E
X13      14      PASSAGE PIT     W
X14      303008  DEPRESS
X14      9       ENTRANC
X14      11      DEBRIS
X14      13      PASSAGE E
X14      150020  D       PIT     STEPS
X14      15      DOWN
X14      16      CRACK   W
X15      18      LEFT    S
X15      17      FORWARD HALL    W
X15      19      STAIRS  D       N
X15      150022  U       PIT     STEPS   DOME    PASSAGE E       CLIMB STAIRS
X15      14      UP
X15      33      Y2
X16      14      FORCD
X17      15      HALL    E
X17      312596  JUMP
X17      412021  FORWARD
X17      412597  OVER    ACROSS  W       CROSS   BRIDGE
X17      27      OVER
X18      15      HALL    EXIT    N
X19      150237  U       PIT     STEPS   DOME    PASSAGE E       CLIMB STAIRS
X19      15      UP
X19      15      STAIRS  U       E
X19      75556   NE
X19      311143  NE
X19      311028  N       LEFT
X19      311029  S       RIGHT
X19      311030  WEST    FORWARD
X19      32      N
X19      15074   SW
X19      211032  SW
X19      74      SECRET
X20      0       FORCD
X21      0       FORCD
X22      15      FORCD
X23      67      EAST    ACROSS
X23      68      WEST    SLAB
X23      25      DOWN    PIT
X23      648     HOLE
X24      67      UP      EXIT
X24      92      GIANT
X25      23      UP      EXIT
X25      724031  CLIMB
X25      26      CLIMB
X26      88      FORCD
X27      312596  JUMP
X27      412021  FORWARD
X27      412597  OVER    ACROSS  E       CROSS   BRIDGE
X27      17      OVER
X27      40      N
X27      41      WEST
X28      19      HALL    EXIT    S
X28      33      N       Y2
X28      36      DOWN    HOLE
X29      19      HALL    EXIT    N
X30      19      HALL    EXIT    EAST
X30      62      WEST    UP
X31      524089  FORCD
X31      90      FORCD
X32      19      FORCD
X33      3       PLUGH
X33      28      S
X33      34      EAST    WALL    BROKEN
X33      35      WEST
X33      159302  PLOVER
X33      100     PLOVER
X34      33      DOWN    Y2
X34      15      UP
X35      33      EAST    Y2
X35      20      JUMP
X36      37      EAST    CRAWL
X36      28      UP      HOLE
X36      39      WEST
X36      65      BEDQUIL
X37      36      WEST    CRAWL
X37      38      DOWN    PIT     CLIMB
X38      37      CLIMB   UP      EXIT
X38      595     SLIT    STREAM  DOWN    UPSTREA DOWNSTR
X39      36      EAST    PASSAGE
X39      64      DOWN    HOLE    FLOOR
X39      65      BEDQUIL
X40      41      FORCD
X41      42      S       U       PASSAGE CLIMB
X41      27      EAST
X41      59      N
X41      60      WEST    CRAWL
X42      41      UP
X42      42      N
X42      43      EAST
X42      45      S
X42      80      WEST
X43      42      WEST
X43      44      S
X43      45      EAST
X44      43      EAST
X44      48      DOWN
X44      50      S
X44      82      N
X45      42      WEST
X45      43      N
X45      46      EAST
X45      47      S
X45      87      UP      DOWN
X46      45      WEST    EXIT
X47      45      EAST    EXIT
X48      44      UP      EXIT
X49      50      EAST
X49      51      WEST
X50      44      EAST
X50      49      WEST
X50      51      DOWN
X50      52      S
X51      49      WEST
X51      50      UP
X51      52      EAST
X51      53      S
X52      50      WEST
X52      51      EAST
X52      52      S
X52      53      UP
X52      55      N
X52      86      DOWN
X53      51      WEST
X53      52      N
X53      54      S
X54      53      WEST    EXIT
X55      52      WEST
X55      55      N
X55      56      DOWN
X55      57      EAST
X56      55      UP      EXIT
X57      13      DOWN    CLIMB
X57      55      WEST
X57      58      S
X57      83      N
X57      84      EAST
X58      57      EAST    EXIT
X59      27      FORCD
X60      41      EAST    UP      CRAWL
X60      61      WEST
X60      62      N       DOWN    HOLE
X60      50191   S       CRACK
X60      392173  S       CRACK
X60      172     S       CRACK
X60      648     CLIMB
X61      60      EAST
X61      62      N
X61      100107  S
X62      60      WEST
X62      63      N
X62      30      EAST
X62      61      S
X63      62      S       EXIT
X64      39      UP      CLIMB   ROOM
X64      65      WEST    BEDQUIL
X64      103     N       SHELL
X64      106     EAST
X65      64      EAST
X65      66      WEST
X65      80556   S
X65      68      SLAB
X65      80556   UP
X65      50070   UP
X65      39      UP
X65      60556   N
X65      75072   N
X65      71      N
X65      80556   DOWN
X65      106     DOWN
X66      65      NE
X66      67      WEST
X66      80556   S
X66      77      CANYON
X66      96      EAST
X66      50556   NW
X66      97      ORIENTAL
X67      66      EAST
X67      23      WEST    ACROSS
X67      24      DOWN    PIT
X68      23      S
X68      69      UP      CLIMB
X68      65      N
X69      68      DOWN    SLAB
X69      331120  S
X69      119     S
X69      109     N
X69      113     RESERVO
X70      71      N
X70      65      DOWN    PASSAGE
X70      111     S
X71      65      SE
X71      70      S
X71      110     N
X72      65      BEDQUIL
X72      118     NE
X72      73      N
X72      97      SW      ORIENTA
X73      72      S       CRAWL   EXIT
X74      19      EAST
X74      331120  WEST
X74      121     WEST
X74      75      DOWN
X75      76      S
X75      77      N
X76      75      N
X77      75      EAST
X77      78      WEST
X77      66      N       CRAWL
X78      77      S
X79      3       FORCD
X80      42      N
X80      80      WEST
X80      80      S
X80      81      EAST
X81      80      WEST    EXIT
X82      44      S       EXIT
X83      57      S
X83      84      EAST
X83      85      WEST
X84      57      N
X84      83      WEST
X84      114     NW
X85      83      EAST    EXIT
X86      52      UP      EXIT
X87      45      UP      DOWN
X88      25      DOWN    CLIMB   EAST
X88      20      JUMP
X88      92      WEST    GIANT
X89      25      FORCD
X90      23      FORCD
X91      95      N       CAVERN  PASSAGE
X91      72      DOWN    CLIMB
X92      88      S
X92      93      EAST
X92      94      N
X93      92      S       GIANT   EXIT
X94      92      S       GIANT   PASSAGE
X94      341095  N       ENTER   CAVERN
X94      611     N
X95      94      S       EXIT
X95      92      GIANT
X95      91      WEST
X95      145     DOWN    JUMP    POOL    HOLE
X96      66      WEST    EXIT
X97      66      SE
X97      72      EAST    CRAWL
X97      98      UP      N       CAVERN
X98      235     NE
X98      97      S       ORIENTA
X98      99      WEST
X98      3142    UP      SW      CLIMB   SLIDE
X98      75702   UP      SW      CLIMB   SLIDE
X98      703     UP      SW      CLIMB   SLIDE
X98      141     CHIMNEY
X99      98      NW      CAVERN
X99      301     EAST    PASSAGE
X99      100     EAST
X100     301     WEST    PASSAGE EXIT
X100     99      WEST
X100     159302  PLOVER  Y2
X100     33      PLOVER  Y2
X100     101     NE      DARK
X101     100     S       PLOVER  EXIT
X102     103     DOWN    SHELL   EXIT
X103     388196  UP      HALL
X103     102     UP      HALL
X103     104     DOWN
X103     114618  S
X103     115619  S
X103     64      S
X104     103     UP      SHELL
X104     105     DOWN
X105     104     UP      EXIT
X105     103     SHELL
X106     64      UP
X106     65      WEST
X106     108     EAST
X107     131     S
X107     132     SW
X107     133     NE
X107     134     SE
X107     135     UP
X107     136     NW
X107     137     EAST
X107     138     WEST
X107     139     N
X107     61      DOWN
X108     95556   E       N       S       NE      SE      SW      NW      U
X108     95556   D
X108     106     EAST
X108     626     WEST
X109     69      S
X109     113     N       RESERVO
X110     71      WEST
X110     20      JUMP
X111     70      N
X111     40050   DOWN    JUMP    CLIMB
X111     50053   DOWN
X111     45      DOWN
X112     131     SW
X112     132     N
X112     133     EAST
X112     134     NW
X112     135     SE
X112     136     NE
X112     137     WEST
X112     138     DOWN
X112     139     UP
X112     140     S
X113     109     S       EXIT
X114     84      SE
X115     116     SW      ACROSS  CROSS
X115     212     IN      ENTER   N
X116     115     NE      ACROSS  SW
X116     593     DOWN
X117     118     SW
X117     233660  OVER    ACROSS  CROSS   NE      BRIDGE
X117     332661  OVER
X117     303     OVER
X117     332021  JUMP
X117     596     JUMP
X118     72      DOWN
X118     117     UP
X119     69      N       EXIT
X119     653     EAST    FORWARD
X120     69      N
X120     74      EAST
X121     74      EAST    EXIT
X121     653     N       FORWARD
X122     123     NE
X122     233660  OVER    ACROSS  CROSS   SW      BRIDGE
X122     303     OVER
X122     596     JUMP
X122     124     FORK
X122     126     VIEW
X122     129     BARREN
X123     122     WEST
X123     124     EAST    FORK
X123     126     VIEW
X123     129     BARREN
X124     123     WEST
X124     125     NE      LEFT
X124     128     SE      RIGHT   DOWN
X124     126     VIEW
X124     129     BARREN
X125     124     S       FORK
X125     126     N       VIEW
X125     127     EAST    CRAWL
X126     125     S       PASSAGE EXIT
X126     124     FORK
X126     610     DOWN    JUMP
X127     125     WEST    EXIT    CRAWL
X127     124     FORK
X127     126     VIEW
X128     124     N       UP      FORK
X128     129     S       DOWN    BARREN
X128     126     VIEW
X129     128     WEST    UP
X129     124     FORK
X129     130     EAST    IN      BARREN  ENTER
X129     126     VIEW
X130     129     WEST    EXIT
X130     124     FORK
X130     126     VIEW
X131     107     WEST
X131     132     SE
X131     133     NW
X131     134     SW
X131     135     NE
X131     136     UP
X131     137     DOWN
X131     138     N
X131     139     S
X131     112     EAST
X132     107     NW
X132     131     UP
X132     133     N
X132     134     S
X132     135     WEST
X132     136     SW
X132     137     NE
X132     138     EAST
X132     139     DOWN
X132     112     SE
X133     107     UP
X133     131     DOWN
X133     132     WEST
X133     134     NE
X133     135     SW
X133     136     EAST
X133     137     N
X133     138     NW
X133     139     SE
X133     112     S
X134     107     NE
X134     131     N
X134     132     NW
X134     133     SE
X134     135     EAST
X134     136     DOWN
X134     137     S
X134     138     UP
X134     139     WEST
X134     112     SW
X135     107     N
X135     131     SE
X135     132     DOWN
X135     133     S
X135     134     EAST
X135     136     WEST
X135     137     SW
X135     138     NE
X135     139     NW
X135     112     UP
X136     107     EAST
X136     131     WEST
X136     132     UP
X136     133     SW
X136     134     DOWN
X136     135     S
X136     137     NW
X136     138     SE
X136     139     NE
X136     112     N
X137     107     SE
X137     131     NE
X137     132     S
X137     133     DOWN
X137     134     UP
X137     135     NW
X137     136     N
X137     138     SW
X137     139     EAST
X137     112     WEST
X138     107     DOWN
X138     131     EAST
X138     132     NE
X138     133     UP
X138     134     WEST
X138     135     N
X138     136     S
X138     137     SE
X138     139     SW
X138     112     NW
X139     107     SW
X139     131     NW
X139     132     EAST
X139     133     WEST
X139     134     N
X139     135     DOWN
X139     136     SE
X139     137     UP
X139     138     S
X139     112     NE
X140     112     N       EXIT
X141     142     UP      EAST    CLIMB   CHIMNEY SLIDE
X142     98      EAST    DOWN    FORWARD SLIDE
X142     141     BACK    WEST    CHIMNEY
X143     19      WEST    EXIT
X143     144     EAST
X144     143     WEST    BACK
X144     19      EXIT
X145     141     FORCD
X146     2       EAST    UP      ROAD    CLIMB
X146     50006   S       FOREST
X146     146     S       FOREST
X146     147     WEST
X146     148     N
X147     146     EAST    S
X147     148     N
X147     153     WEST
X147     157     HOLE
X147     3       BUILDIN
X147     157     THUNDER
X148     50147   S
X148     146     S
X148     149     EAST    WEST    N
X148     3       BUILDIN
X148     166     GROTTO
X149     149     S
X149     151     EAST
X149     150     WEST
X149     152     N
X150     151     N       S
X150     149     EAST    WEST
X151     148     EAST
X151     152     WEST
X151     150     N
X151     149     S
X152     151     EAST
X152     150     S
X153     154     N
X153     153     S
X153     147     EAST
X153     3       BUILDIN
X154     50155   N
X154     157     N       DOWN
X154     155     UP
X154     153     S
X154     3       BUILDIN
X155     154     DOWN    BACK    S
X155     156     JUMP
X155     3       BUILDIN
X156     0       FORCD
X157     227     IN      EAST
X157     154     EXIT    S       UP
X157     3       BUILDIN
X158     229     WEST    STEPS   DOWN
X158     157     EXIT
X158     161     PHUCE
X158     725     CLIMB   UP
X158     726     LEDGE
X158     747     ENTER   IN      EAST    ENTRANC
X159     732     EXIT    WEST    STEPS
X160     343167  EAST    IN      ENTER
X160     738     EAST
X160     162     PHUCE
X160     723     WEST    CLIMB   DOWN
X160     165     JUMP
X161     304     FORCD
X162     304     FORCD
X163     304     FORCD
X164     304     FORCD
X165     0       FORCD
X166     747     ENTER   EXIT    IN      WEST
X166     148232  EAST    CROSS   OVER    ACROSS
X166     148169  NE
X166     148233  S
X166     148234  N
X166     717     EAST    CROSS   OVER    ACROSS  NE
X166     448164  PHUCE
X166     720     PHUCE
X167     163     PHUCE
X167     343160  WEST    EXIT    ENTER   IN
X167     739     WEST
X167     722     EAST    CROSS   OVER    ACROSS
X168     448170  SE      UP      PASSAGE
X168     719     SE      UP      PASSAGE
X168     148169  N
X168     148192  S
X168     148166  WEST    CROSS   OVER    ACROSS
X168     717     WEST    N       S
X169     148168  S
X169     148166  SW
X169     717     SW      S
X169     448179  PASSAGE EAST    UP
X169     719     PASSAGE UP
X170     171     EAST    UP
X170     168     WEST    DOWN
X171     170     NW      DOWN
X171     180     EAST    UP
X172     60      N
X172     174     S
X173     60      N
X174     392178  NE
X174     172     NE      CRACK
X174     175     NW
X175     177     N
X175     174     EAST
X175     176     PIT     DOWN    CLIMB
X176     175     UP      CLIMB   EXIT    BACK
X177     60      DOWN    CLIMB   JUMP
X177     175     S       BACK
X178     174     FORCD
X179     169     DOWN    WEST
X179     198     UP      EAST    STREAM
X180     171     WEST
X180     182     UP      CLIMB
X180     213     EAST
X181     227     FORCD
X182     180     WEST
X182     183     EAST
X183     182     WEST
X183     50184   EAST
X183     186     EAST
X183     185     S
X183     187     N
X184     183     SW
X184     188     SE
X185     183     N
X186     183     NW
X186     188     NE
X187     183     WEST
X187     188     EAST
X188     187     N
X188     184     WEST
X188     65190   SW      DOWN
X188     186     SW
X188     305     IN      ENTER
X189     188     EXIT    BACK
X190     422306  CROSS   N       ACROSS  BRIDGE
X190     661     CROSS
X190     188     UP      BACK
X191     60      N
X192     148166  N
X192     148168  NE
X192     717     N       NE
X192     448197  EAST
X192     720     EAST
X193     197     WEST
X194     224     WEST
X195     196     HOLE    WALL    S       CROSS   LEFT
X195     224     WEST
X196     103     DOWN    SHELL
X196     114618  HOLE    WALL    N       CROSS
X196     195     HOLE
X197     193     EAST
X197     192     WEST
X198     179     SW      STREAM  DOWNSTR PASSAGE
X198     203     DOWN    EAST
X198     402200  S       UP
X198     772     S       UP
X199     198     FORCD
X200     198     WEST
X200     201     EAST    UP
X201     402200  WEST    DOWN
X201     772     WEST    DOWN
X201     202     EAST
X201     230     N
X202     201     WEST
X202     467785  CLICK
X202     205     CLICK
X202     206     EAST
X203     447199  DOWN    EAST    ICE
X203     204     DOWN    EAST    ICE
X203     198     UP      WEST
X204     203     UP      WEST    BACK    EXIT
X205     219     N
X205     467785  CLICK
X205     202     CLICK
X205     226     JUMP
X206     207     N       CRAWL
X206     202     WEST
X206     648     UP      HOLE
X207     208     N
X207     206     S
X208     236     EAST
X208     207     S       CRAWL
X208     209     WEST
X208     793     CROSS   ACROSS  N
X209     208     EAST
X209     210     UP      CLIMB
X210     211     DOWN    EAST
X210     209     WEST
X211     210     UP      BACK    WEST
X211     122     DOWN    EAST
X212     115     EXIT    BACK    S
X213     206     DOWN    HOLE
X213     180     WEST    BACK
X214     148166  S
X214     148169  SE
X214     717     S       SE
X214     448215  NE
X214     720     NE
X215     214     SW
X215     216     UP
X216     215     DOWN
X216     217     EAST    UP
X217     216     WEST    DOWN    EXIT
X217     218     EAST    PIT
X218     217     BACK    WEST
X218     230     UP      CLIMB
X219     205     S       BRIDGE
X219     222     N       ALTAR
X219     220     EAST
X219     221     WEST
X219     3       PRAY
X220     219     WEST
X221     219     EAST
X222     219     S
X222     223     UP
X222     3       PRAY
X223     222     DOWN
X223     224     UP
X224     223     DOWN    HOLE
X224     388195  EAST
X224     194     EAST
X225     50702   WEST    U       PASSAG
X225     703     WEST    U       PASSAG
X225     19      S       TUNNEL
X226     0       FORCD
X227     157     WEST    EXIT    UP
X227     398228  EAST    IN      DOWN
X227     181     EAST    IN      DOWN
X228     792     N       S       UPSTREA DOWNSTR CRACK
X228     227     UP      WEST    EXIT
X228     229     JUMP
X228     786     EAST    IN      ACROS   CROSS   OVER
X229     792     N       S       UPSTREA DOWNSTR CRACK
X229     228     JUMP
X229     786     WEST    EXIT    ACROSS  CROSS   OVER
X229     158     EAST    IN      STEPS
X230     65218   DOWN    JUMP
X230     231     DOWN    JUMP
X230     201     S       CRAWL
X231     0       FORCD
X232     168     FORCD
X233     192     FORCD
X234     214     FORCD
X235     422306  CROSS   S       ACROSS  BRIDGE
X235     661     CROSS
X235     98      WEST
X236     208     WEST
X237     19      FORCD
X238     3       EXIT    OUT     ENTRANC
X239     12      S       CANYON  HOLE
X239     369240  E       PASSAG
X239     878     E       PASSAG
X240     239     U
X240     225     D
X-1
X5
X2       Brass lantern
X0000    There is a shiny brass lamp nearby.
X1000    There is a lamp shining nearby.
X3       *Grate
X0000    The grate is locked.
X1000    The grate is open.
X4       Wicker cage
X0000    There is a small wicker cage discarded nearby.
X5       Black rod
X0000    A three foot black rod with a rusty star on an end lies nearby.
X6       Black rod
X0000    A three foot black rod with a rusty mark on an end lies nearby.
X7       *Steps
X0000    Rough stone steps lead down the pit.
X1000    Rough stone steps lead up the dome.
X9       Wooden pole
X0000    A wooden pole is lying nearby.
X1000    A wooden pole has been stuck in the mud here.
X10      Velvet pillow
X0000    A small velvet pillow lies on the floor.
X11      *Snake
X0000    A huge green fierce snake bars the way!
X1000    >$<  (Chased away)
X12      *Fissure
X0000    >$<
X1000    A crystal bridge now spans the fissure.
X2000    The crystal bridge has vanished!
X13      *Stone tablet
X0000    A massive stone tablet imbedded in the wall reads:
X0000    "Congratulations on bringing light into the Dark-Room!"
X14      Giant clam  >grunt!<
X0000    There is an enormous clam here with its shell tightly closed.
X15      Giant oyster  >groan!<
X0000    There is an enormous oyster here with its shell tightly closed.
X1000    Interesting.  There seems to be something written on the underside of
X1000    the oyster.
X16      "Spelunker Today"
X0000    There are a few recent issues of "Spelunker Today" magazine here.
X19      Tasty food
X0000    There is food here.
X20      Small bottle
X0000    There is a bottle of water here.
X1000    There is an empty bottle here.
X2000    There is a bottle of oil here.
X3000    There is a broken bottle here.
X4000    There is a bottle of wine here.
X21      *Chasm - troll bridge
X0000    A rickety wooden bridge extends across the chasm, vanishing into the
X0000    mist.  A sign posted on the bridge reads, "Stop! Pay troll!"
X1000    The wreckage of a bridge (and a dead bear) can be seen at the bottom
X1000    of the chasm.
X22      *Chasm2 & decrepit natural bridge
X0000    A decrepit natural bridge spans the chasm.  A message scrawled into
X0000    the rock wall reads: "Bridge out of repair.  Maximum load: 35 Foonts."
X1000    The remnants of a natural bridge partially overhang the chasm.
X23      *Mirror
X0000    >$<
X24      *plant
X0000    There is a tiny little plant in the pit, murmuring "Water, water, ..."
X1000    The plant spurts into furious growth for a few seconds.
X2000    There is a 12-foot-tall beanstalk stretching up out of the pit,
X2000    bellowing "Water!! Water!!"
X3000    The plant grows explosively, almost filling the bottom of the pit.
X4000    There is a gigantic beanstalk stretching all the way up to the hole.
X5000    You've over-watered the plant!  It's shriveling up!  It's, it's...
X25      *Phony plant (seen in twopit room only when tall enough)
X0000    >$<
X1000    The top of a 12-foot-tall beanstalk is poking out of the west pit.
X2000    There is a huge beanstalk growing out of the west pit up to the hole.
X26      *Stalactite
X0000    >$<
X27      *shadowy figure
X0000    The shadowy figure seems to be trying to attract your attention.
X28      Dwarf's axe
X0000    There is a little axe here.
X1000    There is a little axe lying beside the bear.
X2000    There is a little axe lying beside the Wumpus.
X3000    There is a little axe lying beside the dog.
X29      *Cave drawings
X0000    >$<
X30      *pirate
X0000    >$<
X31      *dragon
X0000    A huge green fierce dragon bars the way!
X1000    Congratulations!  You have just vanquished a dragon with your bare
X1000    hands!  (Unbelievable, isn't it?)
X2000    The body of a huge green dead dragon is lying off to one side.
X33      *Troll
X0000    A burly troll stands by the bridge and insists you throw him a
X0000    treasure before you may cross.
X1000    The troll steps out from beneath the bridge and blocks your way.
X2000    >$<  (Chased away)
X34      *phony troll
X0000    The troll is nowhere to be seen.
X35      >$<  (Bear uses rtext 141)
X0000    There is a ferocious cave bear eying you from the far end of the room!
X1000    There is a gentle cave bear sitting placidly in one corner.
X2000    There is a contented-looking bear wandering about nearby.
X3000    >$<  (Dead)
X36      *Message in second maze
X0000    There is a message scrawled in the dust in a flowery script, reading:
X0000    "This is not the maze where the pirate leaves his treasure chest."
X37      *Volcano and/or geyser
X0000    >$<
X38      *Vending machine
X0000    There is a massive vending machine here.  The instructions on it
X0000    read:  "Insert coins to receive fresh batteries."
X1000    There is a massive vending machine here.
X39      Batteries
X0000    There are fresh batteries here.
X1000    Some worn-out batteries have been discarded nearby.
X2000    Some worn-out batteries have been discarded nearby.
X40      *Carpet and/or moss
X0000    >$<
X41      *Rusty door
X0000    The way north is barred by a massive, rusty, iron door.
X1000    The way north leads through a massive, rusty, iron door.
X42      *Tiny door
X0000    The only way past the wall is through a tiny locked door.
X1000    The only way past the wall is through a tiny open door.
X43      *Tiny door-2
X0000    The door is locked.
X1000    The door is open.
X44      *Phone booth door
X0000    >$<
X46      Beautiful flowers
X0000    There are some beautiful flowers here!
X1000    On the other side of the room a swarm of bees eagerly buzzes over
X1000    a bunch of fresh flowers.
X47      Silken cloak
X0000    There is a silken cloak here!
X1000    >$<  (wearing cloak)
X2000    A lovely silken cloak lies partially buried under a pile of
X2000    loose rocks.
X48      Wooden boat
X0000    There is a small wooden boat here.
X1000    You are in a wooden boat.
X49      *Sticks at Styx
X0000    >$<
X50      Large gold nugget
X0000    There is a large sparkling nugget of gold here!
X51      Several diamonds
X0000    There are diamonds here!
X52      Silver horn
X0000    There is a silver horn here!
X53      Precious jewelry
X0000    There is precious jewelry here!
X1000    >$<  (wearing jewelry)
X54      Rare coins
X0000    There are many coins here!
X55      Treasure chest
X0000    The pirate's treasure chest is here!
X56      Golden eggs
X0000    There is a large nest here, full of golden eggs!
X1000    The nest of golden eggs has vanished!
X2000    Done!
X57      Jeweled trident
X0000    There is a jewel-encrusted trident here!
X58      Ming vase
X0000    There is a delicate, precious, ming vase here!
X1000    The vase is now resting, delicately, on a velvet pillow.
X2000    The floor is littered with worthless shards of pottery.
X3000    The ming vase drops with a delicate crash.
X59      Egg-sized emerald
X0000    There is an emerald here the size of a plover's egg!
X60      Platinum pyramid
X0000    There is a platinum pyramid here, 8 inches on a side!
X61      Glistening pearl
X0000    Off to one side lies a glistening pearl!
X62      Persian rug
X0000    There is a persian rug spread out on the floor!
X1000    The dragon is sprawled out on a persian rug!!
X63      Rare spices
X0000    There are rare spices here!
X64      Golden chain
X0000    There is a golden chain lying in a heap on the floor!
X1000    The bear is locked to the wall with a golden chain!
X2000    There is a golden chain locked to the wall!
X65      Gleaming sword
X0000    There is a gleaming sword here!
X1000    A gleaming sword is stuck into the anvil!
X3000    You grasp the sword's handle and give a mighty heave, but with a
X3000    loud clang the sword blade shatters into several fragments.
X4000    Rusty shards of a elven sword lie scattered about.
X5000    A very clean sword is stuck into the anvil!
X6000    An oily sword is stuck into the anvil.
X66      Elfin crown
X0000    An ancient crown of elfin kings lies here!
X1000    >$<  (wearing crown)
X67      Ruby slippers
X0000    There is a pair of ruby slippers here.
X1000    >$<  (wearing slippers)
X2000    There is a pair of ruby slippers here.
X68      Delicate lyre
X0000    There is a delicate lyre here!
X69      Black fly
X0000    There is a large black fly here buzzing around rather lazily.
X1000    A giant spider is in the eastern corner munching
X1000    contentedly on a large, black fly.
X2000    There is a large dead black fly here.
X70      Holy Grail
X0000    There is an ornate silver chalice here!
X71      Oaken cask
X0000    There is a cask of water here.
X1000    There is an empty oaken cask here.
X2000    There is a cask of oil here.
X3000    >$<  (Unused)
X4000    There is a cask of wine here.
X72      Golden ring
X0000    There is a small gold ring here.
X1000    >$<  (wearing ring)
X2000    On the Wumpus' finger is a small gold ring.
X73      Four-leafed clover
X0000    There is a four-leafed clover here!
X1000    >$<  (wearing clover)
X81      Clear water
X82      Cool water
X83      Thick, black oil
X84      Thick, black oil
X85      Vintage wine
X86      Vintage wine
X87      *Bumblebees
X0000    >$<
X1000    Some bumblebees are swarming around a bunch of fresh flowers.
X88      *Hollow wall
X0000    Your footsteps echo hollowly throughout the chamber.
X1000    >$<
X89      *Wall with safe
X0000    A steel safe is embedded in the wall.
X90      Tiny brass key
X0000    There is a tiny brass key here.
X1000    There is a tiny brass key on the shelf.
X91      *Anvil
X0000    >$<
X92      *rocks on cloak
X0000    >$<  (ON CLOAK)
X1000    >$<  (AFTER ROCKSLIDE)
X93      *telephone booth
X0000    The telephone booth is empty.  The phone is ringing.
X1000    The phone booth is occupied by a gnome.  He is talking excitedly
X1000    to someone at the other end.
X2000    The telephone booth is empty.
X3000    >$<
X94      *Telephone
X0000    The phone is ringing.
X1000    The telephone is out of order.
X2000    The telephone is out of order.  It is badly dented.
X3000    >$<
X95      Lead slugs
X0000    There are some lead slugs here!
X96      Sweet honeycomb
X0000    There is a sweet honeycomb here!
X97      *Beehive
X0000    There is an active beehive nearby.  The bees hum protectively
X0000    around the hive.
X1000    There is an empty beehive nearby.
X98      *Black dog
X0000    A hideous black dog bares his teeth and growls at your approach.
X1000    Nearby, a large black dog is in a deep slumber.
X99      *Dreaded Wumpus
X0000    In the corner, a Wumpus is sleeping peacefully.
X1000    A sleepy Wumpus is ambling towards you.  He wants to invite you to
X1000    dinner.  He wants you to *be* the dinner!
X2000    The Wumpus is still on your trail!  And he's getting closer!!
X3000    The Wumpus is only a few steps behind you!  All this exercise is
X3000    making him veerrrrry hungry!
X4000    The Wumpus almost has you in his grasp!  You can feel his hot breath
X4000    on your neck!
X5000    "Chomp, chomp."  Crunch!  Chew!  Slurp!  Smack!  Yum!!!
X6000    Nearby is the smashed body of a defunct Wumpus.
X101     Little bird in cage
X0000    A cheerful little bird is sitting here singing.
X1000    There is a little bird in the cage.
X102     Set of keys
X0000    There are some keys on the ground here.
X103     *Fountain
X0000    There is a fountain of sparkling vintage wine here!
X104     *Bats & guano in bat-cave
X0000    >$<
X105     *gnome in phone booth
X0000    >$<
X106     Colored mushrooms
X0000    There are some oddly-colored mushrooms here.
X107     Tiny cakes
X0000    There are some tiny cakes on the shelf.
X108     Leather Sack
X0000    There is a leather sack here.
X110     Rare book
X0000    There is a dusty, leather-bound volume here.
X111     Rare book
X0000    There is a dusty, leather-bound volume here.
X112     Steel wall-safe
X0000    The safe door is locked.
X1000    The safe door is open.
X113     Faded poster
X0000    Taped to the wall is a faded poster.
X1000    There is a faded poster here.
X114     Whiskbroom
X0000    There is a small whiskbroom here.
X115     *Carving on dusty rocks
X0000    >$<
X1000    >$<
X116     *Billboard
X0000    >$<
X118     Small metal cannister
X0000    There is a heavy, grey, metal cannister here.
X119     Glowing stone
X0000    Nearby, a strange, greenish stone is glowing brightly.
X120     Opal sphere
X0000    There is a polished sphere of pure opal here!
X121     Giant Spider
X0000    There is a giant spider in the eastern corner guarding the
X0000    door.  He is grinning at you.
X1000    >$<
X122     Scrap of parchment
X0000    >$<
X1000    >$<
X-1
X6
X1       Somewhere nearby is Colossal Cave, where others have found fortunes in
X1       treasure and gold, though it is rumored that some who enter are never
X1       seen again.  Magic is said to work in the cave.  I will be your eyes
X1       and hands.  Direct me with natural English commands.  I should warn
X1       you that I look at only the first five letters of each word, so you'll
X1       have to enter "Northeast" as "NE" to distinguish it from "North".
X1       (Should you get stuck, type "HELP" or "?" for some general hints.)
X1       Good Luck!
X1       - - - -
X2       A little dwarf with a big knife blocks your way.
X3       A little dwarf just walked around a corner, saw you, threw a little
X3       axe at you which missed, cursed, and ran away.
X4       There is a threatening little dwarf in the room with you!
X5       One sharp nasty knife is thrown at you!
X6       None of them hit you!
X7       One of them gets you!
X8       A hollow voice says "Plugh".
X9       There is no way to go that direction.
X10      I am unsure how you are facing.  Use compass points or nearby objects.
X11      I don't know in from out here.  Use compass points or name something
X11      in the general direction you want to go.
X12      I don't know how to apply that word here.
X13      I don't understand that!
X14      I'm game.  Would you care to explain how?
X15      Sorry, but I am not allowed to give more detail.  I will repeat the
X15      long description of your location.
X16      It is now pitch dark.  If you proceed you will likely fall into a pit.
X17      If you prefer, simply type "W" rather than "West".
X18      Are you trying to catch the bird?
X19      The bird is frightened right now and you cannot catch it no matter
X19      what you try.  Perhaps you might try later.
X20      Are you trying to somehow deal with the snake?
X21      You can't kill the snake, or drive it away, or avoid it, or anything
X21      like that.  There is a way to get by, but you don't have the necessary
X21      resources right now.
X22      Do you really want to quit now?
X23      You fell into a pit and broke every bone in your body!
X24      You are already carrying it!
X25      You can't be serious!
X26      The bird was unafraid when you entered, but as you approach it becomes
X26      disturbed and you cannot catch it.
X27      You can catch the bird, but you cannot carry it.
X28      There is nothing here with a lock!
X29      You aren't carrying it!
X30      The little bird attacks the green snake, and in an astounding flurry
X30      drives the snake away.
X31      You have no keys!
X32      It has no lock.
X33      I don't know how to lock or unlock such a thing.
X34      It was already locked.
X35      The grate is now locked.
X36      The grate is now unlocked.
X37      It was already unlocked.
X38      You have no source of light.
X39      Your lamp is now on.
X40      Your lamp is now off.
X41      There is no way to get past the bear to unlock the chain, which is
X41      probably just as well.
X42      Nothing happens.
X43      Where?
X44      There is nothing here to attack.
X45      The little bird is now dead.  Its body disappears.
X46      Attacking the snake both doesn't work and is very dangerous.
X47      You killed a little dwarf.
X48      You attack a little dwarf, but he dodges out of the way.
X49      With what?  Your bare hands?
X50      Good try, but that is an old worn-out magic word.
X51      I know of places, actions, and things.  Much of my vocabulary
X51      describes places and is used to move you there.  To move, try words
X51      like forest, building, downstream, enter, east, west, north, south,
X51      up, or down.  I know about a few special objects, like a black rod
X51      hidden in the cave.  These objects can be manipulated using some of
X51      the action words that I know.  Usually you will need to give both the
X51      object and action words (in either order), but sometimes I can infer
X51      the object from the verb alone.  Some objects also imply verbs; in
X51      particular, "INVENTORY" implies "TAKE INVENTORY", which causes me to
X51      give you a list of what you're carrying.  The objects have side
X51      effects; for instance, the rod scares the bird.  Usually people having
X51      trouble moving just need to try a few more words.  Usually people
X51      trying unsuccessfully to manipulate an object are attempting something
X51      beyond their (or my!) capabilities and should try a completely
X51      different tack.  To speed the game you can sometimes move long
X51      distances with a single word.  For example, "Building" usually gets
X51      you to the building from anywhere above ground except when lost in the
X51      forest or the marsh.  Also, note that cave passages turn a lot, and
X51      that leaving a room to the north does not guarantee entering the
X51      next from the south.  You'd best make yourself a map as you go along.
X51      - - -
X51      A word about my understanding of English -- I will try very hard to
X51      do whatever you say, but here are a few suggestions.  To scarf up
X51      everything movable at a given location, say 'TAKE EVERYTHING' or
X51      'TAKE ALL'.  Some objects may be differentiated only by some attribute
X51      or other.  For example, if you were holding both a red and a blue
X51      frammitz, you would have to distinguish between them by typing
X51      'RED FRAMMITZ' or 'BLUE FRAMMITZ' so that I'll know which one you
X51      mean.   Also, you can specify several actions or objects by using
X51      commas or 'AND', as 'TAKE ABC,DEF AND XYZ AND BURN WITCH'.
X
X51      - - -
X51      To list what you are currently holding, say "INVENTORY", or just "I".
X51      - - -
X51      To reprint the detailed description of where you are, say "LOOK"
X51      or "L".  You can also "LOOK IN" or "LOOK AT" appropriate objects.
X51      - - -
X51      If you want to end your adventure early, say "QUIT".
X51      - - -
X51      To suspend your adventure such that you can continue later,
X51      say "SUSPEND" (or "PAUSE" or "SAVE").
X51      - - -
X51      To see what hours the cave is normally open, say "HOURS".
X51      - - -
X51      To see how well you're doing, say "SCORE".  To get full credit for a
X51      treasure, you must have left it safely in the building, though you get
X51      partial credit just for locating it.  Note that leaving something
X51      in a *safe* place may be trickier than you think!
X51      You lose points for getting killed, or for quitting,
X51      though the former costs you more.  There are also points
X51      based on how much (if any) of the cave you've managed to
X51      explore; in particular, there is a large bonus just for getting in (to
X51      distinguish the dilletantes from the rest of the pack), and there are
X51      other ways to determine whether you've been through some of the more
X51      harrowing sections.  If you think you've found all the treasures, just
X51      keep exploring for a while.  If nothing interesting happens, you
X51      haven't found them all yet.  If something interesting *DOES* happen,
X51      it means you're getting a bonus and have an opportunity to garner many
X51      more points in the Master's Section.  I may occasionally offer hints
X51      if you seem to be having trouble.  If I do, I'll warn you in advance
X51      how much it will affect your score to accept the hints.
X51      - - -
X51      In addition to getting yourself killed, you can also be wounded or
X51      injured in various (non-lethal) ways.  If you get burnt, poisoned,
X51      electrocuted or whatever, you can check on your current state of
X51      health by typing 'HEALTH' or 'DIAGNOSE'.  Note that recuperation
X51      takes place faster outside in the fresh air!
X51      - - -
X51      This an exceedingly complex program and it's possible that something
X51      may interact with something else in an unforseen way.  If you run
X51      into something you think may be a program bug, or if you have any
X51      ideas for extensions to the cave, type "GRIPE" (or "REPORT" or
X51      "BITCH") and then enter as long a message as you like.  This will
X51      be immediately transmitted to the Wizard, who will try to reply
X51      within a day or two.
X51      - - -
X51      Finally, to save paper, you may specify "BRIEF", which tells me
X51      never to repeat the full description of a place unless you explicitly
X51      ask me to.  Experienced players may suppress *all* long-form
X51      descriptions by typing "TERSE".  You can return to normal description
X51      mode by typing "UNBRIEF" or "UNTERSE".
X51      - - -
END_OF_FILE
if test 40531 -ne `wc -c <'adv.data.2'`; then
    echo shar: \"'adv.data.2'\" unpacked with wrong size!
fi
# end of 'adv.data.2'
fi
if test -f 'getobj.f' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'getobj.f'\"
else
echo shar: Extracting \"'getobj.f'\" \(3316 characters\)
sed "s/^X//" >'getobj.f' <<'END_OF_FILE'
XC***   GETOBJ
X
X       SUBROUTINE GETOBJ(OBJ)
X
XC  ANALYSE AN OBJECT WORD.  SEE IF THE THING IS HERE, WHETHER WE'VE GOT A VERB
XC  YET, AND SO ON.  OBJECT MUST BE HERE UNLESS VERB IS "FIND" OR "INVENT(ORY)"
XC  (AND NO NEW VERB YET TO BE ANALYSED).  WATER, OIL AND WINE ARE ALSO
XC  FUNNY, SINCE THEY ARE NEVER ACTUALLY DROPPED AT ANY LOCATION, BUT MIGHT
XC  BE HERE INSIDE THE BOTTLE OR AS A FEATURE OF THE LOCATION.
XC
XC  HAS THREE POSSIBLE RETURN VALUES FOR 'OBJ':
XC       VAL > 0 :: A POSITIVE OBJECT NUMBER
XC       VAL = 0 :: OBJECT NOT FOUND HERE.  ERROR MESSAGE PRINTED.
XC       VAL < 0 :: OBJECT WORD REALLY SOMETHING ELSE.  RETURN NEGATIVE
XC                       VALUE OF SUBSTITUTED WORD.
X
X       IMPLICIT INTEGER(A-Z)
X      LOGICAL AT
X       COMMON /DWFCOM/ DWARF,KNIFE,KNFLOC,DFLAG,DSEEN(6),DLOC(6),
X     1  ODLOC(6),DWFMAX
X       COMMON /LIQCOM/ BOTTLE,CASK,WATER,OIL,WINE,LIQTYP(5)
X       COMMON /LOCCOM/ LOC,OLDLOC,OLDLC2,NEWLOC,MAXLOC
X       COMMON /MNECOM/ BACK,CAVE,DPRSSN,ENTRNC,EXIT,GO,LOOK,NULL,
X     1 AXE,BEAR,BOAT,BOOK,BOOK2,BOOTH,CARVNG,CHASM,CHASM2,DOOR,GNOME,
X     2 GRATE,LAMP,PDOOR,PLANT,PLANT2,ROCKS,ROD,ROD2,SAFE,
X     3 TDOOR,TDOOR2,TROLL,TROLL2,EMRALD,SPICES,
X     4 FIND,YELL,INVENT,LEAVE,POUR,SAY,TAKE,THROW,
X     5 KILLED,IWEST,PHUCE(2,4),TK(20)
X      INTEGER*4 POINTS
X       COMMON /OBJCOM/ PLAC(150),FIXD(150),WEIGHT(150),PROP(150),
X     1          POINTS(150)
X       COMMON /PLACOM/ ATLOC(250),LINK(300),PLACE(150),
X     1          FIXED(150),MAXOBJ
X      REAL*8 TXT
X       COMMON /UTXCOM/ TXT(35,2),WDX
X      REAL*8 VTXT,OTXT,IOTXT
X       COMMON /WRDCOM/ VERBS(45),VTXT(45,2),VRBX,OBJS(45),OTXT(45,2),
X     1  OBJX,IOBJS(15),IOTXT(15,2),IOBX,PREP,WORDS(45)
X       LOGICAL ATHAND,BLIND,HERE,HOLDNG,PLURAL
X
X
X       IF(HOLDNG(OBJ))RETURN
X       IF(BLIND(0))GOTO 280
X       IF(FIXED(OBJ).EQ.LOC.OR.ATHAND(OBJ))GOTO 290
X       IF(.NOT.HERE(OBJ))GOTO 205
X       K=335
X       IF(PLURAL(OBJ))K=373
X       OBJ=0
X       CALL RSPEAK(K)
X       RETURN
X
X205     IF(OBJ.NE.GRATE)GOTO 210
X       IF(LOC.EQ.1.OR.LOC.EQ.4.OR.LOC.EQ.7)OBJ=-DPRSSN
X       IF(LOC.GT.9.AND.LOC.LT.15)OBJ=-ENTRNC
X       IF(OBJ.EQ.GRATE)GOTO 280
X       RETURN
X
X210     IF(OBJ.NE.DWARF)GOTO 220
X      L1=DWFMAX-1
X       DO 212 I=1,L1
X       IF(DLOC(I).EQ.LOC.AND.DFLAG.GE.2)GOTO 290
X212     CONTINUE
X       GOTO 280
X
X220     IF(OBJ.EQ.LIQLOC(LOC).OR.
X     1  (ATHAND(BOTTLE).AND.LIQ(BOTTLE).EQ.OBJ).OR.
X     2  (ATHAND(CASK).AND.LIQ(CASK).EQ.OBJ))GOTO 290
X       IF(OBJ.NE.PLANT.OR..NOT.AT(PLANT2).OR.PROP(PLANT2).EQ.0)GOTO 230
X       OBJ=PLANT2
X       GOTO 290
X
X230     IF(OBJ.NE.ROCKS.OR..NOT.AT(CARVNG))GOTO 240
X       OBJ=CARVNG
X       GOTO 290
X
X240     IF(OBJ.NE.ROD.OR..NOT.ATHAND(ROD2))GOTO 250
X       OBJ=ROD2
X       GOTO 290
X
X250     IF(OBJ.NE.DOOR.OR..NOT.
X     1  (AT(SAFE).OR.AT(TDOOR).OR.AT(TDOOR2).OR.AT(PDOOR)))
X     2  GOTO 260
X       OBJ=TDOOR
X       IF(AT(TDOOR2))OBJ=TDOOR2
X       IF(AT(PDOOR))OBJ=PDOOR
X       IF(AT(SAFE))OBJ=SAFE
X       GOTO 290
X
X260     IF(OBJ.NE.BOOK.OR..NOT.ATHAND(BOOK2))GOTO 270
X       OBJ=BOOK2
X       GOTO 290
X
X270     IF(VERBS(VRBX).EQ.FIND.OR.VERBS(VRBX).EQ.INVENT)GOTO 290
X
XC  IT ISN'T HERE.  TELL HIM & RETURN.
X280     OBJ=0
X       CALL A5TOA1(TXT(WDX,1),TXT(WDX,2),' here.',TK,K)
X       PRINT 282,(TK(I),I=1,K)
X282     FORMAT(/' I see no ',20A1)
X
X290     RETURN
X
X       END
END_OF_FILE
if test 3316 -ne `wc -c <'getobj.f'`; then
    echo shar: \"'getobj.f'\" unpacked with wrong size!
fi
# end of 'getobj.f'
fi
if test -f 'travl.f' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'travl.f'\"
else
echo shar: Extracting \"'travl.f'\" \(7424 characters\)
sed "s/^X//" >'travl.f' <<'END_OF_FILE'
XC***   TRAVL
XC  FIGURE OUT THE NEW LOCATION
XC
XC  GIVEN THE CURRENT LOCATION IN "LOC", AND A MOTION VERB NUMBER IN "K", PUT
XC  THE NEW LOCATION IN "NEWLOC".  THE CURRENT LOC IS SAVED IN "OLDLOC" IN CASE
XC  HE WANTS TO RETREAT.  THE CURRENT OLDLOC IS SAVED IN OLDLC2, IN CASE HE
XC  DIES.  (IF HE DOES, NEWLOC WILL BE LIMBO, AND OLDLOC WILL BE WHAT KILLED
XC  HIM, SO WE NEED OLDLC2, WHICH IS THE LAST PLACE HE WAS SAFE.)
X
X       SUBROUTINE TRAVL(K)
X       IMPLICIT INTEGER(A-Z)
X
X       LOGICAL KILLED,PCT,HOLDNG,ENCLSD
X      INTEGER*4 LL
X       LOGICAL INSIDE,OUTSID,PORTAL,TOTING,HERE,AT,FORCED
X
X      INTEGER*4 TRAVEL
X       COMMON /TRVCOM/ TRAVEL(1600)
X      INTEGER*4 LTEXT,STEXT
X       COMMON /LTXCOM/ LTEXT(250),STEXT(250),KEY(250),ABB(250),LOCSIZ
X       COMMON /PLACOM/ ATLOC(250),LINK(300),PLACE(150),
X     1          FIXED(150),MAXOBJ
X      INTEGER*4 POINTS,NEW1
X       COMMON /OBJCOM/ PLAC(150),FIXD(150),WEIGHT(150),PROP(150),
X     1          POINTS(150)
X       COMMON /LOCCOM/ LOC,OLDLOC,OLDLC2,NEWLOC,MAXLOC
X       COMMON /MNECOM/ BACK,CAVE,DPRSSN,ENTRNC,EXIT,GO,LOOK,NULL,
X     1 AXE,BEAR,BOAT,BOOK,BOOK2,BOOTH,CARVNG,CHASM,CHASM2,DOOR,GNOME,
X     2 GRATE,LAMP,PDOOR,PLANT,PLANT2,ROCKS,ROD,ROD2,SAFE,
X     3 TDOOR,TDOOR2,TROLL,TROLL2,EMRALD,SPICES,
X     4 FIND,YELL,INVENT,LEAVE,POUR,SAY,TAKE,THROW,
X     5 KILLED,IWEST,PHUCE(2,4),TK(20)
X
X       KILLED=.FALSE.
X       KK=KEY(LOC)
X       NEWLOC=LOC
X       IF(KK.EQ.0)CALL BUG(26)
X       IF(K.EQ.NULL)RETURN
X       IF(K.EQ.BACK)GOTO 20
X       IF(K.EQ.CAVE)GOTO 40
X       OLDLC2=OLDLOC
X       OLDLOC=LOC
X
X9       LL=IABS(TRAVEL(KK))
X       IF(INTS(MOD(LL,0001000)).EQ.1.OR.INTS(MOD(LL,0001000)).EQ.K)
X     1  GOTO 10
X       IF(TRAVEL(KK).LT.0000000)GOTO 50
X       KK=KK+1
X       GOTO 9
X
X10      LL=LL/0001000
X11    NEWLOC=INTS(LL/0001000)
X       K=MOD(NEWLOC,100)
X       IF(NEWLOC.LE.MAXLOC)GOTO 13
X       IF(PROP(K).NE.NEWLOC/100-3)GOTO 16
X12      IF(TRAVEL(KK).LT.0)CALL BUG(25)
X       KK=KK+1
X       NEW1=IABS(TRAVEL(KK))/1000
X       IF(NEW1.EQ.LL)GOTO 12
X       LL=NEW1
X       GOTO 11
X
X13      IF(NEWLOC.LE.100)GOTO 14
X       IF(TOTING(K).OR.(NEWLOC.GT.200.AND.AT(K)))GOTO 16
X       GOTO 12
X
X14      IF(NEWLOC.NE.0.AND..NOT.PCT(NEWLOC))GOTO 12
X16      NEWLOC=MOD(LL,1000)
X       IF(NEWLOC.LE.MAXLOC)RETURN
X       IF(NEWLOC.LE.500)GOTO 30000
X       CALL RSPEAK(NEWLOC-500)
X       NEWLOC=LOC
X       RETURN
XC  HANDLE "GO BACK".  LOOK FOR VERB WHICH GOES FROM LOC TO OLDLOC, OR TO OLDLC2
XC  IF OLDLOC HAS FORCED-MOTION.  K2 SAVES ENTRY -> FORCED LOC -> PREVIOUS LOC.
X
X20      K=OLDLOC
X       IF(FORCED(K))K=OLDLC2
X       OLDLC2=OLDLOC
X       OLDLOC=LOC
X       K2=0
X       IF(K.NE.LOC)GOTO 21
X       CALL RSPEAK(91)
X       RETURN
X
X21      LL=MOD((IABS(TRAVEL(KK))/1000),1000)
X       IF(LL.EQ.INTL(K))GOTO 25
X       IF(LL.GT.INTL(MAXLOC))GOTO 22
X       J=KEY(LL)
X       IF(FORCED(LL).AND.MOD((IABS(TRAVEL(J))/1000),1000).EQ.INTL(K))
X     1  K2=KK
X22      IF(TRAVEL(KK).LT.000000)GOTO 23
X       KK=KK+1
X       GOTO 21
X
X23      KK=K2
X       IF(KK.NE.0)GOTO 25
X       CALL RSPEAK(140)
X       RETURN
X
X25      K=MOD(IABS(TRAVEL(KK)),1000)
X       KK=KEY(LOC)
X       GOTO 9
X
XC  CAVE.  DIFFERENT MESSAGES DEPENDING ON WHETHER ABOVE GROUND.
X
X40      IF(OUTSID(LOC))CALL RSPEAK(57)
X       IF(.NOT.OUTSID(LOC))CALL RSPEAK(58)
X       RETURN
X
XC  NON-APPLICABLE MOTION.  VARIOUS MESSAGES DEPENDING ON WORD GIVEN.
X
X50      SPK=12
X       IF(K.GE.43.AND.K.LE.50)SPK=9
X       IF(K.EQ.29.OR.K.EQ.30)SPK=9
X       IF(K.EQ.7.OR.K.EQ.36.OR.K.EQ.37)SPK=10
X       IF(K.EQ.11.OR.K.EQ.19)SPK=11
X       IF(VERB.EQ.FIND.OR.VERB.EQ.INVENT)SPK=59
X       IF(K.EQ.62.OR.K.EQ.65.OR.K.EQ.82)SPK=42
X       IF(K.EQ.17)SPK=80
X       CALL RSPEAK(SPK)
X       RETURN
XC  SPECIAL MOTIONS COME HERE.  LABELLING CONVENTION: STATEMENT NUMBERS NNNXX
XC  (XX=00-99) ARE USED FOR SPECIAL CASE NUMBER NNN (NNN=301-500).
X
X30000   NEWLOC=NEWLOC-MAXLOC
X       GOTO (30100,30200,30300,30400,30500,30600),NEWLOC
XC             ALCOV PLOVR TROLL PHUCE BOOTH BRDGE
X      WRITE(1,1001)NEWLOC
X1001  FORMAT('Bug in travel tables.  Newloc= ',I5)
X       CALL BUG(20)
X
XC  TRAVEL 301.  PLOVER-ALCOVE PASSAGE.  CAN CARRY ONLY EMERALD.  NOTE: TRAVEL
XC  TABLE MUST INCLUDE "USELESS" ENTRIES GOING THROUGH PASSAGE, WHICH CAN NEVER
XC  BE USED FOR ACTUAL MOTION, BUT CAN BE SPOTTED BY "GO BACK".
X
X30100   NEWLOC=99+100-LOC
X       KK=BURDEN(0)
X       IF(KK.EQ.0.OR.(KK.EQ.BURDEN(EMRALD).AND.HOLDNG(EMRALD)))RETURN
X       NEWLOC=LOC
X       CALL RSPEAK(117)
X       RETURN
X
XC  TRAVEL 302.  PLOVER TRANSPORT.  DROP THE EMERALD (ONLY USE SPECIAL TRAVEL IF
XC  TOTING IT), SO HE'S FORCED TO USE THE PLOVER-PASSAGE TO GET IT OUT.  HAVING
XC  DROPPED IT, GO BACK AND PRETEND HE WASN'T CARRYING IT AFTER ALL.
X
X30200   IF(ENCLSD(EMRALD))CALL REMOVE(EMRALD)
X       CALL DROP(EMRALD,LOC)
X       GOTO 12
X
XC  TRAVEL 303.  TROLL BRIDGE.  MUST BE DONE ONLY AS SPECIAL MOTION SO THAT
XC  DWARVES WON'T WANDER ACROSS AND ENCOUNTER THE BEAR.  (THEY WON'T FOLLOW THE
XC  PLAYER THERE BECAUSE THAT REGION IS FORBIDDEN TO THE PIRATE.)  IF
XC  PROP(TROLL)=1, HE'S CROSSED SINCE PAYING, SO STEP OUT AND BLOCK HIM.
XC  (STANDARD TRAVEL ENTRIES CHECK FOR PROP(TROLL)=0.)  SPECIAL STUFF FOR BEAR.
X
X30300   IF(PROP(TROLL).NE.1)GOTO 30310
X       CALL PSPEAK(TROLL,1)
X       PROP(TROLL)=0
X       CALL MOVE(TROLL2,0)
X       CALL MOVE(TROLL2+MAXOBJ,0)
X       CALL MOVE(TROLL,PLAC(TROLL))
X       CALL MOVE(TROLL+MAXOBJ,FIXD(TROLL))
X       CALL JUGGLE(CHASM)
X       NEWLOC=LOC
X       RETURN
X
X30310   NEWLOC=PLAC(TROLL)+FIXD(TROLL)-LOC
X       IF(PROP(TROLL).EQ.0)PROP(TROLL)=1
X       IF(.NOT.HOLDNG(BEAR))RETURN
X       CALL RSPEAK(162)
X       PROP(CHASM)=1
X       PROP(TROLL)=2
X       CALL DROP(BEAR,NEWLOC)
X       FIXED(BEAR)=-1
X       PROP(BEAR)=3
X       IF(PROP(SPICES).LT.0)TALLY2=TALLY2+1
X       OLDLC2=NEWLOC
X       KILLED=.TRUE.
X       RETURN
XC  TRAVEL 304.  GROWING OR SHRINKING IN AREA OF TINY DOOR.  EACH TIME
XC  HE DOES THIS, EVERYTHING MUST BE MOVED TO THE NEW LOC.  PRESUMABLY,
XC  ALL HIS POSSESIONS ARE SHRUNK OR STRECHED ALONG WITH HIM.
XC  PHUCE(2,4) IS AN ARRAY CONTAINING FOUR PAIRS OF "HERE" (K) AND
XC  "THERE" (KK) LOCATIONS.
X
X30400   K=PHUCE(1,LOC-161+1)
X       NEWLOC=PHUCE(2,LOC-161+1)
X       DO 30410 OBJ=1,MAXOBJ
X       IF(OBJ.EQ.BOAT)GOTO 30410
X       IF(PLACE(OBJ).EQ.K.AND.(FIXED(OBJ).EQ.0.OR.FIXED(OBJ).EQ.-1))
X     1  CALL MOVE(OBJ,NEWLOC)
X30410   CONTINUE
X       RETURN
X
XC  TRAVEL #5.  PHONE BOOTH IN ROTUNDA.
XC  TRYING TO SHOVE PAST GNOME, TO GET INTO PHONE BOOTH.
X
X30500   IF(PROP(BOOTH).EQ.0.AND.PCT(65).OR.ABB(LOC).EQ.1)GOTO 30510
X       NEWLOC=189
X       IF(PROP(BOOTH).NE.1)RETURN
X       CALL RSPEAK(253)
X       GOTO 30512
X
X30510   CALL RSPEAK(263)
X       PROP(BOOTH)=1
X       CALL MOVE(GNOME,188)
X30512   NEWLOC=LOC
X       RETURN
X
XC  TRAVEL #6.  COLLAPSING CLAY BRIDGE.  HE CAN CROSS WITH THREE (OR FEWER)
XC  THINGS.  IF MORE, OR IF CARRYING OBVIOUSLY HEAVY THINGS, HE MAY END UP
XC  IN THE DRINK.
X
X30600   NEWLOC=235
X       IF(LOC.EQ.235)NEWLOC=190
X       BCROSS=BCROSS+1
X       KK=BURDEN(0)
X       IF(KK.LE.4)RETURN
X       K=MAX0( ((KK+BCROSS)**2)/10, 10)
X30605   IF(PCT(K))GOTO 30610
X       CALL RSPEAK(318)
X       RETURN
X
X30610   CALL RSPEAK(319)
X       NEWLOC=236
X       IF(HOLDNG(LAMP))CALL MOVE(LAMP,236)
X       IF(TOTING(AXE).AND.ENCLSD(AXE))CALL REMOVE(AXE)
X       IF(HOLDNG(AXE))CALL MOVE(AXE,208)
X       DO 30620 OBJ=1,MAXOBJ
X30620   IF(TOTING(OBJ))CALL DSTROY(OBJ)
X       PROP(CHASM2)=1
X       RETURN
X
XC  END OF SPECIALS.
X
X       END
END_OF_FILE
if test 7424 -ne `wc -c <'travl.f'`; then
    echo shar: \"'travl.f'\" unpacked with wrong size!
fi
# end of 'travl.f'
fi
echo shar: End of archive 4 \(of 8\).
cp /dev/null ark4isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 8 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