/ Hamil by Jonathan R. Partington
/
/ This game (c) Copyright J. R. Partington, but freely distributable.
/
/ To quote the author:
/
/ "Personally, I am happy for people to convert the games for any system
/  they like, as long as they give due acknowledgements (and don't
/  attempt to make any money out of them without consulting me first!)"
/
/  Graham Nelson and Adam Atkinson would also like to thank Topologika
/  Software for handing publication rights for this game back to the
/  author at the end of 1999, enabling him to make the game available
/  this way.
/
/  INITIAL PART OF DATABASE
/  ------------------------
/
!POSSESSIONS CHAP1 PLAYER
!POSSESSIONS CHAP2 SLAB
!POSSESSIONS CHAP3 LAMP ROD STEAK
!POSSESSIONS MUS5 BOOM
!POSSESSIONS CURVE1 HEX
!POSSESSIONS CURVE2 BOTTLE
!POSSESSIONS HOBROOM LADY GOBLET
!POSSESSIONS VAMPROOM COFFIN
!POSSESSIONS FIRE2 BRUNN HELM
!POSSESSIONS COURT2 JACKDAW FOUNTAIN
!POSSESSIONS CURTROOM TAPESTRY
!POSSESSIONS H10 CROWN
!POSSESSIONS CAVE1 TYRAN
!POSSESSIONS CAVE2 WHISTLE
!POSSESSIONS CAVE3 FOLIO
!POSSESSIONS MUS2 EGG
!POSSESSIONS BELOWPLAT BUST
!POSSESSIONS MURALRM MURAL WHEEL
!POSSESSIONS VAULT GARLIC
!POSSESSIONS TERMINUS GIRLS
!POSSESSIONS DEND4 STATUE
!POSSESSIONS DEND5 TALISMAN
!POSSESSIONS CURVE3 CHEESE
!POSSESSIONS CUPBOARD RUBY
!POSSESSIONS MAIZE7 PAINTING
!POSSESSIONS ENCROOM EMERALDS
!POSSESSIONS DUSTROOM DUST
!POSSESSIONS PIT3 CRYSTALS
!POSSESSIONS LAB10 CROZIER
!POSSESSIONS LAB5 DWARF
!POSSESSIONS LAB6 MUMMY
!POSSESSIONS LAB7 ORC
!POSSESSIONS LAB8 ZOMBIE
!POSSESSIONS LAB9 KOBOLD
!POSSESSIONS CHAMBER WAND
!PROP CHAP1 LIGHT
!PROP CHAP2 LIGHT VISITED
!PROP CHAP3 LIGHT VISITED
!PROP COURT1 LIGHT SPACIOUS
!PROP COURT2 LIGHT SPACIOUS WATERY
!PROP COURT3 LIGHT SPACIOUS
!PROP SUBSROOM WATERY
!PROP FIRE1 LIGHT
!PROP H0 LIGHT DISORIENT
!PROP H1 LIGHT DISORIENT
!PROP H2 LIGHT DISORIENT
!PROP H3 LIGHT DISORIENT
!PROP H4 LIGHT DISORIENT
!PROP H5 LIGHT DISORIENT
!PROP H6 LIGHT DISORIENT
!PROP H7 LIGHT DISORIENT
!PROP H8 LIGHT DISORIENT
!PROP H9 LIGHT DISORIENT
!PROP H10 LIGHT DISORIENT
!PROP H11 LIGHT DISORIENT
!PROP PLAIN1 LIGHT SPACIOUS DISORIENT
!PROP PLAIN2 LIGHT SPACIOUS DISORIENT VISITED
!PROP PLAIN3 LIGHT SPACIOUS DISORIENT VISITED
!PROP PLAIN4 LIGHT SPACIOUS DISORIENT VISITED
!PROP PLAIN5 LIGHT SPACIOUS DISORIENT VISITED
!PROP PLAIN6 LIGHT SPACIOUS DISORIENT VISITED
!PROP ENDRM LIGHT
!PROP L1 LIGHT SPACIOUS DISORIENT
!PROP L2 LIGHT SPACIOUS DISORIENT
!PROP L3 LIGHT SPACIOUS DISORIENT
!PROP L4 LIGHT SPACIOUS DISORIENT
!PROP L5 LIGHT SPACIOUS DISORIENT
!PROP L6 LIGHT SPACIOUS DISORIENT
!PROP L7 LIGHT SPACIOUS DISORIENT
!PROP L8 LIGHT SPACIOUS DISORIENT
!PROP L9 LIGHT SPACIOUS DISORIENT
!PROP L10 LIGHT SPACIOUS DISORIENT
!PROP L11 LIGHT SPACIOUS DISORIENT
!PROP L13 LIGHT SPACIOUS DISORIENT
!PROP L14 LIGHT SPACIOUS DISORIENT
!PROP L15 LIGHT SPACIOUS DISORIENT
!PROP L16 LIGHT SPACIOUS DISORIENT
!PROP L17 LIGHT SPACIOUS DISORIENT
!PROP L18 LIGHT SPACIOUS DISORIENT
!PROP L19 LIGHT SPACIOUS DISORIENT
!PROP L20 LIGHT SPACIOUS DISORIENT
!PROP L21 LIGHT SPACIOUS DISORIENT
!PROP L22 LIGHT SPACIOUS DISORIENT
!PROP L23 LIGHT SPACIOUS DISORIENT
!PROP L24 LIGHT SPACIOUS DISORIENT
!PROP FOR1 LIGHT
!PROP FOR2 LIGHT
!PROP FOR3 LIGHT
!PROP FOR4 LIGHT
!PROP TERMINUS LIGHT
!PROP SNARKPIT DISORIENT
!PROP SN1 DROPLOSE DISORIENT
!PROP SN2 DROPLOSE
!PROP SN3 DROPLOSE
!PROP SN4 DROPLOSE
!PROP SN5 DROPLOSE
!PROP SN6 DROPLOSE
!PROP SN7 DROPLOSE
!PROP SN8 DROPLOSE
!PROP SN9 DROPLOSE
!PROP SNX DROPLOSE
!PROP DEPTHS DROPLOSE
!PROP MAIZE1 SPACIOUS LIGHT DISORIENT
!PROP MAIZE2 SPACIOUS LIGHT DISORIENT VISITED
!PROP MAIZE3 SPACIOUS LIGHT DISORIENT VISITED
!PROP MAIZE4 SPACIOUS LIGHT DISORIENT VISITED
!PROP MAIZE5 SPACIOUS LIGHT DISORIENT VISITED
!PROP MAIZE6 SPACIOUS LIGHT DISORIENT VISITED
!PROP MAIZE7 SPACIOUS LIGHT DISORIENT  / not visited as worth 12 pts
!PROP FISHROOM LIGHT
!PROP GROVE LIGHT SPACIOUS
!PROP COFFIN NOTAKE
!PROP GOBLET NOTAKE
!PROP LADY NOTAKE
!PROP SLAB NOTAKE
!PROP VAMPIRE NOTAKE
!PROP JACKDAW NOTAKE
!PROP BRUNN NOTAKE
!PROP TYRAN NOTAKE
!PROP FOUNTAIN NOTAKE
!PROP DRAGON NOTAKE
!PROP MURAL NOTAKE
!PROP GIRLS NOTAKE
!PROP STATUE NOTAKE
!PROP DUST NOTAKE
!PROP DWARF NOTAKE
!PROP ORC NOTAKE
!PROP MUMMY NOTAKE
!PROP ZOMBIE NOTAKE
!PROP KOBOLD NOTAKE
!VAR STRENGTH 8                     / Can carry 8 objects,
!VAR OBJHELD 0                      / and is not carrying any initially.
!VAR NOPTER 32
!VAR TYRDIST 6
!VAR HEXVAR 4 / ONLY 1,2,3 helpful
!VAR EGGVAR 8
!VAR GLOPVAR 6 / only 0 to 4 helpful
!VAR GARLVAR 10 / < 10 useful
!END
/
/  PRELIMINARY SECTION
/  -------------------
/
!PRECOMMAND PREPROG
!POSTCOMMAND POSTPROG
!WELCOME WELCPROG
/
/  Program-defined properties.
/
!PROPERTY LIGHT 0                / Light source (objects and rooms).
!PROPERTY INVIS 1                / Invisibility (objects only).
!PROPERTY HIDING 2               / Hides objects it holds (objects only).
!PROPERTY VISITED 1              / Visited (rooms only).
!PROPERTY DISORIENT 2            / "Disorientation" property (rooms only).
/
/ User-defined properties.
/
!PROPERTY NOTAKE 3               / Cannot be taken (objects only).
!PROPERTY ZAPPED 3    / Rooms only - destroyed by rockfall
!PROPERTY NOTN 4
!PROPERTY NOTE 5
!PROPERTY NOTS 6
!PROPERTY NOTW 7 / for use in LMAZE
!PROPERTY SPACIOUS 8 / can throw boom
!PROPERTY WATERY 9 / there is water here
!PROPERTY DROPLOSE 10 / mainly for snark passages
/
/ Directions.
/
!DIRECTION B                     / Dummy direction to make GO BACK work.
!DIRECTION D
!DIRECTION E
!DIRECTION N
!DIRECTION NE
!DIRECTION NW
!DIRECTION S
!DIRECTION SE
!DIRECTION SW
!DIRECTION U
!DIRECTION W
!DIRECTION H / for hex
/
/ Special meanings of words.
/
!SPECIAL ALLSPEC                 / To detect the word "ALL".
!SPECIAL DOORSPEC
!SPECIAL INVSPEC                 / To detect the word "INVENTORY".
!SPECIAL ONOFFSPEC
!SPECIAL LIDSPEC
!SPECIAL WATERSPEC
!SPECIAL COINSPEC
!SPECIAL FARESPEC
!SPECIAL WALTZSPEC
!SPECIAL RUNESPEC
/
/ Variables.
/
/ The four workspace variables must appear first.
!VARIABLE VAR0
!VARIABLE VAR1
!VARIABLE VAR2
!VARIABLE VAR3
/ Now other variables.
!VARIABLE OBJHELD
!VARIABLE STRENGTH
!VARIABLE LASTLOC
!VARIABLE LOITER
!VARIABLE NOPTER
!VARIABLE VCHECK
!VARIABLE TYRDIST
!VARIABLE HEXVAR
!VARIABLE PLAINVAR
!VARIABLE SNARKVAR
!VARIABLE EGGVAR
!VARIABLE CHEESEVAR
!VARIABLE GLOPVAR
!VARIABLE SPCOUNT
!VARIABLE DRCOUNT
!VARIABLE GARLVAR
!VARIABLE PENULT
/
/  OBJECTS SECTION
/  ---------------
/
/ Player must be first object.
!OBJECT PLAYER HOLDING HOLDING HOLDING
/ Now the objects for this database.
!OBJECT BOOM BOOM1 BOOM2 BOOM1
!OBJECT BOTTLE BOT1 BOT2 BOT1
!OBJECT COFFIN COFFM1 MNULL COFFM1
!OBJECT GOBLET GOB1 GOB2 GOB1
!OBJECT HEX HEX1 HEX2 HEX1
!OBJECT LADY LADY1 MNULL LADY1
!OBJECT LAMP LAMPMS1 LAMPMS2 LAMPMS1
!OBJECT ROD RODMS1 RODMS2 RODMS1
!OBJECT SLAB SLABMS1 MNULL SLABMS1
!OBJECT STEAK STEAKMS1 STEAKMS2 STEAKMS1
!OBJECT VAMPIRE VAMP1 MNULL VAMP1
!OBJECT DEEDS DEEDS1 DEEDS2 DEEDS1
!OBJECT JACKDAW JACKM JACKM2 JACKM
!OBJECT HELM HELM1 HELM2 HELM1
!OBJECT BRUNN BRUNN1 MNULL BRUNN1
!OBJECT COIN1 C1M1 C1M2 C1M1
!OBJECT COIN2 C2M1 C2M2 C2M1
!OBJECT COIN3 C3M1 C3M2 C3M1
!OBJECT COIN4 C4M1 C4M2 C4M1
!OBJECT COIN5 C5M1 C5M2 C5M1
!OBJECT COIN6 C6M1 C6M2 C6M1
!OBJECT COIN7 C7M1 C7M2 C7M1
!OBJECT COIN8 C8M1 C8M2 C8M1
!OBJECT TAPESTRY TAP1 MNULL TAP1
!OBJECT DUMMY MNULL MNULL MNULL   /  used in Hamil maze
!OBJECT RING RINGM1 RINGM2 RINGM1
!OBJECT CROWN CROWN1 CROWN2 CROWN1
!OBJECT TYRAN TYR1 MNULL TYR1
!OBJECT FOUNTAIN MNULL MNULL MNULL
!OBJECT DOG MNULL MNULL MNULL
!OBJECT BUST BUST1 BUST2 BUST1
!OBJECT WHISTLE WHIST1 WHIST2 WHIST1
!OBJECT PEARLS PEARLS1 PEARLS2 PEARLS1
!OBJECT EGG EGG1 EGG2 EGG1
!OBJECT MURAL MNULL MNULL MNULL
!OBJECT DRAGON DRAG1 MNULL DRAG1
!OBJECT SAPPHIRE SAP1 SAP2 SAP1
!OBJECT FOLIO FOLIO1 FOLIO2 FOLIO1
!OBJECT GARLIC GARLIC1 GARLIC2 GARLIC1
!OBJECT GIRLS MNULL MNULL MNULL
!OBJECT STATUE STATMESS MNULL STATMESS
!OBJECT TALISMAN TAL1 TAL2 TAL1
!OBJECT RUBY RUBY1 RUBY2 RUBY1
!OBJECT CHEESE CHEESE1 CHEESE2 CHEESE1
!OBJECT PAINTING PAINT1 PAINT2 PAINT1
!OBJECT EMERALDS EMER1 EMER2 EMER1
!OBJECT CRYSTALS CRY1 CRY2 CRY1
!OBJECT WHEEL WHEEL1 WHEEL2 WHEEL1
!OBJECT CROZIER CROZ1 CROZ2 CROZ1
!OBJECT DWARF DWA1 MNULL DWA1
!OBJECT MUMMY MUM1 MNULL MUM1
!OBJECT ORC ORC1 MNULL ORC1
!OBJECT ZOMBIE ZOM1 MNULL ZOM1
!OBJECT KOBOLD KOB1 MNULL KOB1
!OBJECT DUST MNULL MNULL MNULL
!OBJECT WAND WANDM1 WANDM2 WANDM1
/
/  ROOMS SECTION
/  -------------
/
/ Rooms for this database.
!ROOM CHAMBER CHAMBM1 CHAMBM2
!ROOM CHAP1 CHAP1MS1 CHAP1MS2
!ROOM CHAP2 CHAP2MS1 CHAP2MS2
!ROOM CHAP3 CHAP3MS1 CHAP3MS2
!ROOM CRYPT CRYPTMS1 CRYPTMS2
!ROOM PWROOM PWM1 PWM2
!ROOM VAMPROOM VAMPM1 VAMPM1
!ROOM MUS6 MUS61 MUS62
!ROOM WPASS WPASSM1 WPASSM1
!ROOM COURT1 COURT1M1 COURT1M2
!ROOM COURT2 COURT2M1 COURT2M2
!ROOM COURT3 COURT3M1 COURT3M2
!ROOM FORK1 FORK1M1 FORK1M1
!ROOM CURVE1 CURVE11 CURVE11
!ROOM CURVE2 CURVE21 CURVE21
!ROOM CURVE3 CURVE31 CURVE31
!ROOM DUSTROOM DUSTR1 DUSTR2
!ROOM HOBROOM HOBM1 HOBM2
!ROOM SUBSROOM SUBSM1 SUBSM2
!ROOM CAVE1 CAVE1M1 CAVE1M2
!ROOM CAVE2 CAVE21 CAVE22
!ROOM CAVE3 CAVE31 CAVE32
!ROOM FIRE1 FIRE1M1 FIRE1M1
!ROOM PLAIN1 PLAINM10 PLAINM11
!ROOM PLAIN2 PLAINM20 PLAINM21
!ROOM PLAIN3 PLAINM20 PLAINM21
!ROOM PLAIN4 PLAINM20 PLAINM21
!ROOM PLAIN5 PLAINM20 PLAINM21
!ROOM PLAIN6 PLAINM20 PLAINM21
!ROOM ENTERHAM ENTERM1 ENTERM2
!ROOM CURTROOM CURTR1 CURTR2
!ROOM FIRE2 FIRE2M1 FIRE2M2
!ROOM H0 HMAZE0 HMAZE
!ROOM H1 HMAZE HMAZE
!ROOM H2 HMAZE HMAZE
!ROOM H3 HMAZE HMAZE
!ROOM H4 HMAZE HMAZE
!ROOM H5 HMAZE HMAZE
!ROOM H6 HMAZE HMAZE
!ROOM H7 HMAZE HMAZE
!ROOM H8 HMAZE HMAZE
!ROOM H9 H9M1 H9M2
!ROOM H10 H10M1 H10M2
!ROOM H11 H11M1 H11M1
!ROOM ENDRM ENDRM1 ENDRM2
!ROOM VAULT VAULT1 VAULT2
!ROOM L1 LWMESS LWMESS
!ROOM L2 LWMESS LWMESS
!ROOM L3 LWMESS LWMESS
!ROOM L4 LWMESS LWMESS
!ROOM L5 LWMESS LWMESS
!ROOM L6 LWMESS LWMESS
!ROOM L7 LWMESS LWMESS
!ROOM L8 LWMESS LWMESS
!ROOM L9 LWMESS LWMESS
!ROOM L10 LWMESS LWMESS
!ROOM L11 LWMESS LWMESS
!ROOM L13 PLATEAU1 PLATEAU2
!ROOM L14 LWMESS LWMESS
!ROOM L15 LWMESS LWMESS
!ROOM L16 LWMESS LWMESS
!ROOM L17 LWMESS LWMESS
!ROOM L18 LWMESS LWMESS
!ROOM L19 LWMESS LWMESS
!ROOM L20 LWMESS LWMESS
!ROOM L21 LWMESS LWMESS
!ROOM L22 LWMESS LWMESS
!ROOM L23 LWMESS LWMESS
!ROOM L24 LWMESS LWMESS
!ROOM BELOWPLAT BELP1 BELP2
!ROOM MUS1 MUS11 MUS12
!ROOM MUS2 DENDM1 DENDM1
!ROOM MUS3 MUS31 MUS32
!ROOM MUS4 MUS41 MUS42
!ROOM MURALRM MURAL1 MURAL2
!ROOM FOR1 FOR11 FOR12
!ROOM FOR2 FOR21 FOR22
!ROOM FOR3 FOR31 FOR32
!ROOM FOR4 FOR41 FOR42
!ROOM SNARKPIT SPIT1 SPIT2
!ROOM SN1 SN10 SN10
!ROOM SN2 SN20 SN20
!ROOM SN3 SN30 SN30
!ROOM SN4 SN40 SN40
!ROOM SN5 SN50 SN50
!ROOM SN6 SN60 SN60
!ROOM SN7 SN70 SN70
!ROOM SN8 SN80 SN80
!ROOM SN9 SN90 SN90
!ROOM SNX SNX0 SNX0
!ROOM DEPTHS DEP1 DEP2
!ROOM TERMINUS TER1 TER1
!ROOM MUS5 MUS51 MUS52
!ROOM DEND4 DENDM1 DENDM1
!ROOM DEND5 DENDM1 DENDM1
!ROOM CORRIDOR CORR1 CORR2
!ROOM DEND6 DENDM1 DENDM1
!ROOM FISHROOM FISH1 FISH2
!ROOM CUPBOARD CUP1 CUP1
!ROOM GROVE GROVE1 GROVE2
!ROOM MAIZE1 MAIZEL MAIZES
!ROOM MAIZE2 MAIZEL MAIZES
!ROOM MAIZE3 MAIZEL MAIZES
!ROOM MAIZE4 MAIZEL MAIZES
!ROOM MAIZE5 MAIZEL MAIZES
!ROOM MAIZE6 MAIZEL MAIZES
!ROOM MAIZE7 MAIZEL MAIZES
!ROOM FORK2 FORK2M1 FORK2M1
!ROOM FORK3 FORK3M1 FORK3M1
!ROOM LAB0 LABM LABM
!ROOM LAB1 LABM LABM
!ROOM LAB2 LABM LABM
!ROOM LAB3 LABM LABM
!ROOM LAB4 LABM LABM
!ROOM LAB5 LABM LABM
!ROOM LAB6 LABM LABM
!ROOM LAB7 LABM LABM
!ROOM LAB8 LABM LABM
!ROOM LAB9 LABM LABM
!ROOM LAB10 LABM2 LABM2
!ROOM PIT1 PIT11 PIT12
!ROOM PIT2 PIT21 PIT22
!ROOM PIT3 PIT31 PIT31
!ROOM ENCROOM DENDM1 DENDM1
/
/  EXITS SECTION
/  -------------
/
!EXIT CHAMBER
N CRYPT
NW MURALRM SETMURAL
W WPASS
SW FORK1
S HOBROOM
SE SUBSROOM
E FIRE1
NE ENTERHAM
!EXIT CHAP1
E CHAP2
N CHAP1 KILLCHAP
!EXIT CHAP2
W CHAP1
E CHAP3
D CRYPT OGPROG
!EXIT CHAP3
W CHAP2
!EXIT CRYPT
W VAMPROOM
S CHAMBER JACKPLACE
E PWROOM
!EXIT PWROOM
W CRYPT
E CURTROOM CHECKDOOR
!EXIT VAMPROOM
E CRYPT
!EXIT WPASS
E CHAMBER
SW COURT3
!EXIT COURT1
E COURT2
W ENDRM PORTPROG
!EXIT COURT2
W COURT1
E COURT3
N MUS1
S FOR1
!EXIT COURT3
W COURT2
NE WPASS
!EXIT ENDRM
E COURT1 PORT2
N VAULT
!EXIT VAULT
S ENDRM
!EXIT FORK1
W CURVE1
S CORRIDOR
NE CHAMBER
!EXIT CURVE1
E FORK1
SW FORK2
!EXIT CURVE2
E CORRIDOR
NW FORK2
!EXIT HOBROOM
N CHAMBER
!EXIT SUBSROOM
E CAVE1
S PLAIN1
U PLAIN1
NW CHAMBER
!EXIT CAVE1
W SUBSROOM
NE L8 TYRSTART
!EXIT FIRE1
W CHAMBER
E FIRE2 FLAMEPROG
!EXIT FIRE2
W FIRE1
!EXIT ENTERHAM
SW CHAMBER
E H0 TREMORPROG
!EXIT CURTROOM
W PWROOM
!EXIT H0
E H3 HEPROG
!EXIT H1
E H2 HEPROG
S H3 HSPROG
!EXIT H2
S H4 HSPROG
SW H3 HSWPROG
W H1 HWPROG
!EXIT H3
N H1 HNPROG
NE H2 HNEPROG
E H4 HEPROG
SE H6 HSEPROG
S H5 HSPROG
!EXIT H4
N H2 HNPROG
S H6 HSPROG
SW H5 HSWPROG
W H3 HWPROG
!EXIT H5
N H3 HNPROG
NE H4 HNEPROG
E H6 HEPROG
S H7 HSPROG
!EXIT H6
N H4 HNPROG
E H9 HEPROG
S H8 HSPROG
SW H7 HSWPROG
W H5 HWPROG
!EXIT H7
N H5 HNPROG
NE H6 HNEPROG
E H8 HEPROG
!EXIT H8
N H6 HNPROG
W H7 HWPROG
!EXIT H10
S H11
!EXIT H11
N H10
W ENTERHAM TREMOR2
!EXIT L1
E L2 LEPROG
S L4 LSPROG
!EXIT L2
W L1 LWPROG
S L5 LSPROG
!EXIT L3
E L4 LEPROG
S L7 LSPROG
!EXIT L4
N L1 LNPROG
E L5 LEPROG
S L8 LSPROG
W L3 LWPROG
!EXIT L5
N L2 LNPROG
E L6 LEPROG
S L9 LSPROG
W L4 LWPROG
!EXIT L6
W L5 LWPROG
S L10 LSPROG
!EXIT L7
N L3 LNPROG
E L8 LEPROG
!EXIT L8
N L4 LNPROG
E L9 LEPROG
S L15 LSPROG
D L13 ENTERPLAT
SE L13 ENTERPLAT
W L7 LWPROG
!EXIT L9
N L5 LNPROG
E L10 LEPROG
S L16 LSPROG
W L8 LWPROG
!EXIT L10
N L6 LNPROG
E L11 LEPROG
S L17 LSPROG
W L9 LWPROG
!EXIT L11
S L18 LSPROG
W L10 LWPROG
!EXIT L13
D BELOWPLAT WTTYR
!EXIT L14
E L15 LEPROG
S L19 LSPROG
!EXIT L15
N L8 LNPROG
E L16 LEPROG
S L20 LSPROG
W L14 LWPROG
!EXIT L16
N L9 LNPROG
E L17 LEPROG
S L21 LSPROG
W L15 LWPROG
!EXIT L17
N L10 LNPROG
E L18 LEPROG
S L22 LSPROG
W L16 LWPROG
!EXIT L18
N L11 LNPROG
W L17 LWPROG
!EXIT L19
N L14 LNPROG
E L20 LEPROG
!EXIT L20
N L15 LNPROG
E L21 LEPROG
S L23 LSPROG
W L19 LWPROG
!EXIT L21
N L16 LNPROG
E L22 LEPROG
S L24 LSPROG
W L20 LWPROG
!EXIT L22
N L17 LNPROG
W L21 LWPROG
!EXIT L23
N L20 LNPROG
E L24 LEPROG
!EXIT L24
N L21 LNPROG
W L23 LWPROG
!EXIT BELOWPLAT
U L13 TYRMANGL
W CAVE2
!EXIT CAVE2
E BELOWPLAT
D CAVE1 SCRAM
!EXIT PLAIN1
N SUBSROOM
D SUBSROOM
NE PLAIN1 DIEPLAIN
E PLAIN1 DIEPLAIN
NW PLAIN1 DIEPLAIN
W PLAIN1 DIEPLAIN
S PLAIN2 PLAINS
SE PLAIN2 PLAINSE
SW PLAIN2 PLAINSW
H PLAIN2
!EXIT PLAIN2
N PLAIN1 PLAINN
NE PLAIN1 PLAINNE
NW PLAIN1 PLAINNW
E PLAIN2 DIEPLAIN
W PLAIN2 DIEPLAIN
SE PLAIN3 PLAINSE
SW PLAIN3 PLAINSW
S PLAIN3 PLAINS
H PLAIN3
!EXIT PLAIN3
N PLAIN2 PLAINN
NE PLAIN2 PLAINNE
NW PLAIN2 PLAINNW
E PLAIN3 DIEPLAIN
W PLAIN3 DIEPLAIN
SE PLAIN4 PLAINSE
SW PLAIN4 PLAINSW
S PLAIN4 PLAINS
H PLAIN4
!EXIT PLAIN4
N PLAIN3 PLAINN
NE PLAIN3 PLAINNE
NW PLAIN3 PLAINNW
E PLAIN4 DIEPLAIN
W PLAIN4 DIEPLAIN
SE PLAIN5 PLAINSE
SW PLAIN5 PLAINSW
S PLAIN5 PLAINS
H PLAIN5
!EXIT PLAIN5
N PLAIN4 PLAINN
NE PLAIN4 PLAINNE
NW PLAIN4 PLAINNW
E PLAIN5 DIEPLAIN
W PLAIN5 DIEPLAIN
SE PLAIN6 PLAINSE
SW PLAIN6 PLAINSW
S PLAIN6 PLAINS
H PLAIN6
!EXIT PLAIN6
N PLAIN5 PLAINN
NE PLAIN5 PLAINNE
NW PLAIN5 PLAINNW
SE PLAIN6 DIEPLAIN
S PLAIN6 DIEPLAIN
SW PLAIN6 DIEPLAIN
W PLAIN6 DIEPLAIN
E PLAIN6 DIEPLAIN
H CHAP1 / hex here player never
!EXIT MUS1
N MUS5
W MUS2
E MUS3
S COURT2
!EXIT MUS2
E MUS1
!EXIT MUS3
W MUS1
E MUS4
!EXIT FOR1
N COURT2
SE FOR3
SW FOR2
!EXIT FOR2
NE FOR1
E FOR3
SE FOR4
W MAIZE1
!EXIT FOR3
NW FOR1
W FOR2
SW FOR4
E CAVE3 BRUSHPROG
!EXIT FOR4
NE FOR3
NW FOR2
S GROVE GROVEPROG
!EXIT CAVE3
W FOR3
!EXIT MURALRM
SE CHAMBER PAUSEHINT
NW DUSTROOM PAUSEHINT
!EXIT MUS4
W MUS3
D SNARKPIT
!EXIT SNARKPIT
U MUS4
D SN1 RANDSN
N SN1 SNENT0
NE SN1 SNENT1
E SN1 SNENT2
SE SN1 SNENT3
S SN1 SNENT4
SW SN1 SNENT5
W SN1 SNENT6
NW SN1 SNENT7
!EXIT SN1
U SNARKPIT
D SN2
!EXIT SN2
U SN1
D SN3
!EXIT SN3
U SN2
D SN4
!EXIT SN4
U SN3
D SN5
!EXIT SN5
U SN4
D SN6
!EXIT SN6
U SN5
D SN7
!EXIT SN7
U SN6
D SN8
!EXIT SN8
U SN7
D SN9
!EXIT SN9
U SN8
D SNX
!EXIT SNX
U SN9
D DEPTHS MEETSNARK
!EXIT DEPTHS
U SNX
!EXIT MUS5
N DEND4
E MUS6
W DEND5
S MUS1
!EXIT CORRIDOR
N FORK1
S FISHROOM FISHPROG
E CURVE3
W CURVE2
!EXIT DEND4
S MUS5
!EXIT DEND5
E MUS5
!EXIT FISHROOM
N CORRIDOR
S CUPBOARD FISHP2
!EXIT CUPBOARD
N FISHROOM
!EXIT GROVE
N FOR4
!EXIT MAIZE1
W FOR2
E MAIZE2
!EXIT MAIZE2
N MAIZE1
SE MAIZE3
!EXIT MAIZE3
N MAIZE1
S MAIZE1
NE MAIZE2
SW MAIZE4
!EXIT MAIZE4
S MAIZE2
E MAIZE2
NW MAIZE3
W MAIZE5
!EXIT MAIZE5
E MAIZE3
NE MAIZE3
NW MAIZE4
SE MAIZE6
!EXIT MAIZE6
SW MAIZE4
NE MAIZE4
SE MAIZE5
E MAIZE7 SETVIS
!EXIT MAIZE7
E MAIZE5
NW MAIZE5
NE MAIZE6
!EXIT MUS6
W MUS5
E DUSTROOM
!EXIT DUSTROOM
SE MURALRM SETMURAL
W MUS6
!EXIT FORK2
W ENCROOM ENCPROG
NE CURVE1
SE CURVE2
!EXIT FORK3
S LAB0
E PIT1
NW CURVE3
!EXIT CURVE3
W CORRIDOR
SE FORK3
!EXIT ENCROOM
E FORK2
!EXIT PIT1
W FORK3
E PIT2 TESTMONST
!EXIT PIT2
W PIT1
E PIT3
D PIT2 INTOPIT
!EXIT PIT3
W PIT2
!EXIT LAB0
N FORK3
NW LAB1
NE LAB5
E LAB5
SE LAB5
S LAB5
SW LAB5
W LAB5
!EXIT LAB1
S LAB0
N LAB2
NE LAB6
E LAB6
SE LAB6
SW LAB6
W LAB6
NW LAB6
!EXIT LAB2
NW LAB1
SE LAB3
N LAB5
NE LAB5
E LAB5
S LAB7
SW LAB7
W LAB7
!EXIT LAB3
W LAB2
E LAB4
N LAB6
NE LAB6
SE LAB6
S LAB8
SW LAB8
NW LAB8
!EXIT LAB4
SE LAB3
N LAB9
NE LAB9
E LAB9
S LAB9
SW LAB7
W LAB7
NW LAB7
!EXIT LAB5
SW LAB0
N LAB2
NE LAB5
E LAB5
SE LAB5
S LAB5
W LAB5
NW LAB5
!EXIT LAB6
W LAB1
NE LAB3
N LAB6
E LAB6
SE LAB6
S LAB6
SW LAB6
NW LAB6
!EXIT LAB7
W LAB2
E LAB4
N LAB7
NE LAB7
SE LAB7
S LAB7
SW LAB7
NW LAB7
!EXIT LAB8
E LAB3
W LAB9
N LAB8
NE LAB8
SE LAB8
S LAB8
SW LAB8
NW LAB8
!EXIT LAB9
S LAB4
NW LAB10
N LAB8
NE LAB8
E LAB8
SE LAB8
SW LAB8
W LAB8
!EXIT LAB10
SE LAB9
/
/  INSTRUCTIONS SECTION
/  --------------------
/
!INSTRUCTIONS

ADPROG:
LOAD V VAR0 I 2
GO GZAAN

ARCPROG:
LOAD V VAR0 I 3
GO GZAAN

BLOWPROG:
SKIP UNLESS R ()O EQ WHISTLE
GO WHPROG
RETURN RETRY NONE CANT

BREAKPROG:
SKIP IF H ()O PLAYER
PRINTRET NOTHELD
SKIP UNLESS R ()O EQ EGG
PRINTRET NOEGGBREAK
SKIP3 UNLESS R ()O EQ BOTTLE
MOVE BOTTLE WITH DESTROY
SUB V OBJHELD I 1
PRINTRET OGREMESS
PRINTRET CANTDO

BRUSHPROG:
SKIP2 IF S FOR3 EQ 0
SKIP3 IF R (DRAGON)R EQ FOR3
RETURN
PRINT NOWAYMESS
RETURN ABORT
PRINT DRAGBLOCK
RETURN ABORT

CHECKDOOR:
SKIP2 IF S PWROOM EQ 1
PRINT DOORBLOCK
RETURN ABORT
RETURN

CLOSECOFF:
SKIP IF R (PLAYER)R EQ (COFFIN)R
PRINTRET NOTHERE
SKIP IF S COFFIN EQ 1
PRINTRET COFFACL
LOAD S COFFIN I 2
PRINTRET OKMESS

CLOSEDOOR:
SKIP2 IF R (PLAYER)R EQ CURTROOM
SKIP IF R (PLAYER)R EQ PWROOM
PRINTRET NOTHERE
SKIP IF S PWROOM EQ 1
PRINTRET ALRCLOSED
PRINTRET DOORHEAVY

CLOSEPROG:
SKIP UNLESS M W2SP DOORSPEC
GO CLOSEDOOR
SKIP UNLESS M W2SP LIDSPEC
GO CLOSECOFF
SKIP IF M W2OB
RETURN RETRY NONE CANT
SKIP UNLESS R ()O EQ COFFIN
GO CLOSECOFF
PRINTRET CANTDO

DANCEPROG:
LOAD V VAR0 R 3
PRINTRET DANCEM VAR0

DIEPLAIN:
PRINT GROUNDSUBS
GO DIEPROG

DIEPROG:
PRINT OHDEAR
GOSUB SCORESUB
PRINT SCOREM2
GO QUITS

DIGPROG:
SKIP UNLESS R (PLAYER)R EQ DUSTROOM
PRINTRET NOFIND
PRINTRET CANTDIG

DREADPROG:
LOAD V VAR0 I 0
GO PASSPROG

DRINKPROG:
SKIP2 UNLESS M W2EX
SKIP IF M W2SP WATERSPEC
PRINTRET CANTDO
SKIP4 IF P WATERY (PLAYER)R
SKIP UNLESS H BOTTLE PLAYER
SKIP IF S BOTTLE EQ 2
PRINTRET NODRINK
LOAD S BOTTLE I 1
PRINTRET RELUCDRINK

DROPDUST:
SKIP3 IF R (VAR0)O EQ JACKDAW
SKIP2 IF R (VAR0)O EQ GARLIC
SKIP IF R (VAR0)O EQ STEAK
SKIP UNLESS R (VAR0)O EQ CHEESE
LOAD S (VAR0)O I 2 / poisoned
GO DROPCL

/ Subroutine to drop the object referred to by the reference in VAR0.
/ This should already be in the player's possession.
DROPSUB:
MOVE (VAR0)O WITH TO (PLAYER)R  / Move the object.
SUB V OBJHELD I 1               / Update OBJHELD.
SKIP3 UNLESS P DROPLOSE (PLAYER)R
MOVE (VAR0)O WITH DESTROY
PRINT FALLSAWAY
RETURN
SKIP UNLESS R (PLAYER)R EQ DUSTROOM
GO DROPDUST
DROPCL:
SKIP UNLESS R (VAR0)O EQ (HEX)O
GO DROPHEX
DHX1:
RETURN

/ Main DROP program.
DROPPROG:
/ Command decoding section.
SKIP IF M W2EX                  / Is it "DROP"?
GO DROPFIRST
SKIP UNLESS M W2SP ALLSPEC      / Is it "DROP ALL"?
GO DROPALL
SKIP UNLESS M W2SP WATERSPEC
GO DROPWATER
SKIP4 UNLESS M W2SP COINSPEC
DROPPAY:
SKIP IF R (PLAYER)R LT H1
SKIP UNLESS R (PLAYER)R GT H9
PRINTRET NOCOINS
GO DROPALL
SKIP IF M W2OB                  / Must be "DROP object".
RETURN RETRY NONE CANT          / Induce "I don't understand
                                / that!" if not.
DROPSY:
/ Now check he has the object.
SKIP IF H ()O PLAYER
PRINTRET NOTHELD
/ And drop it.
RESOLVE VAR0 ()O
GOSUB DROPSUB
PRINTRET OKMESS

/ Drop the first object held by the player.
DROPFIRST:
RESOLVE VAR0 (PLAYER)D
SKIP UNLESS V VAR0 EQ 0         / Holding anything?
PRINTRET NOTHOLDING
GOSUB DROPSUB
PRINTRET OKMESS

/ Drop all objects held by the player.  Keep count in VAR3.
DROPALL:
LOAD V VAR3 I 0
RESOLVE VAR0 (PLAYER)D
SKIP UNLESS V VAR0 EQ 0
PRINTRET NOTHOLDING
DROPA1:
GOSUB DROPSUB
ADD V VAR3 I 1
RESOLVE VAR0 (PLAYER)D
SKIP IF V VAR0 EQ 0
GO DROPA1
PRINTRET DROPOBJ1 VAR3

DROPHEX:
SKIP3 UNLESS S HEX EQ 0
LOAD S HEX I 1
PRINT HEXDIES
GO DHX1
SKIP3 UNLESS S HEX EQ 2
SKIP3 IF R (PLAYER)R EQ PLAIN1
MOVE HEX WITH DESTROY
PRINT HEXRAN
GO DHX1
MOVE HEX WITH TO PLAIN2
LOAD V HEXVAR R 2
ADD V HEXVAR I 1
LOAD V VAR1 V HEXVAR
PRINT HEXMOVES VAR1
LOAD S PLAIN2 V VAR1
GO DHX1

DROPWATER:
SKIP UNLESS H BOTTLE PLAYER
SKIP IF S BOTTLE EQ 2
PRINTRET NHOLDWATER
GO EMPTYSUC

EATPROG:
SKIP IF R ()R EQ (PLAYER)R
PRINTRET NOTHERE
SKIP UNLESS R ()O EQ STEAK
GO EATFOOD
SKIP UNLESS R ()O EQ HEX
PRINTRET CRUELHEX
SKIP UNLESS R ()O EQ JACKDAW
PRINTRET RATHERNOT
SKIP UNLESS R ()O EQ EGG
PRINTRET NOEATEGG
SKIP UNLESS R ()O EQ GARLIC
GO EATFOOD
SKIP UNLESS R ()O EQ CHEESE
GO EATFOOD
PRINTRET CANTEAT

EATFOOD:
SKIP IF R ()U EQ PLAYER
PRINTRET NOTHELD
SKIP2 UNLESS S ()O EQ 2
PRINT POISON
GO DIEPROG
MOVE ()O WITH DESTROY
SUB V OBJHELD I 1
SKIP UNLESS R ()O EQ CHEESE
LOAD V CHEESEVAR I 0
SKIP UNLESS R ()O EQ GARLIC
LOAD V GARLVAR I 0
PRINTRET RELUCTEAT

EMPTYPROG:
SKIP IF R ()O EQ BOTTLE
PRINTRET CANTDO
EMPTYBOT:
SKIP IF H BOTTLE PLAYER
PRINTRET NOBOTTLE
SKIP UNLESS S BOTTLE EQ 0
PRINTRET BOTSEALED
SKIP UNLESS S BOTTLE EQ 1
PRINTRET BOTEMPTY
EMPTYSUC:
LOAD S BOTTLE I 1
SKIP2 UNLESS R (PLAYER)R EQ (DRAGON)R
MOVE DRAGON WITH DESTROY
PRINTRET WGDRAG
SKIP UNLESS R (PLAYER)R EQ FIRE1
SKIP IF S FIRE1 EQ 0
PRINTRET OKMESS
LOAD S FIRE1 I 1
UNSET LIGHT FIRE1
PRINTRET EXTINGUISH

ENCPROG:
SKIP UNLESS V GARLVAR LT 10
PRINTRET WTENCH
PRINT ENCHANT
GO DIEPROG

ENTERPLAT:
SKIP UNLESS V NOPTER LT 1
GO ENPTERO
LOAD V VAR0 V NOPTER
PRINT PTEROGET
GO DIEPROG

ENPTERO:
MOVE TYRAN WITH TO L13
PRINTRET TYRTRAP

FAREPROG:
MOVE PLAYER WITH TO H10
LOAD V VAR0 I 0
SKIP UNLESS R (COIN1)R EQ H9
ADD V VAR0 I 1
SKIP UNLESS R (COIN2)R EQ H9
ADD V VAR0 I 1
SKIP UNLESS R (COIN3)R EQ H9
ADD V VAR0 I 1
SKIP UNLESS R (COIN4)R EQ H9
ADD V VAR0 I 1
SKIP UNLESS R (COIN5)R EQ H9
ADD V VAR0 I 1
SKIP UNLESS R (COIN6)R EQ H9
ADD V VAR0 I 1
SKIP UNLESS R (COIN7)R EQ H9
ADD V VAR0 I 1
SKIP UNLESS R (COIN8)R EQ H9
ADD V VAR0 I 1
SKIP2 UNLESS V VAR0 EQ 8
PRINT GIANTHAND
RETURN LOOK
FAREMORE:
MOVE PLAYER WITH TO H9
SKIP IF V VAR0 GT 0
PRINTRET FARESPLEASE
PRINTRET FULLFARE

FEEDPROG:
SKIP IF R ()R EQ (PLAYER)R
PRINTRET NOTHERE
SKIP UNLESS R ()O EQ VAMPIRE
RETURN
SKIP3 UNLESS R ()O EQ LADY
SKIP UNLESS S LADY EQ 1
PRINTRET OHYEAH
GO KILLHOB
SKIP2 UNLESS R ()O EQ TYRAN
PRINT YOUDOFT
GO DIEPROG
SKIP UNLESS R ()O EQ JACKDAW
PRINTRET OHYEAH
SKIP UNLESS R ()O EQ DRAGON
PRINTRET DNOTHUNG
SKIP4 IF R ()O EQ ZOMBIE
SKIP3 IF R ()O EQ DWARF
SKIP2 IF R ()O EQ ORC
SKIP IF R ()O EQ MUMMY
SKIP UNLESS R ()O EQ KOBOLD
PRINTRET NOFOOD
SKIP IF R ()O EQ HEX
PRINTRET CANTDO
SKIP UNLESS S HEX EQ 1
PRINTRET OHYEAH
SKIP IF H STEAK PLAYER
PRINTRET NOFOOD
SKIP UNLESS S STEAK EQ 2
PRINTRET UNAPP
SUB V OBJHELD I 1
MOVE STEAK WITH DESTROY
SKIP2 IF H HEX PLAYER
MOVE HEX WITH DESTROY
PRINTRET WTHEX
LOAD S HEX I 2
PRINTRET HEXGURGLES

FILLPROG:
SKIP UNLESS R ()O EQ GOBLET
PRINTRET NOGOBWAT
SKIP IF R ()O EQ BOTTLE
RETURN RETRY NONE CANT
FILLBOTTLE:
SKIP IF H BOTTLE PLAYER
PRINTRET NOBOTTLE
SKIP UNLESS S BOTTLE EQ 0
PRINTRET BOTSEALED
SKIP UNLESS S BOTTLE EQ 2
PRINTRET BOTFULL
SKIP2 IF M W2SP WATERSPEC
SKIP UNLESS R (PLAYER)R EQ DUSTROOM
PRINTRET TOONARROW
SKIP IF P WATERY (PLAYER)R
PRINTRET NOWATER
LOAD S BOTTLE I 2
PRINTRET OKMESS

FISHPROG:
SKIP UNLESS S FISHROOM EQ 2
RETURN
LOAD S FISHROOM I 0
SKIP2 UNLESS P LIGHT LAMP
SKIP2 IF H LAMP PLAYER
SKIP IF R (LAMP)R EQ FISHROOM
LOAD S FISHROOM I 1
RETURN

FISHP2:
SKIP2 IF S FISHROOM EQ 2
PRINT NOWAYMESS
RETURN ABORT
RETURN

FLAMEPROG:
SKIP2 IF S FIRE1 EQ 1
PRINT FLAMESBLOCK
RETURN ABORT
RETURN

GLOOPPROG:
LOAD V VAR0 I 0
GO GZAAN

GROVEPROG:
SKIP IF V CHEESEVAR LT 6
PRINTRET SLEEPBAD
LOAD V CHEESEVAR I 10 / one dream only
LOAD V GLOPVAR R 4
LOAD V VAR0 V GLOPVAR
PRINTRET SLEEPGOOD VAR0

GZAAN:
LOAD V VAR1 V GLOPVAR
SUB V VAR1 V VAR0
SKIP IF V VAR1 EQ 0
PRINTRET NHAPPENS
SKIP UNLESS R (PLAYER)R EQ DEND4
SKIP IF R (STATUE)R EQ DEND4
PRINTRET NHAPPENS
MOVE STATUE WITH TO VAULT
PRINTRET STATWALKS

HNPROG:
LOAD V VAR0 I 0
GO HCOMMON

HNEPROG:
LOAD V VAR0 I 1
GO HCOMMON

HEPROG:
LOAD V VAR0 I 2
GO HCOMMON

HSEPROG:
LOAD V VAR0 I 3
GO HCOMMON

HSPROG:
LOAD V VAR0 I 4
GO HCOMMON

HSWPROG:
LOAD V VAR0 I 5
GO HCOMMON

HWPROG:
LOAD V VAR0 I 6
GO HCOMMON

HNWPROG:
LOAD V VAR0 I 7
GO HCOMMON

HCOMMON:
MOVE DUMMY WITH TO (PLAYER)R
SKIP UNLESS V VAR0 EQ 0
MOVE DUMMY WITH DIR N
SKIP UNLESS V VAR0 EQ 1
MOVE DUMMY WITH DIR NE
SKIP UNLESS V VAR0 EQ 2
MOVE DUMMY WITH DIR E
SKIP UNLESS V VAR0 EQ 3
MOVE DUMMY WITH DIR SE
SKIP UNLESS V VAR0 EQ 4
MOVE DUMMY WITH DIR S
SKIP UNLESS V VAR0 EQ 5
MOVE DUMMY WITH DIR SW
SKIP UNLESS V VAR0 EQ 6
MOVE DUMMY WITH DIR W
SKIP UNLESS V VAR0 EQ 7
MOVE DUMMY WITH DIR NW
SKIP3 UNLESS P ZAPPED (DUMMY)R
MOVE DUMMY WITH DESTROY
PRINT NOWAYMESS
RETURN ABORT
MOVE DUMMY WITH DESTROY
SET ZAPPED (PLAYER)R
PRINTRET EARTHQUAKE

HORDEPROG:
LOAD V VAR0 I 1
GO PASSPROG

INTOPIT:
PRINT DIVEPIT
GO DIEPROG

/ Program to do INVENTORY command.
INVPROG:
SET LIGHT PLAYER                / Ensure place is lit.
DESCRIBE WITH PLAYER            / Describe player & possessions.
UNSET LIGHT PLAYER              / Get rid of light again.
SKIP IF E (PLAYER)D             / Print "Nothing." if he's
PRINT NOTHINGM                  /   not carrying anything.
RETURN

JACKPLACE:
SKIP3 UNLESS S JACKDAW EQ 0
RESOLVE VAR0 (COURT1)R
ADD V VAR0 R 2
MOVE JACKDAW WITH TO (VAR0)R
RETURN

KILLCHAP:
LOAD V VAR0 R 2
PRINT KCHAPMESS VAR0
GO DIEPROG

KILLPROG:
SKIP IF R ()R EQ (PLAYER)R
PRINTRET NOTHERE
SKIP3 UNLESS R ()O EQ HEX
SKIP UNLESS S HEX EQ 1
PRINTRET ALRDEAD
PRINTRET CRUELHEX
SKIP4 UNLESS R ()O EQ LADY
SKIP UNLESS S LADY EQ 1
PRINTRET ALRDEAD
KILLHOB:
PRINT DIEHOBMS
GO DIEPROG
SKIP UNLESS R ()O EQ VAMPIRE
RETURN
SKIP UNLESS R ()O EQ BRUNN
PRINTRET BARRIER
SKIP2 UNLESS R ()O EQ GIRLS
PRINT KARATE
GO DIEPROG
SKIP3 UNLESS R ()O EQ TYRAN
LOAD V VAR0 S TYRAN
PRINT TYRFUTILE VAR0
GO DIEPROG
SKIP3 UNLESS R ()O EQ JACKDAW
SKIP UNLESS S JACKDAW EQ 0
PRINTRET OHYEAH
PRINTRET ALRDEAD
SKIP2 UNLESS R ()O EQ DRAGON
PRINT INCIN
GO DIEPROG
SKIP2 UNLESS R ()O EQ DWARF
PRINT DIEDWARF
GO DIEPROG
SKIP2 UNLESS R ()O EQ MUMMY
PRINT DIEMUM
GO DIEPROG
SKIP2 UNLESS R ()O EQ ORC
PRINT DIEORC
GO DIEPROG
SKIP2 UNLESS R ()O EQ ZOMBIE
PRINT DIEZOM
GO DIEPROG
SKIP2 UNLESS R ()O EQ KOBOLD
PRINT DIEKOB
GO DIEPROG
PRINTRET CANTDO

LAMPPROG:
SKIP UNLESS M W2SP ONOFFSPEC
RETURN RETRY IGNORE MAY ANY
RETURN RETRY OBJECT CANT

LEPROG:
SKIP2 UNLESS P NOTE (PLAYER)R
PRINT SORRYBLOCK
RETURN ABORT
MOVE DUMMY WITH TO (PLAYER)R
MOVE DUMMY WITH DIR E
SET NOTE (PLAYER)R
SET NOTW (DUMMY)R
MOVE TYRAN WITH TO (DUMMY)R
MOVE DUMMY WITH DESTROY
SUB V NOPTER I 1
PRINTRET TYRAVAL

LNPROG:
SKIP2 UNLESS P NOTN (PLAYER)R
PRINT SORRYBLOCK
RETURN ABORT
MOVE DUMMY WITH TO (PLAYER)R
MOVE DUMMY WITH DIR N
SET NOTN (PLAYER)R
SET NOTS (DUMMY)R
MOVE TYRAN WITH TO (DUMMY)R
MOVE DUMMY WITH DESTROY
SUB V NOPTER I 1
PRINTRET TYRAVAL

LSPROG:
SKIP2 UNLESS P NOTS (PLAYER)R
PRINT SORRYBLOCK
RETURN ABORT
MOVE DUMMY WITH TO (PLAYER)R
MOVE DUMMY WITH DIR S
SET NOTS (PLAYER)R
SET NOTN (DUMMY)R
MOVE TYRAN WITH TO (DUMMY)R
MOVE DUMMY WITH DESTROY
SUB V NOPTER I 1
PRINTRET TYRAVAL

LWPROG:
SKIP2 UNLESS P NOTW (PLAYER)R
PRINT SORRYBLOCK
RETURN ABORT
MOVE DUMMY WITH TO (PLAYER)R
MOVE DUMMY WITH DIR W
SET NOTW (PLAYER)R
SET NOTE (DUMMY)R
MOVE TYRAN WITH TO (DUMMY)R
MOVE DUMMY WITH DESTROY
SUB V NOPTER I 1
PRINTRET TYRAVAL

LIFTLID:
SKIP IF R (PLAYER)R EQ (COFFIN)R
PRINTRET NOTHERE
SKIP UNLESS S COFFIN EQ 1
PRINTRET COFFAOP
SKIP2 UNLESS S COFFIN EQ 2
LOAD S COFFIN I 1
PRINTRET OKMESS
LOAD S COFFIN I 1
MOVE VAMPIRE WITH TO (COFFIN)R
LOAD V VCHECK I 1
MOVE DEEDS WITH TO (COFFIN)R
PRINTRET VAMPAPPS

LIFTPROG:
SKIP UNLESS M W2SP LIDSPEC
GO LIFTLID
SKIP IF M W2OB
RETURN RETRY NONE CANT
SKIP IF R (PLAYER)R EQ ()R
PRINTRET NOTHERE
SKIP UNLESS R ()O EQ SLAB
GO LIFTSLAB
SKIP UNLESS R PLAYER EQ ()U
PRINTRET ALRHELD
SKIP UNLESS R ()O EQ MURAL
PRINTRET CANTLIFT
SKIP UNLESS P NOTAKE ()O
PRINTRET TOOHEAVY
PRINTRET PICKDROP

LIFTSLAB:
SKIP UNLESS S SLAB EQ 1
PRINTRET NOHIGHER
SKIP IF H ROD PLAYER
PRINTRET TOOHEAVY
MOVE ROD WITH TO (PLAYER)R
SUB V OBJHELD I 1
LOAD S ROD I 1
LOAD S SLAB I 1
PRINTRET PRISEMESS

/ Program to give the long description of a room.
LOOKPROG:
UNSET VISITED (PLAYER)R         / Pretend room not visited to get
                                /   long description.
RETURN LOOK                     / And return with request for description.

MECPROG:
SKIP IF R (PLAYER)R LT MAIZE1
SKIP UNLESS R (PLAYER)R GT MAIZE7
PRINTRET NHAPPENS
PRINT MECDIE
GO DIEPROG

MEETSNARK:
LOAD V VAR0 S MURALRM
SUB V VAR0 V SNARKVAR
SKIP2 IF V VAR0 EQ 0
PRINT BOOJUM
GO DIEPROG
SKIP UNLESS E (SAPPHIRE)R
RETURN
MOVE SAPPHIRE WITH TO DEPTHS
PRINTRET NOBOOJ

/ Program to do Magic Move instruction.
MMPROG:
SKIP IF E ()R                   / Is the object "destroyed"?
PRINTRET CANTDO
MOVE PLAYER WITH TO ()R
RETURN

NOMPROG:
LOAD V VAR0 I 4
GO GZAAN

NYMPROG:
SKIP UNLESS M W2SP WALTZSPEC
SKIP IF R (PLAYER)R EQ TERMINUS
RETURN RETRY NONE CANT
PRINT VALMESS
RETURN RETRY FINISH MAY ANY

OFFPROG:
SKIP IF H LAMP PLAYER
PRINTRET NOTHLAMP
SKIP IF S LAMP EQ 1
PRINTRET ALROFF
LOAD S LAMP I 0
UNSET LIGHT LAMP
SKIP3 UNLESS R (PLAYER)R EQ FISHROOM
SKIP2 IF S FISHROOM EQ 2
LOAD S FISHROOM I 1
PRINTRET FISH11
PRINTRET OKMESS

OGPROG:
SKIP2 IF S SLAB EQ 1
PRINT NOWAYMESS
RETURN ABORT
LOAD S CRYPT R 7
PRINTRET STEPSMESS

ONPROG:
SKIP IF H LAMP PLAYER
PRINTRET NOTHLAMP
SKIP IF S LAMP EQ 0
PRINTRET ALRON
LOAD S LAMP I 1
SET LIGHT LAMP
PRINT OKMESS
UNSET VISITED (PLAYER)R
SKIP2 UNLESS R (PLAYER)R EQ FISHROOM
SKIP IF S FISHROOM EQ 2
LOAD S FISHROOM I 0
RETURN LOOK

OPENBOT:
SKIP IF H BOTTLE PLAYER
PRINTRET NOTHELD
SKIP IF S BOTTLE EQ 0
PRINTRET ALROPEN
LOAD S BOTTLE I 1
SKIP2 IF P NOTAKE TAPESTRY
LOAD V VAR0 I 0
PRINTRET DJINNAP VAR0
MOVE TAPESTRY WITH TO VAULT
SKIP2 UNLESS R (PLAYER)R EQ VAULT
LOAD V VAR0 I 3
PRINTRET DJINNAP VAR0
LOAD V VAR0 I 1
SKIP UNLESS R (PLAYER)R EQ CURTROOM
LOAD V VAR0 I 2
PRINTRET DJINNAP VAR0

OPENDOOR:
SKIP2 IF R (PLAYER)R EQ CURTROOM
SKIP IF R (PLAYER)R EQ PWROOM
PRINTRET NOTHERE
SKIP IF S PWROOM EQ 0
PRINTRET ALROPEN
PRINTRET OHYEAH

OPENPROG:
SKIP UNLESS M W2SP DOORSPEC
GO OPENDOOR
SKIP IF M W2OB
RETURN RETRY NONE CANT
SKIP IF R ()R EQ (PLAYER)R
PRINTRET NOTHERE
SKIP UNLESS R ()O EQ COFFIN
GO LIFTLID
SKIP UNLESS R ()O EQ BOTTLE
GO OPENBOT
SKIP UNLESS R ()O EQ EGG
PRINTRET NOEGGBREAK
SKIP UNLESS R ()O EQ FOLIO
PRINTRET NOTIMEREAD
PRINTRET CANTDO

OPREH:
SKIP UNLESS R (PLAYER)R EQ FISHROOM
SKIP IF S FISHROOM LT 2
PRINTRET NHAPPENS
LOAD S FISHROOM I 2
PRINTRET FISHOPEN

PASSPROG:
SKIP UNLESS R (PLAYER)R EQ PWROOM
SKIP IF S PWROOM EQ 0
PRINTRET NHAPPENS
LOAD V VAR1 S CRYPT
SUB V VAR0 V VAR1
SKIP IF V VAR0 EQ 0
PRINTRET NHAPPENS
LOAD S PWROOM I 1
PRINTRET FLIESOPEN

PASTEPROG:
LOAD V VAR0 I 6
GO PASSPROG

PAUSEHINT:
SKIP UNLESS S MURALRM EQ 8
PRINTRET TOOLATE
PRINTRET DONOTP

PAYPROG:
SKIP IF M W2SP FARESPEC
SKIP UNLESS M W2SP COINSPEC
GO DROPPAY
RETURN RETRY NONE CANT

PLAINNW:
LOAD V VAR0 I 1
GO PLAINBACK

PLAINN:
LOAD V VAR0 I 2
GO PLAINBACK

PLAINNE:
LOAD V VAR0 I 3
GO PLAINBACK

PLAINBACK:
SUB V VAR0 S (PLAYER)R
SKIP2 IF V VAR0 EQ 0
PRINT GROUNDSUBS
GO DIEPROG
RETURN

PLAINSE:
LOAD V PLAINVAR I 1
GO PLAINPROG

PLAINS:
LOAD V PLAINVAR I 2
GO PLAINPROG

PLAINSW:
LOAD V PLAINVAR I 3
GO PLAINPROG

PLAINPROG:
LOAD V VAR0 V PLAINVAR
RESOLVE VAR1 (PLAYER)R
ADD V VAR1 I 1
LOAD S (VAR1)R V VAR0
SKIP UNLESS V HEXVAR EQ 4
GO PLAINLUCK
SUB V PLAINVAR V HEXVAR
SKIP2 IF V PLAINVAR EQ 0
PRINT GROUNDSUBS
GO DIEPROG
RETURN

PLAINLUCK:
LOAD V VAR0 R 6
SKIP2 IF V VAR0 EQ 0
PRINT GROUNDSUBS
GO DIEPROG
RETURN

PLAYPROG:
SKIP IF M W2EX
PRINTRET WEAREPLAY
SKIP UNLESS R ()O EQ WHISTLE
GO WHPROG
RETURN RETRY NONE CANT

PORTPROG:
SKIP UNLESS H DEEDS PLAYER
PRINTRET RAISEPORT
PRINT REFUSE
RETURN ABORT

PORT2:
PRINTRET LOWERPORT

POSTHEX:
MOVE HEX WITH DIR H
LOAD V HEXVAR R 2
ADD V HEXVAR I 1 / so 1 to 3 like state of rooms
SKIP3 UNLESS R (HEX)R EQ CHAP1
PRINT FOUNDMAMA
MOVE PEARLS WITH TO PLAIN6
GO POST5
LOAD V VAR1 V HEXVAR
PRINT HEXON VAR1
GO POST5

POSTLAB:
SKIP2 UNLESS R (LASTLOC)R EQ (DWARF)R
PRINT DIEDWARF
GO DIEPROG
SKIP2 UNLESS R (LASTLOC)R EQ (MUMMY)R
PRINT DIEMUM
GO DIEPROG
SKIP2 UNLESS R (LASTLOC)R EQ (ORC)R
PRINT DIEORC
GO DIEPROG
SKIP2 UNLESS R (LASTLOC)R EQ (ZOMBIE)R
PRINT DIEZOM
GO DIEPROG
SKIP2 UNLESS R (LASTLOC)R EQ (KOBOLD)R
PRINT DIEKOB
GO DIEPROG
GO POST15

POSTPROG:
ADD V CHEESEVAR I 1
ADD V GARLVAR I 1
SKIP2 UNLESS H TAPESTRY PLAYER
MOVE TAPESTRY WITH TO (PLAYER)R
SUB V OBJHELD I 1
SKIP3 IF R (LASTLOC)R LT LAB5
SKIP2 IF R (LASTLOC)R GT LAB9
SKIP IF R (PLAYER)R EQ (PENULT)R
GO POSTLAB
POST15:
SKIP UNLESS R (PLAYER)R EQ (VAMPIRE)R
SKIP UNLESS V VCHECK EQ 1 / Just opened coffin
GO POST0
PRINT VAMPKILLS
GO DIEPROG
POST0:
SKIP UNLESS S BOOM LT 2
GO POST2
SUB S BOOM I 1
SKIP IF S BOOM LT 2
GO POST2
UNSET NOTAKE BOOM
SKIP IF R (BOOM)R EQ (PLAYER)R
GO POST2
PRINT BOOMDEATH
GO DIEPROG
POST2:
LOAD V VCHECK I 0
SKIP2 UNLESS E (VAMPIRE)R
SKIP IF P LIGHT (PLAYER)R
MOVE VAMPIRE WITH TO (PLAYER)R
SKIP UNLESS P SPACIOUS (PLAYER)R
GO POST1
SKIP2 UNLESS M MOVED
LOAD V LOITER I 0
GO POST1
ADD V LOITER I 1
SKIP3 IF V LOITER LT 7
LOAD V VAR0 R 7
PRINT DIENASTY VAR0
GO DIEPROG
POST1:
SKIP2 UNLESS R (PLAYER)R EQ H9
SKIP IF M MOVED
GOSUB FAREPROG
SKIP UNLESS R (PLAYER)R EQ (TYRAN)R
GO POSTTYR
POST4:
SKIP2 UNLESS R (PLAYER)R EQ (HEX)R
SKIP IF V HEXVAR EQ 4
GO POSTHEX
POST5:
SKIP IF P LIGHT (EGG)R
GO POST6
SUB V EGGVAR I 1
SKIP IF V EGGVAR LT 1
GO POST6
SKIP2 UNLESS R (EGG)R EQ FOR3
LOAD S FOR3 I 1
UNSET VISITED FOR3
SKIP2 UNLESS H EGG PLAYER
PRINT EGGKILL1
GO DIEPROG
SKIP2 UNLESS R (PLAYER)R EQ (EGG)R
PRINT EGGKILL2
GO DIEPROG
MOVE DRAGON WITH TO (EGG)R
MOVE EGG WITH DESTROY
POST6:
SKIP IF R (PLAYER)R LT MAIZE1
SKIP UNLESS R (PLAYER)R GT MAIZE7
GO POST8
SKIP2 UNLESS R (PLAYER)R EQ (TALISMAN)R
LOAD V SPCOUNT I 0
GO POST8
ADD V SPCOUNT I 1
SKIP2 UNLESS V SPCOUNT GT 1
PRINT SPIRIT
GO DIEPROG
POST8:
SKIP UNLESS H TALISMAN PLAYER
SKIP IF M MOVED
GO POST9
SKIP IF R (PLAYER)R LT MAIZE1
SKIP UNLESS R (PLAYER)R GT MAIZE7
GO POSTTAL1
POSTTAL2:
ADD V DRCOUNT I 1
SKIP4 UNLESS V DRCOUNT EQ 1
POSTTAL1:
LOAD V VAR0 R 5
SKIP UNLESS V VAR0 EQ 0
GO POSTTAL3
GO POST9
SKIP3 UNLESS V DRCOUNT EQ 2
LOAD V VAR0 R 4
SKIP UNLESS V VAR0 EQ 0
GO POST9
POSTTAL3:
LOAD V DRCOUNT I 0
SUB V OBJHELD I 1
MOVE TALISMAN WITH TO (LASTLOC)R
PRINT OOPS
POST9:
SKIP UNLESS R (PLAYER)R EQ VAULT
GO POSTVAULT
POST7:
SKIP UNLESS R (PLAYER)R EQ TERMINUS
GO TERPROG
RETURN

POSTTYR:
SKIP IF M MOVED
SKIP IF S TYRAN EQ 1
GO POST4
SUB V TYRDIST I 1
SKIP2 IF V TYRDIST LT 1
PRINT TYRCLUMP
GO POST4
PRINT TYRCATCH
GO DIEPROG

POSTVAULT:
GOSUB SCORESUB
SKIP IF V VAR0 GT 288
RETURN NEXTCOMM
MOVE PLAYER WITH TO CHAMBER
SET LIGHT VAULT
DESCRIBE WITH VAULT
MOVE PLAYER WITHOUT TO TERMINUS
PRINT HIDDENDOOR
RETURN NEXTCOMM

POURPROG:
SKIP UNLESS M W2SP WATERSPEC
GO DROPWATER
RETURN RETRY NONE CANT

POWERPROG:
LOAD V VAR0 I 2
GO PASSPROG

PRIDEPROG:
LOAD V VAR0 I 3
GO PASSPROG

PREPROG:
LOAD V PENULT V LASTLOC
RESOLVE LASTLOC (PLAYER)R
RETURN

PULLPROG:
SKIP IF R ()O EQ TAPESTRY
RETURN RETRY NONE CANT
GO TAKEPROG

/ Program to make certain the player wants to quit.
QUITPROG:
GOSUB SCORESUB
ADD V VAR0 I 10
PRINT SCOREM3
SKIP IF Q QUITQUERY             / Skip if "yes" answer.
RETURN
QUITS:
SKIP UNLESS Q MOREGAMES
RETURN RETRY RESTART MAY ANY
PRINT GROYMESS
RETURN RETRY FINISH MAY ANY        / Induce end of game.

RANDSN:
LOAD V SNARKVAR R 7
PRINTRET RANDOMPASS

READPROG:
SKIP IF M W2EX
PRINTRET NOTIMEREAD
SKIP IF M W2OB
GO READ2
SKIP IF H ()O PLAYER
PRINTRET NOTHELD
SKIP UNLESS R ()O EQ DEEDS
PRINTRET NOTKNOW
SKIP UNLESS R ()O EQ FOLIO
PRINTRET NOTIMEREAD
READ2:
SKIP3 IF M W2SP RUNESPEC
SKIP UNLESS M W2OB
SKIP IF R ()O EQ WAND
PRINTRET NOTIMEREAD
SKIP UNLESS H WAND PLAYER
PRINTRET WANDRUNE
PRINTRET NOTHWAND

SAVEPROG:
LOAD S MURALRM I 8
SKIP2 IF R (PLAYER)R LT LAB0
SKIP IF R (PLAYER)R GT LAB10
PRINTRET NOSAVELAB
SKIP IF R (PLAYER)R LT MAIZE1
SKIP UNLESS R (PLAYER)R GT MAIZE7
RETURN RETRY SAVE CANT
PRINTRET NOSAVECORN

SAVENDPROG:
LOAD S MURALRM I 8
SKIP2 IF R (PLAYER)R LT LAB0
SKIP IF R (PLAYER)R GT LAB10
PRINTRET NOSAVELAB
SKIP IF R (PLAYER)R LT MAIZE1
SKIP UNLESS R (PLAYER)R GT MAIZE7
RETURN RETRY SAVEND CANT
PRINTRET NOSAVECORN

SCOREPROG:
GOSUB SCORESUB
ADD V VAR0 I 10
PRINTRET SCOREM1

SCORESUB:
LOAD V VAR0 I 0
SKIP UNLESS P VISITED CRYPT
ADD V VAR0 I 5
SKIP UNLESS R (BOOM)R EQ VAULT
ADD V VAR0 I 5
SKIP UNLESS R (GOBLET)R EQ VAULT
ADD V VAR0 I 5
SKIP UNLESS R (DEEDS)R EQ VAULT
ADD V VAR0 I 5
SKIP UNLESS R (HELM)R EQ VAULT
ADD V VAR0 I 5
SKIP UNLESS R (TAPESTRY)R EQ VAULT
ADD V VAR0 I 10
SKIP UNLESS R (RING)R EQ VAULT
ADD V VAR0 I 5
SKIP UNLESS R (CROWN)R EQ VAULT
ADD V VAR0 I 5
SKIP UNLESS R (BUST)R EQ VAULT
ADD V VAR0 I 5
SKIP UNLESS R (PEARLS)R EQ VAULT
ADD V VAR0 I 5
SKIP UNLESS R (SAPPHIRE)R EQ VAULT
ADD V VAR0 I 5
SKIP UNLESS R (FOLIO)R EQ VAULT
ADD V VAR0 I 5
SKIP UNLESS R (PAINTING)R EQ VAULT
ADD V VAR0 I 5
SKIP UNLESS R (STATUE)R EQ VAULT
ADD V VAR0 I 8
SKIP UNLESS R (RUBY)R EQ VAULT
ADD V VAR0 I 5
SKIP UNLESS R (CRYSTALS)R EQ VAULT
ADD V VAR0 I 5
SKIP UNLESS R (EMERALDS)R EQ VAULT
ADD V VAR0 I 5
SKIP UNLESS R (CROZIER)R EQ VAULT
ADD V VAR0 I 5
SKIP UNLESS S PWROOM EQ 1
ADD V VAR0 I 8
SKIP IF S JACKDAW EQ 0
ADD V VAR0 I 8
SKIP UNLESS S JACKDAW EQ 2
ADD V VAR0 I 2
SKIP UNLESS S LADY EQ 1
ADD V VAR0 I 10
SKIP2 UNLESS E (DEEDS)R
SKIP IF E (VAMPIRE)R
ADD V VAR0 I 10
SKIP IF S FIRE1 EQ 0
ADD V VAR0 I 10
SKIP UNLESS P VISITED H10
ADD V VAR0 I 10
SKIP UNLESS P VISITED BELOWPLAT
ADD V VAR0 I 20
SKIP UNLESS S HEX EQ 2
ADD V VAR0 I 5
SKIP UNLESS E (PEARLS)R
ADD V VAR0 I 10
SKIP UNLESS E (SAPPHIRE)R
ADD V VAR0 I 10
SKIP IF E (EGG)R
ADD V VAR0 I 5
SKIP IF S FOR3 EQ 0
ADD V VAR0 I 9
SKIP UNLESS P VISITED CAVE3
ADD V VAR0 I 9
SKIP UNLESS P VISITED MAIZE7
ADD V VAR0 I 12
SKIP UNLESS P VISITED CUPBOARD
ADD V VAR0 I 10
SKIP UNLESS V GLOPVAR LT 6
ADD V VAR0 I 10
SKIP UNLESS P VISITED ENCROOM
ADD V VAR0 I 10
SKIP UNLESS S PIT1 EQ 1
ADD V VAR0 I 10
SKIP UNLESS P VISITED LAB10
ADD V VAR0 I 13
RETURN

SCRAM:
PRINTRET SCRAMBLE

SETMURAL:
LOAD S MURALRM R 7
RETURN

SETVIS:
SET VISITED MAIZE7 / force short descr
RETURN

SNENT0:
LOAD V SNARKVAR I 0
RETURN

SNENT1:
LOAD V SNARKVAR I 1
RETURN

SNENT2:
LOAD V SNARKVAR I 2
RETURN

SNENT3:
LOAD V SNARKVAR I 3
RETURN

SNENT4:
LOAD V SNARKVAR I 4
RETURN

SNENT5:
LOAD V SNARKVAR I 5
RETURN

SNENT6:
LOAD V SNARKVAR I 6
RETURN

SNENT7:
LOAD V SNARKVAR I 7
RETURN

SPIREPROG:
LOAD V VAR0 I 5
GO PASSPROG

SWAMPPROG:
SKIP2 UNLESS R (PLAYER)R EQ FISHROOM
PRINT FISHFALL
GO DIEPROG
PRINTRET NHAPPENS

/ Subroutine to try to take the object referred to by the
/ reference in VAR0.  OBJHELD is updated if it is taken, and
/ VAR1 is set to:
/  1 if the object was taken.
/  2 if it was untakeable.
/  3 if it wasn't taken because the player couldn't carry it.
TAKESUB:
SKIP IF R (VAR0)O EQ PLAYER     / Can't take himself!
SKIP2 UNLESS P NOTAKE (VAR0)O   / Is it untakeable?
LOAD V VAR1 I 2
RETURN
LOAD V VAR1 V STRENGTH          / Check STRENGTH
SUB V VAR1 V OBJHELD            /   against OBJHELD.
SKIP2 IF V VAR1 GT 0
LOAD V VAR1 I 3
RETURN
SKIP2 IF R (VAR0)O EQ TAPESTRY
MOVE (VAR0)O WITH TO PLAYER     / Move the object.
ADD V OBJHELD I 1               / Update OBJHELD.
LOAD V VAR1 I 1
SKIP UNLESS R (VAR0)O EQ ROD
GOSUB TAKEROD
SKIP UNLESS R (VAR0)O EQ TAPESTRY
GOSUB TAKETAPES
RETURN

/ Main TAKE program.
TAKEPROG:
/ Command decoding section.
SKIP IF M W2EX                  / Is it "TAKE"?
GO TAKEFIRST
SKIP UNLESS M W2SP ALLSPEC      / Is it "TAKE ALL"?
GO TAKEALL
SKIP UNLESS M W2SP INVSPEC      / Is it "TAKE INVENTORY"?
GO INVPROG
SKIP UNLESS M W2SP WATERSPEC
GO FILLBOTTLE
SKIP4 UNLESS M W2SP COINSPEC
SKIP IF R (PLAYER)R LT H1
SKIP UNLESS R (PLAYER)R GT H9
PRINTRET NOCOINS
GO TAKEALL
SKIP IF M W2OB                  / Must be "TAKE object".
RETURN RETRY NONE CANT          / Induce "I don't understand
                                / that!" if not.
/ Now check it's OK to take the given object.
SKIP IF R (PLAYER)R EQ ()R      / In the same room?
PRINTRET DONTSEE
SKIP UNLESS R PLAYER EQ ()U     / Already holding it?
PRINTRET ALRHELD
SKIP UNLESS R ()O EQ GOBLET
GO TAKEGOB
/ Entry point for Magic Take command.
MTPROG:
RESOLVE VAR0 ()O                / Now use TAKESUB to take it.
GOSUB TAKESUB
SKIP UNLESS V VAR1 EQ 2         / Untakeable?
PRINTRET CANTTAKE
SKIP UNLESS V VAR1 EQ 3         / Hands full?
PRINTRET HANDSFULL
SKIP IF R ()O EQ TAPESTRY
PRINTRET OKMESS
RETURN

/ Command was "TAKE".  Try to take the first object in the room.
TAKEFIRST:
RESOLVE VAR0 (PLAYER)R          / Find first object in room.
RESOLVE VAR0 (VAR0)O
TAKEF1:
SKIP UNLESS V VAR0 EQ 0         / Does object exist?
PRINTRET NOTHNGHERE
GOSUB TAKESUB                   / Try taking it.
SKIP2 UNLESS V VAR1 EQ 1         / Successful?
PRINTRET OKMESS
RETURN
SKIP UNLESS V VAR1 EQ 3         / Hands full?
PRINTRET HANDSFULL
/ This object wasn't takeable.  Try the next object in the room.
ADD V VAR0 I 1536               / Modify reference to point to
                                / next object in room.
RESOLVE VAR0 (VAR0)O            / Then resolve it.
GO TAKEF1                       / And try to take the object.

/ Command was "TAKE ALL".  Try taking each object in the room.  VAR3
/ keeps track of the number of objects taken.
TAKEALL:
LOAD V VAR3 I 0
/ Now we have a loop to try each object in turn.  VAR2 always contains
/ a reference to the next object to be tried.
RESOLVE VAR0 (PLAYER)R          / Find first object in room.
RESOLVE VAR0 (VAR0)O
/ N.B. This object always exists, as the player is an object in the room.
TAKEA1:
LOAD V VAR2 V VAR0              / Find next object from this one.
ADD V VAR2 I 1536
RESOLVE VAR2 (VAR2)O
GOSUB TAKESUB                   / Try taking this object.
SKIP2 UNLESS V VAR1 EQ 3        / Hands full?
PRINT HANDSF2
PRINTRET TOOKOBJ2 VAR3
SKIP UNLESS V VAR1 EQ 1         / Was object taken?
ADD V VAR3 I 1
LOAD V VAR0 V VAR2              / Loop back for next object,
SKIP IF V VAR0 EQ 0             / if it exists.
GO TAKEA1
PRINTRET TOOKOBJ1 VAR3

TAKEGOB:
SKIP UNLESS R (PLAYER)R EQ (LADY)R
SKIP2 IF S LADY EQ 0
UNSET NOTAKE GOBLET
GO MTPROG
PRINT GOBDEATH
GO DIEPROG

TAKEROD:
SKIP IF S ROD EQ 1
RETURN
LOAD S ROD I 0
LOAD S SLAB I 0
PRINTRET SLABFALLS

TAKETAPES:
SKIP IF S TAPESTRY EQ 0
RETURN
SET NOTAKE TAPESTRY
LOAD S CURTROOM I 1
LOAD S TAPESTRY I 1
SET LIGHT CURTROOM
PRINT TCURTMESS
SKIP IF R (VAMPIRE)R EQ CURTROOM
RETURN
MOVE VAMPIRE WITH DESTROY
PRINT CRUMBLES
RETURN

TERPROG:
PRINT DISAPPOINT
GO QUITS

TESTMONST:
SKIP IF S PIT1 EQ 0
RETURN
PRINT MONSTER
GO DIEPROG

THROWPROG:
SKIP UNLESS M W2SP WATERSPEC
GO DROPWATER
SKIP IF M W2OB
RETURN RETRY NONE CANT
SKIP UNLESS R ()O EQ BOOM
GO THROWBOOM
THROWPIT:
SKIP IF H ()O PLAYER
PRINTRET NOTHELD
RESOLVE VAR0 ()O
SKIP IF R (PLAYER)R LT PIT1
SKIP2 UNLESS R (PLAYER)R GT PIT3
GOSUB DROPSUB
PRINTRET OKMESS
SUB V OBJHELD I 1
MOVE ()O WITH DESTROY
PRINT INPIT
SKIP IF S PIT1 EQ 0
RETURN
PRINT THRESH
SKIP UNLESS R ()O EQ JACKDAW
SKIP IF S JACKDAW EQ 2
RETURN
LOAD S PIT1 I 1
PRINTRET SILENCE

THROWBOOM:
SKIP IF H BOOM PLAYER
PRINTRET NOTHELD
SKIP IF P SPACIOUS (PLAYER)R
GO THROWPIT
THROWB2:
SET NOTAKE BOOM
LOAD S BOOM R 1
ADD S BOOM I 3
MOVE BOOM WITH TO (PLAYER)R
SUB V OBJHELD I 1
SKIP UNLESS S JACKDAW EQ 0
SKIP IF R (BOOM)R EQ (JACKDAW)R
PRINTRET BOOMFLIES
LOAD S JACKDAW I 1
UNSET NOTAKE JACKDAW
MOVE RING WITH TO (JACKDAW)R
PRINTRET HIJACK

TIDESPROG:
LOAD V VAR0 I 7
GO PASSPROG

TREMORPROG:
SKIP2 IF S ENTERHAM EQ 0
PRINT NOWAYMESS
RETURN ABORT
PRINT TREMORMESS
LOAD S ENTERHAM I 1
MOVE PLAYER WITH TO H11
MOVE PLAYER WITHOUT TO H0
SKIP UNLESS R (HEX)R EQ H11
LOAD S HEX I 1
LOAD V OBJHELD I 0
RESOLVE VAR0 (COIN1)O
RESOLVE VAR1 (H1)R
ADD V VAR1 R 7
TREMLOOP:
RESOLVE VAR2 (COIN8)O
RESOLVE VAR3 (H8)R
MOVE (VAR0)O WITH TO (VAR1)R
ADD V VAR0 I 1
SUB V VAR2 V VAR0
SKIP UNLESS V VAR2 LT 0
RETURN ABORT
ADD V VAR1 I 1
SUB V VAR3 V VAR1
SKIP UNLESS V VAR3 LT 0
RESOLVE VAR1 (H1)R
GO TREMLOOP

TREMOR2:
PRINTRET ROCKFALL

TRIPEPROG:
LOAD V VAR0 I 4
GO PASSPROG

TYRMANGL:
PRINT TYRAHA
GO DIEPROG

TYRSTART:
SKIP2 UNLESS S CAVE1 EQ 1
PRINT NOWAYMESS
RETURN ABORT
LOAD S CAVE1 I 1
LOAD S TYRAN I 1
MOVE TYRAN WITH TO L8
PRINTRET TYRWAKES

WAVEPROG:
SKIP IF M W2EX
PRINTRET YOUWAVE
SKIP IF R ()U EQ PLAYER
PRINTRET NOTHELD
SKIP UNLESS R ()O EQ WAND
SKIP IF R (PLAYER)R EQ (KOBOLD)R
PRINTRET NHAPPENS
MOVE KOBOLD WITH DESTROY
PRINTRET KOBRUNS

WELCPROG:
PRINT HELLO
LOAD S MURALRM I 8
SKIP UNLESS P VISITED CHAP1
RETURN
SKIP UNLESS Q INSTRUC
PRINTRET INSTRMESS
SET VISITED CHAP1
RETURN

WHPROG:
SKIP IF H WHISTLE PLAYER
PRINTRET NHWHIST
LOAD V VAR0 R 2
PRINT WHMESS VAR0
SKIP UNLESS R ()R EQ (LADY)R
SKIP2 IF S LADY EQ 0
PRINT DOGBAD
GO DIEPROG
LOAD S LADY I 1
UNSET NOTAKE GOBLET
PRINTRET DOGGOOD

WTTYR:
PRINTRET WGTYR

ZOGPROG:
LOAD V VAR0 I 1
GO GZAAN

/
/  WORDS SECTION
/  -------------
/
!WORDS
ADRIC OBEY ADPROG CANT
ALL NONE CANT ALLSPEC
ALSATIAN OBJECT CANT DOG
ALUMINIUM OBJECT CANT COIN4
AMNESIA PRINT AMNESIA CANT
ARCOROC OBEY ARCPROG CANT
ATTACK OBEY KILLPROG REQUEST OBJ
AWAY RETURN CANT B
BACK RETURN CANT B 1
BICYCLE OBJECT CANT DOG / doesnt exist
BIRD OBJECT CANT JACKDAW
BLOW OBEY BLOWPROG REQUEST OBJ
BOOJUM OBJECT CANT DOG / not there
BOOK OBJECT CANT FOLIO
BOOMERANG OBJECT CANT BOOM 4
BOTTLE OBJECT CANT BOTTLE
BOX OBJECT CANT SAPPHIRE
BRASS OBJECT CANT COIN1
BREAK OBEY BREAKPROG REQUEST OBJ
BRONZE OBJECT CANT COIN2
BRUNNHILDE OBJECT CANT BRUNN
BUST OBJECT CANT BUST
CARVING OBJECT CANT BOOM
CENNY OBJECT CANT COIN8
CHEESE OBJECT CANT CHEESE
CLIMB MOVE MAY ANY U
CLOSE OBEY CLOSEPROG REQUEST REC
COFFIN OBJECT CANT COFFIN
COINS NONE CANT COINSPEC
COPPER OBJECT CANT COIN7
CORPSE OBJECT CANT VAMPIRE
CREATURE OBJECT CANT HEX
CROOK OBJECT CANT CROZIER
CROWN OBJECT CANT CROWN
CROZIER OBJECT CANT CROZIER
CRYSTALS OBJECT CANT CRYSTALS
CURTAIN OBJECT CANT TAPESTRY
CYCLOPS OBJECT CANT DOG / not there
DANCE OBEY DANCEPROG CANT
DEEDS PRINT EXPECTED CANT DEEDS
DESCEND MOVE MAY ANY D
DIG OBEY DIGPROG CANT
DILITHIUM OBJECT CANT CRYSTALS
DJINN OBJECT CANT DOG / not there
DOCUMENTS OBJECT CANT DEEDS 3
DOG OBJECT CANT DOG
DOLLIN OBJECT CANT COIN7
DOOR NONE CANT DOORSPEC
DOWN MOVE CANT D 1
DRAGON OBJECT CANT DRAGON
DREAD OBEY DREADPROG CANT
DREAM PRINT DAYDREAM CANT
DRINK OBEY DRINKPROG MAY SPECIAL
DROP OBEY DROPPROG MAY REC
DUST OBJECT CANT DUST
DWARF OBJECT CANT DWARF
EAST MOVE CANT E 1
EAT OBEY EATPROG REQUEST OBJ
EGG OBJECT CANT EGG
EMERALD OBJECT CANT EMERALDS
EMPTY OBEY EMPTYPROG REQUEST OBJ
ENCHANTRESS OBJECT CANT DOG / never there
FARE NONE CANT FARESPEC
FEED OBEY FEEDPROG REQUEST OBJ
FILL OBEY FILLPROG REQUEST OBJ
FINISH OBEY QUITPROG CANT
FISHROOM MOVE CANT FISHROOM 4
FOLIO OBJECT CANT FOLIO
FORGET PRINT LEGION MAY ANY
FOUNTAIN OBJECT CANT FOUNTAIN
GARLIC OBJECT CANT GARLIC
GET OBEY TAKEPROG MAY REC
GIANT OBJECT CANT DOG / not there
GIRLS OBJECT CANT GIRLS 4
GLOOP OBEY GLOOPPROG CANT
GO IGNORE REQUEST DIR
GOBLET OBJECT CANT GOBLET
GOGH OBJECT CANT PAINTING
GOLD OBJECT CANT CROZIER
GUILLIRA OBJECT CANT COIN1
HAMIL PRINT HAMILMESS CANT
HELMET OBJECT CANT HELM 4
HELP PRINT HELP CANT
HEXAPOD OBJECT CANT HEX 3
HOBGOBLIN OBJECT CANT LADY
HORDE OBEY HORDEPROG CANT
INVENTORY OBEY INVPROG CANT INVSPEC 3
IRON OBJECT CANT COIN8
JACKDAW OBJECT CANT JACKDAW 4
JUMP IGNORE REQUEST DIR
KILL OBEY KILLPROG REQUEST OBJ
KOBOLD OBJECT CANT KOBOLD
LADY OBJECT CANT LADY
LAMP OBEY LAMPPROG MAY SPECIAL LAMP
LEAD OBJECT CANT COIN6
LID NONE CANT LIDSPEC
LIFT OBEY LIFTPROG REQUEST REC
LOOK OBEY LOOKPROG CANT
MAIDENS OBJECT CANT GIRLS
MAIDS OBJECT CANT GIRLS 4
/ MAM OBEY MMPROG REQUEST OBJ
/ MAT OBEY MTPROG REQUEST OBJ
MARBLE OBJECT CANT STATUE
MECOHUATL OBEY MECPROG CANT
MICHAEL OBJECT CANT STATUE
MOAN PRINT MOAN CANT
MOVE IGNORE REQUEST DIR
MUMMY OBJECT CANT MUMMY
MURAL OBJECT CANT MURAL
NE MOVE CANT NE
NICKEL OBJECT CANT COIN5
NOMET OBEY NOMPROG CANT
NORTH MOVE CANT N 1
NOTED PRINT NOTEDMESS MAY ANY
NW MOVE CANT NW
NYMPHS OBEY NYMPROG MAY SPECIAL
OBLIVION PRINT OBMESS CANT
OFF OBEY OFFPROG CANT ONOFFSPEC
OGRAM PRINT NHAPPENS CANT
OGRE OBJECT CANT DOG / neither is ever there!
ON OBEY ONPROG CANT ONOFFSPEC
OPEN OBEY OPENPROG REQUEST REC
OPREH OBEY OPREH CANT
ORBICULAR MOVE CANT CHAMBER 3
ORC OBJECT CANT ORC
ORING OBJECT CANT COIN6
PAINTING OBJECT CANT PAINTING
PASSWORD PRINT DTPW CANT
PASTE OBEY PASTEPROG CANT
PAUSE OBEY SAVEPROG CANT
PAY OBEY PAYPROG REQUEST SPECIAL
PEARLS OBJECT CANT PEARLS
PESCUDO OBJECT CANT COIN2
PFENTIME OBJECT CANT COIN5
PICTURE OBJECT CANT PAINTING
PLAY OBEY PLAYPROG MAY OBJ
POUBLE OBJECT CANT COIN4
POUR OBEY POURPROG REQUEST SPECIAL
POWER OBEY POWERPROG CANT
PRIDE OBEY PRIDEPROG CANT
PTERODACTYL OBJECT CANT DOG  /not there
PULL OBEY PULLPROG MUST OBJ
QUIT OBEY QUITPROG CANT 1
RAISE OBEY LIFTPROG REQUEST REC
READ OBEY READPROG MAY ANY
RETURN RETURN CANT
REX OBJECT CANT TYRAN
RING OBJECT CANT RING
ROD OBJECT CANT ROD
RUBY OBJECT CANT RUBY
RUN IGNORE REQUEST DIR
RUNES NONE CANT RUNESPEC 4
SAPPHIRE OBJECT CANT SAPPHIRE
SAVE OBEY SAVEPROG CANT
SAVEND OBEY SAVENDPROG CANT
SCORE OBEY SCOREPROG CANT
SE MOVE CANT SE
SHAKES OBJECT CANT FOLIO
SHILLARK OBJECT CANT COIN3
SHUT OBEY CLOSEPROG REQUEST REC
SILVER OBJECT CANT GOBLET
SLAB OBJECT CANT SLAB
SLEEP PRINT CANTSLEEP CANT
SNARK OBJECT CANT DOG / not there
SOUTH MOVE CANT S 1
SPIRE OBEY SPIREPROG CANT
SPIRIT OBJECT CANT DOG / never there
STAKE OBJECT CANT STEAK
STATUE OBJECT CANT STATUE
STEAK OBJECT CANT STEAK
STONE OBJECT CANT SLAB
STOP OBEY QUITPROG CANT
SW MOVE CANT SW
SWAMP OBEY SWAMPPROG CANT
TAKE OBEY TAKEPROG MAY REC
TALISMAN OBJECT CANT TALISMAN 3
TAPESTRY OBJECT CANT TAPESTRY
THE IGNORE MUST REC
THROW OBEY THROWPROG REQUEST REC
TIDES OBEY TIDESPROG CANT
TIN OBJECT CANT COIN3
TRIPE OBEY TRIPEPROG CANT
TYRAN OBJECT CANT TYRAN
UP MOVE CANT U 1
VALKYRIE OBJECT CANT BRUNN
VAMPIRE OBJECT CANT VAMPIRE
VAN OBJECT CANT PAINTING
WAIT PRINT OKMESS CANT
WALTZ NONE CANT WALTZSPEC
WAND OBJECT CANT WAND
WATER NONE CANT WATERSPEC
WAVE OBEY WAVEPROG MAY OBJ
WEST MOVE CANT W 1
WHEEL OBJECT CANT WHEEL
WHISTLE OBJECT CANT WHISTLE
WOOD OBJECT CANT BOOM
WTGROMT OBEY QUITPROG CANT 2 3
ZOG OBEY ZOGPROG CANT
ZOMBIE OBJECT CANT ZOMBIE
/
/  MESSAGES SECTION
/  ----------------
/
/ Descriptions of rooms & objects and other messages.  Note that one
/ cannot easily comment this section.
!MESSAGE BELP1
You are in a chamber below the plateau. There is an exit
upwards, at the top of which is standing a Tyrannosaurus
Rex. A narrow tunnel leads off to the west.
!MESSAGE BELP2
You are in the chamber below the plateau.
!MESSAGE BOOM1
!SWITCH BOOM10 BOOM11 BOOM12
!MESSAGE BOOM10
There is a large curved object here, elegantly carved by
skilled craftsmen from the wood of the sacred tree of Hamil!
!MESSAGE BOOM11
There is an elegantly carved boomerang here!
!MESSAGE BOOM12
In the distance there is a flying boomerang.
!MESSAGE BOOM2
!SWITCH BOOM20 BOOM21
!MESSAGE BOOM20
A curved piece of wood.
!MESSAGE BOOM21
A boomerang.
!MESSAGE BOT1
!SWITCH BOT10 BOT11 BOT12
!MESSAGE BOT10
There is a sealed bottle here.
!MESSAGE BOT11
There is an empty bottle here.
!MESSAGE BOT12
There is a bottle of water here.
!MESSAGE BOT2
!SWITCH BOT20 BOT21 BOT22
!MESSAGE BOT20
A sealed bottle.
!MESSAGE BOT21
An empty bottle.
!MESSAGE BOT22
A bottle of water.
!MESSAGE BRUNN1
A huge Valkyrie, swathed in armour, is sleeping here.
!MESSAGE BUST1
There is a platinum bust of Sir Arthur Conan Doyle here!
!MESSAGE BUST2
A platinum bust.
!MESSAGE C1M1
There is a small brass disc here, with the inscription "1 GUILLIRA".
!MESSAGE C1M2
A brass guillira.
!MESSAGE C2M1
There is a small bronze square here, with the inscription "1 PESCUDO".
!MESSAGE C2M2
A bronze pescudo.
!MESSAGE C3M1
There is a small oval piece of tin here, labelled "1 SHILLARK".
!MESSAGE C3M2
A tin shillark.
!MESSAGE C4M1
There is a small aluminium dodecagon here, labelled "1 POUBLE".
!MESSAGE C4M2
An aluminium pouble.
!MESSAGE C5M1
There is a small nickel hexagon here, with the inscription "1 PFENTIME".
!MESSAGE C5M2
A nickel pfentime.
!MESSAGE C6M1
There is a small heptagonal piece of lead here, labelled "1 ORING".
!MESSAGE C6M2
A lead oring.
!MESSAGE C7M1
There is a small copper pentagon here, with the inscription "1 DOLLIN".
!MESSAGE C7M2
A copper dollin.
!MESSAGE C8M1
There is a small triangular piece of iron here, labelled "1 CENNY".
!MESSAGE C8M2
An iron cenny.
!MESSAGE CAVE1M1
You are in a large cave, which contains the bones of many
creatures, both familiar and unfamiliar. The whole place
is redolent of the bizarre - something resembling the
skeleton of a long-extinct brontosaurus is lying in one corner
of the room, in another you can see the remains of a
!SWITCH CAVE1M10 CAVE1M11
!MESSAGE CAVE1M10
pterodactyl. There is an entrance at the west end and an exit
into daylight to the northeast.
!MESSAGE CAVE1M11
pterodactyl. There is an entrance at the west end but the northeastern
exit is blocked by a rockfall. There is a newly-exposed hole high up
the northeastern wall but you will never get back up there in a month
of Sundays.
!MESSAGE CAVE1M2
You are in the cave of prehistoric remains.
!MESSAGE CAVE21
You are in a small cave above the cave of prehistoric remains.
It is possible to scramble down here, but you'll never get up
again.
!MESSAGE CAVE22
You are in a small cave above the cave of prehistoric remains.
!MESSAGE CAVE31
You are in a small cave in the forest which has clearly
been disused for many years. There is daylight to the west.
!MESSAGE CAVE32
You are in the cave in the forest.
!MESSAGE CHAMBM1
You are in a fairly large orbicular chamber with exits in many
directions. The original purpose of this room is not clear,
as it is without decoration of any kind.
!MESSAGE CHAMBM2
You are in the large orbicular chamber.
!MESSAGE CHAP1MS1
You are at the western end of a primitive stone chapel. Light
streams in through the windows, which are set high above your
reach in the entirely featureless walls of the building.
A plain arch leads northwards to the world outside which,
as you know from experience, is extremely hostile.
!MESSAGE CHAP1MS2
You are at the west end of the chapel.
!MESSAGE CHAP2MS1
You are in the middle of a small east-west chapel, which is lit by
windows far above your reach.
!MESSAGE CHAP2MS2
You are in the middle of the chapel.
!MESSAGE CHAP3MS1
You are at the east end of a small chapel, lit by windows far
above your reach. The stone walls are austerely featureless.
!MESSAGE CHAP3MS2
You are at the east end of the chapel.
!MESSAGE CHEESE1
There is a small piece of cheese here.
!MESSAGE CHEESE2
!SWITCH CHEESE20 CHEESE20 CHEESE22
!MESSAGE CHEESE20
A piece of cheese.
!MESSAGE CHEESE22
A rather dusty piece of cheese.
!MESSAGE COFFM1
!SWITCH COFFM10 COFFM11 COFFM10
!MESSAGE COFFM10
There is an extremely heavy coffin here, which is closed.
!MESSAGE COFFM11
There is an extremely heavy coffin here, which is open.
!MESSAGE CORR1
You are in a north-south corridor. There are side passages off to
the east and west here.
!MESSAGE CORR2
You are in the N-S corridor where it meets the side passages.
!MESSAGE COURT1M1
You are at the western end of the court. There is a portal
leading out at this side, above which are inscribed the
words:

THE RIGHTFUL HEIR TO THE KINGDOM OF HAMIL
     WILL BE KNOWN BY HIS DEEDS

A lowered portcullis blocks the exit.
!MESSAGE COURT1M2
You are at the western end of the great court.
!MESSAGE COURT2M1
You are in the centre of a great court, by a large stone fountain.
There are gateways leading to the north and south, while the court
continues east and west of here.
!MESSAGE COURT2M2
You are in the centre of the court.
!MESSAGE COURT3M1
You are at the eastern end of a large open court, surrounded by high
brick walls. There is an exit into darkness to the northeast.
!MESSAGE COURT3M2
You are at the eastern end of the great court.
!MESSAGE CROWN1
The ancient crown of the Kings of Hamil is here!
!MESSAGE CROWN2
A crown.
!MESSAGE CROZ1
There is a golden crozier here!
!MESSAGE CROZ2
A golden crozier.
!MESSAGE CRY1
There are some priceless dilithium crystals here!
!MESSAGE CRY2
Some dilithium crystals.
!MESSAGE CRYPTMS1
You are in a crypt below the chapel, a dank and musty
chamber. Sinister passages lead to the east and west, and there
is a hole in the south wall. There are some steps up here,
but they lead nowhere.

On the wall is scrawled the following legend:

!SWITCH CRYPTS0 CRYPTS1 CRYPTS2 CRYPTS3 CRYPTS4 CRYPTS5 CRYPTS6 CRYPTS7
!MESSAGE CRYPTS0
TPM WNLLZSAY HL YAMNY
!MESSAGE CRYPTS1
TPM WNLLZSAY HL PSAYM
!MESSAGE CRYPTS2
TPM WNLLZSAY HL WSZMA
!MESSAGE CRYPTS3
TPM WNLLZSAY HL WAHYM
!MESSAGE CRYPTS4
TPM WNLLZSAY HL TAHWM
!MESSAGE CRYPTS5
TPM WNLLZSAY HL LWHAM
!MESSAGE CRYPTS6
TPM WNLLZSAY HL WNLTM
!MESSAGE CRYPTS7
TPM WNLLZSAY HL THYML
!MESSAGE CRYPTMS2
You are in the crypt.
!MESSAGE CUP1
You are in a small cupboard south of the fish room.
!MESSAGE CURTR1
!SWITCH CURTR10 CURTR11
!MESSAGE CURTR10
You are in a narrow room with a high ceiling. The eastern wall is
covered by an enormous tapestry, which depicts scenes of adventure
and heroism. It must be worth a fortune but you'll never be able to
carry it! There is an exit to the west.
!MESSAGE CURTR11
You are in a narrow room with a high ceiling. High up on the eastern
wall is a small window, through which sunlight is streaming. A cool
breeze blows in through the window. There is an exit to the west.
!MESSAGE CURTR2
!SWITCH CURTR20 CURTR21
!MESSAGE CURTR20
You are in the room with the priceless tapestry.
!MESSAGE CURTR21
You are in the tapestry room.
!MESSAGE CURVE11
You are in a narrow passage curving from southwest to east.
!MESSAGE CURVE21
You are in a narrow passage curving from northwest to east.
!MESSAGE CURVE31
You are in a narrow passage curving from west to southeast.
!MESSAGE DEEDS1
There are some important-looking documents here, which
are unfortunately written in a language you do not know.
!MESSAGE DEEDS2
Some important-looking documents.
!MESSAGE DENDM1
Dead end.
!MESSAGE DEP1
You are in a large cellar with walls of Lewis coral which has
obviously been designed as a home for some exotic beast. There
is a narrow exit upwards.
!MESSAGE DEP2
You are in a Snark house.
!MESSAGE DRAG1
There is a baby dragon here, breathing fire towards you.
!MESSAGE DUSTR1
You are in a small chamber the floor of which is covered by a
thick layer of white dust. There are exits to the west and
southeast.
!MESSAGE DUSTR2
You are in the dust chamber.
!MESSAGE DWA1
There is a vicious dwarf here brandishing an axe.
!MESSAGE EGG1
There is a huge egg here.
!MESSAGE EGG2
A huge egg.
!MESSAGE EMER1
There are some emeralds here!
!MESSAGE EMER2
Some emeralds.
!MESSAGE ENDRM1
You are in the entrance hall to Castle Hamil, which is
filled with knights who greet you as their lord. To the north
there is a passage into a small vault.
!MESSAGE ENDRM2
You are in the entrance hall.
!MESSAGE ENTERM1
!SWITCH ENTERM10 ENTERM11
!MESSAGE ENTERM10
You are in a narrow corridor. To the southwest is the
orbicular chamber and the corridor twists to exit
to the east.
!MESSAGE ENTERM11
You are in a narrow corridor, which enters from the
southwest and ends in a pile of rubble.
!MESSAGE ENTERM2
You are in a narrow twisting corridor.
!MESSAGE EXPECTED
That's what seems to be expected of you!
!MESSAGE FIRE1M1
!SWITCH FIRE1M10 FIRE1M11
!MESSAGE FIRE1M10
You are in a long east-west corridor. The eastern end is blocked by
a wall of fire, which reaches from the floor to the ceiling.
!MESSAGE FIRE1M11
You are in a long east-west corridor. There are the remains
of a fire at the eastern end.
!MESSAGE FIRE2M1
You are in a fairly large cave. There is an exit to the
west over the dying embers of a fire. Wagnerian sounds fill
the air, although it is not clear where they originate.
!MESSAGE FIRE2M2
You are in the Wagnerian cave.
!MESSAGE FISH1
!SWITCH FISH10 FISH11 FISH12
!MESSAGE FISH10
You are in a square room whose walls gleam with pictures of fish of
every description... turbot, halibut, you name it. A passage leads
back to the north.
!MESSAGE FISH11
On the western wall the word SWAMP seems to stand out from the
surrounding blackness, as though produced by a thousand glow-worms.
!MESSAGE FISH12
You are in a square room decorated with pictures of fish. There is
a newly-discovered exit to the south and a passage back to the north.
!MESSAGE FISH2
You are in the fish room.
!MESSAGE FOLIO1
There is a first folio of Shakespeare here!
!MESSAGE FOLIO2
A first folio of Shakespeare.
!MESSAGE FOR11
You are in a dark forest. There are paths to the southeast and southwest
and a gateway leading to the north.
!MESSAGE FOR12
You are in the forest by the gateway to the court.
!MESSAGE FOR21
You are in the forest. There are paths to the east, northeast
and southeast. To the west, the forest ends in a field.
!MESSAGE FOR22
You are in the forest near the field.
!MESSAGE FOR31
You are in the forest. There are paths to the west, northwest and southwest.
!SWITCH FOR310 FOR311
!MESSAGE FOR310
To the east is the entrance to a cave, but this is blocked by
an impenetrable mass of undergrowth.
!MESSAGE FOR311
To the east is the entrance to the cave. There seems to have
been a fairly large fire here recently.
!MESSAGE FOR32
You are in the forest by the entrance to the cave.
!MESSAGE FOR41
You are in the forest. There are paths to the northeast and northwest.
There is some sort of clearing to the south.
!MESSAGE FOR42
You are in the forest by the clearing.
!MESSAGE FORK1M1
The passage forks here, entering from the northeast and
exiting to the south and west.
!MESSAGE FORK2M1
The passage forks here, entering from the west and exiting to
the northeast and southeast.
!MESSAGE FORK3M1
The passage forks here, entering from the northwest and exiting
to the east and south (into a labyrinth).
!MESSAGE GARLIC1
There is a small piece of garlic here.
!MESSAGE GARLIC2
!SWITCH GARLIC20 GARLIC20 GARLIC22
!MESSAGE GARLIC20
A small piece of garlic.
!MESSAGE GARLIC22
A rather dusty piece of garlic.
!MESSAGE GOB1
There is an antique silver goblet here!
!MESSAGE GOB2
The 'hob' goblet.
!MESSAGE GROVE1
You are in a luxurious grove which contains an abundance of beautiful
plants. The sun is shining, birds twitter, bees hum... in fact the
whole atmosphere is soporific in the extreme. Now awake, you find it
difficult to remain so. The only exit is back to the north.
!MESSAGE GROVE2
You are in the grove.
!MESSAGE H9M1
You are in a small valley surrounded by unclimbable rocks. The only
exit, to the west, is blocked. A mighty voice intones "FARES PLEASE!"
!MESSAGE H9M2
You are in the valley.
!MESSAGE H10M1
You are in the Quaternion room. On the wall is scribbled
a selection of obscure algebraic formulae, none of which
seem particularly relevant at this juncture. There
is a narrow exit to the south.
!MESSAGE H10M2
You are in the Quaternion room.
!MESSAGE H11M1
You are in a small cave with an exit to the north and
a narrow archway leading to the west.
!MESSAGE HELM1
There is a richly bejewelled helmet here!
!MESSAGE HELM2
A bejewelled helmet.
!MESSAGE HEX1
!SWITCH HEX10 HEX11
!MESSAGE HEX10
There is a small six-legged creature with a single large eye sitting
on the ground here. It is crying "Mama! Mama!" plaintively in a
squeaky voice.
!MESSAGE HEX11
There is a dead hexapod on the ground here.
!MESSAGE HEX2
!SWITCH HEX20 HEX21 HEX22
!MESSAGE HEX20
A baby hexapod (sobbing).
!MESSAGE HEX21
A baby hexapod (dead).
!MESSAGE HEX22
A baby hexapod (gurgling contentedly).
!MESSAGE HMAZE0
You are in the Maze of Hamil. Light streams in through many
gaps in the rocks. There is the constant sound of rockfalls,
distant and not-so-distant.
!MESSAGE HMAZE
You are in the Maze of Hamil.
!MESSAGE HOBM1
You are in a small room which is furnished as a living room,
though evidently for an inhuman being, to judge from the designs
on the walls. These depict different ways of cooking human
flesh. I hope you have more taste.
!MESSAGE HOBM2
You are in the living room, and still living.
!MESSAGE HOLDING
You are holding:
!MESSAGE JACKM
!SWITCH JACKM0 JACKM1
!MESSAGE JACKM0
There is a jackdaw flying around in circles far above you.
Something it is carrying in its beak glisters in the sunlight.
!MESSAGE JACKM1
There is a dead jackdaw here.
!MESSAGE JACKM2
!SWITCH JACKM21 JACKM21 JACKM22
!MESSAGE JACKM21
A dead jackdaw (ugh!)
!MESSAGE JACKM22
A dead and rather dusty jackdaw.
!MESSAGE KOB1
There is an angry kobold here.
!MESSAGE LABM
You are in the labyrinth.
!MESSAGE LABM2
You are at the centre of the labyrinth.
!MESSAGE LADY1
!SWITCH LADY10 LADY11
!MESSAGE LADY10
There is an old lady here, sitting on a rock. Even in this
light, there appears to be something odd about her.
!MESSAGE LADY11
The mangled remains of an elderly female hobgoblin are here.
!MESSAGE LAMPMS1
There is a cheap bicycle lamp here.
!SWITCH LAMPMOFF LAMPMON
!MESSAGE LAMPMOFF
It is off.
!MESSAGE LAMPMON
It is burning brightly.
!MESSAGE LAMPMS2
A bicycle lamp.
!SWITCH LAMPMOFF LAMPMON
!MESSAGE LWMESS
You are in the Lost World.
!MESSAGE MAIZEL
You are in a huge cornfield. The atmosphere has the scent of
magic and sorcery about it. There are paths in various directions.
!MESSAGE MAIZES
You are in the enchanted maize.
!MESSAGE MUM1
There is a mummy here, shambling towards you.
!MESSAGE MURAL1
You are in a small room with exits to the southeast and northwest. The
whole of one wall is taken up with a large painted mural, which shows
!SWITCH MUR10 MUR11 MUR12 MUR13 MUR14 MUR15 MUR16 MUR17 MUR18
!MESSAGE MUR10
the explorations of Peary.
!MESSAGE MUR11
the explorations of Peary and Marco Polo.
!MESSAGE MUR12
the explorations of Marco Polo.
!MESSAGE MUR13
the explorations of Captain Scott and Marco Polo.
!MESSAGE MUR14
the explorations of Captain Scott.
!MESSAGE MUR15
the explorations of Columbus and Captain Scott.
!MESSAGE MUR16
the explorations of Columbus.
!MESSAGE MUR17
the explorations of Columbus and Peary.
!MESSAGE MUR18
the slaying of some fabulous beast.
!MESSAGE MURAL2
You are in the small room with the painted mural.
!MESSAGE MUS11
You are at the main entrance to the museum. There are passages to the
north, east and west and a gateway to the south.
!MESSAGE MUS12
You are at the main entrance to the museum.
!MESSAGE MUS31
You are in an east-west passage. There is a sign reading "TO THE SNARKS"
and an arrow pointing east.
!MESSAGE MUS32
You are in the east-west passage by the sign.
!MESSAGE MUS41
The passage comes to a dead end here, but there is a hole in the floor.
!MESSAGE MUS42
You are at the end of the passage by the hole in the floor.
!MESSAGE MUS51
You are at a junction of passages in the museum, with corridors
to the north, south, east and west.
!MESSAGE MUS52
You are at the junction of passages in the museum.
!MESSAGE MUS61
You are in a short passage. To the west there is the back entrance
to a museum, and to the east the passage widens into a chamber.
!MESSAGE MUS62
You are at the back entrance to the museum.
!MESSAGE ORC1
There is a huge orc here, who is armed with a mighty bludgeon.
!MESSAGE PAINT1
There is an oil painting by Van Gogh here!
!MESSAGE PAINT2
An oil painting.
!MESSAGE PEARLS1
There is a string of pearls here!
!MESSAGE PEARLS2
A string of pearls.
!MESSAGE PIT11
You are on the western side of a deep pit on an east-west path which
leads to the southern edge of the pit.
!MESSAGE PIT12
You are on the western side of the pit.
!MESSAGE PIT21
You are on an east-west path at the southern edge of the pit.
!MESSAGE PIT22
You are at the brink of the pit.
!MESSAGE PIT31
You are on the eastern side of the pit. The only exit is westwards
along the rim of the pit.
!MESSAGE PLAINM10
You are on a rocky plain which extends in all directions. The ground
is heavily cratered and there are boulders and rocks as far as the
eye can see. A passage leads down into darkness here.
!MESSAGE PLAINM11
You are on the rocky plain by the tunnel.
!MESSAGE PLAINM20
You are on a rocky plain which extends in all directions. The ground
is heavily cratered and there are boulders and rocks as far as the
eye can see.
!MESSAGE PLAINM21
You are on the rocky plain.
!MESSAGE PLATEAU1
You are at the centre of the plateau in the Lost World. Here there
is a passage down into the bowels of the earth.
!MESSAGE PLATEAU2
You are at the centre of the plateau.
!MESSAGE PWM1
You are in a short passage, which enters from the west
!SWITCH PWM10 PWM11
!MESSAGE PWM10
and terminates in a large metal door with no obvious
means of opening. The door bears the legend

HE WHO WISHES TO PROCEED FURTHER MUST SPEAK THE PASSWORD

!MESSAGE PWM11
and leads through an open doorway.
!MESSAGE PWM2
You are in the passage with the metal door.
!SWITCH PWM20 PWM21
!MESSAGE PWM20
The door is closed.
!MESSAGE PWM21
The door is open.
!MESSAGE RINGM1
There is a diamond ring here!
!MESSAGE RINGM2
A diamond ring.
!MESSAGE RODMS1
!SWITCH RODMS10 MNULL
!MESSAGE RODMS10
There is a rusty rod here.
!MESSAGE RODMS2
A rusty rod.
!MESSAGE RUBY1
The lost ruby of Hamil is here!
!MESSAGE RUBY2
A large ruby.
!MESSAGE SAP1
There is a box of sapphires here!
!MESSAGE SAP2
A box of sapphires.
!MESSAGE SLABMS1
!SWITCH SLABMS10 SLABMS11
!MESSAGE SLABMS10
There is an extremely heavy stone slab set into the floor here.
It bears the name O'GRAM.
!MESSAGE SLABMS11
There is a stone slab here, propped up by a rusty rod.
A flight of steps can be seen to descend beneath the slab.
!MESSAGE SN10
You are in a steep twisting passage. On the wall is daubed
the word "UNFORTUNATELY".
!MESSAGE SN20
You are in a steep twisting passage. On the wall is daubed
the word "SNARKS".
!MESSAGE SN30
You are in a steep twisting passage. On the wall is daubed
the word "HAVE".
!MESSAGE SN40
You are in a steep twisting passage. On the wall is daubed
the word "TO".
!MESSAGE SN50
You are in a steep twisting passage. On the wall is daubed
the word "BE".
!MESSAGE SN60
You are in a steep twisting passage. On the wall is daubed
the word "KEPT".
!MESSAGE SN70
You are in a steep twisting passage. On the wall is daubed
the word "DEEP".
!MESSAGE SN80
You are in a steep twisting passage. On the wall is daubed
the word "IN".
!MESSAGE SN90
You are in a steep twisting passage. On the wall is daubed
the word "THE".
!MESSAGE SNX0
You are in a steep twisting passage. On the wall is daubed
the word "GROUND".
!MESSAGE SPIT1
You are in a curiously constructed room. There are steep passages
leading down from here in all eight horizontal directions, each
labelled "TO THE SNARK". There is also a hole in the roof, through
which you will have no trouble returning.
!MESSAGE SPIT2
You are in the room with the eight tunnels leading from it.
!MESSAGE STATMESS
There is a huge marble statue by Michaelangelo here!
!MESSAGE STEAKMS1
There is a rather ancient piece of steak here.
!MESSAGE STEAKMS2
!SWITCH STEAKM20 STEAKM20 STEAKM22
!MESSAGE STEAKM20
An old steak.
!MESSAGE STEAKM22
A dusty piece of steak.
!MESSAGE SUBSM1
You are in a small cavern containing several tiny pools of
water. There are exits to the east and northwest, and a passage
up to the south, but you hear sounds which strongly suggest to you
that subsidence and rockfall are taking place close at hand.
!MESSAGE SUBSM2
You are in the cavern with the pools of water.
!MESSAGE TAL1
There is a primitive talisman here, with the word 'OBLIVION' inscribed
on it.
!MESSAGE TAL2
A talisman.
!MESSAGE TAP1
!SWITCH MNULL TAP11
!MESSAGE TAP11
There is an enormous tapestry here!
!MESSAGE TER1
You are in the departure lounge for Valhalla, a spacious
room filled with riches of every kind. There are a dozen
dancing maidens standing in one corner of the room, looking
expectantly at you. Heavenly sounds fill the air. On the wall
there are three notices, which read ZPNT NAM TPMHA SAYMAL?
ZPNT ZNL TPM WPANLM? and ZPNT HL TPM LMT, LSATMY?
!MESSAGE TYR1
!SWITCH TYR10 TYR11
!MESSAGE TYR10
There is a Tyrannosaurus Rex here, fast asleep, and snoring
thunderously.
!MESSAGE TYR11
A Tyrannosaurus Rex is lumbering towards you.
!MESSAGE VAMPM1
You are in a small sinister chamber smelling of mould
and decay.
!MESSAGE VAMP1
There is a thirsty vampire here, moving towards you with a
vicious gleam in his eye.
!MESSAGE VAULT1
You are in a strongly fortified square vault which is constructed
largely of granite. There are no exits other than the obvious one
by which you arrived.
!MESSAGE VAULT2
You are in the vault.
!MESSAGE WANDM1
There is a small ivory wand here, on which are carved some
mystic runes.
!MESSAGE WANDM2
A wand.
!MESSAGE WHEEL1
There is a bicycle wheel here.
!MESSAGE WHEEL2
A bicycle wheel.
!MESSAGE WHIST1
There is a small whistle here.
!MESSAGE WHIST2
A whistle.
!MESSAGE WPASSM1
You are in a curved passage to the west of the orbicular
chamber. The passage exits into daylight to the southwest.
!MESSAGE ZOM1
A zombie is trudging towards you.
!MESSAGE ALRCLOSED
It's already closed!
!MESSAGE ALRDEAD
The @x33 is already dead, you great raving loony!
!MESSAGE ALRHELD
You're already holding that!
!MESSAGE ALROFF
It's already off!
!MESSAGE ALRON
It's already on!
!MESSAGE ALROPEN
It's already open!
!MESSAGE AMNESIA
I can't remember what that word means.
!MESSAGE BARRIER
An invisible barrier blocks your way. It seems that the Valkyrie
has friends in high places.
!MESSAGE BOOJUM
In the room there is a Snark burbling frumiously to itself. As you
approach, it roars like a Bandersnatch. "Oh no, it's a Boojum!" you
gasp, as you softly and suddenly vanish away.
!MESSAGE BOOMDEATH
The returning boomerang catches you neatly on the side of the
neck, lacerating you badly. You bleed to death.
!MESSAGE BOOMFLIES
You hurl the boomerang into the air with all the strength at
your command. It flies off into the distance.
!MESSAGE BOTEMPTY
The bottle is already empty!
!MESSAGE BOTSEALED
The bottle is sealed!
!MESSAGE BOTFULL
The bottle is already full of water!
!MESSAGE CANTDIG
Unfortunately the ground is too hard for you dig here with your bare
hands.
!MESSAGE CANTDO
You can't do that!
!MESSAGE CANTEAT
You can't eat that!
!MESSAGE CANTLIFT
You can't lift that!
!MESSAGE CANTSLEEP
It's curious, but when you try to sleep at will, you find that
you stay awake thinking.
!MESSAGE CANTTAKE
You can't take that!
!MESSAGE COFFACL
The coffin is already closed!
!MESSAGE COFFAOP
The coffin is already open!
!MESSAGE CRUELHEX
You can't do that! What would its mother say?
!MESSAGE CRUMBLES
A ray of light hits the vampire, who emits a ghastly screech
and then literally crumbles into dust, which is dispersed by
a draught from the window.
!MESSAGE DANCEM
!SWITCH DANC0 DANC1 DANC2 DANC3
!MESSAGE DANC0
You dance a little jig.
!MESSAGE DANC1
You perform an Indian rain dance.
!MESSAGE DANC2
You do the twist.
!MESSAGE DANC3
You perform a Samoan fertility dance.
!MESSAGE DAYDREAM
Life, what is it but a dream?
!MESSAGE DIEHOBMS
You approach the old lady, who stands up and attacks you
viciously. Now that you are close to her you can see that
she is in fact a hobgoblin. However, this is the last thing
you see before becoming an ingredient in one of her recipes.
!MESSAGE DIEDWARF
The dwarf hacks you to pieces with his axe.
!MESSAGE DIEKOB
The kobold pulls out a knife and stabs you.
!MESSAGE DIEMUM
The mummy throttles you to death.
!MESSAGE DIEORC
The orc bludgeons you to a pulp.
!MESSAGE DIEZOM
The zombie crushes you to death.
!MESSAGE DIENASTY

!SWITCH DIEN0 DIEN1 DIEN2 DIEN3 DIEN4 DIEN5 DIEN6 DIEN7
!MESSAGE DIEN0
While you are wondering what to do next, a giant centipede
scuttles in and gives you a poisonous bite in the leg.
!MESSAGE DIEN1
A monstrous crow appears from nowhere, swoops down on you,
and carries you away. Later you are fed to its young.
!MESSAGE DIEN2
A giant weasel enters and gives you a vicious bite, removing your
left arm. You lose more blood than you had to spare.
!MESSAGE DIEN3
A giant rat bounds in and gobbles you up.
!MESSAGE DIEN4
While you are drivelling around, a giant toad crawls in
and leaps upon you, crushing you to death.
!MESSAGE DIEN5
A giant bat flutters by, and pauses to feed on your blood.
!MESSAGE DIEN6
A giant aardvark appears, catches you with its tongue, and
eats you. It must have mistaken you for a giant ant!
!MESSAGE DIEN7
A giant bee buzzes in and stings you. The fact that this is
a cause of the bee's death as well as yours is small consolation.
!MESSAGE DISAPPOINT
The maidens look at you with disappointment. I'm afraid
that you've just missed the last boat to Valhalla.

You scored 299 points out of a maximum of 300.
!MESSAGE DIVEPIT
You dive into the pit and break your neck in three places.
!MESSAGE DJINNAP
A huge djinn appears from the bottle with a WHOOSH. He says sonorously
"Many thanks, oh effulgent one! I will help thee if it be in my power."
!SWITCH DJN0 DJN1 DJN2 DJN3
!MESSAGE DJN0
He then vanishes and reappears after a short while, saying "Alas, it
seems that I cannot aid thee! Farewell!". The djinn then vanishes for good.
!MESSAGE DJN1
He then vanishes and reappears after a short while, saying "I have done thee
service to the best of my powers, oh lustrous one! Farewell!" The djinn
then vanishes for good.
!MESSAGE DJN2
He then takes up the massive tapestry and bears it away. He returns soon
afterwards, saying "I have taken your treasure to the appointed place, oh
splendrous one! Farewell!" The djinn then vanishes for good.
!MESSAGE DJN3
He then vanishes and reappears after a short while bearing the massive
tapestry. He bows and says "I bring your treasure to the appointed
place, oh luminous one! Farewell!" The djinn then vanishes for good.
!MESSAGE DNOTHUNG
The dragon doesn't seem to be hungry. Besides, this one
lives entirely on treacle and you haven't found any yet.
!MESSAGE DONOTP
As you leave the room, a disembodied voice whispers 'Do not pause!'
!MESSAGE DOGBAD
An enormous alsatian appears, snarling and foaming at the mouth.
It sets on you and rends you limb from limb.
!MESSAGE DOGGOOD
An enormous alsatian appears, snarling and foaming at the mouth.
It is about to set on you but sees the old lady as a worthier
opponent and fights a fierce battle with her, eventually tearing
her limb from limb. It then slopes off, exhausted.
!MESSAGE DONTSEE
I don't see that around here!
!MESSAGE DOORBLOCK
I'm afraid I never could walk through sealed doors.
!MESSAGE DOORHEAVY
The door is very heavy, too heavy for you to move.
!MESSAGE DRAGBLOCK
The dragon refuses to let you enter the cave, driving you
back with flames as you approach.
!MESSAGE DROPOBJ1
!SWITCH DROPOBJ3 DROPOBJ2 DROPOBJ3
!MESSAGE DROPOBJ2
You dropped one object.
!MESSAGE DROPOBJ3
You dropped @x37 objects.
!MESSAGE DTPW
Don't expect me to know anything about passwords!
!MESSAGE EARTHQUAKE
As you leave the area, there is another earthquake and the
room you were in is completely demolished.
!MESSAGE EGGKILL1
Suddenly the egg you are carrying gives a loud CRACK, the shell
!SWITCH EGGKILL3
!MESSAGE EGGKILL2
The egg near which you are standing gives a loud CRACK, the shell
!SWITCH EGGKILL3
!MESSAGE EGGKILL3
splits, and a baby dragon emerges. It purrs happily at you,
unfortunately giving you third degree burns in the process.
In fact the dragon's attempt to make friends merely results
in your demise.
!MESSAGE ENCHANT
As you enter the room an enchantress approaches you and embraces you
fervently. This may be more fun than adventuring but in fact she
underestimates her powers and you soon fall into a coma and die.
!MESSAGE EXTINGUISH
You throw the water onto the flames, which die down very rapidly
and are then completely quenched.
!MESSAGE FALLSAWAY
Something softly and suddenly vanishes away.
!MESSAGE FARESPLEASE
The voice repeats "FARES PLEASE!"
!MESSAGE FISHFALL
The ceiling falls in on you and you are quickly crushed to death.
!MESSAGE FISHOPEN
A concealed exit in the south wall silently slides open.
!MESSAGE FLAMESBLOCK
The flames block your way. Well they would, wouldn't they?
!MESSAGE FLIESOPEN
The door flies open.
!MESSAGE FOUNDMAMA
The baby hexapod runs into the arms of a much larger isomorphic
creature, obviously its parent. In a similar high-pitched voice
this creature squeaks "We thank you for seeing our little Alpha
Centauri home safely to us. Pray accept this reward - such baubles
are of no interest to us but we understand that they are highly
regarded by humanoids." She then drops a string of pearls at your
feet and the two of them disappear down a hole in the ground,
which at once closes after them.
!MESSAGE FULLFARE
The voice booms "The fare is 8 slotules, not just @x34!"
!MESSAGE GIANTHAND
The voice bellows "NOTED" and a giant hand appears as if from nowhere
and picks you up. You are carried some distance across breathtaking
rocky scenery by what you see to be a 90-foot cyclops before being
deposited gently on the ground. The cyclops then vanishes and you see that...

!MESSAGE GOBDEATH
You attempt to steal the goblet off the old lady, who
stands up and attacks you viciously. Now that you are
close to her you see that she is in fact a hobgoblin.
However this is the last thing you see before becoming
an ingredient in one of her recipes.
!MESSAGE GROUNDSUBS
The earth opens up and swallows you. You die of bruises, suffocation etc.
!MESSAGE GROYMESS

Well, that's got rid of you then I suppose.
!MESSAGE HAMILMESS
That's the name of the game!
!MESSAGE HANDSFULL
You can't carry anything more - you'll have to drop something
before you can take that.
!MESSAGE HANDSF2
You've had to leave some things, as your hands are now full.
!MESSAGE HELLO
HAMIL - version 3.03. All comments to JRP1 please.
!MESSAGE HELP
To move, give directions (N, NE, E, ... NW, U, D, B(ack)). ON & OFF
control the lamp. Other good words are TAKE, DROP, LOOK, INV, SCORE,
SAVE and QUIT, plus a few you must find for yourself.
!MESSAGE HEXDIES
As you let go of the sobbing hexapod it gives a faint squeak and dies.
!MESSAGE HEXGURGLES
The hexapod gobbles up the steak greedily after which it calms
down considerably, only occasionally burping and saying "Mama?"
!MESSAGE HEXMOVES
You drop the hexapod to the ground. It runs off to the
!SWITCH MNULL HEXM0 HEXM1 HEXM2
!MESSAGE HEXM0
southeast.
!MESSAGE HEXM1
south.
!MESSAGE HEXM2
southwest.
!MESSAGE HEXON
!SWITCH MNULL HEXON0 HEXON1 HEXON2
!MESSAGE HEXON0
The hexapod runs southeast.
!MESSAGE HEXON1
The hexapod runs south.
!MESSAGE HEXON2
The hexapod runs southwest.
!MESSAGE HEXRAN
As you drop the hexapod it scurries away out of sight.
!MESSAGE HIDDENDOOR

Suddenly a narrow crack in the wall begins to widen. You rush for it
and manage to squeeze through, leaving your possessions behind in the
vault, before it closes again. On looking at your new surroundings,
you find that...

!MESSAGE HIJACK
The boomerang catches the jackdaw a passing blow, knocking it
to the ground, dead. The weapon itself continues in flight.
!MESSAGE INCIN
Although young, the dragon has no trouble in taking care of
itself, and you are somewhat incinerated.
!MESSAGE INPIT
You throw the @x33 into the pit.
!MESSAGE INSTRMESS

For more info on how to proceed, type HELP.

Welcome to Hamil, a world containing many wondrous and
terrifying things.  The story so far...

You have discovered that the outside world is dangerous. Pursued for
many days and nights by hordes of hostile beings, you have arrived,
breathless, at a sanctuary. It seems that you are trapped, as it would
be foolhardy to venture outside again. However, there may be more to this
place than you think...

!MESSAGE INSTRUC
Do you want me to set the scene?
!MESSAGE KARATE
You attack the nearest maiden, but she turns out to be an expert in
Karate and breaks your neck with a single blow.
!MESSAGE KCHAPMESS
!SWITCH KC0 KC1 KC2
!MESSAGE KC0
You step recklessly through the archway, to be hit
simultaneously by about a dozen arrows, three flying axes,
and a couple of large boulders. This is unfortunate.
!MESSAGE KC1
You step recklessly through the archway, to be set upon
simultaneously by three lions, a leopard and a wolf. This
is not at all pleasant, but if it's any consolation, the wolf
missed out on the best meat.
!MESSAGE KC2
You step recklessly through the archway. A 16-ton weight
lands on your head. This is something of a setback for you.
!MESSAGE KOBRUNS
The kobold suddenly shows signs of terror and runs away from
you at top speed!
!MESSAGE LEGION
I think you should sign up for the French Foreign Legion if you want
to forget.
!MESSAGE LOWERPORT
The portcullis is lowered behind you as you pass.
!MESSAGE MECDIE
An eight-foot goddess with golden hair appears before you and demands
to know why you have summoned her. Finding that you have no convincing
explanation, she carries you off to a fiery furnace, where you are
reduced to ashes.
!MESSAGE MOAN
Nothing interesting ever happens.
!MESSAGE MONSTER
As you reach the edge of the pit a large furry arm reaches out and
pulls you into the murky depths. There are horrendous sounds of
snarling and your body is wrenched to pieces and then eaten.
!MESSAGE MNULL
!MESSAGE MOREGAMES
Do you want another game, oh heroic one?
!MESSAGE NHAPPENS
Nothing interesting happens.
!MESSAGE NHOLDWATER
You're not holding any water!
!MESSAGE NHWHIST
You're not holding a whistle!
!MESSAGE NOBOOJ
In the room there is a Snark burbling frumiously to itself. As you
approach, it gives you an uffish look and then disappears completely.
!MESSAGE NOBOTTLE
You don't have a bottle!
!MESSAGE NOCOINS
Coins? What coins?
!MESSAGE NODRINK
There is nothing here to drink.
!MESSAGE NOEATEGG
You settle down to eat the egg but you find that you can't
even break the shell.
!MESSAGE NOEGGBREAK
Despite all your efforts, you are unable to break the shell.
!MESSAGE NOFIND
You dig in the dust but find nothing.
!MESSAGE NOFOOD
You don't have any suitable food with you.
!MESSAGE NOGOBWAT
The goblet is purely ornamental and might equally well have been
designed for use as a colander. It certainly won't hold anything.
!MESSAGE NOHIGHER
You can't lift the slab any further.
!MESSAGE NOSAVECORN
I'm afraid the spirits of the cornfield would make my life a misery if
I let you save round here.
!MESSAGE NOSAVELAB
Your chances of being saved here are small!
!MESSAGE NOTEDMESS
We endeavour to give satisfaction.
!MESSAGE NOTHELD
You're not holding that!
!MESSAGE NOTHERE
It's not here!
!MESSAGE NOTHINGM
Nothing.
!MESSAGE NOTHLAMP
You're not holding the lamp!
!MESSAGE NOTHNGHERE
There's nothing here you can take easily.
!MESSAGE NOTHOLDING
You're not holding anything!
!MESSAGE NOTHWAND
You're not holding the wand!
!MESSAGE NOTIMEREAD
This is not the time to be catching up on your reading!
!MESSAGE NOTKNOW
You don't know the language they're written in.
!MESSAGE NOWATER
There's no water here!
!MESSAGE NOWAYMESS
You can't go in that direction!
!MESSAGE OBMESS
Nothing memorable happens.
!MESSAGE OGREMESS
A large ogre appears and taps you on the shoulder. "Oy!" he says,
"I'm not having anyone fighting with broken bottles round here!"
He then leaves, taking the bottle with him.
!MESSAGE OHDEAR

Oh dear! You seem to have passed away.
!MESSAGE OHYEAH
Oh yeah? You'd better explain how.
!MESSAGE OKMESS
OK.
!MESSAGE OOPS
Oh, by the way, you seem to have left the talisman behind.
!MESSAGE PICKDROP
Your muscles are not seriously strained as you raise and then
lower the @x33.
!MESSAGE POISON
Well, the @x33 looks most unappetizing now but you eat it
anyway. Shortly afterwards you experience severe stomach pains and die.
!MESSAGE PRISEMESS
You succeed in prising the slab from the ground with the aid of
the metal rod. A flight of steps beneath is revealed, and you
therefore prop the slab up with the rod, leaving a gap through
which you should just be able to squeeze.
!MESSAGE PTEROGET
You have reached the centre of the plateau. Unfortunately there are
still @x34 pterodactyls remaining here, waiting to take off, and
they set upon you vigorously with their talons. I think you have
just become extinct.
!MESSAGE QUITQUERY
Are you certain you want to quit?
!MESSAGE RAISEPORT
The sentries see at once that you are carrying the deeds to
castle Hamil, bow respectfully to you, and raise the portcullis.
!MESSAGE RANDOMPASS
You choose a passage at random and go down it.
!MESSAGE RATHERNOT
I'd rather not try, if it's all the same to you.
!MESSAGE REFUSE
The sentries refuse to raise the portcullis.
!MESSAGE RELUCDRINK
Well, you weren't all that thirsty, but you take a long drink
of water. I'm sorry I've nothing stronger to offer you.
!MESSAGE RELUCTEAT
Well, you weren't really hungry, but you eat the @x33 all
the same. Don't blame me if you get indigestion.
!MESSAGE ROCKFALL
As you leave there is another earth tremor and
the room you were in is completely destroyed.
!MESSAGE SCOREM1
You have scored @x34 points out of a maximum of 300.
!MESSAGE SCOREM2
You scored @x34 points out of a maximum of 300.
!MESSAGE SCOREM3
If you quit now you will have scored @x34 points out of
a maximum of 300.
!MESSAGE SILENCE
Suddenly there is an almighty screech followed by silence.
!MESSAGE SCRAMBLE
You clamber down to the cave below, slip, and land with a thud,
slightly bruising your upper arm in the process.
!MESSAGE SLABFALLS
As you take the rod, the slab falls back into position,
covering the hole beneath.
!MESSAGE SLEEPBAD
You enter a luxurious grove in which the atmosphere is so heady
that you fall asleep almost at once. You awake shortly afterwards
with no (apparent) after-effects.
!MESSAGE SLEEPGOOD
You enter a luxurious grove in which the atmosphere is so heady
that you fall asleep almost at once. The cheese you ate so recently
gives you terrible nightmares, from which you are glad to awaken. The
most vivid one is about a stone statue and a man calling out
!SWITCH SG0 SG1 SG2 SG3 SG4
!MESSAGE SG0
"GLOOP".
!MESSAGE SG1
"ZOG".
!MESSAGE SG2
"ADRIC".
!MESSAGE SG3
"ARCOROC".
!MESSAGE SG4
"NOMET".
!MESSAGE SORRYBLOCK
Sorry, this path has been blocked by an avalanche.
!MESSAGE SPIRIT
Three spirits appear in front of you. They claim to be the servants
of the Maize Goddess, Mecohuatl, and promptly bear you away as a
sacrifice to their deity.
!MESSAGE STATWALKS
To your surprise the statue suddenly comes to life and strides
away down the passage.
!MESSAGE STEPSMESS
You squeeze through the hole and as you do so the
rusty rod snaps. The slab falls back into position, missing
you by inches. Despite all your efforts there is no way
back, so you proceed down the short flight of steps.
!MESSAGE TCURTMESS
You pull down the tapestry from the wall, exposing a small
window, far above your reach, through which the sun is shining
and a refreshing breeze is blowing.
!MESSAGE THRESH
There are sounds of roaring and threshing in the pit.
!MESSAGE TOOHEAVY
You are unable to lift it!
!MESSAGE TOOKOBJ1
!SWITCH NOTHNGHERE TOOKOBJ3 TOOKOBJ4
!MESSAGE TOOKOBJ2
!SWITCH TOOKOBJ4 TOOKOBJ3 TOOKOBJ4
!MESSAGE TOOKOBJ3
You took one object.
!MESSAGE TOOKOBJ4
You took @x37 objects.
!MESSAGE TOOLATE
As you leave the room, a disembodied voice sighs 'Too late!'
!MESSAGE TOONARROW
The neck of the bottle is too narrow for you to get any dust in.
!MESSAGE TREMORMESS
As you leave the room there is a violent earth tremor and a
mighty rushing wind, which between them force you to drop
all your possessions. Moreover a large rock falls, narrowly
missing you and cutting off the way you came in.
!MESSAGE TYRAHA
You rashly venture outside again, to be eagerly devoured by the
Tyrannosaurus Rex. What a fool.
!MESSAGE TYRAVAL
The T.R. follows, causing an avalanche to block the path you took.
!MESSAGE TYRCATCH
The Tyrannosaurus Rex finally catches you and gobbles you up.
It then settles down for a sleep, exhausted by the effort.
!MESSAGE TYRCLUMP
The Tyrannosaurus is still clumping towards you.
!MESSAGE TYRFUTILE
In a fit of optimism you hurl yourself at the Tyrannosaurus Rex.
!SWITCH TYF0 TYF1
!MESSAGE TYF0
It wakes and gobbles you up, and then goes back to sleep (not
that you see this).
!MESSAGE TYF1
It eagerly gobbles you up and then settles down for a sleep
(not that you see this).
!MESSAGE TYRTRAP
You have reached the centre of the plateau, from which the
last pterodactyl has just taken off. However the Tyrannosaurus
follows you, causing a final avalanche (the best) which cuts
off the path by which you got here.
!MESSAGE TYRWAKES
As you pass the Tyrannosaurus, it stirs uneasily and then
wakes, stands up and begins lumbering towards you. You run through
the exit and find yourself on the slopes of the Lost World - a vast
plateau criss-crossed by a network of boulder-strewn paths and populated
by beings long thought extinct. From this point it is also possible to
descend to the centre of the plateau, from which a large flock of
pterodactyls is taking off in perfect formation. Meanwhile, the
Tyrannosaurus is still galumphing towards you, having already caused
a small avalanche which has blocked the path back into its cave.
!MESSAGE UNAPP
The hexapod turns up its nose at your rather unappetizing steak.
!MESSAGE VALMESS
The nymphs burst into a round of applause, a hidden orchestra
plays the Blue Danube, and you waltz the night away. After this
you all embark on the ship for Valhalla and set sail, watched
by a cheering crowd of hobgoblins, orcs, hexapods and many
other exotic beings.

You scored 300 points out of a maximum of 300.
Perhaps you really are quite clever. Well done!

!MESSAGE VAMPAPPS
You lift the lid of the coffin to reveal an elegantly dressed corpse.
Its eyes snap open and it smiles thirstily at you. The vampire (for
such it is) then leaps from the coffin, drops something it was
carrying, and moves towards you with fangs bared.
!MESSAGE VAMPKILLS
The vampire attacks swiftly, enjoying a long refreshing drink at
your expense.
!MESSAGE WANDRUNE
The runes on the wand say:
   "Though bold in name
    They flee in shame!"
!MESSAGE WEAREPLAY
We are playing!
!MESSAGE WGDRAG
You throw the water at the baby dragon, whose flames are thoroughly
quenched. It gives you a reproachful look and then flies off into the
distance.
!MESSAGE WGTYR
You dive down into the passage just in time to evade the
Tyrannosaurus Rex, which cannot squeeze through and remains
outside roaring at you and glaring at you malevolently.
!MESSAGE WHMESS
!SWITCH WM0 WM1 WM2
!MESSAGE WM0
Toot toot!
!MESSAGE WM1
Beep beep!
!MESSAGE WM2
Phthui!
!MESSAGE WTENCH
As you enter the room an enchantress approaches you but then halts.
"Yeugh! I never could stand garlic!" she says, and vanishes into
thin air. Hard luck (?)
!MESSAGE WTHEX
The hexapod gobbles up the steak, after which it has a new surge
of energy and runs away before you can stop it.
!MESSAGE YOUDOFT
You and the Tyrannosaurus Rex seem to be in agreement then.
The monster gladly accepts your offer and devours you.
!MESSAGE YOUWAVE
You wave, but nobody waves back. Life's like that.
!END