Home » Archimedes archive » Acorn User » AU 1994-10.adf » !Adventure_Adventure » zcode/advent

zcode/advent

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn User » AU 1994-10.adf » !Adventure_Adventure
Filename: zcode/advent
Read OK:
File size: 20E74 bytes
Load address: 0000
Exec address: 0000
File contents
! ----------------------------------------------------------------------------
!  Adventure: a demonstration of Inform 5 code, and a classic game.
!
!  Begun 17.5.94: completed 24.5.94.
! ----------------------------------------------------------------------------

Switches xdv5s;

Constant Story "ADVENTURE";
Constant Headline
           "^The Interactive Original^\
             By Willie Crowther and Don Woods (1977)^\
             David M. Baggett's 1993 reconstruction, ported by Graham Nelson^";

Release 1;

Attribute valuable;
Attribute nodwarf;
Attribute treasure_found;
Property depositpoints;

Constant MAX_CARRIED 7;
Constant MAX_SCORE 350;
Constant MAX_TREASURES 15;
Constant AMUSING_PROVIDED;

#include "Parser";
#include "VerbLib";

Global caves_closed = 0;
Global canyon_from;
Global treasures_found = 0;
Global deaths = 0;


Class Treasure
 with depositpoints 10,
      after
      [; Take: if (location==Inside_Building)
                    score=score-self.depositpoints;
               score=score+5;
               if (noun hasnt treasure_found)
               {   give noun treasure_found; treasures_found++;
                   score=score+2;
               }
               "Taken!";
         Drop: score=score-5;
               if (location==Inside_Building)
               {   score=score+self.depositpoints;
                   "Safely deposited.";
               }               
      ],
 has  valuable;

! ----------------------------------------------------------------------------
!   The outside world
! ----------------------------------------------------------------------------

Object At_End_Of_Road "At End Of Road"
  with description "You are standing at the end of a road before a small \
                    brick building.  Around you is a forest.  A small \
                    stream flows out of the building and down a gully.",
       w_to At_Hill_In_Road, u_to At_Hill_In_Road, e_to Inside_Building,
       d_to In_A_Valley, s_to In_A_Valley, n_to In_Forest_1,
       in_to Inside_Building,
       name "gully" "road" "street" "path"
  has  light;

Object well "well house"
  with name "well" "house" "brick" "building" "small" "wellhouse",
       description "It's a small brick building. It seems to be a well house.",
       found_in  At_End_Of_Road  At_Hill_In_Road  Inside_Building
  has  scenery;

Object Stream "stream"
  with name "stream" "water" "brook" "river" "lake"
            "small" "tumbling" "splashing" "babbling" "rushing" "reservoir",
       found_in At_End_Of_Road  In_A_Valley  At_Slit_In_Streambed
                In_Pit  In_Cavern_With_Waterfall
                At_Reservoir
                Inside_Building,
       before
       [; Drink: 
                 "You have taken a drink from the stream.  The water \
                  tastes strongly of minerals, but is not unpleasant.  \
                  It is extremely cold.";
          Take: if (bottle notin player)
                    "You have nothing in which to carry the water.";
                <<Fill bottle>>;
          Insert: if (second == bottle) <<Fill bottle>>;
                    "You have nothing in which to carry the water.";
          Receive: if (noun == ming_vase)
                {   remove ming_vase; move shards to location;
                    score=score-5;
                    "The sudden change in temperature \
                     has delicately shattered the vase.";
                }
                if (noun == bottle) <<Fill bottle>>;
                remove noun; if (noun has valuable) score=score-5;
                CDefArt(noun); " washes away with the stream.";
       ],
  has  scenery;

Object Road "road"
  with name "road" "street" "path" "dirt",
       description "The road is dirt, not yellow brick.",
       found_in  At_End_Of_Road  At_Hill_In_Road  In_Forest_2
  has  scenery;

Object forest "forest"
  with name     "forest" "tree" "trees" "oak" "maple" "grove" "pine"
                "spruce" "birch" "ash" "saplings" "bushes" "leaves"
                "berry" "berries" "hardwood",
       description
                "The trees of the forest are large hardwood oak and \
                maple, with an occasional grove of pine or spruce.  \
                There is quite a bit of undergrowth, largely birch \
                and ash saplings plus nondescript bushes of various \
                sorts.  This time of year visibility is quite \
                restricted by all the leaves, but travel is quite \
                easy if you detour around the spruce and berry \
                bushes.",
       found_in At_End_Of_Road  At_Hill_In_Road  In_A_Valley
                In_Forest_1  In_Forest_2
  has  scenery;


Object At_Hill_In_Road "At Hill In Road"
  with description "You have walked up a hill, still in the forest.  The road \
               slopes back down the other side of the hill.  There is a \
               building in the distance.",
       e_to At_End_Of_Road,
       n_to At_End_Of_Road,
       d_to At_End_Of_Road,
       s_to In_Forest_1,
       name "gully" "road" "street" "path"
  has  light;

Nearby Hill "hill"
  with description "It's just a typical hill.",
       name "hill" "bump" "incline"
  has  scenery;

Nearby OtherSideOfHill "other side of hill"
  with article "the", description "Why not explore it yourself?",
       name "side" "other"
  has  scenery;


Object Inside_Building "Inside Building"
  with description "You are inside a building, a well house for a \
                large spring.",
       cant_go "The stream flows out through a pair of 1 foot \
               diameter sewer pipes.  The only exit is to the west.",
       before
       [; Enter: if (noun==Spring or SewerPipes)
             "The stream flows out through a pair of 1 foot \
              diameter sewer pipes.  It would be advisable to use the exit.";
          Xyzzy: if (In_Debris_Room hasnt visited) rfalse;
                 PlayerTo(In_Debris_Room); rtrue;
          Plugh: if (At_Y2 hasnt visited) rfalse;
                 PlayerTo(At_Y2); rtrue;
       ],
       w_to At_End_Of_Road, out_to At_End_Of_Road,
       in_to "The pipes are too small."
  has  light;

Nearby Spring "spring"
  with name "spring" "large",
       description "The stream flows out through a pair of 1 foot \
                diameter sewer pipes."
  has  scenery;

Nearby SewerPipes "pair of 1 foot diameter sewer pipes"
  with name "pipes" "pipe" "one" "foot" "diameter" "sewer" "sewer-pipes",
       description "Too small.  The only exit is to the west."
  has  scenery;

Nearby set_of_keys "set of keys"
  with description "It's just a normal-looking set of keys.",
       initial "There are some keys on the ground here.",
       name "keys" "key" "keyring" "set" "of" "bunch";


Nearby tasty_food "tasty food"
  with description "Sure looks yummy!", article "some",
       initial "There is tasty food here.",
       name "food" "ration" "rations" "tripe"
            "yummy" "tasty" "delicious" "scrumptious",
       after
       [; Eat: "Delicious!"; ],
  has  edible;


Nearby brass_lantern "brass lantern"
  with name "lamp" "headlamp" "headlight" "lantern" "light" "shiny" "brass",
       when_off "There is a shiny brass lamp nearby.",
       when_on  "Your lamp is here, gleaming brightly.",
       number 330,
       time_left 0,
       daemon
       [ t; if (self hasnt on) { StopDaemon(self); rtrue; }
         t=self.number-1;
         self.number=t;
         if (t==0) give self ~on ~light;

         if (self in player || self in location)
         {   if (t==0)
             {   
                 print "Your lamp has run out of power.";
                 if (fresh_batteries notin player && location hasnt light)
                 {   deadflag=3;
                     "  You can't explore the cave without a lamp. So \
                      let's just call it a day.";
                 }
                 else ReplaceBatts();
                 new_line; rtrue;
             }  
             if (t==30)
             {   print "Your lamp is getting dim.";
                 if (fresh_batteries has general)
                     "  You're also out of spare batteries.  \
                      You'd best start wrapping this up.";
                 if (fresh_batteries in VendingMachine
                     && Dead_End_14 has visited)
                     "  You'd best start wrapping this up, \
                      unless you can find some fresh \
                      batteries. I seem to recall there's a \
                      vending machine in the maze.  Bring \
                      some coins with you.";
                 if (fresh_batteries notin VendingMachine)
                      "  You'd best go back for those batteries.";
                 new_line; rtrue;
             }
         }
       ],
       before
       [; Examine: print "It is a shiny brass lamp";
                if (self hasnt on)
                    ".  It is not currently lit.";
                if (self.number < 30)
                    ", glowing dimly.";
                ", glowing brightly.";
          Burn: <<SwitchOn self>>;
          Rub:  "Rubbing the electric lamp is not particularly \
                 rewarding.  Anyway, nothing exciting happens.";
          SwitchOn: if (self.number <= 0)
                "Unfortunately, the batteries seem to be dead.";
          Receive:
                if (noun==old_batteries)
                    "Those batteries are dead; they won't do any good at all.";
                if (noun == fresh_batteries) { ReplaceBatts(); rtrue; }
                "The only thing you might successfully put in \
                 the lamp is a fresh pair of batteries.";
       ],
       after
       [; SwitchOn: give self light; StartDaemon(self);
          SwitchOff: give self ~light;
       ],
  has  switchable;

[ ReplaceBatts;
  if (fresh_batteries in player || fresh_batteries in location)
  {   remove fresh_batteries; give fresh_batteries general;
      move old_batteries to location; brass_lantern.number = 2500;
      "I'm taking the liberty of replacing the batteries.";
  }
];


Nearby bottle "small bottle"
  with name "bottle" "jar" "flask",
       initial "There is an empty bottle here.",
       before
       [; LetGo:
             if (noun in bottle)
                 "You're holding that already (in the bottle).";
         Receive:
             if (noun==stream or Oil) <<Fill self>>;
             else "The bottle is only supposed to hold liquids.";
         Fill:
             if (child(bottle)~=0)
               "The bottle is full already.";
             if (stream in location || Spring in location)
             {   move water_in_the_bottle to bottle;
                 "The bottle is now full of water.";
             }
             if (Oil in location)
             {   move oil_in_the_bottle to bottle;
                 "The bottle is now full of oil.";
             }
             "There is nothing here with which to fill the bottle.";
         Empty: if (child(bottle)==0) "The bottle is already empty!";
             remove child(bottle);
             "Your bottle is now empty and the ground is now wet.";
       ],
  has  container open;

Object water_in_the_bottle "bottled water"
  with name "bottled" "water" "h2o", article "some",
       before
       [; Drink:  remove water_in_the_bottle; <<Drink Stream>>;
       ],
       description "It looks like ordinary water to me.";

Object oil_in_the_bottle "bottled oil"
  with name "oil" "bottled" "lubricant" "grease", article "some",
       before
       [; Drink:  <<Drink Oil>>;
       ],
       description "It looks like ordinary oil to me.";


Object In_Forest_1 "In Forest"
  with description "You are in open forest, with a deep valley to one side.",
       e_to In_A_Valley,
       d_to In_A_Valley,
       n_to In_Forest_1,
       w_to In_Forest_1,
       s_to In_Forest_1,
       initial [; if (random(2)==1) PlayerTo(In_Forest_2,1); ],
  has  light; 

Object In_Forest_2 "In Forest"
  with description "You are in open forest near both a valley and a road.",
       n_to At_End_Of_Road,
       e_to In_A_Valley,
       w_to In_A_Valley,
       d_to In_A_Valley,
       s_to In_Forest_1
  has  light;


Object In_A_Valley "In A Valley"
  with description
                "You are in a valley in the forest beside a \
                stream tumbling along a rocky bed.",
       n_to At_End_Of_Road,
       e_to In_Forest_1,
       w_to In_Forest_1,
       u_to In_Forest_1,
       s_to At_Slit_In_Streambed,
       d_to At_Slit_In_Streambed, name "valley"
  has  light;

Nearby Streambed "streambed"
  with name "bed" "streambed" "rock" "small" "rocky" "bare" "dry"
  has  scenery;


Object At_Slit_In_Streambed "At Slit In Streambed"
  with description "At your feet all the water of the stream \
                    splashes into a 2-inch slit in the rock.  Downstream \
                    the streambed is bare rock.",
       n_to In_A_Valley,
       e_to In_Forest_1,
       w_to In_Forest_1,
       s_to Outside_Grate,
       before
       [; Enter: if (noun==Slit)
                     "You don't fit through a two-inch slit!";
          Go:    if (noun==d_obj or in_obj)
                     "You don't fit through a two-inch slit!";
       ],
  has  light;


Nearby Slit "2-inch slit"
  with description "It's just a 2-inch slit in the rock, through which the \
                 stream is flowing.",
       name "slit" "two" "inch"
  has  scenery;


Object Outside_Grate "Outside Grate"
  with description
                "You are in a 20-foot depression floored with \
                bare dirt.  Set into the dirt is a strong steel grate \
                mounted in concrete.  A dry streambed leads into the \
                depression.",
       e_to In_Forest_1,
       w_to In_Forest_1,
       s_to In_Forest_1,
       n_to At_Slit_In_Streambed,
       d_to 
       [; if (Grate hasnt locked && Grate hasnt open)
          {   print "(First opening the grate)^"; give Grate open; }
          return Grate;
       ],
  has  light;

Nearby Depression "20-foot depression"
  with description "You're standing in it.",
       name "depression" "dirt" "twenty" "foot" "bare"
  has  scenery;

Nearby Grate "steel grate"
  with name "grate" "lock" "gate" "grille" "metal" "strong" "steel" "grating",
       description "It just looks like an ordinary grate mounted in concrete.",
       with_key set_of_keys,
       door_dir
       [; if (location==Below_The_Grate) return u_to; return d_to;
       ],
       door_to
       [; if (location==Below_The_Grate) return Outside_Grate;
          return Below_The_Grate;
       ],
       describe
       [; if (self has open) "^The grate stands open.";
          if (self hasnt locked) "^The grate is unlocked but shut.";
          rtrue;
       ],
       found_in  Below_The_Grate  Outside_Grate
  has  static door openable lockable locked;

! ----------------------------------------------------------------------------
!   Facilis descensus Averno...
! ----------------------------------------------------------------------------

Object Below_The_Grate "Below the Grate"
  with description
               "You are in a small chamber beneath a 3x3 steel \
               grate to the surface. A low crawl over cobbles leads \
               inward to the west.",
       w_to In_Cobble_Crawl,
       u_to Grate
  has  light;


Object Cobbles "cobbles"
  with description "They're just ordinary cobbles.",
       name "cobble" "cobbles" "cobblestones" "cobblestone" "stones" "stone",
       found_in  In_Cobble_Crawl  In_Debris_Room  Below_The_Grate
  has  scenery;

Object In_Cobble_Crawl "In Cobble Crawl"
  with description
               "You are crawling over cobbles in a low passage. \
               There is a dim light at the east end of the \
               passage.",
       e_to Below_The_Grate,
       w_to In_Debris_Room
  has  light;

Nearby wicker_cage "wicker cage"
  with description "It's a small wicker cage.",
       initial "There is a small wicker cage discarded nearby.",
       name "cage" "small" "wicker",
       after
       [; Open: if (little_bird notin self) rfalse;
                print "(releasing the little bird)^";
                <<Release little_bird>>;
       ],
  has  container open openable transparent;


Object In_Debris_Room "In Debris Room"
  with description
               "You are in a debris room filled with stuff \
               washed in from the surface. A low wide passage with \
               cobbles becomes plugged with mud and debris here, but \
               an awkward canyon leads upward and west.^^\
               A note on the wall says, ~Magic word XYZZY.~",
       e_to In_Cobble_Crawl,
       u_to In_Awkward_Sloping_E_W_Canyon,
       w_to In_Awkward_Sloping_E_W_Canyon,
       before
       [; Xyzzy: PlayerTo(Inside_Building); rtrue;
       ],
  has  nodwarf;

Nearby Debris "debris"
  with description "Yuck.",
       name "debris" "stuff" "mud"
  has  scenery;

Nearby XyzzyNote "note"
  with description "The note says ~Magic word XYZZY~.",
       name "note"
  has  scenery;

Nearby black_rod "black rod with a rusty star on the end"
  with description "It's a three foot black rod with a rusty star on an end.",
       initial "A three foot black rod \
                with a rusty star on one end lies nearby.",
       name "rod" "star" "black" "rusty" "star" "three" "foot" "iron",
       before
       [; Wave:
       if (location==West_Side_Of_Fissure or On_East_Bank_Of_Fissure)
       {   if (caves_closed==1) "Peculiar.  Nothing happens.";
           if (CrystalBridge notin nothing)
           {   remove CrystalBridge; give CrystalBridge absent;
               West_Side_Of_Fissure.e_to = 0;
               On_East_Bank_Of_Fissure.w_to = 0;
               "The crystal bridge has vanished!";
           }
           else
           {   move CrystalBridge to location; give CrystalBridge ~absent;
               West_Side_Of_Fissure.e_to = CrystalBridge;
               On_East_Bank_Of_Fissure.w_to = CrystalBridge;
               "A crystal bridge now spans the fissure.";
           }
       }
       else "Nothing happens.";
       ];


Object In_Awkward_Sloping_E_W_Canyon "Sloping E/W Canyon"
  with description
               "You are in an awkward sloping east/west canyon.",
       d_to In_Debris_Room,
       e_to In_Debris_Room,
       u_to In_Bird_Chamber,
       w_to In_Bird_Chamber
  has  nodwarf;

! ----------------------------------------------------------------------------
!   The little bird in its natural habitat
! ----------------------------------------------------------------------------

Object In_Bird_Chamber "Orange River Chamber"
  with description
               "You are in a splendid chamber thirty feet high. \
               The walls are frozen rivers of orange stone.  An \
               awkward canyon and a good passage exit from east and \
               west sides of the chamber.",
       e_to In_Awkward_Sloping_E_W_Canyon,
       w_to At_Top_Of_Small_Pit
  has  nodwarf;

Nearby little_bird "little bird"
  with name "cheerful" "mournful" "little" "bird",
       initial "A cheerful little bird is sitting here singing.",
       before
       [; Examine: if (little_bird in wicker_cage)
              "The little bird looks unhappy in the cage.";
            "The cheerful little bird is sitting here singing.";
          Insert: if (second==wicker_cage) <<Catch self>>;
              else 
              {   print "Don't put the poor bird in "; DefArt(second);
                  "!";
              }
          Drop, Remove:
              if (little_bird in wicker_cage)
              {   print "(The bird is released from the cage)^^";
                  <<Release self>>;
              }
          Take, Catch:
            if (little_bird in wicker_cage)
              "You already have the little bird.  If \
                         you take it out of the cage it will likely \
                         fly away from you.";
            if (wicker_cage notin player)
              "You can catch the bird, but you cannot carry it.";
            if (black_rod in player)
              "The bird was unafraid when you entered, but \
                     as you approach it becomes disturbed and you \
                     cannot catch it.";
            move little_bird to wicker_cage; give wicker_cage ~open;
            "You catch the bird in the wicker cage.";
          Release: if (little_bird notin wicker_cage)
                       "The bird is not caged now.";
            give wicker_cage open;
            move little_bird to location;

            if (Snake in location)
            {   remove Snake;
                "The little bird attacks the green snake, and \
                           in an astounding flurry drives the snake \
                           away.";
            }

           if (Dragon in location)
           {   remove little_bird;
               "The little bird attacks the green dragon, \
                          and in an astounding flurry gets burnt to a \
                          cinder.  The ashes blow away.";
           }

            "The little bird flies free.";
       ],

       life
       [; Give:  "It's not hungry. (It's merely pinin' for the \
                     fjords).  Besides, I suspect it would prefer bird seed.";
         Order, Ask, Answer: "Cheep!  Chirp!";
         Attack:
           if (little_bird in wicker_cage)
               "Oh, leave the poor unhappy bird alone.";
           remove little_bird;
           "The little bird is now dead.  Its body disappears.";
       ],
  has  animate;


Object At_Top_Of_Small_Pit "At Top of Small Pit"
  with description
               "At your feet is a small pit breathing traces of \
               white mist.  A west passage ends here except for a \
               small crack leading on.^^\
               Rough stone steps lead down the pit.",
       e_to In_Bird_Chamber,
       w_to "The crack is far too small for you to follow.",
       d_to
       [; if (large_gold_nugget in player)
          {   deadflag=1;
              "You are at the bottom \
                         of the pit with a broken neck.";
          }
          return In_Hall_Of_Mists;
       ],
       before
       [; Enter: if (noun==PitCrack)
              "The crack is far too small for you to follow.";
       ],
  has  nodwarf;


Nearby SmallPit "small pit"
  with description "The pit is breathing traces of white mist.",
       name "pit" "small"
  has  scenery;

Nearby PitCrack "crack"
  with description
           "The crack is very small -- far too small for you to follow.",
       name "crack" "small"
  has  scenery;

Object Mist "mist"
  with description
               "Mist is a white vapor, usually water, seen from time \
               to time in caverns.  It can be found anywhere but is \
               frequently a sign of a deep pit leading down to \
               water.",
       name "mist" "vapor" "wisps" "white",
       found_in  At_Top_Of_Small_Pit In_Hall_Of_Mists
                 On_East_Bank_Of_Fissure  At_Window_On_Pit_1
                 At_West_End_Of_Hall_Of_Mists In_Misty_Cavern
                 In_Mirror_Canyon  At_Reservoir At_Window_On_Pit_2
                 On_Sw_Side_Of_Chasm
  has  scenery;

! ----------------------------------------------------------------------------
!   The caves open up: The Hall of Mists
! ----------------------------------------------------------------------------

Object In_Hall_Of_Mists "In Hall of Mists"
  with initial
       [; if (self has general) rfalse;
          score=score+25; give self general;
       ],
       description
               "You are at one end of a vast hall stretching \
               forward out of sight to the west.  There are openings \
               to either side.  Nearby, a wide stone staircase leads \
               downward.  The hall is filled with wisps of white \
               mist swaying to and fro almost as if alive.  A cold \
               wind blows up the staircase.  There is a passage at \
               the top of a dome behind you.^^\
               Rough stone steps lead up the dome.",
       s_to In_Nugget_Of_Gold_Room,
       w_to On_East_Bank_Of_Fissure,
       d_to In_Hall_Of_Mt_King,
       n_to In_Hall_Of_Mt_King,
       u_to
       [; if (large_gold_nugget in player)
              "The dome is unclimbable.";
          return At_Top_Of_Small_Pit;
       ];

Nearby Staircase "wide stone staircase"
  with description "The staircase leads down.",
       name "stair" "stairs" "staircase" "wide" "stone"
  has  scenery;

Nearby DomeSteps "rough stone steps"
  with description "The rough stone steps lead up the dome.",
       name "stair" "stairs" "staircase" "rough" "stone"
  has  scenery;

Nearby Dome "dome"
  with name "dome",
       before
       [; Examine: if (large_gold_nugget in player)
                     "I'm not sure you'll be able to get up it \
                                with what you're carrying.";
                   "It looks like you might be able to climb up it.";
         Climb: MovePlayer(u_obj); rtrue;
       ],
  has  scenery;


Object In_Nugget_Of_Gold_Room "Low Room"
  with description
               "This is a low room with a crude note on the \
               wall:^^~You won't get it up the steps~.",
       n_to In_Hall_Of_Mists;

Nearby NuggetNote "note"
  with description "The note says, ~You won't get it up the steps~.",
       name "note" "crude"
  has  scenery;

Nearby large_gold_nugget "large gold nugget"
 class Treasure
  with description "It's a large sparkling nugget of gold!",
       initial "There is a large sparkling nugget of gold here!",
       name "gold" "nugget" "large" "heavy";


Class  FissureRoom
  with before
       [;
          Jump: if (CrystalBridge hasnt absent)
                  "I respectfully suggest you go across the \
                             bridge instead of jumping.";
                deadflag=1;
                "You didn't make it.";
       ],
       d_to "The fissure is too terrifying!";


Object On_East_Bank_Of_Fissure "On East Bank of Fissure"
 class FissureRoom
  with description
               "You are on the east bank of a fissure slicing \
               clear across the hall. The mist is quite thick here, \
               and the fissure is too wide to jump.",
       e_to In_Hall_Of_Mists, w_to "The fissure is too wide.";

Object West_Side_Of_Fissure "West Side of Fissure"
 class FissureRoom
  with description
               "You are on the west side of the fissure in the \
               hall of mists.",
       w_to At_West_End_Of_Hall_Of_Mists,
       e_to "The fissure is too wide.",
       n_to At_West_End_Of_Hall_Of_Mists,
       before
       [; Go: if (location==West_Side_Of_Fissure && noun==n_obj)
                print "You have crawled through a very low wide passage \
                       parallel to and north of the hall of mists.^";
       ];


Object CrystalBridge "crystal bridge"
  with initial "A crystal bridge now spans the fissure.",
       description "It spans the fissure, thereby providing you a way across.",
       door_dir
       [; if (location==West_Side_Of_Fissure) return e_to; return w_to;
       ],
       door_to
       [; if (location==West_Side_Of_Fissure) return On_East_Bank_Of_Fissure;
          return West_Side_Of_Fissure;
       ],
       door_to 0, door_dir 0,
       name "crystal" "bridge",
       found_in On_East_Bank_Of_Fissure West_Side_Of_Fissure
  has  static door open absent;

Object BridgeFissure "fissure"
  with name "wide" "fissure",
       description "The fissure looks far too wide to jump.",
       found_in  On_East_Bank_Of_Fissure  West_Side_Of_Fissure
  has  scenery;

Object several_diamonds "diamonds" West_Side_Of_Fissure
 class Treasure
  with article "some",
       description "They look to be of the highest quality!",
       initial "There are diamonds here!",
       name "diamond" "diamonds" "several" "high" "quality";

Object At_West_End_Of_Hall_Of_Mists "At West End of Hall of Mists"
  with description
               "You are at the west end of the hall of mists.  \
               A low wide crawl continues west and another goes \
               north.  To the south is a little passage 6 feet off \
               the floor.",
       s_to Alike_Maze_1,
       u_to Alike_Maze_1,
       e_to West_Side_Of_Fissure,
       w_to At_East_End_Of_Long_Hall,
       n_to West_Side_Of_Fissure,
       before
       [; Go: if (noun==n_obj)
                print "You have crawled through a very low wide passage \
                       parallel to and north of the hall of mists.^";
       ];

! ----------------------------------------------------------------------------
!   Long Hall to the west of the Hall of Mists
! ----------------------------------------------------------------------------

Object At_East_End_Of_Long_Hall "At East End of Long Hall"
  with description
               "You are at the east end of a very long hall \
               apparently without side chambers.  To the east a low \
               wide crawl slants up.  To the north a round two foot \
               hole slants down.",
       e_to At_West_End_Of_Hall_Of_Mists,
       u_to At_West_End_Of_Hall_Of_Mists,
       w_to At_West_End_Of_Long_Hall,
       n_to Crossover,
       d_to Crossover;

Object At_West_End_Of_Long_Hall "At West End of Long Hall"
  with description
               "You are at the west end of a very long \
               featureless hall.  The hall joins up with a narrow \
               north/south passage.",
       e_to At_East_End_Of_Long_Hall,
       s_to Different_Maze_1,
       n_to Crossover;

Object Crossover "N/S and E/W Crossover"
  with description
               "You are at a crossover of a high N/S passage \
               and a low E/W one.",
       w_to At_East_End_Of_Long_Hall,
       n_to Dead_End_7,
       e_to In_West_Side_Chamber,
       s_to At_West_End_Of_Long_Hall;

Nearby TheCrossover "crossover"
  with description "You know as much as I do at this point.",
       name "crossover" "over" "cross"
  has  scenery;


Class  DeadEndRoom
  with description "You have reached a dead end.",
       cant_go "You'll have to go back the way you came.";

Object Dead_End_7 "Dead End"
 class DeadEndRoom
  with s_to Crossover,
       out_to Crossover;

! ----------------------------------------------------------------------------
!   The Hall of the Mountain King and side chambers
! ----------------------------------------------------------------------------

Object In_Hall_Of_Mt_King "Hall of the Mountain King"
  with description
               "You are in the hall of the mountain king, with \
               passages off in all directions.",
       cant_go "Well, perhaps not quite all directions.",
       u_to In_Hall_Of_Mists,
       e_to In_Hall_Of_Mists,
       n_to Low_N_S_Passage,
       s_to In_South_Side_Chamber,
       w_to In_West_Side_Chamber,
       sw_to In_Secret_E_W_Canyon,
       before
       [; Go: if (Snake notin nothing
                  && ((noun==n_obj or s_obj or w_obj)
                      || (noun==sw_obj && random(100)<=35)))
                  "You can't get by the snake.";
       ];

Nearby Snake "snake"
  with description "I wouldn't mess with it if I were you.",
       initial "A huge green fierce snake bars the way!",
       name "snake" "cobra" "asp" "huge" "fierce" "green"
            "ferocious" "venemous" "venomous" "large" "big" "killer",
       life
       [; Order, Ask, Answer: "Hiss!";
         ThrowAt: if (noun==axe) <<Attack self>>;
                  <<Give noun self>>;
         Give: if (noun==little_bird)
               {   remove little_bird;
                   "The snake has now devoured your bird.";
               }
               "There's nothing here it wants to eat (except \
                   perhaps you).";
         Attack: "Attacking the snake both doesn't work \
                   and is very dangerous.";
         Take: deadflag=1; "It takes you instead.  Glrp!";
       ],
  has  animate;


Object Low_N_S_Passage "Low N/S Passage"
  with description
               "You are in a low N/S passage at a hole in the \
               floor.  The hole goes down to an E/W passage.",
       s_to In_Hall_Of_Mt_King,
       d_to In_Dirty_Passage,
       n_to At_Y2;

Nearby bars_of_silver "bars of silver"
 class Treasure
  with description "They're probably worth a fortune!",
       initial "There are bars of silver here!",
       article "some",
       name "silver" "bars";


Object In_South_Side_Chamber "In South Side Chamber"
  with description
               "You are in the south side chamber.",
       n_to In_Hall_Of_Mt_King;

Nearby precious_jewelry "precious jewelry"
 class Treasure
  with description "It's all quite exquisite!",
       initial "There is precious jewelry here!",
       article "some",
       name "jewel" "jewels" "jewelry" "precious" "exquisite";


Object In_West_Side_Chamber "In West Side Chamber"
  with description
               "You are in the west side chamber of the hall of \
               the mountain king. A passage continues west and up \
               here.",
       w_to Crossover,
       u_to Crossover,
       e_to In_Hall_Of_Mt_King;

Nearby rare_coins "rare coins"
 class Treasure
  with description "They're a numismatist's dream!",
       initial "There are many coins here!", article "many",
       name "coins" "rare";

! ----------------------------------------------------------------------------
!   The Y2 Rock Room and environs, slightly below
! ----------------------------------------------------------------------------

Object At_Y2 "At ~Y2~"
  with description
               "You are in a large room, with a passage to the \
               south, a passage to the west, and a wall of broken \
               rock to the east. There is a large ~Y2~ on \
               a rock in the room's center.",
       after
       [; Look: if (random(100)<=25) print "^A hollow voice says, ~Plugh.~^";
       ],
       before
       [;
          Plugh: PlayerTo(Inside_Building); rtrue;
          Plover: if (In_Plover_Room hasnt visited) rfalse;
                  if (egg_sized_emerald in player)
                  move egg_sized_emerald to In_Plover_Room;
                  PlayerTo(In_Plover_Room); rtrue;
       ],
       s_to Low_N_S_Passage,
       e_to Jumble_Of_Rock,
       w_to At_Window_On_Pit_1;

Object Y2Rock "~Y2~ rock" At_Y2
  with description "There is a large ~Y2~ painted on the rock.",
       name "rock" "y2"
  has  scenery supporter;

Object Jumble_Of_Rock "Jumble of Rock"
  with description "You are in a jumble of rock, with cracks everywhere.",
       d_to At_Y2,
       u_to In_Hall_Of_Mists;

Object At_Window_On_Pit_1 "At Window on Pit"
  with description
               "You're at a low window overlooking a huge pit, \
               which extends up out of sight.  A floor is \
               indistinctly visible over 50 feet below.  Traces of \
               white mist cover the floor of the pit, becoming \
               thicker to the right. Marks in the dust around the \
               window would seem to indicate that someone has been \
               here recently.  Directly across the pit from you and \
               25 feet away there is a similar window looking into a \
               lighted room.  A shadowy figure can be seen there \
               peering back at you.",
       before
       [; WaveHands: "The shadowy figure waves back at you!";
       ],
       cant_go "The only passage is back east to Y2.",
       e_to At_Y2;

Object Window "window"
  with description "It looks like a regular window.",
       name "window" "low",
       found_in  At_Window_On_Pit_1 At_Window_On_Pit_2
  has  scenery openable;

Object WindowPit "huge pit"
  with description
               "It's so deep you can barely make out the floor below, \
               and the top isn't visible at all.",
       name "pit" "deep" "large",
       found_in  At_Window_On_Pit_1 At_Window_On_Pit_2
  has  scenery;

Object MarksInTheDust "marks in the dust"
  with description "Evidently you're not alone here.",
       name "marks" "dust",
       found_in  At_Window_On_Pit_1 At_Window_On_Pit_2
  has  scenery;

Object ShadowyFigure "shadowy figure"
  with description
               "The shadowy figure seems to be trying to attract \
               your attention.",
       found_in  At_Window_On_Pit_1 At_Window_On_Pit_2,
       name "figure" "shadow" "person" "individual" "shadowy" "mysterious"
  has  scenery;



Object In_Dirty_Passage "Dirty Passage"
  with description
               "You are in a dirty broken passage.  To the east \
               is a crawl.  To the west is a large passage.  Above \
               you is a hole to another passage.",
       e_to On_Brink_Of_Pit,
       u_to Low_N_S_Passage,
       w_to In_Dusty_Rock_Room;

Object On_Brink_Of_Pit "Brink of Pit"
  with description
               "You are on the brink of a small clean climbable \
               pit.  A crawl leads west.",
       w_to In_Dirty_Passage,
       d_to In_Pit,
       in_to In_Pit;

Object CleanPit "small pit" On_Brink_Of_Pit
  with description "It looks like you might be able to climb down into it.",
       name "pit" "small" "clean" "climbable",
       before
       [; Climb, Enter: MovePlayer(d_obj); rtrue; ],
  has  scenery;


Object In_Pit "In Pit"
  with description
               "You are in the bottom of a small pit with a \
               little stream, which enters and exits through tiny \
               slits.",
       u_to On_Brink_Of_Pit,
       d_to "You don't fit through the tiny slits!"
  has  nodwarf;


Nearby PitSlits "tiny slits"
  with description "The slits form a complex pattern in the rock.",
       name "slit" "slits" "tiny"
  has  scenery;

Object In_Dusty_Rock_Room "In Dusty Rock Room"
  with description
               "You are in a large room full of dusty rocks.  \
               There is a big hole in the floor.  There are cracks \
               everywhere, and a passage leading east.",
       e_to In_Dirty_Passage,
       d_to At_Complex_Junction;

Nearby DustyRocks "dusty rocks"
  with description "They're just rocks.  (Dusty ones, that is.)",
       name "rocks" "boulders" "stones" "rock" "boulder" "stone"
       "dusty" "dirty"
  has  scenery;

! ----------------------------------------------------------------------------
!   A maze of twisty little passages, all alike...
! ----------------------------------------------------------------------------

Class  MazeRoom
  with description "You are in a maze of twisty little passages, \
           all alike.",
       out_to "Easier said than done.";


Object Alike_Maze_1 "Maze"
 class MazeRoom
  with 
       u_to At_West_End_Of_Hall_Of_Mists,
       n_to Alike_Maze_1,
       e_to Alike_Maze_2,
       s_to Alike_Maze_4,
       w_to Alike_Maze_11;

Object Alike_Maze_2 "Maze"
 class MazeRoom
  with 
       w_to Alike_Maze_1,
       s_to Alike_Maze_3,
       e_to Alike_Maze_4;

Object Alike_Maze_3 "Maze"
 class MazeRoom
  with 
       e_to Alike_Maze_2,
       d_to Dead_End_3,
       s_to Alike_Maze_6,
       n_to Dead_End_13;

Object Alike_Maze_4 "Maze"
 class MazeRoom
  with 
       w_to Alike_Maze_1,
       n_to Alike_Maze_2,
       e_to Dead_End_1,
       s_to Dead_End_2,
       u_to Alike_Maze_14,
       d_to Alike_Maze_14;

Object Alike_Maze_5 "Maze"
 class MazeRoom
  with 
       e_to Alike_Maze_6,
       w_to Alike_Maze_7;

Object Alike_Maze_6 "Maze"
 class MazeRoom
  with 
       e_to Alike_Maze_3,
       w_to Alike_Maze_5,
       d_to Alike_Maze_7,
       s_to Alike_Maze_8;

Object Dead_End_1 "Dead End"
 class DeadEndRoom
  with 
       w_to Alike_Maze_4,
       out_to Alike_Maze_4;

Object Dead_End_2 "Dead End"
 class DeadEndRoom
  with 
       w_to Alike_Maze_4,
       out_to Alike_Maze_4;

Object Dead_End_3 "Dead End"
 class DeadEndRoom
  with 
       u_to Alike_Maze_3,
       out_to Alike_Maze_3;

Object Alike_Maze_7 "Maze"
 class MazeRoom
  with 
       w_to Alike_Maze_5,
       u_to Alike_Maze_6,
       e_to Alike_Maze_8,
       s_to Alike_Maze_9;

Object Alike_Maze_8 "Maze"
 class MazeRoom
  with 
       w_to Alike_Maze_6,
       e_to Alike_Maze_7,
       s_to Alike_Maze_8,
       u_to Alike_Maze_9,
       n_to Alike_Maze_10,
       d_to Dead_End_12;

Object Alike_Maze_9 "Maze"
 class MazeRoom
  with 
       w_to Alike_Maze_7,
       n_to Alike_Maze_8,
       s_to Dead_End_4;

Object Dead_End_4 "Dead End"
 class DeadEndRoom
  with 
       w_to Alike_Maze_9,
       out_to Alike_Maze_9;


Object Alike_Maze_10 "Maze"
 class MazeRoom
  with 
       w_to Alike_Maze_8,
       n_to Alike_Maze_10,
       d_to Dead_End_5,
       e_to At_Brink_Of_Pit;

Object Dead_End_5 "Dead End"
 class DeadEndRoom
  with 
       u_to Alike_Maze_10,
       out_to Alike_Maze_10;


Object At_Brink_Of_Pit "At Brink of Pit"
  with description
               "You are on the brink of a thirty foot pit with \
               a massive orange column down one wall.  You could \
               climb down here but you could not get back up.  The \
               maze continues at this level.",
       d_to In_Bird_Chamber,
       w_to Alike_Maze_10,
       s_to Dead_End_6,
       n_to Alike_Maze_12,
       e_to Alike_Maze_13;

Nearby OrangeColumn "massive orange column"
  with description "It looks like you could climb down it.",
       name "column" "massive" "orange" "big" "huge",
       before [; Climb: MovePlayer(d_obj); rtrue; ],
  has  scenery;

Nearby ThirtyFootPit "pit"
  with description "You'll have to climb down to find out anything more...",
       name "pit" "thirty" "foot" "thirty-foot",
       before [; Climb: MovePlayer(d_obj); rtrue; ],
  has  scenery;

Object Dead_End_6 "Dead End"
 class DeadEndRoom
  with e_to At_Brink_Of_Pit,
       out_to At_Brink_Of_Pit;

! ----------------------------------------------------------------------------
!   A line of three vital junctions, east to west
! ----------------------------------------------------------------------------

Object At_Complex_Junction "At Complex Junction"
  with description
               "You are at a complex junction.  A low hands and \
               knees passage from the north joins a higher crawl \
               from the east to make a walking passage going west.  \
               There is also a large room above.  The air is damp \
               here.",
       u_to In_Dusty_Rock_Room,
       w_to In_Bedquilt,
       n_to In_Shell_Room,
       e_to In_Anteroom;

Object In_Bedquilt "Bedquilt"
  with description
               "You are in bedquilt, a long east/west passage \
               with holes everywhere. To explore at random select \
               north, south, up, or down.",
       e_to At_Complex_Junction,
       w_to In_Swiss_Cheese_Room,
       s_to In_Slab_Room,
       u_to In_Dusty_Rock_Room,
       n_to At_Junction_Of_Three,
       d_to In_Anteroom,
       before
       [ destiny;
         Go: if (noun==s_obj or d_obj && random(100)<=80) destiny=1;
             if (noun==u_obj && random(100)<=80) destiny=1;
             if (noun==u_obj && random(100)<=50)
                 destiny=In_Secret_N_S_Canyon_1;
             if (noun==n_obj && random(100)<=60) destiny=1;
             if (noun==n_obj && random(100)<=75)
                 destiny=In_Large_Low_Room;
             if (destiny==1)
                 "You have crawled around in some little holes and \
                            wound up back in the main passage.";
             if (destiny==0) rfalse;
             PlayerTo(destiny); rtrue;
       ];


Object In_Swiss_Cheese_Room "In Swiss Cheese Room"
  with description
               "You are in a room whose walls resemble swiss \
               cheese.  Obvious passages go west, east, ne, and nw.  \
               Part of the room is occupied by a large bedrock \
               block.",
       w_to At_East_End_Of_Twopit_Room,
       s_to In_Tall_E_W_Canyon,
       ne_to In_Bedquilt,
       nw_to In_Oriental_Room,
       e_to In_Soft_Room,
       before
       [; Go: if ((noun==s_obj && random(100) <= 80)
                  || (noun==nw_obj && random(100) <= 50))
              "You have crawled around in some little holes and \
                         wound up back in the main passage.";
       ];


Nearby BedrockBlock "bedrock block"
  with description "It's just a huge block.",
       name "block" "bedrock" "large",
       before [; LookUnder, Push, Pull, Take:
                  "Surely you're joking."; ],
  has  scenery;

! ----------------------------------------------------------------------------
!   The Twopit Room area
! ----------------------------------------------------------------------------

Object At_West_End_Of_Twopit_Room "At West End of Twopit Room"
  with description
               "You are at the west end of the twopit room.  \
               There is a large hole in the wall above the pit at \
               this end of the room.",
       e_to At_East_End_Of_Twopit_Room,
       w_to In_Slab_Room,
       d_to In_West_Pit,
       u_to "It is too far up for you to reach.",
       before
       [; Enter: if (noun==HoleAbovePit_1)
              "It is too far up for you to reach.";
       ];

Object PlantStickingUp "beanstalk"
  with found_in  At_West_End_Of_Twopit_Room  At_East_End_Of_Twopit_Room,
       name "plant" "beanstalk" "stalk"
            "bean" "giant" "tiny" "little" "murmuring"
            "twelve" "foot" "tall" "bellowing",
       describe
       [;  if (Plant.number == 1)
               "The top of a 12-foot-tall beanstalk is \
                          poking out of the west pit.";
           "There is a huge beanstalk growing out of the \
                          west pit up to the hole.";
       ],
       before
       [; Examine: RunRoutines(self,describe); rtrue;
          Climb: if (Plant.number==2) <<Climb Plant>>;
       ],
  has  absent static;

Object HoleAbovePit_1 "hole above pit"
  with description
               "The hole is in the wall above the pit at \
               this end of the room.",
       name "hole" "large" "above" "pit",
       found_in In_West_Pit At_West_End_Of_Twopit_Room
  has  scenery;


Object In_West_Pit "In West Pit"
  with description
               "You are at the bottom of the western pit in the \
               twopit room.  There is a large hole in the wall about \
               25 feet above you.",
       before
       [; Climb:
           if (noun==Plant) rfalse;
           if (Plant.number < 1 || Plant.number > 2)
               "There is nothing here to climb.  Use ~up~ \
                          or ~out~ to leave the pit.";
       ],
       u_to At_West_End_Of_Twopit_Room
  has  nodwarf;

Nearby Plant "plant"
  with number 0,
       name "plant" "beanstalk" "stalk"
            "bean" "giant" "tiny" "little" "murmuring"
            "twelve" "foot" "tall" "bellowing",
       describe
       [; if (self.number == 0)
              "There is a tiny little plant in the pit, \
                         murmuring ~Water, water, ...~";
          if (self.number == 1)
              "There is a 12-foot-tall beanstalk stretching \
                         up out of the pit, bellowing ~Water!! Water!!~";
          if (self.number == 2)
              "There is a gigantic beanstalk stretching all \
                        the way up to the hole.";
       ],
       before
       [ conts;
         Climb: if (self.number == 0) "It's just a little plant!";
                if (self.number == 1)
                {   print "You have climbed up the plant and out of the pit.^";
                    PlayerTo(At_West_End_Of_Twopit_Room); rtrue;
                }
                if (self.number == 2)
                {   print "You clamber up the plant and scurry through \
                           the hole at the top.^";
                    PlayerTo(In_Narrow_Corridor); rtrue;
                }
         Take:  "The plant has exceptionally deep roots and \
                   cannot be pulled free.";
         Water: if (bottle notin player)
                    "You have nothing to water the plant with.";
                conts=child(bottle);
                if (conts==0) "The bottle is empty.";
                remove conts;
                if (conts==oil_in_the_bottle)
                    "The plant indignantly shakes the oil \
                               off its leaves and asks, ~Water?~";
                self.number = self.number + 1;
                give PlantStickingUp ~absent;
                if (self.number == 1)
                    print "The plant spurts into furious growth for a \
                        few seconds.^^";
                if (self.number == 2)
                    print "The plant grows explosively, almost filling \
                        the bottom of the pit.^^";
                if (self.number == 3)
                {   print "You've over-watered the plant!  It's \
                        shriveling up!  It's, it's...^^";
                    give PlantStickingUp absent; remove PlantStickingUp;
                    self.number = 0;
                }
                <<Examine self>>;
         Oil:   <<Water self>>;
         Examine: RunRoutines(self,describe); rtrue;
       ];
       

Object At_East_End_Of_Twopit_Room "At East End of Twopit Room"
  with description
               "You are at the east end of the twopit room.  \
               The floor here is littered with thin rock slabs, \
               which make it easy to descend the pits. There is a \
               path here bypassing the pits to connect passages from \
               east and west.  There are holes all over, but the \
               only big one is on the wall directly over the west \
               pit where you can't get to it.",
       e_to In_Swiss_Cheese_Room,
       w_to At_West_End_Of_Twopit_Room,
       d_to In_East_Pit;


Nearby Slabs "thin rock slabs"
  with 
       description "They almost form natural stairs down into the pit.",
       name "slabs" "slab" "rocks" "stairs" "thin" "rock",
       before
       [; LookUnder, Push, Pull, Take: "Surely you're joking.";
       ],
  has  scenery;


Object In_East_Pit "In East Pit"
  with description
               "You are at the bottom of the eastern pit in the \
               twopit room.  There is a small pool of oil in one \
               corner of the pit.",
       u_to At_East_End_Of_Twopit_Room
  has  nodwarf;

Nearby Oil "pool of oil"
  with name "pool" "oil" "small",
       description "It looks like ordinary oil.",
       before
       [; Drink:  "Absolutely not.";
          Take:   if (bottle notin player)
                      "You have nothing in which to carry the oil.";
                  <<Fill bottle>>;
          Insert: if (second == bottle) <<Fill bottle>>;
                      "You have nothing in which to carry the oil.";
       ],
  has  scenery;

Object HoleAbovePit_2 "hole above pit"
  with description
               "The hole is in the wall above you.",
       name "hole" "large" "above" "pit",
       found_in In_East_Pit At_East_End_Of_Twopit_Room
  has  scenery;


Object In_Slab_Room "Slab Room"
  with description
               "You are in a large low circular chamber whose \
               floor is an immense slab fallen from the ceiling \
               (slab room).  East and west there once were large \
               passages, but they are now filled with boulders.  Low \
               small passages go north and south, and the south one \
               quickly bends west around the boulders.",
       s_to At_West_End_Of_Twopit_Room,
       u_to In_Secret_N_S_Canyon_0,
       n_to In_Bedquilt;

Nearby Slab "slab"
  with description "It is now the floor here.",
       name "slab" "immense",
       before [; LookUnder, Push, Pull, Take:
                  "Surely you're joking."; ],
  has  scenery;

Nearby SlabBoulders "boulders"
  with description "They're just ordinary boulders.",
       name "boulder" "boulders" "rocks" "stones"
  has  scenery;

! ----------------------------------------------------------------------------
!   A small network of Canyons, mainly Secret
! ----------------------------------------------------------------------------

Object In_Secret_N_S_Canyon_0 "Secret N/S Canyon"
  with description
               "You are in a secret N/S canyon above a large \
               room.",
       d_to In_Slab_Room,
       s_to In_Secret_Canyon,
       n_to In_Mirror_Canyon,
       before
       [; Go: if (noun==s_obj) canyon_from=self;
       ];

Object In_Secret_N_S_Canyon_1 "Secret N/S Canyon"
  with description
               "You are in a secret N/S canyon above a sizable \
               passage.",
       n_to At_Junction_Of_Three,
       d_to In_Bedquilt,
       s_to Atop_Stalactite;

Object At_Junction_Of_Three
       "Junction of Three Secret Canyons"
  with description
               "You are in a secret canyon at a junction of \
               three canyons, bearing north, south, and se.  The \
               north one is as tall as the other two combined.",
       se_to In_Bedquilt,
       s_to In_Secret_N_S_Canyon_1,
       n_to At_Window_On_Pit_2;


Object In_Large_Low_Room "Large Low Room"
  with description
               "You are in a large low room.  Crawls lead \
               north, se, and sw.",
       sw_to In_Sloping_Corridor,
       se_to In_Oriental_Room,
       n_to Dead_End_Crawl;

Object Dead_End_Crawl "Dead End Crawl"
  with description
               "This is a dead end crawl.",
       s_to In_Large_Low_Room,
       out_to In_Large_Low_Room;


Object In_Secret_E_W_Canyon "Secret E/W Canyon Above Tight Canyon"
  with description
               "You are in a secret canyon which here runs E/W.  \
               It crosses over a very tight canyon 15 feet below.  \
               If you go down you may not be able to get back up.",
       e_to In_Hall_Of_Mt_King,
       w_to In_Secret_Canyon,
       before
       [; Go: if (noun==w_obj) canyon_from=self;
       ],
       d_to In_N_S_Canyon;

Object In_N_S_Canyon "N/S Canyon"
  with description
               "You are at a wide place in a very tight N/S \
               canyon.",
       s_to Canyon_Dead_End,
       n_to In_Tall_E_W_Canyon;

Object Canyon_Dead_End "Canyon Dead End"
  with description
               "The canyon here becomes too tight to go further \
               south.",
       n_to In_N_S_Canyon;

Object In_Tall_E_W_Canyon "In Tall E/W Canyon"
  with description
               "You are in a tall E/W canyon.  A low tight \
               crawl goes 3 feet north and seems to open up.",
       e_to In_N_S_Canyon,
       w_to Dead_End_8,
       n_to In_Swiss_Cheese_Room;

Object Atop_Stalactite "Atop Stalactite"
  with description
               "A large stalactite extends from the roof and \
               almost reaches the floor below.  You could climb down \
               it, and jump from it to the floor, but having done so \
               you would be unable to reach it to climb back up.",
       n_to In_Secret_N_S_Canyon_1,
       d_to
       [; if (random(100) <= 40) return Alike_Maze_6;
          if (random(100) <= 50) return Alike_Maze_9;
          return Alike_Maze_4;
       ],
       before
       [; Jump, Climb: <<Go d_obj>>;
       ];


Nearby Stalactite "stalactite"
  with description
               "You could probably climb down it, but you can forget \
               coming back up.",
       name "stalactite" "stalagmite" "stalagtite" "large",
       before
       [; LookUnder, Push, Take: "Do get a grip on yourself.";
       ],
  has  scenery;

! ----------------------------------------------------------------------------
!   Here be dragons
! ----------------------------------------------------------------------------

Object In_Secret_Canyon "Secret Canyon"
  with description
               "You are in a secret canyon which exits to the \
               north and east.",
       e_to 
       [; if (canyon_from == In_Secret_E_W_Canyon) return canyon_from;
          if (Dragon in location)
              "The dragon looks rather nasty.  You'd best not try to get by.";
          return In_Secret_E_W_Canyon;
       ],
       n_to
       [; if (canyon_from == In_Secret_N_S_Canyon_0) return canyon_from;
          if (Dragon in location)
              "The dragon looks rather nasty.  You'd best not try to get by.";
          return In_Secret_N_S_Canyon_0;
       ],
       out_to
       [; return canyon_from;
       ],
       before
       [; Yes: if (Dragon has general)
               {   remove Dragon; move DragonCorpse to location;
                   give Dragon ~general;
                   "Congratulations!  You have just vanquished a \
                    dragon with your bare hands!  (Unbelievable, \
                    isn't it?)";
               }
          No:  if (Dragon has general)
               {   give Dragon ~general;
                   "I should think not.";
               }
          give Dragon ~general;
       ];

Nearby Dragon "dragon"
  with description "I wouldn't mess with it if I were you.",
       name "dragon" "monster" "beast" "lizard"
            "huge" "green" "fierce" "scaly" "giant" "ferocious",
       initial "A huge green fierce dragon bars the way!",
       life
       [; Attack:  give Dragon general; "With what?  Your bare hands?";
          Give:    "The dragon is implacable.";
          ThrowAt: if (noun~=axe)
                       "You'd probably be better off using your \
                       bare hands than that thing!";
                   move axe to location;
                   "The axe bounces harmlessly off the dragon's \
                    thick scales.";
       ],
  has  animate;

Nearby persian_rug "Persian rug"
 class Treasure
  with name "rug" "persian" "persian" "fine" "finest" "dragon's",
       depositpoints 14,
       before
       [; Take: if (Dragon in location)
                "You'll need to get the dragon to move first!";
       ],
       describe
       [; if (Dragon in location)
             "The dragon is sprawled out on the Persian rug!";
          "The Persian rug is spread out on the floor here.";
       ];

Object DragonCorpse "dragon's body"
  with initial
               "The body of a huge green dead dragon is lying off to \
               one side.",
       name "dragon" "corpse" "dead" "dragon's" "body",
       before
       [; Attack: "You've already done enough damage!";
       ],
  has  static;

! ----------------------------------------------------------------------------
!   And more of the Alike Maze
! ----------------------------------------------------------------------------

Object Dead_End_8 "Dead End"
 class DeadEndRoom
  with description "The canyon runs into a mass of boulders -- dead end.",
       s_to In_Tall_E_W_Canyon,
       out_to In_Tall_E_W_Canyon;

Object Alike_Maze_11 "Maze"
 class MazeRoom
  with 
       n_to Alike_Maze_1,
       w_to Alike_Maze_11,
       s_to Alike_Maze_11,
       e_to Dead_End_9;

Object Dead_End_9 "Dead End"
 class DeadEndRoom
  with w_to Alike_Maze_11,
       out_to Alike_Maze_11;

Object Dead_End_10 "Dead End"
 class DeadEndRoom
  with 
       s_to Alike_Maze_3,
       out_to Alike_Maze_3;


Object Alike_Maze_12 "Maze"
 class MazeRoom
  with 
       s_to At_Brink_Of_Pit,
       e_to Alike_Maze_13,
       w_to Dead_End_11;

Object Alike_Maze_13 "Maze"
 class MazeRoom
  with 
       n_to At_Brink_Of_Pit,
       w_to Alike_Maze_12,
       nw_to Dead_End_13;

Object Dead_End_11 "Dead End"
 class DeadEndRoom
  with 
       e_to Alike_Maze_12,
       out_to Alike_Maze_12;

Object Dead_End_12 "Dead End"
 class DeadEndRoom
  with 
       u_to Alike_Maze_8,
       out_to Alike_Maze_8;

Object Alike_Maze_14 "Maze"
 class MazeRoom
  with 
       u_to Alike_Maze_4,
       d_to Alike_Maze_4;

Object Dead_End_13 "Dead End"
 class DeadEndRoom
  with se_to Alike_Maze_13,
       out_to Alike_Maze_13,
       description "This is the pirate's dead end.",
       initial
       [;
          StopDaemon(Pirate);
          if (treasure_chest in self && treasure_chest hasnt moved)
              "You've found the pirate's treasure chest!";
       ],
  has  nodwarf;

Nearby treasure_chest "treasure chest"
 class Treasure
  with depositpoints 12,
       description "It's the pirate's treasure chest, filled with \
                    riches of all kinds!",
       initial "The pirate's treasure chest is here!",
       name "chest" "box" "treasure" "riches" "pirate" "pirate's" "treasure";

! ----------------------------------------------------------------------------
!   Above the beanstalk: the Giant Room and the Waterfall
! ----------------------------------------------------------------------------

Object In_Narrow_Corridor "In Narrow Corridor"
  with description
               "You are in a long, narrow corridor stretching \
               out of sight to the west.  At the eastern end is a \
               hole through which you can see a profusion of \
               leaves.",
       d_to In_West_Pit,
       w_to In_Giant_Room,
       e_to In_West_Pit,
       before
       [; Jump: deadflag=1; "You fall and break your neck!";
       ];

Nearby Leaves "leaves"
  with description
               "The leaves appear to be attached to the beanstalk \
               you climbed to get here.", article "some",
       name "leaf" "leaves" "plant" "tree" "stalk" "beanstalk" "profusion"
  has  scenery;


Object At_Steep_Incline "Steep Incline Above Large Room"
  with description
               "You are at the top of a steep incline above a \
               large room.  You could climb down here, but you would \
               not be able to climb up.  There is a passage leading \
               back to the north.",
       n_to In_Cavern_With_Waterfall,
       d_to In_Large_Low_Room;

Object In_Giant_Room "Giant Room"
  with description
               "You are in the giant room.  The ceiling here is \
               too high up for your lamp to show it.  Cavernous \
               passages lead east, north, and south.  On the west \
               wall is scrawled the inscription, ~Fee fie foe foo~ \
               [sic].",
       s_to In_Narrow_Corridor,
       e_to At_Recent_Cave_In,
       n_to In_Immense_N_S_Passage;

Nearby Inscription "scrawled inscription"
  with description "It says, ~Fee fie foe foo [sic].~",
       name "inscription" "writing" "scrawl" "scrawled"
  has  scenery;

Nearby golden_eggs "nest of golden eggs"
 class Treasure
  with depositpoints 14,
       description "The nest is filled with beautiful golden eggs!",
       initial "There is a large nest here, full of golden eggs!",
       name "eggs" "egg" "nest" "golden" "beautiful";


Object At_Recent_Cave_In "Recent Cave-in"
  with description
               "The passage here is blocked by a recent \
               cave-in.",
       s_to In_Giant_Room;


Object In_Immense_N_S_Passage "Immense N/S Passage"
  with description "You are at one end of an immense north/south passage.",
       s_to In_Giant_Room,
       n_to 
       [; if (RustyDoor has locked) <<Open RustyDoor>>;
          if (RustyDoor hasnt open)
          { give RustyDoor open; print "(first wrenching the door open)^"; }
          return RustyDoor;
       ];

Nearby RustyDoor "rusty door"
  with description "It's just a big iron door.",
       name "door" "hinge" "hinges" "massive" "rusty" "iron",
       when_closed "The way north is barred by a massive, rusty, iron door.",
       when_open   "The way north leads through a massive, rusty, iron door.",
       door_to In_Cavern_With_Waterfall,
       door_dir n_to,
       before
       [; Open:  if (RustyDoor has locked)
                    "The hinges are quite thoroughly rusted now \
                               and won't budge.";
          Close: if (RustyDoor has open)
                    "With all the effort it took to get the door \
                               open, I wouldn't suggest closing it again.";
                 "No problem there -- it already is.";
          Oil:   if (bottle in player && oil_in_the_bottle in bottle)
                 {   remove oil_in_the_bottle;
                     give RustyDoor ~locked openable;
                     "The oil has freed up the hinges so that the \
                      door will now move, although it requires some \
                      effort.";
                 }
                 else
                     "You have nothing to oil it with.";
          Water: if (bottle in player && water_in_the_bottle in bottle)
                 {   remove water_in_the_bottle; give RustyDoor locked ~open;
                     "The hinges are quite thoroughly \
                      rusted now and won't budge.";
                 }
                 else
                     "You have nothing to water it with.";
       ],
       after
       [; Open: "The door heaves open with a shower of rust.";
       ],
  has  static door locked;



Object In_Cavern_With_Waterfall "In Cavern With Waterfall" nothing
  with description
               "You are in a magnificent cavern with a rushing \
               stream, which cascades over a sparkling waterfall \
               into a roaring whirlpool which disappears through a \
               hole in the floor.  Passages exit to the south and \
               west.",
       s_to In_Immense_N_S_Passage,
       w_to At_Steep_Incline;

Nearby Waterfall "waterfall"
  with description "Wouldn't want to go down in in a barrel!",
       name "waterfall" "whirlpool" "sparkling" "whirling"
  has  scenery;

Nearby trident "jeweled trident"
 class Treasure
  with description "The trident is covered with fabulous jewels!",
       initial "There is a jewel-encrusted trident here!",
       name "trident" "jeweled" "jewel-encrusted" "encrusted" "fabulous",
       depositpoints 14;

! ----------------------------------------------------------------------------
!   The caves around Bedquilt
! ----------------------------------------------------------------------------

Object In_Soft_Room "In Soft Room"
  with description
               "You are in the soft room.  The walls are \
               covered with heavy curtains, the floor with a thick \
               pile carpet.  Moss covers the ceiling.",
       w_to In_Swiss_Cheese_Room;

Nearby Carpet "carpet"
  with description "The carpet is quite plush.",
       name "carpet" "shag" "pile" "heavy" "thick"
  has  scenery;

Nearby Curtains "curtains"
  with description "They seem to absorb sound very well.",
       name "curtain" "curtains" "heavy" "thick",
       before
       [; Take: "Now don't go ripping up the place!";
          LookUnder, Search:
            "You don't find anything exciting behind the curtains.";
       ],
  has  scenery;

Nearby Moss "moss"
  with description "It just looks like your typical, everyday moss.",
       name "moss" "typical" "everyday",
       before
       [; Take: "It crumbles to nothing in your hands.";
          Eat: "Eeeewwwww.";
       ],
  has  scenery;

Nearby velvet_pillow "velvet pillow" 
  with description "It's just a small velvet pillow.",
       initial "A small velvet pillow lies on the floor.",
       name "pillow" "velvet" "small";


Object In_Oriental_Room "Oriental Room"
  with description
               "This is the oriental room.  Ancient oriental \
               cave drawings cover the walls.  A gently sloping \
               passage leads upward to the north, another passage \
               leads se, and a hands and knees crawl leads west.",
       w_to In_Large_Low_Room,
       se_to In_Swiss_Cheese_Room,
       u_to In_Misty_Cavern,
       n_to In_Misty_Cavern;

Nearby CaveDrawings "ancient oriental drawings"
  with description "They seem to depict people and animals.",
       name "paintings" "drawings" "art" "cave" "ancient" "oriental"
  has  scenery;

Nearby ming_vase "ming vase"
 class Treasure
  with description "It's a delicate, previous, ming vase!",
       name "vase" "ming" "delicate",
       depositpoints 14,
       after
       [; Drop: if (velvet_pillow in location)
                {   print "(coming to rest, delicately, on the velvet pillow)^";
                    rfalse;
                }
                remove ming_vase; move shards to location;
                "The ming vase drops with a delicate crash.";
          Attack: remove ming_vase; move shards to location;
                "You have taken the vase and \
                 hurled it delicately to the ground.";
          Receive: "The vase is too fragile to use as a container.";
       ];


Object shards "some worthless shards of pottery"
  with initial "The floor is littered with worthless shards of pottery.",
       description "They look to be the remains of what was once a \
                    beautiful vase.  I guess some oaf must have dropped it.",
       name "pottery" "shards" "remains" "vase" "worthless";


Object In_Misty_Cavern "Misty Cavern"
  with description
               "You are following a wide path around the outer \
               edge of a large cavern. Far below, through a heavy \
               white mist, strange splashing noises can be heard.  \
               The mist rises up through a fissure in the ceiling.  \
               The path exits to the south and west.",
       s_to In_Oriental_Room,
       w_to In_Alcove;

Nearby CeilingFissure "fissure"
  with description "You can't really get close enough to examine it.",
       name "fissure" "ceiling"
  has  scenery;

! ----------------------------------------------------------------------------
!   Plovers and pyramids
! ----------------------------------------------------------------------------

Object In_Alcove "Alcove"
  with description
               "You are in an alcove.  A small northwest path seems \
               to widen after a short distance.  An extremely tight \
               tunnel leads east.  It looks like a very tight \
               squeeze.  An eerie light can be seen at the other \
               end.",
       nw_to In_Misty_Cavern,
       e_to
       [ j; j=children(player);
         if (j==0 || (j==1 && egg_sized_emerald in player))
             return In_Plover_Room;
         "Something you're carrying won't fit through the \
          tunnel with you. You'd best take inventory and drop \
          something.";
       ];


Object In_Plover_Room "Plover Room"
  with description
               "You're in a small chamber lit by an eerie green \
               light.  An extremely narrow tunnel exits to the west. \
               A dark corridor leads northeast.",
       out_to In_Alcove,
       ne_to In_Dark_Room,
       w_to
       [ j; j=children(player);
         if (j==0 || (j==1 && egg_sized_emerald in player))
             return In_Alcove;
         "Something you're carrying won't fit through the \
          tunnel with you. You'd best take inventory and drop \
          something.";
       ],
       before
       [; Plover: if (egg_sized_emerald in player)
                  move egg_sized_emerald to In_Plover_Room;
                  PlayerTo(At_Y2); rtrue;
       ],
  has  light;

Nearby egg_sized_emerald "emerald the size of a plover's egg"
 class Treasure
  with depositpoints 14, article "an",
       description "Plover's eggs, by the way, are quite large.",
       initial "There is an emerald here the size of a plover's egg!",
       name "emerald" "egg-sized" "egg" "sized" "plover's";


Object In_Dark_Room "The Dark Room"
  with description
               "You're in the dark-room.  A corridor leading \
               south is the only exit.",
       s_to In_Plover_Room
  has  nodwarf;

Nearby StoneTablet "stone tablet"
  with initial
               "A massive stone tablet imbedded in the wall reads: \
               ~Congratulations on bringing light into the \
               dark-room!~",
       name "tablet" "massive" "stone"
  has  static;

Nearby platinum_pyramid "platinum pyramid"
 class Treasure
  with initial "There is a platinum pyramid here, 8 inches on a side!",
       depositpoints 14,
       description "The platinum pyramid is 8 inches on a side!",
       name "platinum" "pyramid" "platinum" "pyramidal";

! ----------------------------------------------------------------------------
!   North of the complex junction: a long up-down corridor
! ----------------------------------------------------------------------------

Object In_Arched_Hall "Arched Hall"
  with description
               "You are in an arched hall.  A coral passage \
               once continued up and east from here, but is now \
               blocked by debris.  The air smells of sea water.",
       d_to In_Shell_Room;

Object In_Shell_Room "Shell Room"
  with description
               "You're in a large room carved out of \
               sedimentary rock.  The floor and walls are littered \
               with bits of shells imbedded in the stone.  A shallow \
               passage proceeds downward, and a somewhat steeper one \
               leads up.  A low hands and knees passage enters from \
               the south.",
       u_to In_Arched_Hall,
       d_to In_Ragged_Corridor,
       s_to
       [; if (giant_bivalve in player)
          {   if (giant_bivalve has open)
                  "You can't fit this five-foot oyster \
                   through that little passage!";
              else
                  "You can't fit this five-foot clam \
                   through that little passage!";
          }
          return At_Complex_Junction;
       ];


Nearby giant_bivalve "giant clam"
  with name "giant" "clam" "oyster" "bivalve",
       describe
       [; if (self has general)
              "There is an enormous oyster here with its shell tightly closed.";
          "There is an enormous clam here with its shell tightly closed.";
       ],
       before
       [; Examine: if (location==At_Ne_End or At_Sw_End)
                "Interesting.  There seems to be something written on the \
                underside of the oyster:^^\
                ~There is something strange about this \
                place, such that one of the words I've always known \
                now has a new effect.~";
                "A giant bivalve of some kind.";
          Open:
                    "You aren't strong enough to open the clam \
                     with your bare hands.";
          Unlock:
                if (second~=trident)
                {  CDefArt(trident); " isn't strong enough to open the clam."; }
                if (self has general)
                    "The oyster creaks open, revealing nothing \
                    but oyster inside.  It promptly snaps shut \
                    again.";  
                give self general; move pearl to In_A_Cul_De_Sac;
                "A glistening pearl falls out of the clam and \
                 rolls away.  Goodness, this must really be an \
                 oyster.  (I never was very good at \
                 identifying bivalves.)  Whatever it is, it \
                 has now snapped shut again.";
          Attack:
                "The shell is very strong and is impervious to attack.";
       ];

Object pearl "glistening pearl"
 class Treasure
  with description "It's incredibly large!",
       initial "Off to one side lies a glistening pearl!",
       name "pearl" "glistening" "incredible" "incredibly" "large",
       depositpoints 14;


Object In_Ragged_Corridor "Ragged Corridor"
  with description
               "You are in a long sloping corridor with ragged \
               sharp walls.",
       u_to In_Shell_Room,
       d_to In_A_Cul_De_Sac;

Object In_A_Cul_De_Sac "Cul-de-Sac"
  with description
               "You are in a cul-de-sac about eight feet \
               across.",
       u_to In_Ragged_Corridor,
       out_to In_Ragged_Corridor;

! ----------------------------------------------------------------------------
!   Witt's End: Cave under construction
! ----------------------------------------------------------------------------

Object In_Anteroom "In Anteroom"
  with description
               "You are in an anteroom leading to a large \
               passage to the east.  Small passages go west and up.  \
               The remnants of recent digging are evident.",
       u_to At_Complex_Junction,
       w_to In_Bedquilt,
       e_to At_Witts_End;

Nearby WittSign "sign"
  with initial
              "A sign in midair here says ~Cave under \
               construction beyond this point. Proceed at own risk.  \
               [Witt Construction Company]~",
       name "sign" "witt" "company" "construction",
       before [; Take: "It's hanging way above your head."; ],
  has  static;

Nearby spelunker_today "recent issues of ~Spelunker Today~"
  with name "magazines" "magazine" "issue" "issues" "spelunker" "today",
       initial
           "There are a few recent issues of ~Spelunker Today~ magazine here.",
       description "I'm afraid the magazines are written in Dwarvish.",
       article "a few",
       after
       [; Take: if (location==At_Witts_End) score=score-1;
          Drop: if (location==At_Witts_End)
                {   score=score+1;
                    "You really are at wit's end.";
                }
       ];

Object At_Witts_End "At Witt's End"
  with description
               "You are at Witt's End.  Passages lead off in \
               *all* directions.",
       w_to   "You have crawled around in some little holes and \
               found your way blocked by a recent cave-in.  You are \
               now back in the main passage.",
       before
       [; Go: if (noun~=w_obj && random(100)<=95)
                 "You have crawled around in some little holes and \
                  wound up back in the main passage.";
              PlayerTo(In_Anteroom); rtrue;
       ];

! ----------------------------------------------------------------------------
!   North of the secret canyons, on the other side of the pit
! ----------------------------------------------------------------------------

Object In_Mirror_Canyon "In Mirror Canyon"
  with description
               "You are in a north/south canyon about 25 feet \
               across.  The floor is covered by white mist seeping \
               in from the north.  The walls extend upward for well \
               over 100 feet.  Suspended from some unseen point far \
               above you, an enormous two-sided mirror is hanging \
               parallel to and midway between the canyon walls.^^\
               A small window can be seen in either wall, \
               some fifty feet up.",
       s_to In_Secret_N_S_Canyon_0,
       n_to At_Reservoir;

Nearby CanyonMirror "suspended mirror"
  with description
               "The mirror is obviously provided for the use of the 
               dwarves who, as you know, are extremely vain.",
       name "mirror" "massive" "enormous" "hanging" "suspended"
            "dwarves'" "two-sided" "two" "sided",
       initial "The mirror is obviously provided for the use of the \
                dwarves, who as you know, are extremely vain.",
       before [; Attack, Remove: "You can't reach it from here."; ],
  has  static;


Object At_Window_On_Pit_2 "At Window on Pit"
  with description
               "You're at a low window overlooking a huge pit, \
               which extends up out of sight.  A floor is \
               indistinctly visible over 50 feet below.  Traces of \
               white mist cover the floor of the pit, becoming \
               thicker to the left. Marks in the dust around the \
               window would seem to indicate that someone has been \
               here recently.  Directly across the pit from you and \
               25 feet away there is a similar window looking into a \
               lighted room.  A shadowy figure can be seen there \
               peering back at you.",
       cant_go "The only passage is back west to the junction.",
       w_to At_Junction_Of_Three,
       before
       [; Jump: deadflag=1; "You jump and break your neck!";
          WaveHands: "The shadowy figure waves back at you!";
       ];

Object At_Reservoir "At Reservoir"
  with description
               "You are at the edge of a large underground \
               reservoir.  An opaque cloud of white mist fills the \
               room and rises rapidly upward.  The lake is fed by a \
               stream, which tumbles out of a hole in the wall about \
               10 feet overhead and splashes noisily into the water \
               somewhere within the mist.  The only passage goes \
               back toward the south.",
       s_to In_Mirror_Canyon,
       out_to In_Mirror_Canyon,
       before
       [; Swim: "The water is icy cold, and you would soon freeze to death.";
       ];

! ----------------------------------------------------------------------------
!   The Chasm and the Troll Bridge
! ----------------------------------------------------------------------------

Object In_Sloping_Corridor "Sloping Corridor"
  with description
               "You are in a long winding corridor sloping out \
               of sight in both directions.",
       d_to In_Large_Low_Room,
       u_to On_Sw_Side_Of_Chasm,
       cant_go "The corridor slopes steeply up and down.";

Object On_Sw_Side_Of_Chasm "On SW Side of Chasm"
  with description
               "You are on one side of a large, deep chasm.  A \
               heavy white mist rising up from below obscures all \
               view of the far side.  A southwest path leads away \
               from the chasm into a winding corridor.",
       ne_to CrossRicketyBridge,
       sw_to In_Sloping_Corridor,
       d_to In_Sloping_Corridor,
       cant_go "The path winds southwest.",
       before
       [; Jump: if (RicketyBridge in self)
                    "I respectfully suggest you go across the \
                     bridge instead of jumping.";
              deadflag=1; "You didn't make it.";
       ];

[ CrossRicketyBridge;
  if (Troll has general || Troll in nothing)
  {
      give Troll ~general;
      if (Bear has general)
      {   remove Bear; remove self; give Wreckage ~absent;
          remove RicketyBridge; give RicketyBridge absent; StopDaemon(Bear);
          deadflag=1;
          "Just as you reach the other side, the bridge \
           buckles beneath the weight of the bear, which \
           was still following you around.  You scrabble \
           desperately for support, but as the bridge \
           collapses you stumble back and fall into the \
           chasm.";
      }
      return RicketyBridge;
  }
  if (Troll in location)
      "The troll refuses to let you cross.";
  move Troll to location;
  "The troll steps out from beneath the bridge and blocks your way.";
];

Nearby RicketyBridge "rickety bridge"
  with description "It just looks like an ordinary, but unstable, bridge.",
       describe
       [; print "A rickety wooden bridge extends across the \
                 chasm, vanishing into the mist.^^\
                 A sign posted on the bridge reads, \
                 ~Stop! Pay troll!~^";
          if (Troll notin location)
                 "The troll is nowhere to be seen.";
          rtrue;
       ],
       name "bridge" "rickety" "unstable" "wobbly" "rope",
       door_dir
       [; if (location==On_Sw_Side_Of_Chasm) return ne_to; return sw_to;
       ],
       door_to
       [; if (location==On_Sw_Side_Of_Chasm) return On_Ne_Side_Of_Chasm;
          return On_Sw_Side_Of_Chasm;
       ],
       found_in  On_Sw_Side_Of_Chasm  On_Ne_Side_Of_Chasm
  has  static door open;

Object Wreckage "wreckage of bridge"
  with initial "The wreckage of the troll bridge (and a dead bear) \
                can be seen at the bottom of the chasm.",
       name "wreckage" "wreck" "bridge" "dead" "bear",
       before
       [; "The wreckage is too far below.";
       ],
       found_in  On_Sw_Side_Of_Chasm  On_Ne_Side_Of_Chasm
  has  static absent;


Object Troll "burly troll" RicketyBridge
  with description
               "Trolls are close relatives with rocks and have skin \
                as tough as that of a rhinoceros.",
       initial "A burly troll stands by the bridge and insists you \
                throw him a treasure before you may cross.",
       name "troll" "burly",
       life
       [; Attack: "The troll laughs aloud at your pitiful attempt \
                   to injure him.";
          ThrowAt, Give:
              if (noun has valuable)
              {   remove noun;
                  move Troll to RicketyBridge;
                  give Troll general; score=score-5;
                  "The troll catches your treasure and scurries \
                   away out of sight.";
              }
              if (noun==tasty_food)
                  "Gluttony is not one of the troll's vices. \
                   Avarice, however, is.";
              print "The troll deftly catches "; DefArt(noun);
              ", examines it carefully, and tosses it back, \
               declaring, ~Good workmanship, but it's not \
               valuable enough.~";
          Order: "You'll be lucky.";
          Answer, Ask: "Trolls make poor conversation.";
       ],
  has  animate;


Object On_Ne_Side_Of_Chasm "On NE Side of Chasm"
  with description
               "You are on the far side of the chasm.  A \
               northeast path leads away from the chasm on this \
               side.",
       sw_to CrossRicketyBridge,
       ne_to In_Corridor,
       before
       [; Jump: if (RicketyBridge in self)
                    "I respectfully suggest you go across the \
                     bridge instead of jumping.";
              deadflag=1; "You didn't make it.";
       ],
  has  nodwarf;

Object In_Corridor "In Corridor"
  with description
               "You're in a long east/west corridor.  A faint \
               rumbling noise can be heard in the distance.",
       w_to On_Ne_Side_Of_Chasm,
       e_to At_Fork_In_Path
  has  nodwarf;

! ----------------------------------------------------------------------------
!   The Volcano
! ----------------------------------------------------------------------------

Object At_Fork_In_Path "At Fork in Path"
  with description
               "The path forks here.  The left fork leads \
               northeast.  A dull rumbling seems to get louder in \
               that direction.  The right fork leads southeast down \
               a gentle slope.  The main corridor enters from the \
               west.",
       w_to In_Corridor,
       ne_to At_Junction_With_Warm_Walls,
       se_to In_Limestone_Passage,
       d_to In_Limestone_Passage
  has  nodwarf;

Object At_Junction_With_Warm_Walls "At Junction With Warm Walls"
  with description
               "The walls are quite warm here.  From the north \
               can be heard a steady roar, so loud that the entire \
               cave seems to be trembling.  Another passage leads \
               south, and a low crawl goes east.",
       s_to At_Fork_In_Path,
       n_to At_Breath_Taking_View,
       e_to In_Chamber_Of_Boulders
  has  nodwarf;


Object At_Breath_Taking_View "At Breath-Taking View"
  with description
               "You are on the edge of a breath-taking view. Far \
               below you is an active volcano, from which great \
               gouts of molten lava come surging out, cascading back \
               down into the depths.  The glowing rock fills the \
               farthest reaches of the cavern with a blood-red \
               glare, giving everything an eerie, macabre \
               appearance. The air is filled with flickering sparks \
               of ash and a heavy smell of brimstone.  The walls are \
               hot to the touch, and the thundering of the volcano \
               drowns out all other sounds.  Embedded in the jagged \
               roof far overhead are myriad twisted formations \
               composed of pure white alabaster, which scatter the \
               murky light into sinister apparitions upon the walls. \
               To one side is a deep gorge, filled with a bizarre \
               chaos of tortured rock which seems to have been \
               crafted by the devil himself.  An immense river of \
               fire crashes out from the depths of the volcano, \
               burns its way through the gorge, and plummets into a \
               bottomless pit far off to your left.  To the right, \
               an immense geyser of blistering steam erupts \
               continuously from a barren island in the center of a \
               sulfurous lake, which bubbles ominously.  The far \
               right wall is aflame with an incandescence of its \
               own, which lends an additional infernal splendor to \
               the already hellish scene.  A dark, forboding passage \
               exits to the south.",
       s_to At_Junction_With_Warm_Walls,
       out_to At_Junction_With_Warm_Walls,
       d_to "Don't be ridiculous!",
       before [; Jump: <<Go d_obj>>; ],
  has  light;


Nearby Volcano "active volcano"
  with description
               "Great gouts of molten lava come surging out of the \
               volvano and go cascading back down into the depths.  \
               The glowing rock fills the farthest reaches of the \
               cavern with a blood-red glare, giving everything an \
               eerie, macabre appearance.",
       name "volcano" "rock"
            "active" "glowing" "blood" "blood-red" "red" "eerie" "macabre"
  has  scenery;


Nearby Sparks "sparks of ash"
  with description "The sparks too far away for you to get a good look at \
                    them.",
       name "spark" "sparks" "ash" "air" "flickering"
  has  scenery;


Nearby JaggedRoof "jagged roof"
  with description
               "Embedded in the jagged roof far overhead are myriad \
               twisted formations composed of pure white alabaster, \
               which scatter the murky light into sinister \
               apparitions upon the walls.",
       name "roof" "formations" "light" "apparaitions"
            "jagged" "twsited" "murky" "sinister"
  has  scenery;

Nearby DeepGorge "deep gorge"
  with description
               "The gorge is filled with a bizarre chaos of tortured \
               rock which seems to have been crafted by the devil \
               himself.",
       name "gorge" "chaos" "rock" "deep" "bizarre" "tortured"
  has  scenery;

Nearby RiverOfFire "river of fire"
  with description
               "The river of fire crashes out from the depths of the \
               volcano, burns its way through the gorge, and \
               plummets into a bottomless pit far off to your \
               left.",
       name "river" "fire" "depth" "pit" "fire" "fiery" "bottomless"
  has  scenery;

Nearby Geyser "immense geyser"
  with description
               "The geyser of blistering steam erupts continuously \
               from a barren island in the center of a sulfurous \
               lake, which bubbles ominously.",
       name "geyser" "steam" "island" "lake"
            "immense" "blistering" "barren" "sulfrous"
            "sulferous" "sulpherous" "sulphrous" "bubbling"
  has  scenery;


Object In_Chamber_Of_Boulders "In Chamber of Boulders"
  with description
               "You are in a small chamber filled with large \
               boulders.  The walls are very warm, causing the air \
               in the room to be almost stifling from the heat.  The \
               only exit is a crawl heading west, through which is \
               coming a low rumbling.",
       w_to At_Junction_With_Warm_Walls,
       out_to At_Junction_With_Warm_Walls
  has  nodwarf;


Nearby ChamberBoulders "boulders"
  with description "They're just ordinary boulders.  They're warm.",
       name "boulder" "boulders" "rocks" "stones"
  has  scenery;

Nearby rare_spices "rare spices"
 class Treasure
  with name "spices" "spice" "rare" "exotic",
       depositpoints 14, article "a selection of",
       before
       [; Smell, Examine: "They smell wonderfully exotic!";
       ];

Object In_Limestone_Passage "In Limestone Passage"
  with description
               "You are walking along a gently sloping \
               north/south passage lined with oddly shaped limestone \
               formations.",
       n_to At_Fork_In_Path,
       u_to At_Fork_In_Path,
       s_to In_Front_Of_Barren_Room,
       d_to In_Front_Of_Barren_Room
  has  nodwarf;

Nearby LimestoneFormations "limestone formations"
  with description
               "Every now and then a particularly strange shape \
               catches your eye.",
       name "formations" "shape" "shapes"
            "lime" "limestone" "stone" "oddly" "shaped"
            "oddly-shaped"
  has  scenery;

! ----------------------------------------------------------------------------
!   If you go down to the woods today...
! ----------------------------------------------------------------------------

Object In_Front_Of_Barren_Room "In Front of Barren Room"
  with description
               "You are standing at the entrance to a large, \
               barren room.  A sign posted above the entrance reads: \
               ~Caution!  Bear in room!~",
       w_to In_Limestone_Passage,
       u_to In_Limestone_Passage,
       e_to In_Barren_Room,
       in_to In_Barren_Room
  has  nodwarf;


Nearby BarrenSign "caution sign"
  with description "The sign reads, ~Caution!  Bear in room!~",
       name "sign" "barren" "room" "caution"
  has  scenery;


Object In_Barren_Room "In Barren Room"
  with description
               "You are inside a barren room.  The center of \
               the room is completely empty except for some dust.  \
               Marks in the dust lead away toward the far end of the \
               room.  The only exit is the way you came in.",
       w_to In_Front_Of_Barren_Room,
       out_to In_Front_Of_Barren_Room
  has  nodwarf;


Nearby Dust "dust"
  with description "It just looks like ordinary dust.",
       name "dust" "marks"
  has  scenery;

Nearby Bear "large cave bear"
  with describe
       [; if (Bear has general) "You are being followed by a very \
                                 large, tame bear.";
          if (Bear hasnt scored)
                                "There is a ferocious cave bear \
                                 eyeing you from the far end of the room!";
          if (location==In_Barren_Room)
                                "There is a gentle cave bear \
                                 sitting placidly in one corner.";
          "There is a contented-looking \
           bear wandering about nearby.";
       ],
       name "bear" "large" "tame" "ferocious" "cave",
       life
       [; Attack: if (axe in player) <<ThrowAt axe Bear>>
              if (Bear has scored)
                  "The bear is confused; he only wants to be your friend.";
              "With what?  Your bare hands?  Against *his* bear hands??";
          ThrowAt: 
              if (noun~=axe) <<Give noun Bear>>;
              if (Bear has scored)
                  "The bear is confused; he only wants to be your friend.";
              move axe to location; give axe general;
              "The axe misses and lands near the bear \
               where you can't get at it.";
          Give:
              if (noun==tasty_food)
              {   give axe ~general; remove tasty_food; give Bear scored;
                  "The bear eagerly wolfs down your food, after \
                   which he seems to calm down considerably and \
                   even becomes rather friendly.";
              }
              if (Bear has scored)
                  "The bear doesn't seem very interested in your offer.";
              "Uh-oh -- your offer only makes the bear angrier!";
          Order, Ask, Answer: "This is a Bear of very little brain.";
       ],
       before
       [; Examine:
              print "The bear is extremely large, ";
              if (Bear has scored) "but appears to be friendly.";
              "and seems quite ferocious!";
          Take, Catch: if (Bear hasnt scored) "Surely you're joking!";
              if (golden_chain has locked)
                  "The bear is still chained to the wall.";
              give Bear general; StartDaemon(Bear);
              "Ok, the bear's now following you around.";
          Drop, Release: if (Bear hasnt general) "What?";
              give Bear ~general; StopDaemon(Bear);
              if (Troll in location)
              {   remove Troll;
                  "The bear lumbers toward the troll, who lets \
                   out a startled shriek and scurries away.  The \
                   bear soon gives up the pursuit and wanders \
                   back.";
              }
              "The bear wanders away from you.";
       ],
       time_left 0,
       daemon
       [; if (location==thedark) rfalse;
          if (location==parent(Bear))
          {   if (location==At_Breath_Taking_View)
                  "^The bear roars with delight.";
              rfalse;
          }
          move Bear to location;
          "^The bear lumbers along behind you.";
       ],
  has  animate;

Nearby golden_chain "golden chain"
 class Treasure
  with depositpoints 14,
       describe
       [; if (self has locked) "The bear is held back by a solid gold chain.";
          "A solid golden chain lies in coils on the ground!";
       ],
       description "The chain has thick links of solid gold!",
       name "chain" "links" "shackles" "solid"
            "gold" "golden" "thick" "chains",
       with_key set_of_keys,
       before
       [; Take: if (self has locked)
          {   if (Bear has scored) "It's locked to the friendly bear.";
              "It's locked to the ferocious bear!";
          }
          Unlock: if (Bear hasnt scored)
                      "There is no way to get past the bear to \
                       unlock the chain, which is probably just as \
                       well.";
          Lock: "The mechanism won't lock again.";
       ],
       after
       [; Unlock: "You unlock the chain, and set the tame bear free.";
       ],
  has  lockable locked;

! ----------------------------------------------------------------------------
!   The Different Maze
! ----------------------------------------------------------------------------

Class  DiffMaze
  with description "You are in a maze of twisty little passages, \
           all different.";

Object Different_Maze_1 "Maze"
 class DiffMaze
  with s_to  Different_Maze_3,
       sw_to Different_Maze_4,
       ne_to Different_Maze_5,
       se_to Different_Maze_6,
       u_to  Different_Maze_7,
       nw_to Different_Maze_8,
       e_to  Different_Maze_9,
       w_to  Different_Maze_10,
       n_to  Different_Maze_11,
       d_to  At_West_End_Of_Long_Hall;


Object Different_Maze_2 "Maze"
 class DiffMaze
  with
       sw_to Different_Maze_3,
       n_to Different_Maze_4,
       e_to Different_Maze_5,
       nw_to Different_Maze_6,
       se_to Different_Maze_7,
       ne_to Different_Maze_8,
       w_to Different_Maze_9,
       d_to Different_Maze_10,
       u_to Different_Maze_11,
       s_to Dead_End_14;

Object Different_Maze_3 "Maze"
 class DiffMaze
  with
       w_to Different_Maze_1,
       se_to Different_Maze_4,
       nw_to Different_Maze_5,
       sw_to Different_Maze_6,
       ne_to Different_Maze_7,
       u_to Different_Maze_8,
       d_to Different_Maze_9,
       n_to Different_Maze_10,
       s_to Different_Maze_11,
       e_to Different_Maze_2;

Object Different_Maze_4 "Maze"
 class DiffMaze
  with
       nw_to Different_Maze_1,
       u_to Different_Maze_3,
       n_to Different_Maze_5,
       s_to Different_Maze_6,
       w_to Different_Maze_7,
       sw_to Different_Maze_8,
       ne_to Different_Maze_9,
       e_to Different_Maze_10,
       d_to Different_Maze_11,
       se_to Different_Maze_2;

Object Different_Maze_5 "Maze"
 class DiffMaze
  with
       u_to Different_Maze_1,
       d_to Different_Maze_3,
       w_to Different_Maze_4,
       ne_to Different_Maze_6,
       sw_to Different_Maze_7,
       e_to Different_Maze_8,
       n_to Different_Maze_9,
       nw_to Different_Maze_10,
       se_to Different_Maze_11,
       s_to Different_Maze_2;

Object Different_Maze_6 "Maze"
 class DiffMaze
  with
       ne_to Different_Maze_1,
       n_to Different_Maze_3,
       nw_to Different_Maze_4,
       se_to Different_Maze_5,
       e_to Different_Maze_7,
       d_to Different_Maze_8,
       s_to Different_Maze_9,
       u_to Different_Maze_10,
       w_to Different_Maze_11,
       sw_to Different_Maze_2;

Object Different_Maze_7 "Maze"
 class DiffMaze
  with
       n_to Different_Maze_1,
       se_to Different_Maze_3,
       d_to Different_Maze_4,
       s_to Different_Maze_5,
       e_to Different_Maze_6,
       w_to Different_Maze_8,
       sw_to Different_Maze_9,
       ne_to Different_Maze_10,
       nw_to Different_Maze_11,
       u_to Different_Maze_2;

Object Different_Maze_8 "Maze"
 class DiffMaze
  with
       e_to Different_Maze_1,
       w_to Different_Maze_3,
       u_to Different_Maze_4,
       sw_to Different_Maze_5,
       d_to Different_Maze_6,
       s_to Different_Maze_7,
       nw_to Different_Maze_9,
       se_to Different_Maze_10,
       ne_to Different_Maze_11,
       n_to Different_Maze_2;

Object Different_Maze_9 "Maze"
 class DiffMaze
  with
       se_to Different_Maze_1,
       ne_to Different_Maze_3,
       s_to Different_Maze_4,
       d_to Different_Maze_5,
       u_to Different_Maze_6,
       nw_to Different_Maze_7,
       n_to Different_Maze_8,
       sw_to Different_Maze_10,
       e_to Different_Maze_11,
       w_to Different_Maze_2;


Object Different_Maze_10 "Maze"
 class DiffMaze
  with
       d_to Different_Maze_1,
       e_to Different_Maze_3,
       ne_to Different_Maze_4,
       u_to Different_Maze_5,
       w_to Different_Maze_6,
       n_to Different_Maze_7,
       s_to Different_Maze_8,
       se_to Different_Maze_9,
       sw_to Different_Maze_11,
       nw_to Different_Maze_2;

Object Different_Maze_11 "Maze"
 class DiffMaze
  with
       sw_to Different_Maze_1,
       nw_to Different_Maze_3,
       e_to Different_Maze_4,
       w_to Different_Maze_5,
       n_to Different_Maze_6,
       d_to Different_Maze_7,
       se_to Different_Maze_8,
       u_to Different_Maze_9,
       s_to Different_Maze_10,
       ne_to Different_Maze_2;


Object Dead_End_14 "Dead End, near Vending Machine"
 class DeadEndRoom
  with description
               "You have reached a dead end. There is a massive \
               vending machine here.",
       n_to Different_Maze_2,
       out_to Different_Maze_2
  has  nodwarf;

Nearby PirateMessage "message in the dust"
  with description
               "The message reads, ~This is not the maze where the \
               pirate leaves his treasure chest.~",
       name "message" "scrawl" "writing" "script" "scrawled" "flowery",
       initial "Hmmm...  There is a message here \
                scrawled in the dust in a flowery script."
  has  scenery;


Nearby VendingMachine "vending machine"
  with description
               "The instructions on the vending machine read, \
               ~Insert coins to receive fresh batteries.~",
       name "machine" "slot" "vending" "massive" "battery" "coin",
       before
       [; Receive:
             if (noun==rare_coins)
             {   move fresh_batteries to location;
                 remove rare_coins;
                 "Soon after you insert the coins in the coin \
                  slot, the vending machines makes a grinding \
                  sound, and a set of fresh batteries falls at your feet.";
             }
             "The machine seems to be designed to take coins.";
          Attack:
             "The machine is quite sturdy and survives your attack \
              without getting so much as a scratch.";
          LookUnder:
               "You don't find anything under the machine.";
          Search:
               "You can't get inside the machine.";
          Take: "The vending machine is far too heavy to move.";
       ],
  has  scenery;

Object fresh_batteries "fresh batteries" VendingMachine
  with description "They look like ordinary batteries.  (A sepulchral \
                    voice says, ~Still going!~)",
       initial "There are fresh batteries here.",
       name "batteries" "battery" "fresh";

Object old_batteries "worn-out batteries"
  with description "They look like ordinary batteries.",
       initial "Some worn-out batteries have been discarded nearby.",
       name "batteries" "battery" "worn" "out" "worn-out";

! ----------------------------------------------------------------------------
!   Dwarves!
! ----------------------------------------------------------------------------

Object dwarf "threatening little dwarf"
  with name "dwarf" "threatening" "nasty" "little" "mean",
       description "It's probably not a good idea to get too close.  Suffice \
                    it to say the little guy's pretty aggressive.",
       initial "A threatening little dwarf hides in the shadows.",
       number 5,
       time_left 0,
       daemon
       [; if (location==thedark) rtrue;
          if (self.number==0) { StopDaemon(self); rtrue; }
          if (parent(dwarf)==0)
          {   if (location has nodwarf || location has light) rtrue;
              if (random(100)<=self.number)
              {   if (Bear in location || Troll in location) rtrue;
                  new_line;
                  if (Dragon in location)
                  {   self.number=self.number-1;
                      "A dwarf appears, but with one casual blast the dragon \
                       vapourises him!";
                  }
                  move dwarf to location;
                  "A threatening little dwarf comes out of the shadows!";
              }
              rtrue;
          }
          if (parent(dwarf)~=location)
          {   if (location==thedark) rtrue;
              if (location has nodwarf || location has light) rtrue;
              if (random(100)<=96 && parent(dwarf)~=In_Mirror_Canyon)
              {   move dwarf to location;
                  print "^The dwarf stalks after you...^";
              }
              else { remove dwarf; rtrue; }
          }
          if (random(100)<=75)
          {   new_line;
              if (self hasnt general)
              {   move axe to location; give self general; remove self;
                  "The dwarf throws a nasty little axe at you, misses, \
                  curses, and runs away.";
              }
              if (location==In_Mirror_Canyon)
                  "The dwarf admires himself in the mirror.";
              print "The dwarf throws a nasty little knife at you, ";
              if (random(1000)<=95) { deadflag=1; "and hits!"; }
              "but misses!";
          }
          if (random(3)==1)
          { remove dwarf; "^Tiring of this, the dwarf slips away."; }
       ],
       before
       [; Kick: "You boot the dwarf across the room.  He curses, then \
                 gets up and brushes himself off.  Now he's madder \
                 than ever!";
       ],
       life
       [; ThrowAt:
           if (noun==axe)
           {   if (random(3)~=1)
               {   remove self; move axe to location;
                   self.number=self.number-1;
                   "You killed a little dwarf!  The body vanishes in a cloud \
                    of greasy black smoke.";
               }
               move axe to location;
               "Missed!  The little dwarf dodges out of the way of the axe.";
           }
           <<Give noun second>>;
          Give:
           if (noun==tasty_food) "You fool, dwarves eat only coal!  \
                                  Now you've made him *really* mad!";
           "The dwarf is not at all interested in your \
            offer.  (The reason being, perhaps, that if \
            he kills you he gets everything you have \
            anyway.)";
          Attack: "Not with your bare hands.  No way.";
       ],
  has  animate;

Object axe "dwarvish axe"
  with name "axe" "little" "dwarvish" "dwarven",
       initial "There is a little axe here.",
       description "It's just a little axe.",
       before
       [; if (axe hasnt general) rfalse;
          Examine: "It's lying beside the bear.";
          Take:    "No chance.  It's lying beside the ferocious \
                    bear, quite within harm's way.";
       ];

! ----------------------------------------------------------------------------
!   Piracy, twice over
! ----------------------------------------------------------------------------

Object pirate "pirate"
  with time_left 0,
       daemon
       [ c i j;
          if (pirate has general && pirate has scored)
          {   StopDaemon(pirate); rtrue;
          }
          if (location==thedark || location has light || location has nodwarf
              || random(100)>2 || location==In_Secret_Canyon) rtrue;

          if (parent(dwarf)==location)
             "^A bearded pirate appears, catches sight of the dwarf and runs \
              away.";

          objectloop (i in player)   if (i has valuable) c++;
          objectloop (i in location) if (i has valuable) c++;
          if (c==0)
          {   if (pirate has general) rfalse;
              give pirate general;
              "^There are faint rustling noises \
               from the darkness behind you.  As you \
               turn toward them, you spot \
               a bearded pirate. He is carrying a \
               large chest.^^~Shiver me timbers!~ \ 
               he cries, ~I've been spotted!  I'd \
               best hie meself off to the maze to \
               hide me chest!~^^With that, he \
               vanishes into the gloom.";
          }
          if (pirate has scored) rfalse; give pirate scored;
          while (c>0)
          {   objectloop (i in player)
                  if (i has valuable) { j=i; score=score-5; }
              objectloop (i in location) if (i has valuable) j=i;
              move j to Dead_End_13; c--;
          }
          "^Out from the shadows behind you \
           pounces a bearded pirate!  ~Har, \
           har,~ he chortles.  ~I'll just take \
           all this booty and hide it away with \
           me chest deep in the maze!~  He \
           snatches your treasure and vanishes \
           into the gloom.";
       ];

! ----------------------------------------------------------------------------
!   The cave is closing now...
! ----------------------------------------------------------------------------

Object cave_closer "cave closer"
  with time_left 0,
       daemon
       [; if (treasures_found < MAX_TREASURES) rtrue;
          StopDaemon(self);
          caves_closed=1;

          score=score + 25;

          remove CrystalBridge;
          give Grate locked ~open; remove set_of_keys;

          StopDaemon(dwarf); StopDaemon(pirate);
          remove Troll; remove Bear; remove Dragon;

          StartTimer(endgame_timer, 25);

          "^A sepulchral voice reverberating through the cave says, \
           ~Cave closing soon.  All adventurers exit immediately \
           through main office.~";
       ];

Object endgame_timer "endgame timer"
  with time_left 0,
       time_out
       [; score=score + 10;

          while (child(player)~=0) remove child(player);

          move bottle to At_Ne_End;
          if (child(bottle)~=0) remove child(bottle);

          move giant_bivalve to At_Ne_End;
          move brass_lantern to At_Ne_End;
          move black_rod to At_Ne_End;
          move little_bird to At_Sw_End;
          move velvet_pillow to At_Sw_End;

         print "^The sepulchral voice intones, ~The cave is now \
          closed.~ As the echoes fade, there is a blinding flash of \
          light (and a small puff of orange smoke). . .^^\
          As your eyes refocus, you look around...^";
          PlayerTo(At_Ne_End);
       ];

! ----------------------------------------------------------------------------
!   The End Game
! ----------------------------------------------------------------------------

Object At_Ne_End "NE End of Repository"
  with description "You are at the northeast end of an immense \
               room, even larger than the giant room.  It appears to \
               be a repository for the ~Adventure~ program.  \
               Massive torches far overhead bathe the room with \
               smoky yellow light.  Scattered about you can be seen \
               a pile of bottles (all of them empty), a nursery of \
               young beanstalks murmuring quietly, a bed of oysters, \
               a bundle of black rods with rusty stars on their \
               ends, and a collection of brass lanterns.  Off to one \
               side a great many dwarves are sleeping on the floor, \
               snoring loudly.  A sign nearby reads: ~Do not \
               disturb the dwarves!~",
       sw_to At_Sw_End
  has  light;


Nearby Mirror_2 "enormous mirror"
  with description "It looks like an ordinary, albeit enormous, mirror.",
       name "mirror" "enormous" "huge" "big" "large" "suspended"
            "hanging" "vanity" "dwarvish",
       initial "An immense mirror is hanging against one wall, \
               and stretches to the other end of the room, where \
               various other sundry objects can be glimpsed dimly in \
               the distance.",
       found_in At_Ne_End At_Sw_End,
       before
       [;
          Attack:
             print "You strike the mirror a resounding blow, whereupon \
                    it shatters into a myriad tiny fragments.^^";
             DwarvesWake(); rtrue;
       ],
  has  static;


Nearby RepositoryStuff_1 "collection of adventure game materials"
  with description
               "You've seen everything in here already, albeit \
               in somewhat different contexts.",
       name "stuff" "junk" "materials" "torches" "objects"
       "adventure" "repository" "massive" "sundry",
       before
       [; Take: "Realizing that by removing the loot here you'd be \
                 ruining the game for future players, you leave the \
                 ~Adventure~ materials where they are.";
       ],
  has  scenery;


Nearby RepositoryDwarves "sleeping dwarves"
  with description "I wouldn't bother the dwarves if I were you.",
       name "dwarf" "dwarves" "sleeping" "snoring" "dozing" "snoozing",
       article "hundreds of angry",
       before
       [; 
          Take: "What, all of them?";
       ],
       life
       [; WakeOther:
              print "You prod the nearest dwarf, who wakes up grumpily, \
                     takes one look at you, curses, and grabs for his \
                     axe.^^";
              DwarvesWake(); rtrue;
          Attack: DwarvesWake(); rtrue;
       ],
  has  animate scenery;


Object At_Sw_End "SW End of Repository"
  with description
               "You are at the southwest end of the repository. \
               To one side is a pit full of fierce green snakes. On \
               the other side is a row of small wicker cages, each \
               of which contains a little sulking bird.  In one \
               corner is a bundle of black rods with rusty marks on \
               their ends.  A large number of velvet pillows are \
               scattered about on the floor. A vast mirror stretches \
               off to the northeast. At your feet is a large steel \
               grate, next to which is a sign which reads, \
               ~TREASURE VAULT. Keys in main office.~",
       d_to RepositoryGrate,
       ne_to At_Ne_End
  has  light;


Nearby RepositoryGrate "steel grate"
  with name "ordinary" "steel" "grate" "grating",
       description
               "It just looks like an ordinary steel grate.",
       when_open "The grate is open.",
       when_closed "The grate is closed.",
       door_dir d_to, door_to Outside_Grate, with_key 0
  has  static door locked openable;


Nearby RepositoryStuff_2 "collection of adventure game materials"
  with description
               "You've seen everything in here already, albeit \
               in somewhat different contexts.",
       name "pit" "snake" "snakes" "fierce" "green"
            "stuff" "junk" "materials"
            "adventure" "repository" "massive" "sundry",
       before
       [; Take: "Realizing that by removing the loot here you'd be \
                 ruining the game for future players, you leave the \
                 ~Adventure~ materials where they are.";
       ],
  has  scenery;

Nearby black_mark_rod "black rod with a rusty mark on the end"
  with description "It's a three foot black rod with a rusty mark on an end.",
       initial  "A three foot black rod \
                 with a rusty mark on one end lies nearby.",
       name "rod" "black" "rusty" "mark" "three" "foot" "iron" "explosive"
            "dynamite" "blast",
       before [; Wave: "Nothing happens."; ];

[ DwarvesWake;
  deadflag=1;
  "The resulting ruckus has awakened the dwarves.  There \
   are now dozens of threatening little dwarves in the room with \
   you!  Most of them throw knives at you!  All of them get \
   you!";
];

! ----------------------------------------------------------------------------
!   Some entry points
! ----------------------------------------------------------------------------

[ Initialise;
  location=At_End_Of_Road; score = 36;

  pretty_flag = 0;

  StartDaemon(dwarf); StartDaemon(pirate); StartDaemon(cave_closer);

  print "^^^^^Welcome to Adventure!^^";
];

[ PrintRank;
  print ", earning you the rank of ";
  if (score >= 348) "Grandmaster Adventurer!";
  if (score >= 330) "Master, first class.";
  if (score >= 300) "Master, second class.";
  if (score >= 200) "Junior Master.";
  if (score >= 130) "Seasoned Adventurer.";
  if (score >= 100) "Experienced Adventurer.";
  if (score >= 35) "Adventurer.";
  if (score >= 10) "Novice.";
  "Amateur.";
];

Global dark_warning = 0;
[ DarkToDark;
  if (dark_warning==0)
  {   dark_warning=1; "It is now pitch dark.  \
                       If you proceed you will likely fall into a pit.";
  }
  if (random(4) == 1)
  {   deadflag=1;
      "You fell into a pit and broke every bone in your body!";
  }
  rfalse;
];

! ----------------------------------------------------------------------------
!   Menu-driven help
! ----------------------------------------------------------------------------

[ HelpMenu;
  if (menu_item==0)  { item_width=8; item_name="About Adventure";
                       if (deadflag==2) return 4; else return 3;
                     }
  if (menu_item==1)  { item_width=6; item_name="Instructions"; }
  if (menu_item==2)  { item_width=4; item_name="History";      }
  if (menu_item==3)  { item_width=6; item_name="Authenticity"; }
  if (menu_item==4)  { item_width=7; item_name="Did you know..."; }
];

[ HelpInfo;
 if (menu_item==1)
 {
 print "I know of places, actions, and things.  You can guide \
        me using commands that are complete sentences. To move, try \
        commands like ~enter,~ ~east,~ ~west,~ ~north,~ ~south,~ ~up,~ \
        ~down,~ ~enter building,~ ~climb pole,~ etc.^^";

 print "I know about a few special objects, like a black rod \
        hidden in the cave.  These objects can be manipulated using \
        some of the action words that I know.  Usually you will need \
        to give a verb followed by an object (along with descriptive \
        adjectives when desired), but sometimes I can infer the \
        object from the verb alone.  Some objects also imply verbs; \
        in particular, ~inventory~ implies ~take inventory~, \
        which causes me to give you a list of what you're carrying. \
        The objects have side effects; for instance, the rod scares \
        the bird.^^";

 print "Many commands have abbreviations.  For example, you can \
        type ~i~ in place of ~inventory,~ ~x object~ instead of \
        ~examine object,~ etc.^^";

 print "Usually people having trouble moving just need to try a \
        few more words.  Usually people trying unsuccessfully to \
        manipulate an object are attempting something beyond their \
        (or my!) capabilities and should try a completely different \
        tack.^^";

 print "Note that cave passages turn a lot, and that leaving a room \
        to the north does not guarantee \
        entering the next from the south.^^";

 print "If you want to end your adventure early, type ~quit~. \
        To suspend your adventure such that you can continue later, \
        type ~save,~ and to resume a saved game, type ~restore.~ \
        To see how well you're doing, type ~score~.  To get full \
        credit for a treasure, you must have left it safely in the \
        building, though you get partial credit just for locating it. \
        You lose points for getting killed, or for quitting, though \
        the former costs you more. There are also points based on how \
        much (if any) of the cave you've managed to explore; in \
        particular, there is a large bonus just for getting in (to \
        distinguish the beginners from the rest of the pack), and \
        there are other ways to determine whether you've been through \
        some of the more harrowing sections.^^";

 print "If you think you've found all the treasures, just keep \
        exploring for a while.  If nothing interesting happens, you \
        haven't found them all yet. If something interesting *does* \
        happen, it means you're getting a bonus and have an \
        opportunity to garner many more points in the master's \
        section.^^";

        "Good luck!";
 }
 if (menu_item==2)
 {
 print "This was the first adventure game ever written, based on a FORTRAN \
        simulation of the Mammoth and Flint Ridge cave system by Willie \
        Crowther.  Crowther was one of its explorers: some of the game's \
        locations are real, Bedquilt for instance.  (And ~Y2~ is a reference \
        to the cave-map notation for ~alternative entrance to caves~.)^^";

 print "Adventure (sometimes called ~Colossal Cave~, another real place) \
        was an extension largely by Don Woods, a colleague of Crowther's \
        at a Massachusetts computing firm.  Inspired by (a variant of) the \
        role-playing game ~Dungeons and Dragons~, they added puzzles and \
        magic to the caves.^^";

 print "The game was spread from machine to machine, and (among others) \
        DECUS, the Digital user group, issued tapes of it.  Ever since, \
        the game has been modified, ported, improved, extended and generally \
        corrupted.  The original is hard to find.  Most of the extras tacked \
        on are clearly inferior, and lose the spirit of the (certainly \
        imperfect, but atmospheric and well-designed) original.^^";

 print "This is a copy at third hand.  It is a slight simplification of David \
        M. Baggett's excellent 1993 version for Adventions, written in TADS: \
        which in turn derived from Donald Ekman's PC port of the original \
        FORTRAN source code.^^";

       "And, even by modern standards, it is still a good game!";
 }

 if (menu_item==3)
 {
 print "This port is fairly close to the original.  The puzzles, items and places \
        of the 1977 version are exactly those here.^^";

 print "I have added a few helpful messages, such as ~This is a dead end.~, \
        here and there: and restored some ~initial position~ messages from \
        objects, such as the (rather lame)^\
        ^  There is tasty food here.^^\
        from source files which are certainly early but of doubtful \
        provenance.  They seem to sit well with the rest of the text.^^";

 print "The scoring system is the original, except that you no longer lose 4 \
        points for quitting (since you don't get the score if you quit an \
        Inform game, this makes no difference) and, controversially, I award \
        5 points for currently carrying a treasure, as some early 1980s \
        ports did.  The rank names are tidied up a little.  The only \
        significant rule change is that one cannot use \
        magic words until their destinations have been visited.^^";

 print "The dwarves are simpler in their movements, but on the other hand I \
        have added a very few messages to make them interact better with the \
        rest of the game.  The probabilities are as in the original game.^^";

 print "In the original one could type the name of a room to visit it: for \
        the sake of keeping the code small, I have omitted this feature, but \
        with some regrets.^^";

 print "The text itself is almost everywhere preserved intact, but I've \
        corrected some spelling and grammatical mistakes (and altered a \
        couple of utterly misleading and gnomic remarks).  The instructions \
        have been slightly altered (for obvious reasons) but are basically \
        as written.^^";

       "A good source for details is David Baggett's source code, which is \
        circulated on the Internet.";
 }

 print "Did you know that...^^";

 print "The five dwarves have a 96% chance of following you, except into \
        light, down pits or when admiring themselves: and the nasty little \
        knives are 9.5% accurate.^^";

 print "Dragons burn up dwarves (perhaps because dwarves eat only coal).^^";

 print "The bear (who likes the volcano) is too heavy for the bridge... \
        and you can go back to the scene after being resurrected.^^";

 print "You can slip past the snake into the secret E/W canyon, \
        35% of the time at any rate.  And walking about in the dark \
        is not all that gruesome: it carries only a 25% risk of falling \
        down a pit.^^";

 print "The vase does not like being immersed.^^";

 print "Shadowy figures can wave to each other.^^";

 print "Watering the hinges of the door rusts them up again.^^";

 print "When the cave closes, the grate is locked and the keys are thrown \
        away, creatures run off and the crystal bridge vanishes...^^";

 print "...and a completely useless hint is written on the giant oyster's \
        shell in the end game.^^";

       "The last lousy point can be won by... but no.  That would be telling.";

];

[ HelpSub;

 if (deadflag~=2)
 DoMenu("There is information provided on the following:^\
         ^     Instructions for playing\
         ^     The history of this game\
         ^     How authentic is this edition?^",
         #r$HelpMenu, #r$HelpInfo);
 else
 DoMenu("There is information provided on the following:^\
         ^     Instructions for playing\
         ^     The history of this game\
         ^     How authentic is this edition?\
         ^     Did you know...^",
         #r$HelpMenu, #r$HelpInfo);

];

[ Amusing; HelpSub(); ];

! ----------------------------------------------------------------------------
!   New verbs (to add to the library stock)
! ----------------------------------------------------------------------------

[ CatchSub;
  print "You can't catch "; DefArt(noun); ".";
];

[ ReleaseSub;
  print "You can't release "; DefArt(noun); ".";
];

[ WaterSub;
  if (bottle in player) <<Empty bottle>>;
  "Water?  What water?";
];

[ OilSub;
  if (bottle in player) <<Empty bottle>>;
  "Oil?  What oil?";
];

[ OnSub; if (brass_lantern notin player) "You have no lamp.";
  <<SwitchOn brass_lantern>>;
];

[ OffSub; if (brass_lantern notin player) "You have no lamp.";
  <<SwitchOff brass_lantern>>;
];

[ XyzzySub; "Nothing happens."; ];
[ PlughSub; "Nothing happens."; ];
[ PloverSub; "Nothing happens."; ];
[ FeeSub; FthingSub(0); ];
[ FieSub; FthingSub(1); ];
[ FoeSub; FthingSub(2); ];
[ FooSub; FthingSub(3); ];

global fcount = 0;

[ FthingSub i;
  if (fcount~=i) { fcount=0; "Get it right, dummy!"; }
  fcount++;
  if (fcount==4)
  {   fcount=0;
      if (golden_eggs in In_Giant_Room) "Nothing happens.";
      if ((golden_eggs in player) || (golden_eggs in location))
          print "The nest of golden eggs has vanished!^";
      else print "Done!";
      if (golden_eggs in player) score=score-5;
      if (golden_eggs in Inside_Building)
          score=score-golden_eggs.depositpoints;
      move golden_eggs to In_Giant_Room;
      if (location==In_Giant_Room)
          "^^A large nest full of golden eggs suddenly appears out of nowhere!";
  }
  else "Ok.";
];

[ CountSub; print_ret "I see one (1) ", object noun, "."; ];
[ UseSub; "You'll have to be a bit more explicit than that."; ];
[ BlastWithSub;
     if (second~=black_mark_rod)
         "Blasting requires dynamite.";
     "Been eating those funny brownies again?";
];
[ OldMagicSub; "Good try, but that is an old worn-out magic word."; ];
[ KickSub; <<Attack noun>>; ]; ! For kicking dwarves

[ BlastSub;
  if (location~=At_Sw_End or At_Ne_End) "Frustrating, isn't it?";
  if (location==At_Sw_End && parent(black_mark_rod)==At_Ne_End)
  {   score=score+35;
      deadflag=2;
      "There is a loud explosion, and a twenty-foot \
       hole appears in the far wall, burying the dwarves in \
       the rubble.  You march through the hole and find \
       yourself in the main office, where a cheering band of \
       friendly elves carry the conquering adventurer off \
       into the sunset.";
  }
  if (location==At_Ne_End && parent(black_mark_rod)==At_Sw_End)
  {   score=score+20;
      deadflag=1;
      "There is a loud explosion, and a twenty-foot \
       hold appears in the far wall, burying the snakes in \
       the rubble.  A river of molten lava pours in through \
       the hole, destroying everything in its path, \
       including you!";
  }
  deadflag=1;
  "There is a loud explosion, and you are suddenly \
   splashed across the walls of the room.";
];

! ----------------------------------------------------------------------------
!   Resurrection
! ----------------------------------------------------------------------------

[ AfterLife o;
  if (deadflag==3) { deadflag=1; rfalse; }
  print "^^";
  if (caves_closed==1) 
      "It looks as though you're dead.  Well, seeing as how \
       it's so close to closing time anyway, I think we'll \
       just call it a day.";
  if (deaths==0)
    print "Oh dear, you seem to have gotten yourself killed.  I \
       might be able to help you out, but I've never really \
       done this before.  Do you want me to try to \
       reincarnate you?^^";
  if (deaths==1)
    print "You clumsy oaf, you've done it again!  I don't know \
       how long I can keep this up.  Do you want me to try \
       reincarnating you again?^^";
  if (deaths==2)
    print "Now you've really done it!  I'm out of orange smoke! \
       You don't expect me to do a decent reincarnation \
       without any orange smoke, do you?^^";

  print "> ";
  if (YesOrNo()==0)
  {   if (deaths==0) "Very well.";
      if (deaths==1) "Probably a wise choice.";
      "I thought not!";
  }

  if (deaths==0)
      print "All right.  But don't blame me if something \
             goes wr......^^^^\
             --- POOF!! ---^^\
             You are engulfed in a cloud of orange smoke.  \
             Coughing and gasping, you emerge from the smoke and \
             find that you're....^";
  if (deaths==1)
      print "Okay, now where did I put my orange smoke?....  >POOF!<\
             ^^Everything disappears in a dense cloud of orange smoke.^";
  if (deaths==2)
      "Okay, if you're so smart, do it yourself!  I'm leaving!";

  deaths++; score=score-10;
  if (location~=thedark)
  {   while (child(player)~=0)
      {   o=child(player);
          move o to location;
          if (o has valuable) score=score-5;
      }
  }
  else
  {   while (child(player)~=0) move child(player) to real_location; }
  move brass_lantern to At_End_Of_Road; give brass_lantern ~on ~light;
  remove dwarf;
  deadflag=0;
  PlayerTo(Inside_Building);
];

! ----------------------------------------------------------------------------
!   How to cheat in the test version: no dwarves or pirates, and magic words
!   working from the beginning
! ----------------------------------------------------------------------------

#IFDEF TEST_VERSION;
[ XdetermSub; StopDaemon(dwarf); StopDaemon(pirate);
  give In_Debris_Room visited; give At_Y2 visited; give In_Plover_Room visited;
];
#ENDIF;

! ----------------------------------------------------------------------------
!   Grammar: the usual grammar and some extensions
! ----------------------------------------------------------------------------

#include "Grammar";

Verb "on"
                *                                -> On;
Verb "off"
                *                                -> Off;

Verb "catch" "capture"
                * creature                       -> Catch
                * creature "with" held           -> Catch;
Verb "release" "free"
                * creature                       -> Release;
Verb "pour" "douse"
                * noun                           -> Empty;
Verb "water"    * noun                           -> Water;
Verb "oil" "grease" "lubricate"
                * noun                           -> Oil;
Verb "plugh"    *                                -> Plugh;
Verb "xyzzy"    *                                -> Xyzzy;
Verb "plover"   *                                -> Plover;
Verb "sesame" "shazam" "hocus" "abracadabra"
     "foobar" "open-sesame" "frotz"
                *                                -> OldMagic;
Verb "fee"      *                                -> Fee;
Verb "fie"      *                                -> Fie;
Verb "foe"      *                                -> Foe;
Verb "foo"      *                                -> Foo;

Verb "help"     *                                -> Help;
Verb "kick"     * noun                           -> Kick;
Verb "count"    *                                -> Count;
Verb "use"      *                                -> Use;
Verb "blast"    *                                -> Blast
                * noun "with" held               -> BlastWith;

#IFDEF TEST_VERSION;
Verb "xdeterm"  *                                -> Xdeterm;
#ENDIF;

end;
00000000  21 20 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |! --------------|
00000010  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000040  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 0a 21  |--------------.!|
00000050  20 20 41 64 76 65 6e 74  75 72 65 3a 20 61 20 64  |  Adventure: a d|
00000060  65 6d 6f 6e 73 74 72 61  74 69 6f 6e 20 6f 66 20  |emonstration of |
00000070  49 6e 66 6f 72 6d 20 35  20 63 6f 64 65 2c 20 61  |Inform 5 code, a|
00000080  6e 64 20 61 20 63 6c 61  73 73 69 63 20 67 61 6d  |nd a classic gam|
00000090  65 2e 0a 21 0a 21 20 20  42 65 67 75 6e 20 31 37  |e..!.!  Begun 17|
000000a0  2e 35 2e 39 34 3a 20 63  6f 6d 70 6c 65 74 65 64  |.5.94: completed|
000000b0  20 32 34 2e 35 2e 39 34  2e 0a 21 20 2d 2d 2d 2d  | 24.5.94..! ----|
000000c0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000100  2d 2d 2d 2d 2d 2d 2d 2d  0a 0a 53 77 69 74 63 68  |--------..Switch|
00000110  65 73 20 78 64 76 35 73  3b 0a 0a 43 6f 6e 73 74  |es xdv5s;..Const|
00000120  61 6e 74 20 53 74 6f 72  79 20 22 41 44 56 45 4e  |ant Story "ADVEN|
00000130  54 55 52 45 22 3b 0a 43  6f 6e 73 74 61 6e 74 20  |TURE";.Constant |
00000140  48 65 61 64 6c 69 6e 65  0a 20 20 20 20 20 20 20  |Headline.       |
00000150  20 20 20 20 22 5e 54 68  65 20 49 6e 74 65 72 61  |    "^The Intera|
00000160  63 74 69 76 65 20 4f 72  69 67 69 6e 61 6c 5e 5c  |ctive Original^\|
00000170  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 42 79  |.             By|
00000180  20 57 69 6c 6c 69 65 20  43 72 6f 77 74 68 65 72  | Willie Crowther|
00000190  20 61 6e 64 20 44 6f 6e  20 57 6f 6f 64 73 20 28  | and Don Woods (|
000001a0  31 39 37 37 29 5e 5c 0a  20 20 20 20 20 20 20 20  |1977)^\.        |
000001b0  20 20 20 20 20 44 61 76  69 64 20 4d 2e 20 42 61  |     David M. Ba|
000001c0  67 67 65 74 74 27 73 20  31 39 39 33 20 72 65 63  |ggett's 1993 rec|
000001d0  6f 6e 73 74 72 75 63 74  69 6f 6e 2c 20 70 6f 72  |onstruction, por|
000001e0  74 65 64 20 62 79 20 47  72 61 68 61 6d 20 4e 65  |ted by Graham Ne|
000001f0  6c 73 6f 6e 5e 22 3b 0a  0a 52 65 6c 65 61 73 65  |lson^";..Release|
00000200  20 31 3b 0a 0a 41 74 74  72 69 62 75 74 65 20 76  | 1;..Attribute v|
00000210  61 6c 75 61 62 6c 65 3b  0a 41 74 74 72 69 62 75  |aluable;.Attribu|
00000220  74 65 20 6e 6f 64 77 61  72 66 3b 0a 41 74 74 72  |te nodwarf;.Attr|
00000230  69 62 75 74 65 20 74 72  65 61 73 75 72 65 5f 66  |ibute treasure_f|
00000240  6f 75 6e 64 3b 0a 50 72  6f 70 65 72 74 79 20 64  |ound;.Property d|
00000250  65 70 6f 73 69 74 70 6f  69 6e 74 73 3b 0a 0a 43  |epositpoints;..C|
00000260  6f 6e 73 74 61 6e 74 20  4d 41 58 5f 43 41 52 52  |onstant MAX_CARR|
00000270  49 45 44 20 37 3b 0a 43  6f 6e 73 74 61 6e 74 20  |IED 7;.Constant |
00000280  4d 41 58 5f 53 43 4f 52  45 20 33 35 30 3b 0a 43  |MAX_SCORE 350;.C|
00000290  6f 6e 73 74 61 6e 74 20  4d 41 58 5f 54 52 45 41  |onstant MAX_TREA|
000002a0  53 55 52 45 53 20 31 35  3b 0a 43 6f 6e 73 74 61  |SURES 15;.Consta|
000002b0  6e 74 20 41 4d 55 53 49  4e 47 5f 50 52 4f 56 49  |nt AMUSING_PROVI|
000002c0  44 45 44 3b 0a 0a 23 69  6e 63 6c 75 64 65 20 22  |DED;..#include "|
000002d0  50 61 72 73 65 72 22 3b  0a 23 69 6e 63 6c 75 64  |Parser";.#includ|
000002e0  65 20 22 56 65 72 62 4c  69 62 22 3b 0a 0a 47 6c  |e "VerbLib";..Gl|
000002f0  6f 62 61 6c 20 63 61 76  65 73 5f 63 6c 6f 73 65  |obal caves_close|
00000300  64 20 3d 20 30 3b 0a 47  6c 6f 62 61 6c 20 63 61  |d = 0;.Global ca|
00000310  6e 79 6f 6e 5f 66 72 6f  6d 3b 0a 47 6c 6f 62 61  |nyon_from;.Globa|
00000320  6c 20 74 72 65 61 73 75  72 65 73 5f 66 6f 75 6e  |l treasures_foun|
00000330  64 20 3d 20 30 3b 0a 47  6c 6f 62 61 6c 20 64 65  |d = 0;.Global de|
00000340  61 74 68 73 20 3d 20 30  3b 0a 0a 0a 43 6c 61 73  |aths = 0;...Clas|
00000350  73 20 54 72 65 61 73 75  72 65 0a 20 77 69 74 68  |s Treasure. with|
00000360  20 64 65 70 6f 73 69 74  70 6f 69 6e 74 73 20 31  | depositpoints 1|
00000370  30 2c 0a 20 20 20 20 20  20 61 66 74 65 72 0a 20  |0,.      after. |
00000380  20 20 20 20 20 5b 3b 20  54 61 6b 65 3a 20 69 66  |     [; Take: if|
00000390  20 28 6c 6f 63 61 74 69  6f 6e 3d 3d 49 6e 73 69  | (location==Insi|
000003a0  64 65 5f 42 75 69 6c 64  69 6e 67 29 0a 20 20 20  |de_Building).   |
000003b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000003c0  20 73 63 6f 72 65 3d 73  63 6f 72 65 2d 73 65 6c  | score=score-sel|
000003d0  66 2e 64 65 70 6f 73 69  74 70 6f 69 6e 74 73 3b  |f.depositpoints;|
000003e0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000003f0  73 63 6f 72 65 3d 73 63  6f 72 65 2b 35 3b 0a 20  |score=score+5;. |
00000400  20 20 20 20 20 20 20 20  20 20 20 20 20 20 69 66  |              if|
00000410  20 28 6e 6f 75 6e 20 68  61 73 6e 74 20 74 72 65  | (noun hasnt tre|
00000420  61 73 75 72 65 5f 66 6f  75 6e 64 29 0a 20 20 20  |asure_found).   |
00000430  20 20 20 20 20 20 20 20  20 20 20 20 7b 20 20 20  |            {   |
00000440  67 69 76 65 20 6e 6f 75  6e 20 74 72 65 61 73 75  |give noun treasu|
00000450  72 65 5f 66 6f 75 6e 64  3b 20 74 72 65 61 73 75  |re_found; treasu|
00000460  72 65 73 5f 66 6f 75 6e  64 2b 2b 3b 0a 20 20 20  |res_found++;.   |
00000470  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000480  73 63 6f 72 65 3d 73 63  6f 72 65 2b 32 3b 0a 20  |score=score+2;. |
00000490  20 20 20 20 20 20 20 20  20 20 20 20 20 20 7d 0a  |              }.|
000004a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 22  |               "|
000004b0  54 61 6b 65 6e 21 22 3b  0a 20 20 20 20 20 20 20  |Taken!";.       |
000004c0  20 20 44 72 6f 70 3a 20  73 63 6f 72 65 3d 73 63  |  Drop: score=sc|
000004d0  6f 72 65 2d 35 3b 0a 20  20 20 20 20 20 20 20 20  |ore-5;.         |
000004e0  20 20 20 20 20 20 69 66  20 28 6c 6f 63 61 74 69  |      if (locati|
000004f0  6f 6e 3d 3d 49 6e 73 69  64 65 5f 42 75 69 6c 64  |on==Inside_Build|
00000500  69 6e 67 29 0a 20 20 20  20 20 20 20 20 20 20 20  |ing).           |
00000510  20 20 20 20 7b 20 20 20  73 63 6f 72 65 3d 73 63  |    {   score=sc|
00000520  6f 72 65 2b 73 65 6c 66  2e 64 65 70 6f 73 69 74  |ore+self.deposit|
00000530  70 6f 69 6e 74 73 3b 0a  20 20 20 20 20 20 20 20  |points;.        |
00000540  20 20 20 20 20 20 20 20  20 20 20 22 53 61 66 65  |           "Safe|
00000550  6c 79 20 64 65 70 6f 73  69 74 65 64 2e 22 3b 0a  |ly deposited.";.|
00000560  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 7d  |               }|
00000570  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 0a  |               .|
00000580  20 20 20 20 20 20 5d 2c  0a 20 68 61 73 20 20 76  |      ],. has  v|
00000590  61 6c 75 61 62 6c 65 3b  0a 0a 21 20 2d 2d 2d 2d  |aluable;..! ----|
000005a0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000005e0  2d 2d 2d 2d 2d 2d 2d 2d  0a 21 20 20 20 54 68 65  |--------.!   The|
000005f0  20 6f 75 74 73 69 64 65  20 77 6f 72 6c 64 0a 21  | outside world.!|
00000600  20 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  | ---------------|
00000610  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000640  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 0a 0a 4f  |-------------..O|
00000650  62 6a 65 63 74 20 41 74  5f 45 6e 64 5f 4f 66 5f  |bject At_End_Of_|
00000660  52 6f 61 64 20 22 41 74  20 45 6e 64 20 4f 66 20  |Road "At End Of |
00000670  52 6f 61 64 22 0a 20 20  77 69 74 68 20 64 65 73  |Road".  with des|
00000680  63 72 69 70 74 69 6f 6e  20 22 59 6f 75 20 61 72  |cription "You ar|
00000690  65 20 73 74 61 6e 64 69  6e 67 20 61 74 20 74 68  |e standing at th|
000006a0  65 20 65 6e 64 20 6f 66  20 61 20 72 6f 61 64 20  |e end of a road |
000006b0  62 65 66 6f 72 65 20 61  20 73 6d 61 6c 6c 20 5c  |before a small \|
000006c0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000006d0  20 20 20 20 20 62 72 69  63 6b 20 62 75 69 6c 64  |     brick build|
000006e0  69 6e 67 2e 20 20 41 72  6f 75 6e 64 20 79 6f 75  |ing.  Around you|
000006f0  20 69 73 20 61 20 66 6f  72 65 73 74 2e 20 20 41  | is a forest.  A|
00000700  20 73 6d 61 6c 6c 20 5c  0a 20 20 20 20 20 20 20  | small \.       |
00000710  20 20 20 20 20 20 20 20  20 20 20 20 20 73 74 72  |             str|
00000720  65 61 6d 20 66 6c 6f 77  73 20 6f 75 74 20 6f 66  |eam flows out of|
00000730  20 74 68 65 20 62 75 69  6c 64 69 6e 67 20 61 6e  | the building an|
00000740  64 20 64 6f 77 6e 20 61  20 67 75 6c 6c 79 2e 22  |d down a gully."|
00000750  2c 0a 20 20 20 20 20 20  20 77 5f 74 6f 20 41 74  |,.       w_to At|
00000760  5f 48 69 6c 6c 5f 49 6e  5f 52 6f 61 64 2c 20 75  |_Hill_In_Road, u|
00000770  5f 74 6f 20 41 74 5f 48  69 6c 6c 5f 49 6e 5f 52  |_to At_Hill_In_R|
00000780  6f 61 64 2c 20 65 5f 74  6f 20 49 6e 73 69 64 65  |oad, e_to Inside|
00000790  5f 42 75 69 6c 64 69 6e  67 2c 0a 20 20 20 20 20  |_Building,.     |
000007a0  20 20 64 5f 74 6f 20 49  6e 5f 41 5f 56 61 6c 6c  |  d_to In_A_Vall|
000007b0  65 79 2c 20 73 5f 74 6f  20 49 6e 5f 41 5f 56 61  |ey, s_to In_A_Va|
000007c0  6c 6c 65 79 2c 20 6e 5f  74 6f 20 49 6e 5f 46 6f  |lley, n_to In_Fo|
000007d0  72 65 73 74 5f 31 2c 0a  20 20 20 20 20 20 20 69  |rest_1,.       i|
000007e0  6e 5f 74 6f 20 49 6e 73  69 64 65 5f 42 75 69 6c  |n_to Inside_Buil|
000007f0  64 69 6e 67 2c 0a 20 20  20 20 20 20 20 6e 61 6d  |ding,.       nam|
00000800  65 20 22 67 75 6c 6c 79  22 20 22 72 6f 61 64 22  |e "gully" "road"|
00000810  20 22 73 74 72 65 65 74  22 20 22 70 61 74 68 22  | "street" "path"|
00000820  0a 20 20 68 61 73 20 20  6c 69 67 68 74 3b 0a 0a  |.  has  light;..|
00000830  4f 62 6a 65 63 74 20 77  65 6c 6c 20 22 77 65 6c  |Object well "wel|
00000840  6c 20 68 6f 75 73 65 22  0a 20 20 77 69 74 68 20  |l house".  with |
00000850  6e 61 6d 65 20 22 77 65  6c 6c 22 20 22 68 6f 75  |name "well" "hou|
00000860  73 65 22 20 22 62 72 69  63 6b 22 20 22 62 75 69  |se" "brick" "bui|
00000870  6c 64 69 6e 67 22 20 22  73 6d 61 6c 6c 22 20 22  |lding" "small" "|
00000880  77 65 6c 6c 68 6f 75 73  65 22 2c 0a 20 20 20 20  |wellhouse",.    |
00000890  20 20 20 64 65 73 63 72  69 70 74 69 6f 6e 20 22  |   description "|
000008a0  49 74 27 73 20 61 20 73  6d 61 6c 6c 20 62 72 69  |It's a small bri|
000008b0  63 6b 20 62 75 69 6c 64  69 6e 67 2e 20 49 74 20  |ck building. It |
000008c0  73 65 65 6d 73 20 74 6f  20 62 65 20 61 20 77 65  |seems to be a we|
000008d0  6c 6c 20 68 6f 75 73 65  2e 22 2c 0a 20 20 20 20  |ll house.",.    |
000008e0  20 20 20 66 6f 75 6e 64  5f 69 6e 20 20 41 74 5f  |   found_in  At_|
000008f0  45 6e 64 5f 4f 66 5f 52  6f 61 64 20 20 41 74 5f  |End_Of_Road  At_|
00000900  48 69 6c 6c 5f 49 6e 5f  52 6f 61 64 20 20 49 6e  |Hill_In_Road  In|
00000910  73 69 64 65 5f 42 75 69  6c 64 69 6e 67 0a 20 20  |side_Building.  |
00000920  68 61 73 20 20 73 63 65  6e 65 72 79 3b 0a 0a 4f  |has  scenery;..O|
00000930  62 6a 65 63 74 20 53 74  72 65 61 6d 20 22 73 74  |bject Stream "st|
00000940  72 65 61 6d 22 0a 20 20  77 69 74 68 20 6e 61 6d  |ream".  with nam|
00000950  65 20 22 73 74 72 65 61  6d 22 20 22 77 61 74 65  |e "stream" "wate|
00000960  72 22 20 22 62 72 6f 6f  6b 22 20 22 72 69 76 65  |r" "brook" "rive|
00000970  72 22 20 22 6c 61 6b 65  22 0a 20 20 20 20 20 20  |r" "lake".      |
00000980  20 20 20 20 20 20 22 73  6d 61 6c 6c 22 20 22 74  |      "small" "t|
00000990  75 6d 62 6c 69 6e 67 22  20 22 73 70 6c 61 73 68  |umbling" "splash|
000009a0  69 6e 67 22 20 22 62 61  62 62 6c 69 6e 67 22 20  |ing" "babbling" |
000009b0  22 72 75 73 68 69 6e 67  22 20 22 72 65 73 65 72  |"rushing" "reser|
000009c0  76 6f 69 72 22 2c 0a 20  20 20 20 20 20 20 66 6f  |voir",.       fo|
000009d0  75 6e 64 5f 69 6e 20 41  74 5f 45 6e 64 5f 4f 66  |und_in At_End_Of|
000009e0  5f 52 6f 61 64 20 20 49  6e 5f 41 5f 56 61 6c 6c  |_Road  In_A_Vall|
000009f0  65 79 20 20 41 74 5f 53  6c 69 74 5f 49 6e 5f 53  |ey  At_Slit_In_S|
00000a00  74 72 65 61 6d 62 65 64  0a 20 20 20 20 20 20 20  |treambed.       |
00000a10  20 20 20 20 20 20 20 20  20 49 6e 5f 50 69 74 20  |         In_Pit |
00000a20  20 49 6e 5f 43 61 76 65  72 6e 5f 57 69 74 68 5f  | In_Cavern_With_|
00000a30  57 61 74 65 72 66 61 6c  6c 0a 20 20 20 20 20 20  |Waterfall.      |
00000a40  20 20 20 20 20 20 20 20  20 20 41 74 5f 52 65 73  |          At_Res|
00000a50  65 72 76 6f 69 72 0a 20  20 20 20 20 20 20 20 20  |ervoir.         |
00000a60  20 20 20 20 20 20 20 49  6e 73 69 64 65 5f 42 75  |       Inside_Bu|
00000a70  69 6c 64 69 6e 67 2c 0a  20 20 20 20 20 20 20 62  |ilding,.       b|
00000a80  65 66 6f 72 65 0a 20 20  20 20 20 20 20 5b 3b 20  |efore.       [; |
00000a90  44 72 69 6e 6b 3a 20 0a  20 20 20 20 20 20 20 20  |Drink: .        |
00000aa0  20 20 20 20 20 20 20 20  20 22 59 6f 75 20 68 61  |         "You ha|
00000ab0  76 65 20 74 61 6b 65 6e  20 61 20 64 72 69 6e 6b  |ve taken a drink|
00000ac0  20 66 72 6f 6d 20 74 68  65 20 73 74 72 65 61 6d  | from the stream|
00000ad0  2e 20 20 54 68 65 20 77  61 74 65 72 20 5c 0a 20  |.  The water \. |
00000ae0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000af0  20 74 61 73 74 65 73 20  73 74 72 6f 6e 67 6c 79  | tastes strongly|
00000b00  20 6f 66 20 6d 69 6e 65  72 61 6c 73 2c 20 62 75  | of minerals, bu|
00000b10  74 20 69 73 20 6e 6f 74  20 75 6e 70 6c 65 61 73  |t is not unpleas|
00000b20  61 6e 74 2e 20 20 5c 0a  20 20 20 20 20 20 20 20  |ant.  \.        |
00000b30  20 20 20 20 20 20 20 20  20 20 49 74 20 69 73 20  |          It is |
00000b40  65 78 74 72 65 6d 65 6c  79 20 63 6f 6c 64 2e 22  |extremely cold."|
00000b50  3b 0a 20 20 20 20 20 20  20 20 20 20 54 61 6b 65  |;.          Take|
00000b60  3a 20 69 66 20 28 62 6f  74 74 6c 65 20 6e 6f 74  |: if (bottle not|
00000b70  69 6e 20 70 6c 61 79 65  72 29 0a 20 20 20 20 20  |in player).     |
00000b80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 22  |               "|
00000b90  59 6f 75 20 68 61 76 65  20 6e 6f 74 68 69 6e 67  |You have nothing|
00000ba0  20 69 6e 20 77 68 69 63  68 20 74 6f 20 63 61 72  | in which to car|
00000bb0  72 79 20 74 68 65 20 77  61 74 65 72 2e 22 3b 0a  |ry the water.";.|
00000bc0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000bd0  3c 3c 46 69 6c 6c 20 62  6f 74 74 6c 65 3e 3e 3b  |<<Fill bottle>>;|
00000be0  0a 20 20 20 20 20 20 20  20 20 20 49 6e 73 65 72  |.          Inser|
00000bf0  74 3a 20 69 66 20 28 73  65 63 6f 6e 64 20 3d 3d  |t: if (second ==|
00000c00  20 62 6f 74 74 6c 65 29  20 3c 3c 46 69 6c 6c 20  | bottle) <<Fill |
00000c10  62 6f 74 74 6c 65 3e 3e  3b 0a 20 20 20 20 20 20  |bottle>>;.      |
00000c20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 22 59  |              "Y|
00000c30  6f 75 20 68 61 76 65 20  6e 6f 74 68 69 6e 67 20  |ou have nothing |
00000c40  69 6e 20 77 68 69 63 68  20 74 6f 20 63 61 72 72  |in which to carr|
00000c50  79 20 74 68 65 20 77 61  74 65 72 2e 22 3b 0a 20  |y the water.";. |
00000c60  20 20 20 20 20 20 20 20  20 52 65 63 65 69 76 65  |         Receive|
00000c70  3a 20 69 66 20 28 6e 6f  75 6e 20 3d 3d 20 6d 69  |: if (noun == mi|
00000c80  6e 67 5f 76 61 73 65 29  0a 20 20 20 20 20 20 20  |ng_vase).       |
00000c90  20 20 20 20 20 20 20 20  20 7b 20 20 20 72 65 6d  |         {   rem|
00000ca0  6f 76 65 20 6d 69 6e 67  5f 76 61 73 65 3b 20 6d  |ove ming_vase; m|
00000cb0  6f 76 65 20 73 68 61 72  64 73 20 74 6f 20 6c 6f  |ove shards to lo|
00000cc0  63 61 74 69 6f 6e 3b 0a  20 20 20 20 20 20 20 20  |cation;.        |
00000cd0  20 20 20 20 20 20 20 20  20 20 20 20 73 63 6f 72  |            scor|
00000ce0  65 3d 73 63 6f 72 65 2d  35 3b 0a 20 20 20 20 20  |e=score-5;.     |
00000cf0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 22  |               "|
00000d00  54 68 65 20 73 75 64 64  65 6e 20 63 68 61 6e 67  |The sudden chang|
00000d10  65 20 69 6e 20 74 65 6d  70 65 72 61 74 75 72 65  |e in temperature|
00000d20  20 5c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  | \.             |
00000d30  20 20 20 20 20 20 20 20  68 61 73 20 64 65 6c 69  |        has deli|
00000d40  63 61 74 65 6c 79 20 73  68 61 74 74 65 72 65 64  |cately shattered|
00000d50  20 74 68 65 20 76 61 73  65 2e 22 3b 0a 20 20 20  | the vase.";.   |
00000d60  20 20 20 20 20 20 20 20  20 20 20 20 20 7d 0a 20  |             }. |
00000d70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 69  |               i|
00000d80  66 20 28 6e 6f 75 6e 20  3d 3d 20 62 6f 74 74 6c  |f (noun == bottl|
00000d90  65 29 20 3c 3c 46 69 6c  6c 20 62 6f 74 74 6c 65  |e) <<Fill bottle|
00000da0  3e 3e 3b 0a 20 20 20 20  20 20 20 20 20 20 20 20  |>>;.            |
00000db0  20 20 20 20 72 65 6d 6f  76 65 20 6e 6f 75 6e 3b  |    remove noun;|
00000dc0  20 69 66 20 28 6e 6f 75  6e 20 68 61 73 20 76 61  | if (noun has va|
00000dd0  6c 75 61 62 6c 65 29 20  73 63 6f 72 65 3d 73 63  |luable) score=sc|
00000de0  6f 72 65 2d 35 3b 0a 20  20 20 20 20 20 20 20 20  |ore-5;.         |
00000df0  20 20 20 20 20 20 20 43  44 65 66 41 72 74 28 6e  |       CDefArt(n|
00000e00  6f 75 6e 29 3b 20 22 20  77 61 73 68 65 73 20 61  |oun); " washes a|
00000e10  77 61 79 20 77 69 74 68  20 74 68 65 20 73 74 72  |way with the str|
00000e20  65 61 6d 2e 22 3b 0a 20  20 20 20 20 20 20 5d 2c  |eam.";.       ],|
00000e30  0a 20 20 68 61 73 20 20  73 63 65 6e 65 72 79 3b  |.  has  scenery;|
00000e40  0a 0a 4f 62 6a 65 63 74  20 52 6f 61 64 20 22 72  |..Object Road "r|
00000e50  6f 61 64 22 0a 20 20 77  69 74 68 20 6e 61 6d 65  |oad".  with name|
00000e60  20 22 72 6f 61 64 22 20  22 73 74 72 65 65 74 22  | "road" "street"|
00000e70  20 22 70 61 74 68 22 20  22 64 69 72 74 22 2c 0a  | "path" "dirt",.|
00000e80  20 20 20 20 20 20 20 64  65 73 63 72 69 70 74 69  |       descripti|
00000e90  6f 6e 20 22 54 68 65 20  72 6f 61 64 20 69 73 20  |on "The road is |
00000ea0  64 69 72 74 2c 20 6e 6f  74 20 79 65 6c 6c 6f 77  |dirt, not yellow|
00000eb0  20 62 72 69 63 6b 2e 22  2c 0a 20 20 20 20 20 20  | brick.",.      |
00000ec0  20 66 6f 75 6e 64 5f 69  6e 20 20 41 74 5f 45 6e  | found_in  At_En|
00000ed0  64 5f 4f 66 5f 52 6f 61  64 20 20 41 74 5f 48 69  |d_Of_Road  At_Hi|
00000ee0  6c 6c 5f 49 6e 5f 52 6f  61 64 20 20 49 6e 5f 46  |ll_In_Road  In_F|
00000ef0  6f 72 65 73 74 5f 32 0a  20 20 68 61 73 20 20 73  |orest_2.  has  s|
00000f00  63 65 6e 65 72 79 3b 0a  0a 4f 62 6a 65 63 74 20  |cenery;..Object |
00000f10  66 6f 72 65 73 74 20 22  66 6f 72 65 73 74 22 0a  |forest "forest".|
00000f20  20 20 77 69 74 68 20 6e  61 6d 65 20 20 20 20 20  |  with name     |
00000f30  22 66 6f 72 65 73 74 22  20 22 74 72 65 65 22 20  |"forest" "tree" |
00000f40  22 74 72 65 65 73 22 20  22 6f 61 6b 22 20 22 6d  |"trees" "oak" "m|
00000f50  61 70 6c 65 22 20 22 67  72 6f 76 65 22 20 22 70  |aple" "grove" "p|
00000f60  69 6e 65 22 0a 20 20 20  20 20 20 20 20 20 20 20  |ine".           |
00000f70  20 20 20 20 20 22 73 70  72 75 63 65 22 20 22 62  |     "spruce" "b|
00000f80  69 72 63 68 22 20 22 61  73 68 22 20 22 73 61 70  |irch" "ash" "sap|
00000f90  6c 69 6e 67 73 22 20 22  62 75 73 68 65 73 22 20  |lings" "bushes" |
00000fa0  22 6c 65 61 76 65 73 22  0a 20 20 20 20 20 20 20  |"leaves".       |
00000fb0  20 20 20 20 20 20 20 20  20 22 62 65 72 72 79 22  |         "berry"|
00000fc0  20 22 62 65 72 72 69 65  73 22 20 22 68 61 72 64  | "berries" "hard|
00000fd0  77 6f 6f 64 22 2c 0a 20  20 20 20 20 20 20 64 65  |wood",.       de|
00000fe0  73 63 72 69 70 74 69 6f  6e 0a 20 20 20 20 20 20  |scription.      |
00000ff0  20 20 20 20 20 20 20 20  20 20 22 54 68 65 20 74  |          "The t|
00001000  72 65 65 73 20 6f 66 20  74 68 65 20 66 6f 72 65  |rees of the fore|
00001010  73 74 20 61 72 65 20 6c  61 72 67 65 20 68 61 72  |st are large har|
00001020  64 77 6f 6f 64 20 6f 61  6b 20 61 6e 64 20 5c 0a  |dwood oak and \.|
00001030  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001040  6d 61 70 6c 65 2c 20 77  69 74 68 20 61 6e 20 6f  |maple, with an o|
00001050  63 63 61 73 69 6f 6e 61  6c 20 67 72 6f 76 65 20  |ccasional grove |
00001060  6f 66 20 70 69 6e 65 20  6f 72 20 73 70 72 75 63  |of pine or spruc|
00001070  65 2e 20 20 5c 0a 20 20  20 20 20 20 20 20 20 20  |e.  \.          |
00001080  20 20 20 20 20 20 54 68  65 72 65 20 69 73 20 71  |      There is q|
00001090  75 69 74 65 20 61 20 62  69 74 20 6f 66 20 75 6e  |uite a bit of un|
000010a0  64 65 72 67 72 6f 77 74  68 2c 20 6c 61 72 67 65  |dergrowth, large|
000010b0  6c 79 20 62 69 72 63 68  20 5c 0a 20 20 20 20 20  |ly birch \.     |
000010c0  20 20 20 20 20 20 20 20  20 20 20 61 6e 64 20 61  |           and a|
000010d0  73 68 20 73 61 70 6c 69  6e 67 73 20 70 6c 75 73  |sh saplings plus|
000010e0  20 6e 6f 6e 64 65 73 63  72 69 70 74 20 62 75 73  | nondescript bus|
000010f0  68 65 73 20 6f 66 20 76  61 72 69 6f 75 73 20 5c  |hes of various \|
00001100  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00001110  20 73 6f 72 74 73 2e 20  20 54 68 69 73 20 74 69  | sorts.  This ti|
00001120  6d 65 20 6f 66 20 79 65  61 72 20 76 69 73 69 62  |me of year visib|
00001130  69 6c 69 74 79 20 69 73  20 71 75 69 74 65 20 5c  |ility is quite \|
00001140  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00001150  20 72 65 73 74 72 69 63  74 65 64 20 62 79 20 61  | restricted by a|
00001160  6c 6c 20 74 68 65 20 6c  65 61 76 65 73 2c 20 62  |ll the leaves, b|
00001170  75 74 20 74 72 61 76 65  6c 20 69 73 20 71 75 69  |ut travel is qui|
00001180  74 65 20 5c 0a 20 20 20  20 20 20 20 20 20 20 20  |te \.           |
00001190  20 20 20 20 20 65 61 73  79 20 69 66 20 79 6f 75  |     easy if you|
000011a0  20 64 65 74 6f 75 72 20  61 72 6f 75 6e 64 20 74  | detour around t|
000011b0  68 65 20 73 70 72 75 63  65 20 61 6e 64 20 62 65  |he spruce and be|
000011c0  72 72 79 20 5c 0a 20 20  20 20 20 20 20 20 20 20  |rry \.          |
000011d0  20 20 20 20 20 20 62 75  73 68 65 73 2e 22 2c 0a  |      bushes.",.|
000011e0  20 20 20 20 20 20 20 66  6f 75 6e 64 5f 69 6e 20  |       found_in |
000011f0  41 74 5f 45 6e 64 5f 4f  66 5f 52 6f 61 64 20 20  |At_End_Of_Road  |
00001200  41 74 5f 48 69 6c 6c 5f  49 6e 5f 52 6f 61 64 20  |At_Hill_In_Road |
00001210  20 49 6e 5f 41 5f 56 61  6c 6c 65 79 0a 20 20 20  | In_A_Valley.   |
00001220  20 20 20 20 20 20 20 20  20 20 20 20 20 49 6e 5f  |             In_|
00001230  46 6f 72 65 73 74 5f 31  20 20 49 6e 5f 46 6f 72  |Forest_1  In_For|
00001240  65 73 74 5f 32 0a 20 20  68 61 73 20 20 73 63 65  |est_2.  has  sce|
00001250  6e 65 72 79 3b 0a 0a 0a  4f 62 6a 65 63 74 20 41  |nery;...Object A|
00001260  74 5f 48 69 6c 6c 5f 49  6e 5f 52 6f 61 64 20 22  |t_Hill_In_Road "|
00001270  41 74 20 48 69 6c 6c 20  49 6e 20 52 6f 61 64 22  |At Hill In Road"|
00001280  0a 20 20 77 69 74 68 20  64 65 73 63 72 69 70 74  |.  with descript|
00001290  69 6f 6e 20 22 59 6f 75  20 68 61 76 65 20 77 61  |ion "You have wa|
000012a0  6c 6b 65 64 20 75 70 20  61 20 68 69 6c 6c 2c 20  |lked up a hill, |
000012b0  73 74 69 6c 6c 20 69 6e  20 74 68 65 20 66 6f 72  |still in the for|
000012c0  65 73 74 2e 20 20 54 68  65 20 72 6f 61 64 20 5c  |est.  The road \|
000012d0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000012e0  73 6c 6f 70 65 73 20 62  61 63 6b 20 64 6f 77 6e  |slopes back down|
000012f0  20 74 68 65 20 6f 74 68  65 72 20 73 69 64 65 20  | the other side |
00001300  6f 66 20 74 68 65 20 68  69 6c 6c 2e 20 20 54 68  |of the hill.  Th|
00001310  65 72 65 20 69 73 20 61  20 5c 0a 20 20 20 20 20  |ere is a \.     |
00001320  20 20 20 20 20 20 20 20  20 20 62 75 69 6c 64 69  |          buildi|
00001330  6e 67 20 69 6e 20 74 68  65 20 64 69 73 74 61 6e  |ng in the distan|
00001340  63 65 2e 22 2c 0a 20 20  20 20 20 20 20 65 5f 74  |ce.",.       e_t|
00001350  6f 20 41 74 5f 45 6e 64  5f 4f 66 5f 52 6f 61 64  |o At_End_Of_Road|
00001360  2c 0a 20 20 20 20 20 20  20 6e 5f 74 6f 20 41 74  |,.       n_to At|
00001370  5f 45 6e 64 5f 4f 66 5f  52 6f 61 64 2c 0a 20 20  |_End_Of_Road,.  |
00001380  20 20 20 20 20 64 5f 74  6f 20 41 74 5f 45 6e 64  |     d_to At_End|
00001390  5f 4f 66 5f 52 6f 61 64  2c 0a 20 20 20 20 20 20  |_Of_Road,.      |
000013a0  20 73 5f 74 6f 20 49 6e  5f 46 6f 72 65 73 74 5f  | s_to In_Forest_|
000013b0  31 2c 0a 20 20 20 20 20  20 20 6e 61 6d 65 20 22  |1,.       name "|
000013c0  67 75 6c 6c 79 22 20 22  72 6f 61 64 22 20 22 73  |gully" "road" "s|
000013d0  74 72 65 65 74 22 20 22  70 61 74 68 22 0a 20 20  |treet" "path".  |
000013e0  68 61 73 20 20 6c 69 67  68 74 3b 0a 0a 4e 65 61  |has  light;..Nea|
000013f0  72 62 79 20 48 69 6c 6c  20 22 68 69 6c 6c 22 0a  |rby Hill "hill".|
00001400  20 20 77 69 74 68 20 64  65 73 63 72 69 70 74 69  |  with descripti|
00001410  6f 6e 20 22 49 74 27 73  20 6a 75 73 74 20 61 20  |on "It's just a |
00001420  74 79 70 69 63 61 6c 20  68 69 6c 6c 2e 22 2c 0a  |typical hill.",.|
00001430  20 20 20 20 20 20 20 6e  61 6d 65 20 22 68 69 6c  |       name "hil|
00001440  6c 22 20 22 62 75 6d 70  22 20 22 69 6e 63 6c 69  |l" "bump" "incli|
00001450  6e 65 22 0a 20 20 68 61  73 20 20 73 63 65 6e 65  |ne".  has  scene|
00001460  72 79 3b 0a 0a 4e 65 61  72 62 79 20 4f 74 68 65  |ry;..Nearby Othe|
00001470  72 53 69 64 65 4f 66 48  69 6c 6c 20 22 6f 74 68  |rSideOfHill "oth|
00001480  65 72 20 73 69 64 65 20  6f 66 20 68 69 6c 6c 22  |er side of hill"|
00001490  0a 20 20 77 69 74 68 20  61 72 74 69 63 6c 65 20  |.  with article |
000014a0  22 74 68 65 22 2c 20 64  65 73 63 72 69 70 74 69  |"the", descripti|
000014b0  6f 6e 20 22 57 68 79 20  6e 6f 74 20 65 78 70 6c  |on "Why not expl|
000014c0  6f 72 65 20 69 74 20 79  6f 75 72 73 65 6c 66 3f  |ore it yourself?|
000014d0  22 2c 0a 20 20 20 20 20  20 20 6e 61 6d 65 20 22  |",.       name "|
000014e0  73 69 64 65 22 20 22 6f  74 68 65 72 22 0a 20 20  |side" "other".  |
000014f0  68 61 73 20 20 73 63 65  6e 65 72 79 3b 0a 0a 0a  |has  scenery;...|
00001500  4f 62 6a 65 63 74 20 49  6e 73 69 64 65 5f 42 75  |Object Inside_Bu|
00001510  69 6c 64 69 6e 67 20 22  49 6e 73 69 64 65 20 42  |ilding "Inside B|
00001520  75 69 6c 64 69 6e 67 22  0a 20 20 77 69 74 68 20  |uilding".  with |
00001530  64 65 73 63 72 69 70 74  69 6f 6e 20 22 59 6f 75  |description "You|
00001540  20 61 72 65 20 69 6e 73  69 64 65 20 61 20 62 75  | are inside a bu|
00001550  69 6c 64 69 6e 67 2c 20  61 20 77 65 6c 6c 20 68  |ilding, a well h|
00001560  6f 75 73 65 20 66 6f 72  20 61 20 5c 0a 20 20 20  |ouse for a \.   |
00001570  20 20 20 20 20 20 20 20  20 20 20 20 20 6c 61 72  |             lar|
00001580  67 65 20 73 70 72 69 6e  67 2e 22 2c 0a 20 20 20  |ge spring.",.   |
00001590  20 20 20 20 63 61 6e 74  5f 67 6f 20 22 54 68 65  |    cant_go "The|
000015a0  20 73 74 72 65 61 6d 20  66 6c 6f 77 73 20 6f 75  | stream flows ou|
000015b0  74 20 74 68 72 6f 75 67  68 20 61 20 70 61 69 72  |t through a pair|
000015c0  20 6f 66 20 31 20 66 6f  6f 74 20 5c 0a 20 20 20  | of 1 foot \.   |
000015d0  20 20 20 20 20 20 20 20  20 20 20 20 64 69 61 6d  |            diam|
000015e0  65 74 65 72 20 73 65 77  65 72 20 70 69 70 65 73  |eter sewer pipes|
000015f0  2e 20 20 54 68 65 20 6f  6e 6c 79 20 65 78 69 74  |.  The only exit|
00001600  20 69 73 20 74 6f 20 74  68 65 20 77 65 73 74 2e  | is to the west.|
00001610  22 2c 0a 20 20 20 20 20  20 20 62 65 66 6f 72 65  |",.       before|
00001620  0a 20 20 20 20 20 20 20  5b 3b 20 45 6e 74 65 72  |.       [; Enter|
00001630  3a 20 69 66 20 28 6e 6f  75 6e 3d 3d 53 70 72 69  |: if (noun==Spri|
00001640  6e 67 20 6f 72 20 53 65  77 65 72 50 69 70 65 73  |ng or SewerPipes|
00001650  29 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 22  |).             "|
00001660  54 68 65 20 73 74 72 65  61 6d 20 66 6c 6f 77 73  |The stream flows|
00001670  20 6f 75 74 20 74 68 72  6f 75 67 68 20 61 20 70  | out through a p|
00001680  61 69 72 20 6f 66 20 31  20 66 6f 6f 74 20 5c 0a  |air of 1 foot \.|
00001690  20 20 20 20 20 20 20 20  20 20 20 20 20 20 64 69  |              di|
000016a0  61 6d 65 74 65 72 20 73  65 77 65 72 20 70 69 70  |ameter sewer pip|
000016b0  65 73 2e 20 20 49 74 20  77 6f 75 6c 64 20 62 65  |es.  It would be|
000016c0  20 61 64 76 69 73 61 62  6c 65 20 74 6f 20 75 73  | advisable to us|
000016d0  65 20 74 68 65 20 65 78  69 74 2e 22 3b 0a 20 20  |e the exit.";.  |
000016e0  20 20 20 20 20 20 20 20  58 79 7a 7a 79 3a 20 69  |        Xyzzy: i|
000016f0  66 20 28 49 6e 5f 44 65  62 72 69 73 5f 52 6f 6f  |f (In_Debris_Roo|
00001700  6d 20 68 61 73 6e 74 20  76 69 73 69 74 65 64 29  |m hasnt visited)|
00001710  20 72 66 61 6c 73 65 3b  0a 20 20 20 20 20 20 20  | rfalse;.       |
00001720  20 20 20 20 20 20 20 20  20 20 50 6c 61 79 65 72  |          Player|
00001730  54 6f 28 49 6e 5f 44 65  62 72 69 73 5f 52 6f 6f  |To(In_Debris_Roo|
00001740  6d 29 3b 20 72 74 72 75  65 3b 0a 20 20 20 20 20  |m); rtrue;.     |
00001750  20 20 20 20 20 50 6c 75  67 68 3a 20 69 66 20 28  |     Plugh: if (|
00001760  41 74 5f 59 32 20 68 61  73 6e 74 20 76 69 73 69  |At_Y2 hasnt visi|
00001770  74 65 64 29 20 72 66 61  6c 73 65 3b 0a 20 20 20  |ted) rfalse;.   |
00001780  20 20 20 20 20 20 20 20  20 20 20 20 20 20 50 6c  |              Pl|
00001790  61 79 65 72 54 6f 28 41  74 5f 59 32 29 3b 20 72  |ayerTo(At_Y2); r|
000017a0  74 72 75 65 3b 0a 20 20  20 20 20 20 20 5d 2c 0a  |true;.       ],.|
000017b0  20 20 20 20 20 20 20 77  5f 74 6f 20 41 74 5f 45  |       w_to At_E|
000017c0  6e 64 5f 4f 66 5f 52 6f  61 64 2c 20 6f 75 74 5f  |nd_Of_Road, out_|
000017d0  74 6f 20 41 74 5f 45 6e  64 5f 4f 66 5f 52 6f 61  |to At_End_Of_Roa|
000017e0  64 2c 0a 20 20 20 20 20  20 20 69 6e 5f 74 6f 20  |d,.       in_to |
000017f0  22 54 68 65 20 70 69 70  65 73 20 61 72 65 20 74  |"The pipes are t|
00001800  6f 6f 20 73 6d 61 6c 6c  2e 22 0a 20 20 68 61 73  |oo small.".  has|
00001810  20 20 6c 69 67 68 74 3b  0a 0a 4e 65 61 72 62 79  |  light;..Nearby|
00001820  20 53 70 72 69 6e 67 20  22 73 70 72 69 6e 67 22  | Spring "spring"|
00001830  0a 20 20 77 69 74 68 20  6e 61 6d 65 20 22 73 70  |.  with name "sp|
00001840  72 69 6e 67 22 20 22 6c  61 72 67 65 22 2c 0a 20  |ring" "large",. |
00001850  20 20 20 20 20 20 64 65  73 63 72 69 70 74 69 6f  |      descriptio|
00001860  6e 20 22 54 68 65 20 73  74 72 65 61 6d 20 66 6c  |n "The stream fl|
00001870  6f 77 73 20 6f 75 74 20  74 68 72 6f 75 67 68 20  |ows out through |
00001880  61 20 70 61 69 72 20 6f  66 20 31 20 66 6f 6f 74  |a pair of 1 foot|
00001890  20 5c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  | \.             |
000018a0  20 20 20 64 69 61 6d 65  74 65 72 20 73 65 77 65  |   diameter sewe|
000018b0  72 20 70 69 70 65 73 2e  22 0a 20 20 68 61 73 20  |r pipes.".  has |
000018c0  20 73 63 65 6e 65 72 79  3b 0a 0a 4e 65 61 72 62  | scenery;..Nearb|
000018d0  79 20 53 65 77 65 72 50  69 70 65 73 20 22 70 61  |y SewerPipes "pa|
000018e0  69 72 20 6f 66 20 31 20  66 6f 6f 74 20 64 69 61  |ir of 1 foot dia|
000018f0  6d 65 74 65 72 20 73 65  77 65 72 20 70 69 70 65  |meter sewer pipe|
00001900  73 22 0a 20 20 77 69 74  68 20 6e 61 6d 65 20 22  |s".  with name "|
00001910  70 69 70 65 73 22 20 22  70 69 70 65 22 20 22 6f  |pipes" "pipe" "o|
00001920  6e 65 22 20 22 66 6f 6f  74 22 20 22 64 69 61 6d  |ne" "foot" "diam|
00001930  65 74 65 72 22 20 22 73  65 77 65 72 22 20 22 73  |eter" "sewer" "s|
00001940  65 77 65 72 2d 70 69 70  65 73 22 2c 0a 20 20 20  |ewer-pipes",.   |
00001950  20 20 20 20 64 65 73 63  72 69 70 74 69 6f 6e 20  |    description |
00001960  22 54 6f 6f 20 73 6d 61  6c 6c 2e 20 20 54 68 65  |"Too small.  The|
00001970  20 6f 6e 6c 79 20 65 78  69 74 20 69 73 20 74 6f  | only exit is to|
00001980  20 74 68 65 20 77 65 73  74 2e 22 0a 20 20 68 61  | the west.".  ha|
00001990  73 20 20 73 63 65 6e 65  72 79 3b 0a 0a 4e 65 61  |s  scenery;..Nea|
000019a0  72 62 79 20 73 65 74 5f  6f 66 5f 6b 65 79 73 20  |rby set_of_keys |
000019b0  22 73 65 74 20 6f 66 20  6b 65 79 73 22 0a 20 20  |"set of keys".  |
000019c0  77 69 74 68 20 64 65 73  63 72 69 70 74 69 6f 6e  |with description|
000019d0  20 22 49 74 27 73 20 6a  75 73 74 20 61 20 6e 6f  | "It's just a no|
000019e0  72 6d 61 6c 2d 6c 6f 6f  6b 69 6e 67 20 73 65 74  |rmal-looking set|
000019f0  20 6f 66 20 6b 65 79 73  2e 22 2c 0a 20 20 20 20  | of keys.",.    |
00001a00  20 20 20 69 6e 69 74 69  61 6c 20 22 54 68 65 72  |   initial "Ther|
00001a10  65 20 61 72 65 20 73 6f  6d 65 20 6b 65 79 73 20  |e are some keys |
00001a20  6f 6e 20 74 68 65 20 67  72 6f 75 6e 64 20 68 65  |on the ground he|
00001a30  72 65 2e 22 2c 0a 20 20  20 20 20 20 20 6e 61 6d  |re.",.       nam|
00001a40  65 20 22 6b 65 79 73 22  20 22 6b 65 79 22 20 22  |e "keys" "key" "|
00001a50  6b 65 79 72 69 6e 67 22  20 22 73 65 74 22 20 22  |keyring" "set" "|
00001a60  6f 66 22 20 22 62 75 6e  63 68 22 3b 0a 0a 0a 4e  |of" "bunch";...N|
00001a70  65 61 72 62 79 20 74 61  73 74 79 5f 66 6f 6f 64  |earby tasty_food|
00001a80  20 22 74 61 73 74 79 20  66 6f 6f 64 22 0a 20 20  | "tasty food".  |
00001a90  77 69 74 68 20 64 65 73  63 72 69 70 74 69 6f 6e  |with description|
00001aa0  20 22 53 75 72 65 20 6c  6f 6f 6b 73 20 79 75 6d  | "Sure looks yum|
00001ab0  6d 79 21 22 2c 20 61 72  74 69 63 6c 65 20 22 73  |my!", article "s|
00001ac0  6f 6d 65 22 2c 0a 20 20  20 20 20 20 20 69 6e 69  |ome",.       ini|
00001ad0  74 69 61 6c 20 22 54 68  65 72 65 20 69 73 20 74  |tial "There is t|
00001ae0  61 73 74 79 20 66 6f 6f  64 20 68 65 72 65 2e 22  |asty food here."|
00001af0  2c 0a 20 20 20 20 20 20  20 6e 61 6d 65 20 22 66  |,.       name "f|
00001b00  6f 6f 64 22 20 22 72 61  74 69 6f 6e 22 20 22 72  |ood" "ration" "r|
00001b10  61 74 69 6f 6e 73 22 20  22 74 72 69 70 65 22 0a  |ations" "tripe".|
00001b20  20 20 20 20 20 20 20 20  20 20 20 20 22 79 75 6d  |            "yum|
00001b30  6d 79 22 20 22 74 61 73  74 79 22 20 22 64 65 6c  |my" "tasty" "del|
00001b40  69 63 69 6f 75 73 22 20  22 73 63 72 75 6d 70 74  |icious" "scrumpt|
00001b50  69 6f 75 73 22 2c 0a 20  20 20 20 20 20 20 61 66  |ious",.       af|
00001b60  74 65 72 0a 20 20 20 20  20 20 20 5b 3b 20 45 61  |ter.       [; Ea|
00001b70  74 3a 20 22 44 65 6c 69  63 69 6f 75 73 21 22 3b  |t: "Delicious!";|
00001b80  20 5d 2c 0a 20 20 68 61  73 20 20 65 64 69 62 6c  | ],.  has  edibl|
00001b90  65 3b 0a 0a 0a 4e 65 61  72 62 79 20 62 72 61 73  |e;...Nearby bras|
00001ba0  73 5f 6c 61 6e 74 65 72  6e 20 22 62 72 61 73 73  |s_lantern "brass|
00001bb0  20 6c 61 6e 74 65 72 6e  22 0a 20 20 77 69 74 68  | lantern".  with|
00001bc0  20 6e 61 6d 65 20 22 6c  61 6d 70 22 20 22 68 65  | name "lamp" "he|
00001bd0  61 64 6c 61 6d 70 22 20  22 68 65 61 64 6c 69 67  |adlamp" "headlig|
00001be0  68 74 22 20 22 6c 61 6e  74 65 72 6e 22 20 22 6c  |ht" "lantern" "l|
00001bf0  69 67 68 74 22 20 22 73  68 69 6e 79 22 20 22 62  |ight" "shiny" "b|
00001c00  72 61 73 73 22 2c 0a 20  20 20 20 20 20 20 77 68  |rass",.       wh|
00001c10  65 6e 5f 6f 66 66 20 22  54 68 65 72 65 20 69 73  |en_off "There is|
00001c20  20 61 20 73 68 69 6e 79  20 62 72 61 73 73 20 6c  | a shiny brass l|
00001c30  61 6d 70 20 6e 65 61 72  62 79 2e 22 2c 0a 20 20  |amp nearby.",.  |
00001c40  20 20 20 20 20 77 68 65  6e 5f 6f 6e 20 20 22 59  |     when_on  "Y|
00001c50  6f 75 72 20 6c 61 6d 70  20 69 73 20 68 65 72 65  |our lamp is here|
00001c60  2c 20 67 6c 65 61 6d 69  6e 67 20 62 72 69 67 68  |, gleaming brigh|
00001c70  74 6c 79 2e 22 2c 0a 20  20 20 20 20 20 20 6e 75  |tly.",.       nu|
00001c80  6d 62 65 72 20 33 33 30  2c 0a 20 20 20 20 20 20  |mber 330,.      |
00001c90  20 74 69 6d 65 5f 6c 65  66 74 20 30 2c 0a 20 20  | time_left 0,.  |
00001ca0  20 20 20 20 20 64 61 65  6d 6f 6e 0a 20 20 20 20  |     daemon.    |
00001cb0  20 20 20 5b 20 74 3b 20  69 66 20 28 73 65 6c 66  |   [ t; if (self|
00001cc0  20 68 61 73 6e 74 20 6f  6e 29 20 7b 20 53 74 6f  | hasnt on) { Sto|
00001cd0  70 44 61 65 6d 6f 6e 28  73 65 6c 66 29 3b 20 72  |pDaemon(self); r|
00001ce0  74 72 75 65 3b 20 7d 0a  20 20 20 20 20 20 20 20  |true; }.        |
00001cf0  20 74 3d 73 65 6c 66 2e  6e 75 6d 62 65 72 2d 31  | t=self.number-1|
00001d00  3b 0a 20 20 20 20 20 20  20 20 20 73 65 6c 66 2e  |;.         self.|
00001d10  6e 75 6d 62 65 72 3d 74  3b 0a 20 20 20 20 20 20  |number=t;.      |
00001d20  20 20 20 69 66 20 28 74  3d 3d 30 29 20 67 69 76  |   if (t==0) giv|
00001d30  65 20 73 65 6c 66 20 7e  6f 6e 20 7e 6c 69 67 68  |e self ~on ~ligh|
00001d40  74 3b 0a 0a 20 20 20 20  20 20 20 20 20 69 66 20  |t;..         if |
00001d50  28 73 65 6c 66 20 69 6e  20 70 6c 61 79 65 72 20  |(self in player |
00001d60  7c 7c 20 73 65 6c 66 20  69 6e 20 6c 6f 63 61 74  ||| self in locat|
00001d70  69 6f 6e 29 0a 20 20 20  20 20 20 20 20 20 7b 20  |ion).         { |
00001d80  20 20 69 66 20 28 74 3d  3d 30 29 0a 20 20 20 20  |  if (t==0).    |
00001d90  20 20 20 20 20 20 20 20  20 7b 20 20 20 0a 20 20  |         {   .  |
00001da0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 70  |               p|
00001db0  72 69 6e 74 20 22 59 6f  75 72 20 6c 61 6d 70 20  |rint "Your lamp |
00001dc0  68 61 73 20 72 75 6e 20  6f 75 74 20 6f 66 20 70  |has run out of p|
00001dd0  6f 77 65 72 2e 22 3b 0a  20 20 20 20 20 20 20 20  |ower.";.        |
00001de0  20 20 20 20 20 20 20 20  20 69 66 20 28 66 72 65  |         if (fre|
00001df0  73 68 5f 62 61 74 74 65  72 69 65 73 20 6e 6f 74  |sh_batteries not|
00001e00  69 6e 20 70 6c 61 79 65  72 20 26 26 20 6c 6f 63  |in player && loc|
00001e10  61 74 69 6f 6e 20 68 61  73 6e 74 20 6c 69 67 68  |ation hasnt ligh|
00001e20  74 29 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |t).             |
00001e30  20 20 20 20 7b 20 20 20  64 65 61 64 66 6c 61 67  |    {   deadflag|
00001e40  3d 33 3b 0a 20 20 20 20  20 20 20 20 20 20 20 20  |=3;.            |
00001e50  20 20 20 20 20 20 20 20  20 22 20 20 59 6f 75 20  |         "  You |
00001e60  63 61 6e 27 74 20 65 78  70 6c 6f 72 65 20 74 68  |can't explore th|
00001e70  65 20 63 61 76 65 20 77  69 74 68 6f 75 74 20 61  |e cave without a|
00001e80  20 6c 61 6d 70 2e 20 53  6f 20 5c 0a 20 20 20 20  | lamp. So \.    |
00001e90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001ea0  20 20 6c 65 74 27 73 20  6a 75 73 74 20 63 61 6c  |  let's just cal|
00001eb0  6c 20 69 74 20 61 20 64  61 79 2e 22 3b 0a 20 20  |l it a day.";.  |
00001ec0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 7d  |               }|
00001ed0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00001ee0  20 20 65 6c 73 65 20 52  65 70 6c 61 63 65 42 61  |  else ReplaceBa|
00001ef0  74 74 73 28 29 3b 0a 20  20 20 20 20 20 20 20 20  |tts();.         |
00001f00  20 20 20 20 20 20 20 20  6e 65 77 5f 6c 69 6e 65  |        new_line|
00001f10  3b 20 72 74 72 75 65 3b  0a 20 20 20 20 20 20 20  |; rtrue;.       |
00001f20  20 20 20 20 20 20 7d 20  20 0a 20 20 20 20 20 20  |      }  .      |
00001f30  20 20 20 20 20 20 20 69  66 20 28 74 3d 3d 33 30  |       if (t==30|
00001f40  29 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 7b  |).             {|
00001f50  20 20 20 70 72 69 6e 74  20 22 59 6f 75 72 20 6c  |   print "Your l|
00001f60  61 6d 70 20 69 73 20 67  65 74 74 69 6e 67 20 64  |amp is getting d|
00001f70  69 6d 2e 22 3b 0a 20 20  20 20 20 20 20 20 20 20  |im.";.          |
00001f80  20 20 20 20 20 20 20 69  66 20 28 66 72 65 73 68  |       if (fresh|
00001f90  5f 62 61 74 74 65 72 69  65 73 20 68 61 73 20 67  |_batteries has g|
00001fa0  65 6e 65 72 61 6c 29 0a  20 20 20 20 20 20 20 20  |eneral).        |
00001fb0  20 20 20 20 20 20 20 20  20 20 20 20 20 22 20 20  |             "  |
00001fc0  59 6f 75 27 72 65 20 61  6c 73 6f 20 6f 75 74 20  |You're also out |
00001fd0  6f 66 20 73 70 61 72 65  20 62 61 74 74 65 72 69  |of spare batteri|
00001fe0  65 73 2e 20 20 5c 0a 20  20 20 20 20 20 20 20 20  |es.  \.         |
00001ff0  20 20 20 20 20 20 20 20  20 20 20 20 20 59 6f 75  |             You|
00002000  27 64 20 62 65 73 74 20  73 74 61 72 74 20 77 72  |'d best start wr|
00002010  61 70 70 69 6e 67 20 74  68 69 73 20 75 70 2e 22  |apping this up."|
00002020  3b 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |;.              |
00002030  20 20 20 69 66 20 28 66  72 65 73 68 5f 62 61 74  |   if (fresh_bat|
00002040  74 65 72 69 65 73 20 69  6e 20 56 65 6e 64 69 6e  |teries in Vendin|
00002050  67 4d 61 63 68 69 6e 65  0a 20 20 20 20 20 20 20  |gMachine.       |
00002060  20 20 20 20 20 20 20 20  20 20 20 20 20 20 26 26  |              &&|
00002070  20 44 65 61 64 5f 45 6e  64 5f 31 34 20 68 61 73  | Dead_End_14 has|
00002080  20 76 69 73 69 74 65 64  29 0a 20 20 20 20 20 20  | visited).      |
00002090  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 22  |               "|
000020a0  20 20 59 6f 75 27 64 20  62 65 73 74 20 73 74 61  |  You'd best sta|
000020b0  72 74 20 77 72 61 70 70  69 6e 67 20 74 68 69 73  |rt wrapping this|
000020c0  20 75 70 2c 20 5c 0a 20  20 20 20 20 20 20 20 20  | up, \.         |
000020d0  20 20 20 20 20 20 20 20  20 20 20 20 20 75 6e 6c  |             unl|
000020e0  65 73 73 20 79 6f 75 20  63 61 6e 20 66 69 6e 64  |ess you can find|
000020f0  20 73 6f 6d 65 20 66 72  65 73 68 20 5c 0a 20 20  | some fresh \.  |
00002100  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002110  20 20 20 20 62 61 74 74  65 72 69 65 73 2e 20 49  |    batteries. I|
00002120  20 73 65 65 6d 20 74 6f  20 72 65 63 61 6c 6c 20  | seem to recall |
00002130  74 68 65 72 65 27 73 20  61 20 5c 0a 20 20 20 20  |there's a \.    |
00002140  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002150  20 20 76 65 6e 64 69 6e  67 20 6d 61 63 68 69 6e  |  vending machin|
00002160  65 20 69 6e 20 74 68 65  20 6d 61 7a 65 2e 20 20  |e in the maze.  |
00002170  42 72 69 6e 67 20 5c 0a  20 20 20 20 20 20 20 20  |Bring \.        |
00002180  20 20 20 20 20 20 20 20  20 20 20 20 20 20 73 6f  |              so|
00002190  6d 65 20 63 6f 69 6e 73  20 77 69 74 68 20 79 6f  |me coins with yo|
000021a0  75 2e 22 3b 0a 20 20 20  20 20 20 20 20 20 20 20  |u.";.           |
000021b0  20 20 20 20 20 20 69 66  20 28 66 72 65 73 68 5f  |      if (fresh_|
000021c0  62 61 74 74 65 72 69 65  73 20 6e 6f 74 69 6e 20  |batteries notin |
000021d0  56 65 6e 64 69 6e 67 4d  61 63 68 69 6e 65 29 0a  |VendingMachine).|
000021e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000021f0  20 20 20 20 20 20 22 20  20 59 6f 75 27 64 20 62  |      "  You'd b|
00002200  65 73 74 20 67 6f 20 62  61 63 6b 20 66 6f 72 20  |est go back for |
00002210  74 68 6f 73 65 20 62 61  74 74 65 72 69 65 73 2e  |those batteries.|
00002220  22 3b 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |";.             |
00002230  20 20 20 20 6e 65 77 5f  6c 69 6e 65 3b 20 72 74  |    new_line; rt|
00002240  72 75 65 3b 0a 20 20 20  20 20 20 20 20 20 20 20  |rue;.           |
00002250  20 20 7d 0a 20 20 20 20  20 20 20 20 20 7d 0a 20  |  }.         }. |
00002260  20 20 20 20 20 20 5d 2c  0a 20 20 20 20 20 20 20  |      ],.       |
00002270  62 65 66 6f 72 65 0a 20  20 20 20 20 20 20 5b 3b  |before.       [;|
00002280  20 45 78 61 6d 69 6e 65  3a 20 70 72 69 6e 74 20  | Examine: print |
00002290  22 49 74 20 69 73 20 61  20 73 68 69 6e 79 20 62  |"It is a shiny b|
000022a0  72 61 73 73 20 6c 61 6d  70 22 3b 0a 20 20 20 20  |rass lamp";.    |
000022b0  20 20 20 20 20 20 20 20  20 20 20 20 69 66 20 28  |            if (|
000022c0  73 65 6c 66 20 68 61 73  6e 74 20 6f 6e 29 0a 20  |self hasnt on). |
000022d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000022e0  20 20 20 22 2e 20 20 49  74 20 69 73 20 6e 6f 74  |   ".  It is not|
000022f0  20 63 75 72 72 65 6e 74  6c 79 20 6c 69 74 2e 22  | currently lit."|
00002300  3b 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |;.              |
00002310  20 20 69 66 20 28 73 65  6c 66 2e 6e 75 6d 62 65  |  if (self.numbe|
00002320  72 20 3c 20 33 30 29 0a  20 20 20 20 20 20 20 20  |r < 30).        |
00002330  20 20 20 20 20 20 20 20  20 20 20 20 22 2c 20 67  |            ", g|
00002340  6c 6f 77 69 6e 67 20 64  69 6d 6c 79 2e 22 3b 0a  |lowing dimly.";.|
00002350  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002360  22 2c 20 67 6c 6f 77 69  6e 67 20 62 72 69 67 68  |", glowing brigh|
00002370  74 6c 79 2e 22 3b 0a 20  20 20 20 20 20 20 20 20  |tly.";.         |
00002380  20 42 75 72 6e 3a 20 3c  3c 53 77 69 74 63 68 4f  | Burn: <<SwitchO|
00002390  6e 20 73 65 6c 66 3e 3e  3b 0a 20 20 20 20 20 20  |n self>>;.      |
000023a0  20 20 20 20 52 75 62 3a  20 20 22 52 75 62 62 69  |    Rub:  "Rubbi|
000023b0  6e 67 20 74 68 65 20 65  6c 65 63 74 72 69 63 20  |ng the electric |
000023c0  6c 61 6d 70 20 69 73 20  6e 6f 74 20 70 61 72 74  |lamp is not part|
000023d0  69 63 75 6c 61 72 6c 79  20 5c 0a 20 20 20 20 20  |icularly \.     |
000023e0  20 20 20 20 20 20 20 20  20 20 20 20 72 65 77 61  |            rewa|
000023f0  72 64 69 6e 67 2e 20 20  41 6e 79 77 61 79 2c 20  |rding.  Anyway, |
00002400  6e 6f 74 68 69 6e 67 20  65 78 63 69 74 69 6e 67  |nothing exciting|
00002410  20 68 61 70 70 65 6e 73  2e 22 3b 0a 20 20 20 20  | happens.";.    |
00002420  20 20 20 20 20 20 53 77  69 74 63 68 4f 6e 3a 20  |      SwitchOn: |
00002430  69 66 20 28 73 65 6c 66  2e 6e 75 6d 62 65 72 20  |if (self.number |
00002440  3c 3d 20 30 29 0a 20 20  20 20 20 20 20 20 20 20  |<= 0).          |
00002450  20 20 20 20 20 20 22 55  6e 66 6f 72 74 75 6e 61  |      "Unfortuna|
00002460  74 65 6c 79 2c 20 74 68  65 20 62 61 74 74 65 72  |tely, the batter|
00002470  69 65 73 20 73 65 65 6d  20 74 6f 20 62 65 20 64  |ies seem to be d|
00002480  65 61 64 2e 22 3b 0a 20  20 20 20 20 20 20 20 20  |ead.";.         |
00002490  20 52 65 63 65 69 76 65  3a 0a 20 20 20 20 20 20  | Receive:.      |
000024a0  20 20 20 20 20 20 20 20  20 20 69 66 20 28 6e 6f  |          if (no|
000024b0  75 6e 3d 3d 6f 6c 64 5f  62 61 74 74 65 72 69 65  |un==old_batterie|
000024c0  73 29 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |s).             |
000024d0  20 20 20 20 20 20 20 22  54 68 6f 73 65 20 62 61  |       "Those ba|
000024e0  74 74 65 72 69 65 73 20  61 72 65 20 64 65 61 64  |tteries are dead|
000024f0  3b 20 74 68 65 79 20 77  6f 6e 27 74 20 64 6f 20  |; they won't do |
00002500  61 6e 79 20 67 6f 6f 64  20 61 74 20 61 6c 6c 2e  |any good at all.|
00002510  22 3b 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |";.             |
00002520  20 20 20 69 66 20 28 6e  6f 75 6e 20 3d 3d 20 66  |   if (noun == f|
00002530  72 65 73 68 5f 62 61 74  74 65 72 69 65 73 29 20  |resh_batteries) |
00002540  7b 20 52 65 70 6c 61 63  65 42 61 74 74 73 28 29  |{ ReplaceBatts()|
00002550  3b 20 72 74 72 75 65 3b  20 7d 0a 20 20 20 20 20  |; rtrue; }.     |
00002560  20 20 20 20 20 20 20 20  20 20 20 22 54 68 65 20  |           "The |
00002570  6f 6e 6c 79 20 74 68 69  6e 67 20 79 6f 75 20 6d  |only thing you m|
00002580  69 67 68 74 20 73 75 63  63 65 73 73 66 75 6c 6c  |ight successfull|
00002590  79 20 70 75 74 20 69 6e  20 5c 0a 20 20 20 20 20  |y put in \.     |
000025a0  20 20 20 20 20 20 20 20  20 20 20 20 74 68 65 20  |            the |
000025b0  6c 61 6d 70 20 69 73 20  61 20 66 72 65 73 68 20  |lamp is a fresh |
000025c0  70 61 69 72 20 6f 66 20  62 61 74 74 65 72 69 65  |pair of batterie|
000025d0  73 2e 22 3b 0a 20 20 20  20 20 20 20 5d 2c 0a 20  |s.";.       ],. |
000025e0  20 20 20 20 20 20 61 66  74 65 72 0a 20 20 20 20  |      after.    |
000025f0  20 20 20 5b 3b 20 53 77  69 74 63 68 4f 6e 3a 20  |   [; SwitchOn: |
00002600  67 69 76 65 20 73 65 6c  66 20 6c 69 67 68 74 3b  |give self light;|
00002610  20 53 74 61 72 74 44 61  65 6d 6f 6e 28 73 65 6c  | StartDaemon(sel|
00002620  66 29 3b 0a 20 20 20 20  20 20 20 20 20 20 53 77  |f);.          Sw|
00002630  69 74 63 68 4f 66 66 3a  20 67 69 76 65 20 73 65  |itchOff: give se|
00002640  6c 66 20 7e 6c 69 67 68  74 3b 0a 20 20 20 20 20  |lf ~light;.     |
00002650  20 20 5d 2c 0a 20 20 68  61 73 20 20 73 77 69 74  |  ],.  has  swit|
00002660  63 68 61 62 6c 65 3b 0a  0a 5b 20 52 65 70 6c 61  |chable;..[ Repla|
00002670  63 65 42 61 74 74 73 3b  0a 20 20 69 66 20 28 66  |ceBatts;.  if (f|
00002680  72 65 73 68 5f 62 61 74  74 65 72 69 65 73 20 69  |resh_batteries i|
00002690  6e 20 70 6c 61 79 65 72  20 7c 7c 20 66 72 65 73  |n player || fres|
000026a0  68 5f 62 61 74 74 65 72  69 65 73 20 69 6e 20 6c  |h_batteries in l|
000026b0  6f 63 61 74 69 6f 6e 29  0a 20 20 7b 20 20 20 72  |ocation).  {   r|
000026c0  65 6d 6f 76 65 20 66 72  65 73 68 5f 62 61 74 74  |emove fresh_batt|
000026d0  65 72 69 65 73 3b 20 67  69 76 65 20 66 72 65 73  |eries; give fres|
000026e0  68 5f 62 61 74 74 65 72  69 65 73 20 67 65 6e 65  |h_batteries gene|
000026f0  72 61 6c 3b 0a 20 20 20  20 20 20 6d 6f 76 65 20  |ral;.      move |
00002700  6f 6c 64 5f 62 61 74 74  65 72 69 65 73 20 74 6f  |old_batteries to|
00002710  20 6c 6f 63 61 74 69 6f  6e 3b 20 62 72 61 73 73  | location; brass|
00002720  5f 6c 61 6e 74 65 72 6e  2e 6e 75 6d 62 65 72 20  |_lantern.number |
00002730  3d 20 32 35 30 30 3b 0a  20 20 20 20 20 20 22 49  |= 2500;.      "I|
00002740  27 6d 20 74 61 6b 69 6e  67 20 74 68 65 20 6c 69  |'m taking the li|
00002750  62 65 72 74 79 20 6f 66  20 72 65 70 6c 61 63 69  |berty of replaci|
00002760  6e 67 20 74 68 65 20 62  61 74 74 65 72 69 65 73  |ng the batteries|
00002770  2e 22 3b 0a 20 20 7d 0a  5d 3b 0a 0a 0a 4e 65 61  |.";.  }.];...Nea|
00002780  72 62 79 20 62 6f 74 74  6c 65 20 22 73 6d 61 6c  |rby bottle "smal|
00002790  6c 20 62 6f 74 74 6c 65  22 0a 20 20 77 69 74 68  |l bottle".  with|
000027a0  20 6e 61 6d 65 20 22 62  6f 74 74 6c 65 22 20 22  | name "bottle" "|
000027b0  6a 61 72 22 20 22 66 6c  61 73 6b 22 2c 0a 20 20  |jar" "flask",.  |
000027c0  20 20 20 20 20 69 6e 69  74 69 61 6c 20 22 54 68  |     initial "Th|
000027d0  65 72 65 20 69 73 20 61  6e 20 65 6d 70 74 79 20  |ere is an empty |
000027e0  62 6f 74 74 6c 65 20 68  65 72 65 2e 22 2c 0a 20  |bottle here.",. |
000027f0  20 20 20 20 20 20 62 65  66 6f 72 65 0a 20 20 20  |      before.   |
00002800  20 20 20 20 5b 3b 20 4c  65 74 47 6f 3a 0a 20 20  |    [; LetGo:.  |
00002810  20 20 20 20 20 20 20 20  20 20 20 69 66 20 28 6e  |           if (n|
00002820  6f 75 6e 20 69 6e 20 62  6f 74 74 6c 65 29 0a 20  |oun in bottle). |
00002830  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00002840  22 59 6f 75 27 72 65 20  68 6f 6c 64 69 6e 67 20  |"You're holding |
00002850  74 68 61 74 20 61 6c 72  65 61 64 79 20 28 69 6e  |that already (in|
00002860  20 74 68 65 20 62 6f 74  74 6c 65 29 2e 22 3b 0a  | the bottle).";.|
00002870  20 20 20 20 20 20 20 20  20 52 65 63 65 69 76 65  |         Receive|
00002880  3a 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 69  |:.             i|
00002890  66 20 28 6e 6f 75 6e 3d  3d 73 74 72 65 61 6d 20  |f (noun==stream |
000028a0  6f 72 20 4f 69 6c 29 20  3c 3c 46 69 6c 6c 20 73  |or Oil) <<Fill s|
000028b0  65 6c 66 3e 3e 3b 0a 20  20 20 20 20 20 20 20 20  |elf>>;.         |
000028c0  20 20 20 20 65 6c 73 65  20 22 54 68 65 20 62 6f  |    else "The bo|
000028d0  74 74 6c 65 20 69 73 20  6f 6e 6c 79 20 73 75 70  |ttle is only sup|
000028e0  70 6f 73 65 64 20 74 6f  20 68 6f 6c 64 20 6c 69  |posed to hold li|
000028f0  71 75 69 64 73 2e 22 3b  0a 20 20 20 20 20 20 20  |quids.";.       |
00002900  20 20 46 69 6c 6c 3a 0a  20 20 20 20 20 20 20 20  |  Fill:.        |
00002910  20 20 20 20 20 69 66 20  28 63 68 69 6c 64 28 62  |     if (child(b|
00002920  6f 74 74 6c 65 29 7e 3d  30 29 0a 20 20 20 20 20  |ottle)~=0).     |
00002930  20 20 20 20 20 20 20 20  20 20 22 54 68 65 20 62  |          "The b|
00002940  6f 74 74 6c 65 20 69 73  20 66 75 6c 6c 20 61 6c  |ottle is full al|
00002950  72 65 61 64 79 2e 22 3b  0a 20 20 20 20 20 20 20  |ready.";.       |
00002960  20 20 20 20 20 20 69 66  20 28 73 74 72 65 61 6d  |      if (stream|
00002970  20 69 6e 20 6c 6f 63 61  74 69 6f 6e 20 7c 7c 20  | in location || |
00002980  53 70 72 69 6e 67 20 69  6e 20 6c 6f 63 61 74 69  |Spring in locati|
00002990  6f 6e 29 0a 20 20 20 20  20 20 20 20 20 20 20 20  |on).            |
000029a0  20 7b 20 20 20 6d 6f 76  65 20 77 61 74 65 72 5f  | {   move water_|
000029b0  69 6e 5f 74 68 65 5f 62  6f 74 74 6c 65 20 74 6f  |in_the_bottle to|
000029c0  20 62 6f 74 74 6c 65 3b  0a 20 20 20 20 20 20 20  | bottle;.       |
000029d0  20 20 20 20 20 20 20 20  20 20 22 54 68 65 20 62  |          "The b|
000029e0  6f 74 74 6c 65 20 69 73  20 6e 6f 77 20 66 75 6c  |ottle is now ful|
000029f0  6c 20 6f 66 20 77 61 74  65 72 2e 22 3b 0a 20 20  |l of water.";.  |
00002a00  20 20 20 20 20 20 20 20  20 20 20 7d 0a 20 20 20  |           }.   |
00002a10  20 20 20 20 20 20 20 20  20 20 69 66 20 28 4f 69  |          if (Oi|
00002a20  6c 20 69 6e 20 6c 6f 63  61 74 69 6f 6e 29 0a 20  |l in location). |
00002a30  20 20 20 20 20 20 20 20  20 20 20 20 7b 20 20 20  |            {   |
00002a40  6d 6f 76 65 20 6f 69 6c  5f 69 6e 5f 74 68 65 5f  |move oil_in_the_|
00002a50  62 6f 74 74 6c 65 20 74  6f 20 62 6f 74 74 6c 65  |bottle to bottle|
00002a60  3b 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |;.              |
00002a70  20 20 20 22 54 68 65 20  62 6f 74 74 6c 65 20 69  |   "The bottle i|
00002a80  73 20 6e 6f 77 20 66 75  6c 6c 20 6f 66 20 6f 69  |s now full of oi|
00002a90  6c 2e 22 3b 0a 20 20 20  20 20 20 20 20 20 20 20  |l.";.           |
00002aa0  20 20 7d 0a 20 20 20 20  20 20 20 20 20 20 20 20  |  }.            |
00002ab0  20 22 54 68 65 72 65 20  69 73 20 6e 6f 74 68 69  | "There is nothi|
00002ac0  6e 67 20 68 65 72 65 20  77 69 74 68 20 77 68 69  |ng here with whi|
00002ad0  63 68 20 74 6f 20 66 69  6c 6c 20 74 68 65 20 62  |ch to fill the b|
00002ae0  6f 74 74 6c 65 2e 22 3b  0a 20 20 20 20 20 20 20  |ottle.";.       |
00002af0  20 20 45 6d 70 74 79 3a  20 69 66 20 28 63 68 69  |  Empty: if (chi|
00002b00  6c 64 28 62 6f 74 74 6c  65 29 3d 3d 30 29 20 22  |ld(bottle)==0) "|
00002b10  54 68 65 20 62 6f 74 74  6c 65 20 69 73 20 61 6c  |The bottle is al|
00002b20  72 65 61 64 79 20 65 6d  70 74 79 21 22 3b 0a 20  |ready empty!";. |
00002b30  20 20 20 20 20 20 20 20  20 20 20 20 72 65 6d 6f  |            remo|
00002b40  76 65 20 63 68 69 6c 64  28 62 6f 74 74 6c 65 29  |ve child(bottle)|
00002b50  3b 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 22  |;.             "|
00002b60  59 6f 75 72 20 62 6f 74  74 6c 65 20 69 73 20 6e  |Your bottle is n|
00002b70  6f 77 20 65 6d 70 74 79  20 61 6e 64 20 74 68 65  |ow empty and the|
00002b80  20 67 72 6f 75 6e 64 20  69 73 20 6e 6f 77 20 77  | ground is now w|
00002b90  65 74 2e 22 3b 0a 20 20  20 20 20 20 20 5d 2c 0a  |et.";.       ],.|
00002ba0  20 20 68 61 73 20 20 63  6f 6e 74 61 69 6e 65 72  |  has  container|
00002bb0  20 6f 70 65 6e 3b 0a 0a  4f 62 6a 65 63 74 20 77  | open;..Object w|
00002bc0  61 74 65 72 5f 69 6e 5f  74 68 65 5f 62 6f 74 74  |ater_in_the_bott|
00002bd0  6c 65 20 22 62 6f 74 74  6c 65 64 20 77 61 74 65  |le "bottled wate|
00002be0  72 22 0a 20 20 77 69 74  68 20 6e 61 6d 65 20 22  |r".  with name "|
00002bf0  62 6f 74 74 6c 65 64 22  20 22 77 61 74 65 72 22  |bottled" "water"|
00002c00  20 22 68 32 6f 22 2c 20  61 72 74 69 63 6c 65 20  | "h2o", article |
00002c10  22 73 6f 6d 65 22 2c 0a  20 20 20 20 20 20 20 62  |"some",.       b|
00002c20  65 66 6f 72 65 0a 20 20  20 20 20 20 20 5b 3b 20  |efore.       [; |
00002c30  44 72 69 6e 6b 3a 20 20  72 65 6d 6f 76 65 20 77  |Drink:  remove w|
00002c40  61 74 65 72 5f 69 6e 5f  74 68 65 5f 62 6f 74 74  |ater_in_the_bott|
00002c50  6c 65 3b 20 3c 3c 44 72  69 6e 6b 20 53 74 72 65  |le; <<Drink Stre|
00002c60  61 6d 3e 3e 3b 0a 20 20  20 20 20 20 20 5d 2c 0a  |am>>;.       ],.|
00002c70  20 20 20 20 20 20 20 64  65 73 63 72 69 70 74 69  |       descripti|
00002c80  6f 6e 20 22 49 74 20 6c  6f 6f 6b 73 20 6c 69 6b  |on "It looks lik|
00002c90  65 20 6f 72 64 69 6e 61  72 79 20 77 61 74 65 72  |e ordinary water|
00002ca0  20 74 6f 20 6d 65 2e 22  3b 0a 0a 4f 62 6a 65 63  | to me.";..Objec|
00002cb0  74 20 6f 69 6c 5f 69 6e  5f 74 68 65 5f 62 6f 74  |t oil_in_the_bot|
00002cc0  74 6c 65 20 22 62 6f 74  74 6c 65 64 20 6f 69 6c  |tle "bottled oil|
00002cd0  22 0a 20 20 77 69 74 68  20 6e 61 6d 65 20 22 6f  |".  with name "o|
00002ce0  69 6c 22 20 22 62 6f 74  74 6c 65 64 22 20 22 6c  |il" "bottled" "l|
00002cf0  75 62 72 69 63 61 6e 74  22 20 22 67 72 65 61 73  |ubricant" "greas|
00002d00  65 22 2c 20 61 72 74 69  63 6c 65 20 22 73 6f 6d  |e", article "som|
00002d10  65 22 2c 0a 20 20 20 20  20 20 20 62 65 66 6f 72  |e",.       befor|
00002d20  65 0a 20 20 20 20 20 20  20 5b 3b 20 44 72 69 6e  |e.       [; Drin|
00002d30  6b 3a 20 20 3c 3c 44 72  69 6e 6b 20 4f 69 6c 3e  |k:  <<Drink Oil>|
00002d40  3e 3b 0a 20 20 20 20 20  20 20 5d 2c 0a 20 20 20  |>;.       ],.   |
00002d50  20 20 20 20 64 65 73 63  72 69 70 74 69 6f 6e 20  |    description |
00002d60  22 49 74 20 6c 6f 6f 6b  73 20 6c 69 6b 65 20 6f  |"It looks like o|
00002d70  72 64 69 6e 61 72 79 20  6f 69 6c 20 74 6f 20 6d  |rdinary oil to m|
00002d80  65 2e 22 3b 0a 0a 0a 4f  62 6a 65 63 74 20 49 6e  |e.";...Object In|
00002d90  5f 46 6f 72 65 73 74 5f  31 20 22 49 6e 20 46 6f  |_Forest_1 "In Fo|
00002da0  72 65 73 74 22 0a 20 20  77 69 74 68 20 64 65 73  |rest".  with des|
00002db0  63 72 69 70 74 69 6f 6e  20 22 59 6f 75 20 61 72  |cription "You ar|
00002dc0  65 20 69 6e 20 6f 70 65  6e 20 66 6f 72 65 73 74  |e in open forest|
00002dd0  2c 20 77 69 74 68 20 61  20 64 65 65 70 20 76 61  |, with a deep va|
00002de0  6c 6c 65 79 20 74 6f 20  6f 6e 65 20 73 69 64 65  |lley to one side|
00002df0  2e 22 2c 0a 20 20 20 20  20 20 20 65 5f 74 6f 20  |.",.       e_to |
00002e00  49 6e 5f 41 5f 56 61 6c  6c 65 79 2c 0a 20 20 20  |In_A_Valley,.   |
00002e10  20 20 20 20 64 5f 74 6f  20 49 6e 5f 41 5f 56 61  |    d_to In_A_Va|
00002e20  6c 6c 65 79 2c 0a 20 20  20 20 20 20 20 6e 5f 74  |lley,.       n_t|
00002e30  6f 20 49 6e 5f 46 6f 72  65 73 74 5f 31 2c 0a 20  |o In_Forest_1,. |
00002e40  20 20 20 20 20 20 77 5f  74 6f 20 49 6e 5f 46 6f  |      w_to In_Fo|
00002e50  72 65 73 74 5f 31 2c 0a  20 20 20 20 20 20 20 73  |rest_1,.       s|
00002e60  5f 74 6f 20 49 6e 5f 46  6f 72 65 73 74 5f 31 2c  |_to In_Forest_1,|
00002e70  0a 20 20 20 20 20 20 20  69 6e 69 74 69 61 6c 20  |.       initial |
00002e80  5b 3b 20 69 66 20 28 72  61 6e 64 6f 6d 28 32 29  |[; if (random(2)|
00002e90  3d 3d 31 29 20 50 6c 61  79 65 72 54 6f 28 49 6e  |==1) PlayerTo(In|
00002ea0  5f 46 6f 72 65 73 74 5f  32 2c 31 29 3b 20 5d 2c  |_Forest_2,1); ],|
00002eb0  0a 20 20 68 61 73 20 20  6c 69 67 68 74 3b 20 0a  |.  has  light; .|
00002ec0  0a 4f 62 6a 65 63 74 20  49 6e 5f 46 6f 72 65 73  |.Object In_Fores|
00002ed0  74 5f 32 20 22 49 6e 20  46 6f 72 65 73 74 22 0a  |t_2 "In Forest".|
00002ee0  20 20 77 69 74 68 20 64  65 73 63 72 69 70 74 69  |  with descripti|
00002ef0  6f 6e 20 22 59 6f 75 20  61 72 65 20 69 6e 20 6f  |on "You are in o|
00002f00  70 65 6e 20 66 6f 72 65  73 74 20 6e 65 61 72 20  |pen forest near |
00002f10  62 6f 74 68 20 61 20 76  61 6c 6c 65 79 20 61 6e  |both a valley an|
00002f20  64 20 61 20 72 6f 61 64  2e 22 2c 0a 20 20 20 20  |d a road.",.    |
00002f30  20 20 20 6e 5f 74 6f 20  41 74 5f 45 6e 64 5f 4f  |   n_to At_End_O|
00002f40  66 5f 52 6f 61 64 2c 0a  20 20 20 20 20 20 20 65  |f_Road,.       e|
00002f50  5f 74 6f 20 49 6e 5f 41  5f 56 61 6c 6c 65 79 2c  |_to In_A_Valley,|
00002f60  0a 20 20 20 20 20 20 20  77 5f 74 6f 20 49 6e 5f  |.       w_to In_|
00002f70  41 5f 56 61 6c 6c 65 79  2c 0a 20 20 20 20 20 20  |A_Valley,.      |
00002f80  20 64 5f 74 6f 20 49 6e  5f 41 5f 56 61 6c 6c 65  | d_to In_A_Valle|
00002f90  79 2c 0a 20 20 20 20 20  20 20 73 5f 74 6f 20 49  |y,.       s_to I|
00002fa0  6e 5f 46 6f 72 65 73 74  5f 31 0a 20 20 68 61 73  |n_Forest_1.  has|
00002fb0  20 20 6c 69 67 68 74 3b  0a 0a 0a 4f 62 6a 65 63  |  light;...Objec|
00002fc0  74 20 49 6e 5f 41 5f 56  61 6c 6c 65 79 20 22 49  |t In_A_Valley "I|
00002fd0  6e 20 41 20 56 61 6c 6c  65 79 22 0a 20 20 77 69  |n A Valley".  wi|
00002fe0  74 68 20 64 65 73 63 72  69 70 74 69 6f 6e 0a 20  |th description. |
00002ff0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 22  |               "|
00003000  59 6f 75 20 61 72 65 20  69 6e 20 61 20 76 61 6c  |You are in a val|
00003010  6c 65 79 20 69 6e 20 74  68 65 20 66 6f 72 65 73  |ley in the fores|
00003020  74 20 62 65 73 69 64 65  20 61 20 5c 0a 20 20 20  |t beside a \.   |
00003030  20 20 20 20 20 20 20 20  20 20 20 20 20 73 74 72  |             str|
00003040  65 61 6d 20 74 75 6d 62  6c 69 6e 67 20 61 6c 6f  |eam tumbling alo|
00003050  6e 67 20 61 20 72 6f 63  6b 79 20 62 65 64 2e 22  |ng a rocky bed."|
00003060  2c 0a 20 20 20 20 20 20  20 6e 5f 74 6f 20 41 74  |,.       n_to At|
00003070  5f 45 6e 64 5f 4f 66 5f  52 6f 61 64 2c 0a 20 20  |_End_Of_Road,.  |
00003080  20 20 20 20 20 65 5f 74  6f 20 49 6e 5f 46 6f 72  |     e_to In_For|
00003090  65 73 74 5f 31 2c 0a 20  20 20 20 20 20 20 77 5f  |est_1,.       w_|
000030a0  74 6f 20 49 6e 5f 46 6f  72 65 73 74 5f 31 2c 0a  |to In_Forest_1,.|
000030b0  20 20 20 20 20 20 20 75  5f 74 6f 20 49 6e 5f 46  |       u_to In_F|
000030c0  6f 72 65 73 74 5f 31 2c  0a 20 20 20 20 20 20 20  |orest_1,.       |
000030d0  73 5f 74 6f 20 41 74 5f  53 6c 69 74 5f 49 6e 5f  |s_to At_Slit_In_|
000030e0  53 74 72 65 61 6d 62 65  64 2c 0a 20 20 20 20 20  |Streambed,.     |
000030f0  20 20 64 5f 74 6f 20 41  74 5f 53 6c 69 74 5f 49  |  d_to At_Slit_I|
00003100  6e 5f 53 74 72 65 61 6d  62 65 64 2c 20 6e 61 6d  |n_Streambed, nam|
00003110  65 20 22 76 61 6c 6c 65  79 22 0a 20 20 68 61 73  |e "valley".  has|
00003120  20 20 6c 69 67 68 74 3b  0a 0a 4e 65 61 72 62 79  |  light;..Nearby|
00003130  20 53 74 72 65 61 6d 62  65 64 20 22 73 74 72 65  | Streambed "stre|
00003140  61 6d 62 65 64 22 0a 20  20 77 69 74 68 20 6e 61  |ambed".  with na|
00003150  6d 65 20 22 62 65 64 22  20 22 73 74 72 65 61 6d  |me "bed" "stream|
00003160  62 65 64 22 20 22 72 6f  63 6b 22 20 22 73 6d 61  |bed" "rock" "sma|
00003170  6c 6c 22 20 22 72 6f 63  6b 79 22 20 22 62 61 72  |ll" "rocky" "bar|
00003180  65 22 20 22 64 72 79 22  0a 20 20 68 61 73 20 20  |e" "dry".  has  |
00003190  73 63 65 6e 65 72 79 3b  0a 0a 0a 4f 62 6a 65 63  |scenery;...Objec|
000031a0  74 20 41 74 5f 53 6c 69  74 5f 49 6e 5f 53 74 72  |t At_Slit_In_Str|
000031b0  65 61 6d 62 65 64 20 22  41 74 20 53 6c 69 74 20  |eambed "At Slit |
000031c0  49 6e 20 53 74 72 65 61  6d 62 65 64 22 0a 20 20  |In Streambed".  |
000031d0  77 69 74 68 20 64 65 73  63 72 69 70 74 69 6f 6e  |with description|
000031e0  20 22 41 74 20 79 6f 75  72 20 66 65 65 74 20 61  | "At your feet a|
000031f0  6c 6c 20 74 68 65 20 77  61 74 65 72 20 6f 66 20  |ll the water of |
00003200  74 68 65 20 73 74 72 65  61 6d 20 5c 0a 20 20 20  |the stream \.   |
00003210  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003220  20 73 70 6c 61 73 68 65  73 20 69 6e 74 6f 20 61  | splashes into a|
00003230  20 32 2d 69 6e 63 68 20  73 6c 69 74 20 69 6e 20  | 2-inch slit in |
00003240  74 68 65 20 72 6f 63 6b  2e 20 20 44 6f 77 6e 73  |the rock.  Downs|
00003250  74 72 65 61 6d 20 5c 0a  20 20 20 20 20 20 20 20  |tream \.        |
00003260  20 20 20 20 20 20 20 20  20 20 20 20 74 68 65 20  |            the |
00003270  73 74 72 65 61 6d 62 65  64 20 69 73 20 62 61 72  |streambed is bar|
00003280  65 20 72 6f 63 6b 2e 22  2c 0a 20 20 20 20 20 20  |e rock.",.      |
00003290  20 6e 5f 74 6f 20 49 6e  5f 41 5f 56 61 6c 6c 65  | n_to In_A_Valle|
000032a0  79 2c 0a 20 20 20 20 20  20 20 65 5f 74 6f 20 49  |y,.       e_to I|
000032b0  6e 5f 46 6f 72 65 73 74  5f 31 2c 0a 20 20 20 20  |n_Forest_1,.    |
000032c0  20 20 20 77 5f 74 6f 20  49 6e 5f 46 6f 72 65 73  |   w_to In_Fores|
000032d0  74 5f 31 2c 0a 20 20 20  20 20 20 20 73 5f 74 6f  |t_1,.       s_to|
000032e0  20 4f 75 74 73 69 64 65  5f 47 72 61 74 65 2c 0a  | Outside_Grate,.|
000032f0  20 20 20 20 20 20 20 62  65 66 6f 72 65 0a 20 20  |       before.  |
00003300  20 20 20 20 20 5b 3b 20  45 6e 74 65 72 3a 20 69  |     [; Enter: i|
00003310  66 20 28 6e 6f 75 6e 3d  3d 53 6c 69 74 29 0a 20  |f (noun==Slit). |
00003320  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00003330  20 20 20 20 22 59 6f 75  20 64 6f 6e 27 74 20 66  |    "You don't f|
00003340  69 74 20 74 68 72 6f 75  67 68 20 61 20 74 77 6f  |it through a two|
00003350  2d 69 6e 63 68 20 73 6c  69 74 21 22 3b 0a 20 20  |-inch slit!";.  |
00003360  20 20 20 20 20 20 20 20  47 6f 3a 20 20 20 20 69  |        Go:    i|
00003370  66 20 28 6e 6f 75 6e 3d  3d 64 5f 6f 62 6a 20 6f  |f (noun==d_obj o|
00003380  72 20 69 6e 5f 6f 62 6a  29 0a 20 20 20 20 20 20  |r in_obj).      |
00003390  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 22  |               "|
000033a0  59 6f 75 20 64 6f 6e 27  74 20 66 69 74 20 74 68  |You don't fit th|
000033b0  72 6f 75 67 68 20 61 20  74 77 6f 2d 69 6e 63 68  |rough a two-inch|
000033c0  20 73 6c 69 74 21 22 3b  0a 20 20 20 20 20 20 20  | slit!";.       |
000033d0  5d 2c 0a 20 20 68 61 73  20 20 6c 69 67 68 74 3b  |],.  has  light;|
000033e0  0a 0a 0a 4e 65 61 72 62  79 20 53 6c 69 74 20 22  |...Nearby Slit "|
000033f0  32 2d 69 6e 63 68 20 73  6c 69 74 22 0a 20 20 77  |2-inch slit".  w|
00003400  69 74 68 20 64 65 73 63  72 69 70 74 69 6f 6e 20  |ith description |
00003410  22 49 74 27 73 20 6a 75  73 74 20 61 20 32 2d 69  |"It's just a 2-i|
00003420  6e 63 68 20 73 6c 69 74  20 69 6e 20 74 68 65 20  |nch slit in the |
00003430  72 6f 63 6b 2c 20 74 68  72 6f 75 67 68 20 77 68  |rock, through wh|
00003440  69 63 68 20 74 68 65 20  5c 0a 20 20 20 20 20 20  |ich the \.      |
00003450  20 20 20 20 20 20 20 20  20 20 20 73 74 72 65 61  |           strea|
00003460  6d 20 69 73 20 66 6c 6f  77 69 6e 67 2e 22 2c 0a  |m is flowing.",.|
00003470  20 20 20 20 20 20 20 6e  61 6d 65 20 22 73 6c 69  |       name "sli|
00003480  74 22 20 22 74 77 6f 22  20 22 69 6e 63 68 22 0a  |t" "two" "inch".|
00003490  20 20 68 61 73 20 20 73  63 65 6e 65 72 79 3b 0a  |  has  scenery;.|
000034a0  0a 0a 4f 62 6a 65 63 74  20 4f 75 74 73 69 64 65  |..Object Outside|
000034b0  5f 47 72 61 74 65 20 22  4f 75 74 73 69 64 65 20  |_Grate "Outside |
000034c0  47 72 61 74 65 22 0a 20  20 77 69 74 68 20 64 65  |Grate".  with de|
000034d0  73 63 72 69 70 74 69 6f  6e 0a 20 20 20 20 20 20  |scription.      |
000034e0  20 20 20 20 20 20 20 20  20 20 22 59 6f 75 20 61  |          "You a|
000034f0  72 65 20 69 6e 20 61 20  32 30 2d 66 6f 6f 74 20  |re in a 20-foot |
00003500  64 65 70 72 65 73 73 69  6f 6e 20 66 6c 6f 6f 72  |depression floor|
00003510  65 64 20 77 69 74 68 20  5c 0a 20 20 20 20 20 20  |ed with \.      |
00003520  20 20 20 20 20 20 20 20  20 20 62 61 72 65 20 64  |          bare d|
00003530  69 72 74 2e 20 20 53 65  74 20 69 6e 74 6f 20 74  |irt.  Set into t|
00003540  68 65 20 64 69 72 74 20  69 73 20 61 20 73 74 72  |he dirt is a str|
00003550  6f 6e 67 20 73 74 65 65  6c 20 67 72 61 74 65 20  |ong steel grate |
00003560  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
00003570  20 20 6d 6f 75 6e 74 65  64 20 69 6e 20 63 6f 6e  |  mounted in con|
00003580  63 72 65 74 65 2e 20 20  41 20 64 72 79 20 73 74  |crete.  A dry st|
00003590  72 65 61 6d 62 65 64 20  6c 65 61 64 73 20 69 6e  |reambed leads in|
000035a0  74 6f 20 74 68 65 20 5c  0a 20 20 20 20 20 20 20  |to the \.       |
000035b0  20 20 20 20 20 20 20 20  20 64 65 70 72 65 73 73  |         depress|
000035c0  69 6f 6e 2e 22 2c 0a 20  20 20 20 20 20 20 65 5f  |ion.",.       e_|
000035d0  74 6f 20 49 6e 5f 46 6f  72 65 73 74 5f 31 2c 0a  |to In_Forest_1,.|
000035e0  20 20 20 20 20 20 20 77  5f 74 6f 20 49 6e 5f 46  |       w_to In_F|
000035f0  6f 72 65 73 74 5f 31 2c  0a 20 20 20 20 20 20 20  |orest_1,.       |
00003600  73 5f 74 6f 20 49 6e 5f  46 6f 72 65 73 74 5f 31  |s_to In_Forest_1|
00003610  2c 0a 20 20 20 20 20 20  20 6e 5f 74 6f 20 41 74  |,.       n_to At|
00003620  5f 53 6c 69 74 5f 49 6e  5f 53 74 72 65 61 6d 62  |_Slit_In_Streamb|
00003630  65 64 2c 0a 20 20 20 20  20 20 20 64 5f 74 6f 20  |ed,.       d_to |
00003640  0a 20 20 20 20 20 20 20  5b 3b 20 69 66 20 28 47  |.       [; if (G|
00003650  72 61 74 65 20 68 61 73  6e 74 20 6c 6f 63 6b 65  |rate hasnt locke|
00003660  64 20 26 26 20 47 72 61  74 65 20 68 61 73 6e 74  |d && Grate hasnt|
00003670  20 6f 70 65 6e 29 0a 20  20 20 20 20 20 20 20 20  | open).         |
00003680  20 7b 20 20 20 70 72 69  6e 74 20 22 28 46 69 72  | {   print "(Fir|
00003690  73 74 20 6f 70 65 6e 69  6e 67 20 74 68 65 20 67  |st opening the g|
000036a0  72 61 74 65 29 5e 22 3b  20 67 69 76 65 20 47 72  |rate)^"; give Gr|
000036b0  61 74 65 20 6f 70 65 6e  3b 20 7d 0a 20 20 20 20  |ate open; }.    |
000036c0  20 20 20 20 20 20 72 65  74 75 72 6e 20 47 72 61  |      return Gra|
000036d0  74 65 3b 0a 20 20 20 20  20 20 20 5d 2c 0a 20 20  |te;.       ],.  |
000036e0  68 61 73 20 20 6c 69 67  68 74 3b 0a 0a 4e 65 61  |has  light;..Nea|
000036f0  72 62 79 20 44 65 70 72  65 73 73 69 6f 6e 20 22  |rby Depression "|
00003700  32 30 2d 66 6f 6f 74 20  64 65 70 72 65 73 73 69  |20-foot depressi|
00003710  6f 6e 22 0a 20 20 77 69  74 68 20 64 65 73 63 72  |on".  with descr|
00003720  69 70 74 69 6f 6e 20 22  59 6f 75 27 72 65 20 73  |iption "You're s|
00003730  74 61 6e 64 69 6e 67 20  69 6e 20 69 74 2e 22 2c  |tanding in it.",|
00003740  0a 20 20 20 20 20 20 20  6e 61 6d 65 20 22 64 65  |.       name "de|
00003750  70 72 65 73 73 69 6f 6e  22 20 22 64 69 72 74 22  |pression" "dirt"|
00003760  20 22 74 77 65 6e 74 79  22 20 22 66 6f 6f 74 22  | "twenty" "foot"|
00003770  20 22 62 61 72 65 22 0a  20 20 68 61 73 20 20 73  | "bare".  has  s|
00003780  63 65 6e 65 72 79 3b 0a  0a 4e 65 61 72 62 79 20  |cenery;..Nearby |
00003790  47 72 61 74 65 20 22 73  74 65 65 6c 20 67 72 61  |Grate "steel gra|
000037a0  74 65 22 0a 20 20 77 69  74 68 20 6e 61 6d 65 20  |te".  with name |
000037b0  22 67 72 61 74 65 22 20  22 6c 6f 63 6b 22 20 22  |"grate" "lock" "|
000037c0  67 61 74 65 22 20 22 67  72 69 6c 6c 65 22 20 22  |gate" "grille" "|
000037d0  6d 65 74 61 6c 22 20 22  73 74 72 6f 6e 67 22 20  |metal" "strong" |
000037e0  22 73 74 65 65 6c 22 20  22 67 72 61 74 69 6e 67  |"steel" "grating|
000037f0  22 2c 0a 20 20 20 20 20  20 20 64 65 73 63 72 69  |",.       descri|
00003800  70 74 69 6f 6e 20 22 49  74 20 6a 75 73 74 20 6c  |ption "It just l|
00003810  6f 6f 6b 73 20 6c 69 6b  65 20 61 6e 20 6f 72 64  |ooks like an ord|
00003820  69 6e 61 72 79 20 67 72  61 74 65 20 6d 6f 75 6e  |inary grate moun|
00003830  74 65 64 20 69 6e 20 63  6f 6e 63 72 65 74 65 2e  |ted in concrete.|
00003840  22 2c 0a 20 20 20 20 20  20 20 77 69 74 68 5f 6b  |",.       with_k|
00003850  65 79 20 73 65 74 5f 6f  66 5f 6b 65 79 73 2c 0a  |ey set_of_keys,.|
00003860  20 20 20 20 20 20 20 64  6f 6f 72 5f 64 69 72 0a  |       door_dir.|
00003870  20 20 20 20 20 20 20 5b  3b 20 69 66 20 28 6c 6f  |       [; if (lo|
00003880  63 61 74 69 6f 6e 3d 3d  42 65 6c 6f 77 5f 54 68  |cation==Below_Th|
00003890  65 5f 47 72 61 74 65 29  20 72 65 74 75 72 6e 20  |e_Grate) return |
000038a0  75 5f 74 6f 3b 20 72 65  74 75 72 6e 20 64 5f 74  |u_to; return d_t|
000038b0  6f 3b 0a 20 20 20 20 20  20 20 5d 2c 0a 20 20 20  |o;.       ],.   |
000038c0  20 20 20 20 64 6f 6f 72  5f 74 6f 0a 20 20 20 20  |    door_to.    |
000038d0  20 20 20 5b 3b 20 69 66  20 28 6c 6f 63 61 74 69  |   [; if (locati|
000038e0  6f 6e 3d 3d 42 65 6c 6f  77 5f 54 68 65 5f 47 72  |on==Below_The_Gr|
000038f0  61 74 65 29 20 72 65 74  75 72 6e 20 4f 75 74 73  |ate) return Outs|
00003900  69 64 65 5f 47 72 61 74  65 3b 0a 20 20 20 20 20  |ide_Grate;.     |
00003910  20 20 20 20 20 72 65 74  75 72 6e 20 42 65 6c 6f  |     return Belo|
00003920  77 5f 54 68 65 5f 47 72  61 74 65 3b 0a 20 20 20  |w_The_Grate;.   |
00003930  20 20 20 20 5d 2c 0a 20  20 20 20 20 20 20 64 65  |    ],.       de|
00003940  73 63 72 69 62 65 0a 20  20 20 20 20 20 20 5b 3b  |scribe.       [;|
00003950  20 69 66 20 28 73 65 6c  66 20 68 61 73 20 6f 70  | if (self has op|
00003960  65 6e 29 20 22 5e 54 68  65 20 67 72 61 74 65 20  |en) "^The grate |
00003970  73 74 61 6e 64 73 20 6f  70 65 6e 2e 22 3b 0a 20  |stands open.";. |
00003980  20 20 20 20 20 20 20 20  20 69 66 20 28 73 65 6c  |         if (sel|
00003990  66 20 68 61 73 6e 74 20  6c 6f 63 6b 65 64 29 20  |f hasnt locked) |
000039a0  22 5e 54 68 65 20 67 72  61 74 65 20 69 73 20 75  |"^The grate is u|
000039b0  6e 6c 6f 63 6b 65 64 20  62 75 74 20 73 68 75 74  |nlocked but shut|
000039c0  2e 22 3b 0a 20 20 20 20  20 20 20 20 20 20 72 74  |.";.          rt|
000039d0  72 75 65 3b 0a 20 20 20  20 20 20 20 5d 2c 0a 20  |rue;.       ],. |
000039e0  20 20 20 20 20 20 66 6f  75 6e 64 5f 69 6e 20 20  |      found_in  |
000039f0  42 65 6c 6f 77 5f 54 68  65 5f 47 72 61 74 65 20  |Below_The_Grate |
00003a00  20 4f 75 74 73 69 64 65  5f 47 72 61 74 65 0a 20  | Outside_Grate. |
00003a10  20 68 61 73 20 20 73 74  61 74 69 63 20 64 6f 6f  | has  static doo|
00003a20  72 20 6f 70 65 6e 61 62  6c 65 20 6c 6f 63 6b 61  |r openable locka|
00003a30  62 6c 65 20 6c 6f 63 6b  65 64 3b 0a 0a 21 20 2d  |ble locked;..! -|
00003a40  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00003a80  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 0a 21 20 20 20  |-----------.!   |
00003a90  46 61 63 69 6c 69 73 20  64 65 73 63 65 6e 73 75  |Facilis descensu|
00003aa0  73 20 41 76 65 72 6e 6f  2e 2e 2e 0a 21 20 2d 2d  |s Averno....! --|
00003ab0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00003af0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0a 0a 4f 62 6a 65  |----------..Obje|
00003b00  63 74 20 42 65 6c 6f 77  5f 54 68 65 5f 47 72 61  |ct Below_The_Gra|
00003b10  74 65 20 22 42 65 6c 6f  77 20 74 68 65 20 47 72  |te "Below the Gr|
00003b20  61 74 65 22 0a 20 20 77  69 74 68 20 64 65 73 63  |ate".  with desc|
00003b30  72 69 70 74 69 6f 6e 0a  20 20 20 20 20 20 20 20  |ription.        |
00003b40  20 20 20 20 20 20 20 22  59 6f 75 20 61 72 65 20  |       "You are |
00003b50  69 6e 20 61 20 73 6d 61  6c 6c 20 63 68 61 6d 62  |in a small chamb|
00003b60  65 72 20 62 65 6e 65 61  74 68 20 61 20 33 78 33  |er beneath a 3x3|
00003b70  20 73 74 65 65 6c 20 5c  0a 20 20 20 20 20 20 20  | steel \.       |
00003b80  20 20 20 20 20 20 20 20  67 72 61 74 65 20 74 6f  |        grate to|
00003b90  20 74 68 65 20 73 75 72  66 61 63 65 2e 20 41 20  | the surface. A |
00003ba0  6c 6f 77 20 63 72 61 77  6c 20 6f 76 65 72 20 63  |low crawl over c|
00003bb0  6f 62 62 6c 65 73 20 6c  65 61 64 73 20 5c 0a 20  |obbles leads \. |
00003bc0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 69 6e  |              in|
00003bd0  77 61 72 64 20 74 6f 20  74 68 65 20 77 65 73 74  |ward to the west|
00003be0  2e 22 2c 0a 20 20 20 20  20 20 20 77 5f 74 6f 20  |.",.       w_to |
00003bf0  49 6e 5f 43 6f 62 62 6c  65 5f 43 72 61 77 6c 2c  |In_Cobble_Crawl,|
00003c00  0a 20 20 20 20 20 20 20  75 5f 74 6f 20 47 72 61  |.       u_to Gra|
00003c10  74 65 0a 20 20 68 61 73  20 20 6c 69 67 68 74 3b  |te.  has  light;|
00003c20  0a 0a 0a 4f 62 6a 65 63  74 20 43 6f 62 62 6c 65  |...Object Cobble|
00003c30  73 20 22 63 6f 62 62 6c  65 73 22 0a 20 20 77 69  |s "cobbles".  wi|
00003c40  74 68 20 64 65 73 63 72  69 70 74 69 6f 6e 20 22  |th description "|
00003c50  54 68 65 79 27 72 65 20  6a 75 73 74 20 6f 72 64  |They're just ord|
00003c60  69 6e 61 72 79 20 63 6f  62 62 6c 65 73 2e 22 2c  |inary cobbles.",|
00003c70  0a 20 20 20 20 20 20 20  6e 61 6d 65 20 22 63 6f  |.       name "co|
00003c80  62 62 6c 65 22 20 22 63  6f 62 62 6c 65 73 22 20  |bble" "cobbles" |
00003c90  22 63 6f 62 62 6c 65 73  74 6f 6e 65 73 22 20 22  |"cobblestones" "|
00003ca0  63 6f 62 62 6c 65 73 74  6f 6e 65 22 20 22 73 74  |cobblestone" "st|
00003cb0  6f 6e 65 73 22 20 22 73  74 6f 6e 65 22 2c 0a 20  |ones" "stone",. |
00003cc0  20 20 20 20 20 20 66 6f  75 6e 64 5f 69 6e 20 20  |      found_in  |
00003cd0  49 6e 5f 43 6f 62 62 6c  65 5f 43 72 61 77 6c 20  |In_Cobble_Crawl |
00003ce0  20 49 6e 5f 44 65 62 72  69 73 5f 52 6f 6f 6d 20  | In_Debris_Room |
00003cf0  20 42 65 6c 6f 77 5f 54  68 65 5f 47 72 61 74 65  | Below_The_Grate|
00003d00  0a 20 20 68 61 73 20 20  73 63 65 6e 65 72 79 3b  |.  has  scenery;|
00003d10  0a 0a 4f 62 6a 65 63 74  20 49 6e 5f 43 6f 62 62  |..Object In_Cobb|
00003d20  6c 65 5f 43 72 61 77 6c  20 22 49 6e 20 43 6f 62  |le_Crawl "In Cob|
00003d30  62 6c 65 20 43 72 61 77  6c 22 0a 20 20 77 69 74  |ble Crawl".  wit|
00003d40  68 20 64 65 73 63 72 69  70 74 69 6f 6e 0a 20 20  |h description.  |
00003d50  20 20 20 20 20 20 20 20  20 20 20 20 20 22 59 6f  |             "Yo|
00003d60  75 20 61 72 65 20 63 72  61 77 6c 69 6e 67 20 6f  |u are crawling o|
00003d70  76 65 72 20 63 6f 62 62  6c 65 73 20 69 6e 20 61  |ver cobbles in a|
00003d80  20 6c 6f 77 20 70 61 73  73 61 67 65 2e 20 5c 0a  | low passage. \.|
00003d90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 54  |               T|
00003da0  68 65 72 65 20 69 73 20  61 20 64 69 6d 20 6c 69  |here is a dim li|
00003db0  67 68 74 20 61 74 20 74  68 65 20 65 61 73 74 20  |ght at the east |
00003dc0  65 6e 64 20 6f 66 20 74  68 65 20 5c 0a 20 20 20  |end of the \.   |
00003dd0  20 20 20 20 20 20 20 20  20 20 20 20 70 61 73 73  |            pass|
00003de0  61 67 65 2e 22 2c 0a 20  20 20 20 20 20 20 65 5f  |age.",.       e_|
00003df0  74 6f 20 42 65 6c 6f 77  5f 54 68 65 5f 47 72 61  |to Below_The_Gra|
00003e00  74 65 2c 0a 20 20 20 20  20 20 20 77 5f 74 6f 20  |te,.       w_to |
00003e10  49 6e 5f 44 65 62 72 69  73 5f 52 6f 6f 6d 0a 20  |In_Debris_Room. |
00003e20  20 68 61 73 20 20 6c 69  67 68 74 3b 0a 0a 4e 65  | has  light;..Ne|
00003e30  61 72 62 79 20 77 69 63  6b 65 72 5f 63 61 67 65  |arby wicker_cage|
00003e40  20 22 77 69 63 6b 65 72  20 63 61 67 65 22 0a 20  | "wicker cage". |
00003e50  20 77 69 74 68 20 64 65  73 63 72 69 70 74 69 6f  | with descriptio|
00003e60  6e 20 22 49 74 27 73 20  61 20 73 6d 61 6c 6c 20  |n "It's a small |
00003e70  77 69 63 6b 65 72 20 63  61 67 65 2e 22 2c 0a 20  |wicker cage.",. |
00003e80  20 20 20 20 20 20 69 6e  69 74 69 61 6c 20 22 54  |      initial "T|
00003e90  68 65 72 65 20 69 73 20  61 20 73 6d 61 6c 6c 20  |here is a small |
00003ea0  77 69 63 6b 65 72 20 63  61 67 65 20 64 69 73 63  |wicker cage disc|
00003eb0  61 72 64 65 64 20 6e 65  61 72 62 79 2e 22 2c 0a  |arded nearby.",.|
00003ec0  20 20 20 20 20 20 20 6e  61 6d 65 20 22 63 61 67  |       name "cag|
00003ed0  65 22 20 22 73 6d 61 6c  6c 22 20 22 77 69 63 6b  |e" "small" "wick|
00003ee0  65 72 22 2c 0a 20 20 20  20 20 20 20 61 66 74 65  |er",.       afte|
00003ef0  72 0a 20 20 20 20 20 20  20 5b 3b 20 4f 70 65 6e  |r.       [; Open|
00003f00  3a 20 69 66 20 28 6c 69  74 74 6c 65 5f 62 69 72  |: if (little_bir|
00003f10  64 20 6e 6f 74 69 6e 20  73 65 6c 66 29 20 72 66  |d notin self) rf|
00003f20  61 6c 73 65 3b 0a 20 20  20 20 20 20 20 20 20 20  |alse;.          |
00003f30  20 20 20 20 20 20 70 72  69 6e 74 20 22 28 72 65  |      print "(re|
00003f40  6c 65 61 73 69 6e 67 20  74 68 65 20 6c 69 74 74  |leasing the litt|
00003f50  6c 65 20 62 69 72 64 29  5e 22 3b 0a 20 20 20 20  |le bird)^";.    |
00003f60  20 20 20 20 20 20 20 20  20 20 20 20 3c 3c 52 65  |            <<Re|
00003f70  6c 65 61 73 65 20 6c 69  74 74 6c 65 5f 62 69 72  |lease little_bir|
00003f80  64 3e 3e 3b 0a 20 20 20  20 20 20 20 5d 2c 0a 20  |d>>;.       ],. |
00003f90  20 68 61 73 20 20 63 6f  6e 74 61 69 6e 65 72 20  | has  container |
00003fa0  6f 70 65 6e 20 6f 70 65  6e 61 62 6c 65 20 74 72  |open openable tr|
00003fb0  61 6e 73 70 61 72 65 6e  74 3b 0a 0a 0a 4f 62 6a  |ansparent;...Obj|
00003fc0  65 63 74 20 49 6e 5f 44  65 62 72 69 73 5f 52 6f  |ect In_Debris_Ro|
00003fd0  6f 6d 20 22 49 6e 20 44  65 62 72 69 73 20 52 6f  |om "In Debris Ro|
00003fe0  6f 6d 22 0a 20 20 77 69  74 68 20 64 65 73 63 72  |om".  with descr|
00003ff0  69 70 74 69 6f 6e 0a 20  20 20 20 20 20 20 20 20  |iption.         |
00004000  20 20 20 20 20 20 22 59  6f 75 20 61 72 65 20 69  |      "You are i|
00004010  6e 20 61 20 64 65 62 72  69 73 20 72 6f 6f 6d 20  |n a debris room |
00004020  66 69 6c 6c 65 64 20 77  69 74 68 20 73 74 75 66  |filled with stuf|
00004030  66 20 5c 0a 20 20 20 20  20 20 20 20 20 20 20 20  |f \.            |
00004040  20 20 20 77 61 73 68 65  64 20 69 6e 20 66 72 6f  |   washed in fro|
00004050  6d 20 74 68 65 20 73 75  72 66 61 63 65 2e 20 41  |m the surface. A|
00004060  20 6c 6f 77 20 77 69 64  65 20 70 61 73 73 61 67  | low wide passag|
00004070  65 20 77 69 74 68 20 5c  0a 20 20 20 20 20 20 20  |e with \.       |
00004080  20 20 20 20 20 20 20 20  63 6f 62 62 6c 65 73 20  |        cobbles |
00004090  62 65 63 6f 6d 65 73 20  70 6c 75 67 67 65 64 20  |becomes plugged |
000040a0  77 69 74 68 20 6d 75 64  20 61 6e 64 20 64 65 62  |with mud and deb|
000040b0  72 69 73 20 68 65 72 65  2c 20 62 75 74 20 5c 0a  |ris here, but \.|
000040c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 61  |               a|
000040d0  6e 20 61 77 6b 77 61 72  64 20 63 61 6e 79 6f 6e  |n awkward canyon|
000040e0  20 6c 65 61 64 73 20 75  70 77 61 72 64 20 61 6e  | leads upward an|
000040f0  64 20 77 65 73 74 2e 5e  5e 5c 0a 20 20 20 20 20  |d west.^^\.     |
00004100  20 20 20 20 20 20 20 20  20 20 41 20 6e 6f 74 65  |          A note|
00004110  20 6f 6e 20 74 68 65 20  77 61 6c 6c 20 73 61 79  | on the wall say|
00004120  73 2c 20 7e 4d 61 67 69  63 20 77 6f 72 64 20 58  |s, ~Magic word X|
00004130  59 5a 5a 59 2e 7e 22 2c  0a 20 20 20 20 20 20 20  |YZZY.~",.       |
00004140  65 5f 74 6f 20 49 6e 5f  43 6f 62 62 6c 65 5f 43  |e_to In_Cobble_C|
00004150  72 61 77 6c 2c 0a 20 20  20 20 20 20 20 75 5f 74  |rawl,.       u_t|
00004160  6f 20 49 6e 5f 41 77 6b  77 61 72 64 5f 53 6c 6f  |o In_Awkward_Slo|
00004170  70 69 6e 67 5f 45 5f 57  5f 43 61 6e 79 6f 6e 2c  |ping_E_W_Canyon,|
00004180  0a 20 20 20 20 20 20 20  77 5f 74 6f 20 49 6e 5f  |.       w_to In_|
00004190  41 77 6b 77 61 72 64 5f  53 6c 6f 70 69 6e 67 5f  |Awkward_Sloping_|
000041a0  45 5f 57 5f 43 61 6e 79  6f 6e 2c 0a 20 20 20 20  |E_W_Canyon,.    |
000041b0  20 20 20 62 65 66 6f 72  65 0a 20 20 20 20 20 20  |   before.      |
000041c0  20 5b 3b 20 58 79 7a 7a  79 3a 20 50 6c 61 79 65  | [; Xyzzy: Playe|
000041d0  72 54 6f 28 49 6e 73 69  64 65 5f 42 75 69 6c 64  |rTo(Inside_Build|
000041e0  69 6e 67 29 3b 20 72 74  72 75 65 3b 0a 20 20 20  |ing); rtrue;.   |
000041f0  20 20 20 20 5d 2c 0a 20  20 68 61 73 20 20 6e 6f  |    ],.  has  no|
00004200  64 77 61 72 66 3b 0a 0a  4e 65 61 72 62 79 20 44  |dwarf;..Nearby D|
00004210  65 62 72 69 73 20 22 64  65 62 72 69 73 22 0a 20  |ebris "debris". |
00004220  20 77 69 74 68 20 64 65  73 63 72 69 70 74 69 6f  | with descriptio|
00004230  6e 20 22 59 75 63 6b 2e  22 2c 0a 20 20 20 20 20  |n "Yuck.",.     |
00004240  20 20 6e 61 6d 65 20 22  64 65 62 72 69 73 22 20  |  name "debris" |
00004250  22 73 74 75 66 66 22 20  22 6d 75 64 22 0a 20 20  |"stuff" "mud".  |
00004260  68 61 73 20 20 73 63 65  6e 65 72 79 3b 0a 0a 4e  |has  scenery;..N|
00004270  65 61 72 62 79 20 58 79  7a 7a 79 4e 6f 74 65 20  |earby XyzzyNote |
00004280  22 6e 6f 74 65 22 0a 20  20 77 69 74 68 20 64 65  |"note".  with de|
00004290  73 63 72 69 70 74 69 6f  6e 20 22 54 68 65 20 6e  |scription "The n|
000042a0  6f 74 65 20 73 61 79 73  20 7e 4d 61 67 69 63 20  |ote says ~Magic |
000042b0  77 6f 72 64 20 58 59 5a  5a 59 7e 2e 22 2c 0a 20  |word XYZZY~.",. |
000042c0  20 20 20 20 20 20 6e 61  6d 65 20 22 6e 6f 74 65  |      name "note|
000042d0  22 0a 20 20 68 61 73 20  20 73 63 65 6e 65 72 79  |".  has  scenery|
000042e0  3b 0a 0a 4e 65 61 72 62  79 20 62 6c 61 63 6b 5f  |;..Nearby black_|
000042f0  72 6f 64 20 22 62 6c 61  63 6b 20 72 6f 64 20 77  |rod "black rod w|
00004300  69 74 68 20 61 20 72 75  73 74 79 20 73 74 61 72  |ith a rusty star|
00004310  20 6f 6e 20 74 68 65 20  65 6e 64 22 0a 20 20 77  | on the end".  w|
00004320  69 74 68 20 64 65 73 63  72 69 70 74 69 6f 6e 20  |ith description |
00004330  22 49 74 27 73 20 61 20  74 68 72 65 65 20 66 6f  |"It's a three fo|
00004340  6f 74 20 62 6c 61 63 6b  20 72 6f 64 20 77 69 74  |ot black rod wit|
00004350  68 20 61 20 72 75 73 74  79 20 73 74 61 72 20 6f  |h a rusty star o|
00004360  6e 20 61 6e 20 65 6e 64  2e 22 2c 0a 20 20 20 20  |n an end.",.    |
00004370  20 20 20 69 6e 69 74 69  61 6c 20 22 41 20 74 68  |   initial "A th|
00004380  72 65 65 20 66 6f 6f 74  20 62 6c 61 63 6b 20 72  |ree foot black r|
00004390  6f 64 20 5c 0a 20 20 20  20 20 20 20 20 20 20 20  |od \.           |
000043a0  20 20 20 20 20 77 69 74  68 20 61 20 72 75 73 74  |     with a rust|
000043b0  79 20 73 74 61 72 20 6f  6e 20 6f 6e 65 20 65 6e  |y star on one en|
000043c0  64 20 6c 69 65 73 20 6e  65 61 72 62 79 2e 22 2c  |d lies nearby.",|
000043d0  0a 20 20 20 20 20 20 20  6e 61 6d 65 20 22 72 6f  |.       name "ro|
000043e0  64 22 20 22 73 74 61 72  22 20 22 62 6c 61 63 6b  |d" "star" "black|
000043f0  22 20 22 72 75 73 74 79  22 20 22 73 74 61 72 22  |" "rusty" "star"|
00004400  20 22 74 68 72 65 65 22  20 22 66 6f 6f 74 22 20  | "three" "foot" |
00004410  22 69 72 6f 6e 22 2c 0a  20 20 20 20 20 20 20 62  |"iron",.       b|
00004420  65 66 6f 72 65 0a 20 20  20 20 20 20 20 5b 3b 20  |efore.       [; |
00004430  57 61 76 65 3a 0a 20 20  20 20 20 20 20 69 66 20  |Wave:.       if |
00004440  28 6c 6f 63 61 74 69 6f  6e 3d 3d 57 65 73 74 5f  |(location==West_|
00004450  53 69 64 65 5f 4f 66 5f  46 69 73 73 75 72 65 20  |Side_Of_Fissure |
00004460  6f 72 20 4f 6e 5f 45 61  73 74 5f 42 61 6e 6b 5f  |or On_East_Bank_|
00004470  4f 66 5f 46 69 73 73 75  72 65 29 0a 20 20 20 20  |Of_Fissure).    |
00004480  20 20 20 7b 20 20 20 69  66 20 28 63 61 76 65 73  |   {   if (caves|
00004490  5f 63 6c 6f 73 65 64 3d  3d 31 29 20 22 50 65 63  |_closed==1) "Pec|
000044a0  75 6c 69 61 72 2e 20 20  4e 6f 74 68 69 6e 67 20  |uliar.  Nothing |
000044b0  68 61 70 70 65 6e 73 2e  22 3b 0a 20 20 20 20 20  |happens.";.     |
000044c0  20 20 20 20 20 20 69 66  20 28 43 72 79 73 74 61  |      if (Crysta|
000044d0  6c 42 72 69 64 67 65 20  6e 6f 74 69 6e 20 6e 6f  |lBridge notin no|
000044e0  74 68 69 6e 67 29 0a 20  20 20 20 20 20 20 20 20  |thing).         |
000044f0  20 20 7b 20 20 20 72 65  6d 6f 76 65 20 43 72 79  |  {   remove Cry|
00004500  73 74 61 6c 42 72 69 64  67 65 3b 20 67 69 76 65  |stalBridge; give|
00004510  20 43 72 79 73 74 61 6c  42 72 69 64 67 65 20 61  | CrystalBridge a|
00004520  62 73 65 6e 74 3b 0a 20  20 20 20 20 20 20 20 20  |bsent;.         |
00004530  20 20 20 20 20 20 57 65  73 74 5f 53 69 64 65 5f  |      West_Side_|
00004540  4f 66 5f 46 69 73 73 75  72 65 2e 65 5f 74 6f 20  |Of_Fissure.e_to |
00004550  3d 20 30 3b 0a 20 20 20  20 20 20 20 20 20 20 20  |= 0;.           |
00004560  20 20 20 20 4f 6e 5f 45  61 73 74 5f 42 61 6e 6b  |    On_East_Bank|
00004570  5f 4f 66 5f 46 69 73 73  75 72 65 2e 77 5f 74 6f  |_Of_Fissure.w_to|
00004580  20 3d 20 30 3b 0a 20 20  20 20 20 20 20 20 20 20  | = 0;.          |
00004590  20 20 20 20 20 22 54 68  65 20 63 72 79 73 74 61  |     "The crysta|
000045a0  6c 20 62 72 69 64 67 65  20 68 61 73 20 76 61 6e  |l bridge has van|
000045b0  69 73 68 65 64 21 22 3b  0a 20 20 20 20 20 20 20  |ished!";.       |
000045c0  20 20 20 20 7d 0a 20 20  20 20 20 20 20 20 20 20  |    }.          |
000045d0  20 65 6c 73 65 0a 20 20  20 20 20 20 20 20 20 20  | else.          |
000045e0  20 7b 20 20 20 6d 6f 76  65 20 43 72 79 73 74 61  | {   move Crysta|
000045f0  6c 42 72 69 64 67 65 20  74 6f 20 6c 6f 63 61 74  |lBridge to locat|
00004600  69 6f 6e 3b 20 67 69 76  65 20 43 72 79 73 74 61  |ion; give Crysta|
00004610  6c 42 72 69 64 67 65 20  7e 61 62 73 65 6e 74 3b  |lBridge ~absent;|
00004620  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00004630  57 65 73 74 5f 53 69 64  65 5f 4f 66 5f 46 69 73  |West_Side_Of_Fis|
00004640  73 75 72 65 2e 65 5f 74  6f 20 3d 20 43 72 79 73  |sure.e_to = Crys|
00004650  74 61 6c 42 72 69 64 67  65 3b 0a 20 20 20 20 20  |talBridge;.     |
00004660  20 20 20 20 20 20 20 20  20 20 4f 6e 5f 45 61 73  |          On_Eas|
00004670  74 5f 42 61 6e 6b 5f 4f  66 5f 46 69 73 73 75 72  |t_Bank_Of_Fissur|
00004680  65 2e 77 5f 74 6f 20 3d  20 43 72 79 73 74 61 6c  |e.w_to = Crystal|
00004690  42 72 69 64 67 65 3b 0a  20 20 20 20 20 20 20 20  |Bridge;.        |
000046a0  20 20 20 20 20 20 20 22  41 20 63 72 79 73 74 61  |       "A crysta|
000046b0  6c 20 62 72 69 64 67 65  20 6e 6f 77 20 73 70 61  |l bridge now spa|
000046c0  6e 73 20 74 68 65 20 66  69 73 73 75 72 65 2e 22  |ns the fissure."|
000046d0  3b 0a 20 20 20 20 20 20  20 20 20 20 20 7d 0a 20  |;.           }. |
000046e0  20 20 20 20 20 20 7d 0a  20 20 20 20 20 20 20 65  |      }.       e|
000046f0  6c 73 65 20 22 4e 6f 74  68 69 6e 67 20 68 61 70  |lse "Nothing hap|
00004700  70 65 6e 73 2e 22 3b 0a  20 20 20 20 20 20 20 5d  |pens.";.       ]|
00004710  3b 0a 0a 0a 4f 62 6a 65  63 74 20 49 6e 5f 41 77  |;...Object In_Aw|
00004720  6b 77 61 72 64 5f 53 6c  6f 70 69 6e 67 5f 45 5f  |kward_Sloping_E_|
00004730  57 5f 43 61 6e 79 6f 6e  20 22 53 6c 6f 70 69 6e  |W_Canyon "Slopin|
00004740  67 20 45 2f 57 20 43 61  6e 79 6f 6e 22 0a 20 20  |g E/W Canyon".  |
00004750  77 69 74 68 20 64 65 73  63 72 69 70 74 69 6f 6e  |with description|
00004760  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00004770  22 59 6f 75 20 61 72 65  20 69 6e 20 61 6e 20 61  |"You are in an a|
00004780  77 6b 77 61 72 64 20 73  6c 6f 70 69 6e 67 20 65  |wkward sloping e|
00004790  61 73 74 2f 77 65 73 74  20 63 61 6e 79 6f 6e 2e  |ast/west canyon.|
000047a0  22 2c 0a 20 20 20 20 20  20 20 64 5f 74 6f 20 49  |",.       d_to I|
000047b0  6e 5f 44 65 62 72 69 73  5f 52 6f 6f 6d 2c 0a 20  |n_Debris_Room,. |
000047c0  20 20 20 20 20 20 65 5f  74 6f 20 49 6e 5f 44 65  |      e_to In_De|
000047d0  62 72 69 73 5f 52 6f 6f  6d 2c 0a 20 20 20 20 20  |bris_Room,.     |
000047e0  20 20 75 5f 74 6f 20 49  6e 5f 42 69 72 64 5f 43  |  u_to In_Bird_C|
000047f0  68 61 6d 62 65 72 2c 0a  20 20 20 20 20 20 20 77  |hamber,.       w|
00004800  5f 74 6f 20 49 6e 5f 42  69 72 64 5f 43 68 61 6d  |_to In_Bird_Cham|
00004810  62 65 72 0a 20 20 68 61  73 20 20 6e 6f 64 77 61  |ber.  has  nodwa|
00004820  72 66 3b 0a 0a 21 20 2d  2d 2d 2d 2d 2d 2d 2d 2d  |rf;..! ---------|
00004830  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00004870  2d 2d 2d 0a 21 20 20 20  54 68 65 20 6c 69 74 74  |---.!   The litt|
00004880  6c 65 20 62 69 72 64 20  69 6e 20 69 74 73 20 6e  |le bird in its n|
00004890  61 74 75 72 61 6c 20 68  61 62 69 74 61 74 0a 21  |atural habitat.!|
000048a0  20 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  | ---------------|
000048b0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000048e0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 0a 0a 4f  |-------------..O|
000048f0  62 6a 65 63 74 20 49 6e  5f 42 69 72 64 5f 43 68  |bject In_Bird_Ch|
00004900  61 6d 62 65 72 20 22 4f  72 61 6e 67 65 20 52 69  |amber "Orange Ri|
00004910  76 65 72 20 43 68 61 6d  62 65 72 22 0a 20 20 77  |ver Chamber".  w|
00004920  69 74 68 20 64 65 73 63  72 69 70 74 69 6f 6e 0a  |ith description.|
00004930  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 22  |               "|
00004940  59 6f 75 20 61 72 65 20  69 6e 20 61 20 73 70 6c  |You are in a spl|
00004950  65 6e 64 69 64 20 63 68  61 6d 62 65 72 20 74 68  |endid chamber th|
00004960  69 72 74 79 20 66 65 65  74 20 68 69 67 68 2e 20  |irty feet high. |
00004970  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
00004980  20 54 68 65 20 77 61 6c  6c 73 20 61 72 65 20 66  | The walls are f|
00004990  72 6f 7a 65 6e 20 72 69  76 65 72 73 20 6f 66 20  |rozen rivers of |
000049a0  6f 72 61 6e 67 65 20 73  74 6f 6e 65 2e 20 20 41  |orange stone.  A|
000049b0  6e 20 5c 0a 20 20 20 20  20 20 20 20 20 20 20 20  |n \.            |
000049c0  20 20 20 61 77 6b 77 61  72 64 20 63 61 6e 79 6f  |   awkward canyo|
000049d0  6e 20 61 6e 64 20 61 20  67 6f 6f 64 20 70 61 73  |n and a good pas|
000049e0  73 61 67 65 20 65 78 69  74 20 66 72 6f 6d 20 65  |sage exit from e|
000049f0  61 73 74 20 61 6e 64 20  5c 0a 20 20 20 20 20 20  |ast and \.      |
00004a00  20 20 20 20 20 20 20 20  20 77 65 73 74 20 73 69  |         west si|
00004a10  64 65 73 20 6f 66 20 74  68 65 20 63 68 61 6d 62  |des of the chamb|
00004a20  65 72 2e 22 2c 0a 20 20  20 20 20 20 20 65 5f 74  |er.",.       e_t|
00004a30  6f 20 49 6e 5f 41 77 6b  77 61 72 64 5f 53 6c 6f  |o In_Awkward_Slo|
00004a40  70 69 6e 67 5f 45 5f 57  5f 43 61 6e 79 6f 6e 2c  |ping_E_W_Canyon,|
00004a50  0a 20 20 20 20 20 20 20  77 5f 74 6f 20 41 74 5f  |.       w_to At_|
00004a60  54 6f 70 5f 4f 66 5f 53  6d 61 6c 6c 5f 50 69 74  |Top_Of_Small_Pit|
00004a70  0a 20 20 68 61 73 20 20  6e 6f 64 77 61 72 66 3b  |.  has  nodwarf;|
00004a80  0a 0a 4e 65 61 72 62 79  20 6c 69 74 74 6c 65 5f  |..Nearby little_|
00004a90  62 69 72 64 20 22 6c 69  74 74 6c 65 20 62 69 72  |bird "little bir|
00004aa0  64 22 0a 20 20 77 69 74  68 20 6e 61 6d 65 20 22  |d".  with name "|
00004ab0  63 68 65 65 72 66 75 6c  22 20 22 6d 6f 75 72 6e  |cheerful" "mourn|
00004ac0  66 75 6c 22 20 22 6c 69  74 74 6c 65 22 20 22 62  |ful" "little" "b|
00004ad0  69 72 64 22 2c 0a 20 20  20 20 20 20 20 69 6e 69  |ird",.       ini|
00004ae0  74 69 61 6c 20 22 41 20  63 68 65 65 72 66 75 6c  |tial "A cheerful|
00004af0  20 6c 69 74 74 6c 65 20  62 69 72 64 20 69 73 20  | little bird is |
00004b00  73 69 74 74 69 6e 67 20  68 65 72 65 20 73 69 6e  |sitting here sin|
00004b10  67 69 6e 67 2e 22 2c 0a  20 20 20 20 20 20 20 62  |ging.",.       b|
00004b20  65 66 6f 72 65 0a 20 20  20 20 20 20 20 5b 3b 20  |efore.       [; |
00004b30  45 78 61 6d 69 6e 65 3a  20 69 66 20 28 6c 69 74  |Examine: if (lit|
00004b40  74 6c 65 5f 62 69 72 64  20 69 6e 20 77 69 63 6b  |tle_bird in wick|
00004b50  65 72 5f 63 61 67 65 29  0a 20 20 20 20 20 20 20  |er_cage).       |
00004b60  20 20 20 20 20 20 20 22  54 68 65 20 6c 69 74 74  |       "The litt|
00004b70  6c 65 20 62 69 72 64 20  6c 6f 6f 6b 73 20 75 6e  |le bird looks un|
00004b80  68 61 70 70 79 20 69 6e  20 74 68 65 20 63 61 67  |happy in the cag|
00004b90  65 2e 22 3b 0a 20 20 20  20 20 20 20 20 20 20 20  |e.";.           |
00004ba0  20 22 54 68 65 20 63 68  65 65 72 66 75 6c 20 6c  | "The cheerful l|
00004bb0  69 74 74 6c 65 20 62 69  72 64 20 69 73 20 73 69  |ittle bird is si|
00004bc0  74 74 69 6e 67 20 68 65  72 65 20 73 69 6e 67 69  |tting here singi|
00004bd0  6e 67 2e 22 3b 0a 20 20  20 20 20 20 20 20 20 20  |ng.";.          |
00004be0  49 6e 73 65 72 74 3a 20  69 66 20 28 73 65 63 6f  |Insert: if (seco|
00004bf0  6e 64 3d 3d 77 69 63 6b  65 72 5f 63 61 67 65 29  |nd==wicker_cage)|
00004c00  20 3c 3c 43 61 74 63 68  20 73 65 6c 66 3e 3e 3b  | <<Catch self>>;|
00004c10  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 65  |.              e|
00004c20  6c 73 65 20 0a 20 20 20  20 20 20 20 20 20 20 20  |lse .           |
00004c30  20 20 20 7b 20 20 20 70  72 69 6e 74 20 22 44 6f  |   {   print "Do|
00004c40  6e 27 74 20 70 75 74 20  74 68 65 20 70 6f 6f 72  |n't put the poor|
00004c50  20 62 69 72 64 20 69 6e  20 22 3b 20 44 65 66 41  | bird in "; DefA|
00004c60  72 74 28 73 65 63 6f 6e  64 29 3b 0a 20 20 20 20  |rt(second);.    |
00004c70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 22 21  |              "!|
00004c80  22 3b 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |";.             |
00004c90  20 7d 0a 20 20 20 20 20  20 20 20 20 20 44 72 6f  | }.          Dro|
00004ca0  70 2c 20 52 65 6d 6f 76  65 3a 0a 20 20 20 20 20  |p, Remove:.     |
00004cb0  20 20 20 20 20 20 20 20  20 69 66 20 28 6c 69 74  |         if (lit|
00004cc0  74 6c 65 5f 62 69 72 64  20 69 6e 20 77 69 63 6b  |tle_bird in wick|
00004cd0  65 72 5f 63 61 67 65 29  0a 20 20 20 20 20 20 20  |er_cage).       |
00004ce0  20 20 20 20 20 20 20 7b  20 20 20 70 72 69 6e 74  |       {   print|
00004cf0  20 22 28 54 68 65 20 62  69 72 64 20 69 73 20 72  | "(The bird is r|
00004d00  65 6c 65 61 73 65 64 20  66 72 6f 6d 20 74 68 65  |eleased from the|
00004d10  20 63 61 67 65 29 5e 5e  22 3b 0a 20 20 20 20 20  | cage)^^";.     |
00004d20  20 20 20 20 20 20 20 20  20 20 20 20 20 3c 3c 52  |             <<R|
00004d30  65 6c 65 61 73 65 20 73  65 6c 66 3e 3e 3b 0a 20  |elease self>>;. |
00004d40  20 20 20 20 20 20 20 20  20 20 20 20 20 7d 0a 20  |             }. |
00004d50  20 20 20 20 20 20 20 20  20 54 61 6b 65 2c 20 43  |         Take, C|
00004d60  61 74 63 68 3a 0a 20 20  20 20 20 20 20 20 20 20  |atch:.          |
00004d70  20 20 69 66 20 28 6c 69  74 74 6c 65 5f 62 69 72  |  if (little_bir|
00004d80  64 20 69 6e 20 77 69 63  6b 65 72 5f 63 61 67 65  |d in wicker_cage|
00004d90  29 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |).              |
00004da0  22 59 6f 75 20 61 6c 72  65 61 64 79 20 68 61 76  |"You already hav|
00004db0  65 20 74 68 65 20 6c 69  74 74 6c 65 20 62 69 72  |e the little bir|
00004dc0  64 2e 20 20 49 66 20 5c  0a 20 20 20 20 20 20 20  |d.  If \.       |
00004dd0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004de0  20 20 79 6f 75 20 74 61  6b 65 20 69 74 20 6f 75  |  you take it ou|
00004df0  74 20 6f 66 20 74 68 65  20 63 61 67 65 20 69 74  |t of the cage it|
00004e00  20 77 69 6c 6c 20 6c 69  6b 65 6c 79 20 5c 0a 20  | will likely \. |
00004e10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004e20  20 20 20 20 20 20 20 20  66 6c 79 20 61 77 61 79  |        fly away|
00004e30  20 66 72 6f 6d 20 79 6f  75 2e 22 3b 0a 20 20 20  | from you.";.   |
00004e40  20 20 20 20 20 20 20 20  20 69 66 20 28 77 69 63  |         if (wic|
00004e50  6b 65 72 5f 63 61 67 65  20 6e 6f 74 69 6e 20 70  |ker_cage notin p|
00004e60  6c 61 79 65 72 29 0a 20  20 20 20 20 20 20 20 20  |layer).         |
00004e70  20 20 20 20 20 22 59 6f  75 20 63 61 6e 20 63 61  |     "You can ca|
00004e80  74 63 68 20 74 68 65 20  62 69 72 64 2c 20 62 75  |tch the bird, bu|
00004e90  74 20 79 6f 75 20 63 61  6e 6e 6f 74 20 63 61 72  |t you cannot car|
00004ea0  72 79 20 69 74 2e 22 3b  0a 20 20 20 20 20 20 20  |ry it.";.       |
00004eb0  20 20 20 20 20 69 66 20  28 62 6c 61 63 6b 5f 72  |     if (black_r|
00004ec0  6f 64 20 69 6e 20 70 6c  61 79 65 72 29 0a 20 20  |od in player).  |
00004ed0  20 20 20 20 20 20 20 20  20 20 20 20 22 54 68 65  |            "The|
00004ee0  20 62 69 72 64 20 77 61  73 20 75 6e 61 66 72 61  | bird was unafra|
00004ef0  69 64 20 77 68 65 6e 20  79 6f 75 20 65 6e 74 65  |id when you ente|
00004f00  72 65 64 2c 20 62 75 74  20 5c 0a 20 20 20 20 20  |red, but \.     |
00004f10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004f20  61 73 20 79 6f 75 20 61  70 70 72 6f 61 63 68 20  |as you approach |
00004f30  69 74 20 62 65 63 6f 6d  65 73 20 64 69 73 74 75  |it becomes distu|
00004f40  72 62 65 64 20 61 6e 64  20 79 6f 75 20 5c 0a 20  |rbed and you \. |
00004f50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00004f60  20 20 20 20 63 61 6e 6e  6f 74 20 63 61 74 63 68  |    cannot catch|
00004f70  20 69 74 2e 22 3b 0a 20  20 20 20 20 20 20 20 20  | it.";.         |
00004f80  20 20 20 6d 6f 76 65 20  6c 69 74 74 6c 65 5f 62  |   move little_b|
00004f90  69 72 64 20 74 6f 20 77  69 63 6b 65 72 5f 63 61  |ird to wicker_ca|
00004fa0  67 65 3b 20 67 69 76 65  20 77 69 63 6b 65 72 5f  |ge; give wicker_|
00004fb0  63 61 67 65 20 7e 6f 70  65 6e 3b 0a 20 20 20 20  |cage ~open;.    |
00004fc0  20 20 20 20 20 20 20 20  22 59 6f 75 20 63 61 74  |        "You cat|
00004fd0  63 68 20 74 68 65 20 62  69 72 64 20 69 6e 20 74  |ch the bird in t|
00004fe0  68 65 20 77 69 63 6b 65  72 20 63 61 67 65 2e 22  |he wicker cage."|
00004ff0  3b 0a 20 20 20 20 20 20  20 20 20 20 52 65 6c 65  |;.          Rele|
00005000  61 73 65 3a 20 69 66 20  28 6c 69 74 74 6c 65 5f  |ase: if (little_|
00005010  62 69 72 64 20 6e 6f 74  69 6e 20 77 69 63 6b 65  |bird notin wicke|
00005020  72 5f 63 61 67 65 29 0a  20 20 20 20 20 20 20 20  |r_cage).        |
00005030  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 22  |               "|
00005040  54 68 65 20 62 69 72 64  20 69 73 20 6e 6f 74 20  |The bird is not |
00005050  63 61 67 65 64 20 6e 6f  77 2e 22 3b 0a 20 20 20  |caged now.";.   |
00005060  20 20 20 20 20 20 20 20  20 67 69 76 65 20 77 69  |         give wi|
00005070  63 6b 65 72 5f 63 61 67  65 20 6f 70 65 6e 3b 0a  |cker_cage open;.|
00005080  20 20 20 20 20 20 20 20  20 20 20 20 6d 6f 76 65  |            move|
00005090  20 6c 69 74 74 6c 65 5f  62 69 72 64 20 74 6f 20  | little_bird to |
000050a0  6c 6f 63 61 74 69 6f 6e  3b 0a 0a 20 20 20 20 20  |location;..     |
000050b0  20 20 20 20 20 20 20 69  66 20 28 53 6e 61 6b 65  |       if (Snake|
000050c0  20 69 6e 20 6c 6f 63 61  74 69 6f 6e 29 0a 20 20  | in location).  |
000050d0  20 20 20 20 20 20 20 20  20 20 7b 20 20 20 72 65  |          {   re|
000050e0  6d 6f 76 65 20 53 6e 61  6b 65 3b 0a 20 20 20 20  |move Snake;.    |
000050f0  20 20 20 20 20 20 20 20  20 20 20 20 22 54 68 65  |            "The|
00005100  20 6c 69 74 74 6c 65 20  62 69 72 64 20 61 74 74  | little bird att|
00005110  61 63 6b 73 20 74 68 65  20 67 72 65 65 6e 20 73  |acks the green s|
00005120  6e 61 6b 65 2c 20 61 6e  64 20 5c 0a 20 20 20 20  |nake, and \.    |
00005130  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00005140  20 20 20 20 20 20 20 69  6e 20 61 6e 20 61 73 74  |       in an ast|
00005150  6f 75 6e 64 69 6e 67 20  66 6c 75 72 72 79 20 64  |ounding flurry d|
00005160  72 69 76 65 73 20 74 68  65 20 73 6e 61 6b 65 20  |rives the snake |
00005170  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
00005180  20 20 20 20 20 20 20 20  20 20 20 20 20 61 77 61  |             awa|
00005190  79 2e 22 3b 0a 20 20 20  20 20 20 20 20 20 20 20  |y.";.           |
000051a0  20 7d 0a 0a 20 20 20 20  20 20 20 20 20 20 20 69  | }..           i|
000051b0  66 20 28 44 72 61 67 6f  6e 20 69 6e 20 6c 6f 63  |f (Dragon in loc|
000051c0  61 74 69 6f 6e 29 0a 20  20 20 20 20 20 20 20 20  |ation).         |
000051d0  20 20 7b 20 20 20 72 65  6d 6f 76 65 20 6c 69 74  |  {   remove lit|
000051e0  74 6c 65 5f 62 69 72 64  3b 0a 20 20 20 20 20 20  |tle_bird;.      |
000051f0  20 20 20 20 20 20 20 20  20 22 54 68 65 20 6c 69  |         "The li|
00005200  74 74 6c 65 20 62 69 72  64 20 61 74 74 61 63 6b  |ttle bird attack|
00005210  73 20 74 68 65 20 67 72  65 65 6e 20 64 72 61 67  |s the green drag|
00005220  6f 6e 2c 20 5c 0a 20 20  20 20 20 20 20 20 20 20  |on, \.          |
00005230  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00005240  61 6e 64 20 69 6e 20 61  6e 20 61 73 74 6f 75 6e  |and in an astoun|
00005250  64 69 6e 67 20 66 6c 75  72 72 79 20 67 65 74 73  |ding flurry gets|
00005260  20 62 75 72 6e 74 20 74  6f 20 61 20 5c 0a 20 20  | burnt to a \.  |
00005270  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00005280  20 20 20 20 20 20 20 20  63 69 6e 64 65 72 2e 20  |        cinder. |
00005290  20 54 68 65 20 61 73 68  65 73 20 62 6c 6f 77 20  | The ashes blow |
000052a0  61 77 61 79 2e 22 3b 0a  20 20 20 20 20 20 20 20  |away.";.        |
000052b0  20 20 20 7d 0a 0a 20 20  20 20 20 20 20 20 20 20  |   }..          |
000052c0  20 20 22 54 68 65 20 6c  69 74 74 6c 65 20 62 69  |  "The little bi|
000052d0  72 64 20 66 6c 69 65 73  20 66 72 65 65 2e 22 3b  |rd flies free.";|
000052e0  0a 20 20 20 20 20 20 20  5d 2c 0a 0a 20 20 20 20  |.       ],..    |
000052f0  20 20 20 6c 69 66 65 0a  20 20 20 20 20 20 20 5b  |   life.       [|
00005300  3b 20 47 69 76 65 3a 20  20 22 49 74 27 73 20 6e  |; Give:  "It's n|
00005310  6f 74 20 68 75 6e 67 72  79 2e 20 28 49 74 27 73  |ot hungry. (It's|
00005320  20 6d 65 72 65 6c 79 20  70 69 6e 69 6e 27 20 66  | merely pinin' f|
00005330  6f 72 20 74 68 65 20 5c  0a 20 20 20 20 20 20 20  |or the \.       |
00005340  20 20 20 20 20 20 20 20  20 20 20 20 20 20 66 6a  |              fj|
00005350  6f 72 64 73 29 2e 20 20  42 65 73 69 64 65 73 2c  |ords).  Besides,|
00005360  20 49 20 73 75 73 70 65  63 74 20 69 74 20 77 6f  | I suspect it wo|
00005370  75 6c 64 20 70 72 65 66  65 72 20 62 69 72 64 20  |uld prefer bird |
00005380  73 65 65 64 2e 22 3b 0a  20 20 20 20 20 20 20 20  |seed.";.        |
00005390  20 4f 72 64 65 72 2c 20  41 73 6b 2c 20 41 6e 73  | Order, Ask, Ans|
000053a0  77 65 72 3a 20 22 43 68  65 65 70 21 20 20 43 68  |wer: "Cheep!  Ch|
000053b0  69 72 70 21 22 3b 0a 20  20 20 20 20 20 20 20 20  |irp!";.         |
000053c0  41 74 74 61 63 6b 3a 0a  20 20 20 20 20 20 20 20  |Attack:.        |
000053d0  20 20 20 69 66 20 28 6c  69 74 74 6c 65 5f 62 69  |   if (little_bi|
000053e0  72 64 20 69 6e 20 77 69  63 6b 65 72 5f 63 61 67  |rd in wicker_cag|
000053f0  65 29 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |e).             |
00005400  20 20 22 4f 68 2c 20 6c  65 61 76 65 20 74 68 65  |  "Oh, leave the|
00005410  20 70 6f 6f 72 20 75 6e  68 61 70 70 79 20 62 69  | poor unhappy bi|
00005420  72 64 20 61 6c 6f 6e 65  2e 22 3b 0a 20 20 20 20  |rd alone.";.    |
00005430  20 20 20 20 20 20 20 72  65 6d 6f 76 65 20 6c 69  |       remove li|
00005440  74 74 6c 65 5f 62 69 72  64 3b 0a 20 20 20 20 20  |ttle_bird;.     |
00005450  20 20 20 20 20 20 22 54  68 65 20 6c 69 74 74 6c  |      "The littl|
00005460  65 20 62 69 72 64 20 69  73 20 6e 6f 77 20 64 65  |e bird is now de|
00005470  61 64 2e 20 20 49 74 73  20 62 6f 64 79 20 64 69  |ad.  Its body di|
00005480  73 61 70 70 65 61 72 73  2e 22 3b 0a 20 20 20 20  |sappears.";.    |
00005490  20 20 20 5d 2c 0a 20 20  68 61 73 20 20 61 6e 69  |   ],.  has  ani|
000054a0  6d 61 74 65 3b 0a 0a 0a  4f 62 6a 65 63 74 20 41  |mate;...Object A|
000054b0  74 5f 54 6f 70 5f 4f 66  5f 53 6d 61 6c 6c 5f 50  |t_Top_Of_Small_P|
000054c0  69 74 20 22 41 74 20 54  6f 70 20 6f 66 20 53 6d  |it "At Top of Sm|
000054d0  61 6c 6c 20 50 69 74 22  0a 20 20 77 69 74 68 20  |all Pit".  with |
000054e0  64 65 73 63 72 69 70 74  69 6f 6e 0a 20 20 20 20  |description.    |
000054f0  20 20 20 20 20 20 20 20  20 20 20 22 41 74 20 79  |           "At y|
00005500  6f 75 72 20 66 65 65 74  20 69 73 20 61 20 73 6d  |our feet is a sm|
00005510  61 6c 6c 20 70 69 74 20  62 72 65 61 74 68 69 6e  |all pit breathin|
00005520  67 20 74 72 61 63 65 73  20 6f 66 20 5c 0a 20 20  |g traces of \.  |
00005530  20 20 20 20 20 20 20 20  20 20 20 20 20 77 68 69  |             whi|
00005540  74 65 20 6d 69 73 74 2e  20 20 41 20 77 65 73 74  |te mist.  A west|
00005550  20 70 61 73 73 61 67 65  20 65 6e 64 73 20 68 65  | passage ends he|
00005560  72 65 20 65 78 63 65 70  74 20 66 6f 72 20 61 20  |re except for a |
00005570  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
00005580  20 73 6d 61 6c 6c 20 63  72 61 63 6b 20 6c 65 61  | small crack lea|
00005590  64 69 6e 67 20 6f 6e 2e  5e 5e 5c 0a 20 20 20 20  |ding on.^^\.    |
000055a0  20 20 20 20 20 20 20 20  20 20 20 52 6f 75 67 68  |           Rough|
000055b0  20 73 74 6f 6e 65 20 73  74 65 70 73 20 6c 65 61  | stone steps lea|
000055c0  64 20 64 6f 77 6e 20 74  68 65 20 70 69 74 2e 22  |d down the pit."|
000055d0  2c 0a 20 20 20 20 20 20  20 65 5f 74 6f 20 49 6e  |,.       e_to In|
000055e0  5f 42 69 72 64 5f 43 68  61 6d 62 65 72 2c 0a 20  |_Bird_Chamber,. |
000055f0  20 20 20 20 20 20 77 5f  74 6f 20 22 54 68 65 20  |      w_to "The |
00005600  63 72 61 63 6b 20 69 73  20 66 61 72 20 74 6f 6f  |crack is far too|
00005610  20 73 6d 61 6c 6c 20 66  6f 72 20 79 6f 75 20 74  | small for you t|
00005620  6f 20 66 6f 6c 6c 6f 77  2e 22 2c 0a 20 20 20 20  |o follow.",.    |
00005630  20 20 20 64 5f 74 6f 0a  20 20 20 20 20 20 20 5b  |   d_to.       [|
00005640  3b 20 69 66 20 28 6c 61  72 67 65 5f 67 6f 6c 64  |; if (large_gold|
00005650  5f 6e 75 67 67 65 74 20  69 6e 20 70 6c 61 79 65  |_nugget in playe|
00005660  72 29 0a 20 20 20 20 20  20 20 20 20 20 7b 20 20  |r).          {  |
00005670  20 64 65 61 64 66 6c 61  67 3d 31 3b 0a 20 20 20  | deadflag=1;.   |
00005680  20 20 20 20 20 20 20 20  20 20 20 22 59 6f 75 20  |           "You |
00005690  61 72 65 20 61 74 20 74  68 65 20 62 6f 74 74 6f  |are at the botto|
000056a0  6d 20 5c 0a 20 20 20 20  20 20 20 20 20 20 20 20  |m \.            |
000056b0  20 20 20 20 20 20 20 20  20 20 20 20 20 6f 66 20  |             of |
000056c0  74 68 65 20 70 69 74 20  77 69 74 68 20 61 20 62  |the pit with a b|
000056d0  72 6f 6b 65 6e 20 6e 65  63 6b 2e 22 3b 0a 20 20  |roken neck.";.  |
000056e0  20 20 20 20 20 20 20 20  7d 0a 20 20 20 20 20 20  |        }.      |
000056f0  20 20 20 20 72 65 74 75  72 6e 20 49 6e 5f 48 61  |    return In_Ha|
00005700  6c 6c 5f 4f 66 5f 4d 69  73 74 73 3b 0a 20 20 20  |ll_Of_Mists;.   |
00005710  20 20 20 20 5d 2c 0a 20  20 20 20 20 20 20 62 65  |    ],.       be|
00005720  66 6f 72 65 0a 20 20 20  20 20 20 20 5b 3b 20 45  |fore.       [; E|
00005730  6e 74 65 72 3a 20 69 66  20 28 6e 6f 75 6e 3d 3d  |nter: if (noun==|
00005740  50 69 74 43 72 61 63 6b  29 0a 20 20 20 20 20 20  |PitCrack).      |
00005750  20 20 20 20 20 20 20 20  22 54 68 65 20 63 72 61  |        "The cra|
00005760  63 6b 20 69 73 20 66 61  72 20 74 6f 6f 20 73 6d  |ck is far too sm|
00005770  61 6c 6c 20 66 6f 72 20  79 6f 75 20 74 6f 20 66  |all for you to f|
00005780  6f 6c 6c 6f 77 2e 22 3b  0a 20 20 20 20 20 20 20  |ollow.";.       |
00005790  5d 2c 0a 20 20 68 61 73  20 20 6e 6f 64 77 61 72  |],.  has  nodwar|
000057a0  66 3b 0a 0a 0a 4e 65 61  72 62 79 20 53 6d 61 6c  |f;...Nearby Smal|
000057b0  6c 50 69 74 20 22 73 6d  61 6c 6c 20 70 69 74 22  |lPit "small pit"|
000057c0  0a 20 20 77 69 74 68 20  64 65 73 63 72 69 70 74  |.  with descript|
000057d0  69 6f 6e 20 22 54 68 65  20 70 69 74 20 69 73 20  |ion "The pit is |
000057e0  62 72 65 61 74 68 69 6e  67 20 74 72 61 63 65 73  |breathing traces|
000057f0  20 6f 66 20 77 68 69 74  65 20 6d 69 73 74 2e 22  | of white mist."|
00005800  2c 0a 20 20 20 20 20 20  20 6e 61 6d 65 20 22 70  |,.       name "p|
00005810  69 74 22 20 22 73 6d 61  6c 6c 22 0a 20 20 68 61  |it" "small".  ha|
00005820  73 20 20 73 63 65 6e 65  72 79 3b 0a 0a 4e 65 61  |s  scenery;..Nea|
00005830  72 62 79 20 50 69 74 43  72 61 63 6b 20 22 63 72  |rby PitCrack "cr|
00005840  61 63 6b 22 0a 20 20 77  69 74 68 20 64 65 73 63  |ack".  with desc|
00005850  72 69 70 74 69 6f 6e 0a  20 20 20 20 20 20 20 20  |ription.        |
00005860  20 20 20 22 54 68 65 20  63 72 61 63 6b 20 69 73  |   "The crack is|
00005870  20 76 65 72 79 20 73 6d  61 6c 6c 20 2d 2d 20 66  | very small -- f|
00005880  61 72 20 74 6f 6f 20 73  6d 61 6c 6c 20 66 6f 72  |ar too small for|
00005890  20 79 6f 75 20 74 6f 20  66 6f 6c 6c 6f 77 2e 22  | you to follow."|
000058a0  2c 0a 20 20 20 20 20 20  20 6e 61 6d 65 20 22 63  |,.       name "c|
000058b0  72 61 63 6b 22 20 22 73  6d 61 6c 6c 22 0a 20 20  |rack" "small".  |
000058c0  68 61 73 20 20 73 63 65  6e 65 72 79 3b 0a 0a 4f  |has  scenery;..O|
000058d0  62 6a 65 63 74 20 4d 69  73 74 20 22 6d 69 73 74  |bject Mist "mist|
000058e0  22 0a 20 20 77 69 74 68  20 64 65 73 63 72 69 70  |".  with descrip|
000058f0  74 69 6f 6e 0a 20 20 20  20 20 20 20 20 20 20 20  |tion.           |
00005900  20 20 20 20 22 4d 69 73  74 20 69 73 20 61 20 77  |    "Mist is a w|
00005910  68 69 74 65 20 76 61 70  6f 72 2c 20 75 73 75 61  |hite vapor, usua|
00005920  6c 6c 79 20 77 61 74 65  72 2c 20 73 65 65 6e 20  |lly water, seen |
00005930  66 72 6f 6d 20 74 69 6d  65 20 5c 0a 20 20 20 20  |from time \.    |
00005940  20 20 20 20 20 20 20 20  20 20 20 74 6f 20 74 69  |           to ti|
00005950  6d 65 20 69 6e 20 63 61  76 65 72 6e 73 2e 20 20  |me in caverns.  |
00005960  49 74 20 63 61 6e 20 62  65 20 66 6f 75 6e 64 20  |It can be found |
00005970  61 6e 79 77 68 65 72 65  20 62 75 74 20 69 73 20  |anywhere but is |
00005980  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
00005990  20 66 72 65 71 75 65 6e  74 6c 79 20 61 20 73 69  | frequently a si|
000059a0  67 6e 20 6f 66 20 61 20  64 65 65 70 20 70 69 74  |gn of a deep pit|
000059b0  20 6c 65 61 64 69 6e 67  20 64 6f 77 6e 20 74 6f  | leading down to|
000059c0  20 5c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  | \.             |
000059d0  20 20 77 61 74 65 72 2e  22 2c 0a 20 20 20 20 20  |  water.",.     |
000059e0  20 20 6e 61 6d 65 20 22  6d 69 73 74 22 20 22 76  |  name "mist" "v|
000059f0  61 70 6f 72 22 20 22 77  69 73 70 73 22 20 22 77  |apor" "wisps" "w|
00005a00  68 69 74 65 22 2c 0a 20  20 20 20 20 20 20 66 6f  |hite",.       fo|
00005a10  75 6e 64 5f 69 6e 20 20  41 74 5f 54 6f 70 5f 4f  |und_in  At_Top_O|
00005a20  66 5f 53 6d 61 6c 6c 5f  50 69 74 20 49 6e 5f 48  |f_Small_Pit In_H|
00005a30  61 6c 6c 5f 4f 66 5f 4d  69 73 74 73 0a 20 20 20  |all_Of_Mists.   |
00005a40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 4f 6e  |              On|
00005a50  5f 45 61 73 74 5f 42 61  6e 6b 5f 4f 66 5f 46 69  |_East_Bank_Of_Fi|
00005a60  73 73 75 72 65 20 20 41  74 5f 57 69 6e 64 6f 77  |ssure  At_Window|
00005a70  5f 4f 6e 5f 50 69 74 5f  31 0a 20 20 20 20 20 20  |_On_Pit_1.      |
00005a80  20 20 20 20 20 20 20 20  20 20 20 41 74 5f 57 65  |           At_We|
00005a90  73 74 5f 45 6e 64 5f 4f  66 5f 48 61 6c 6c 5f 4f  |st_End_Of_Hall_O|
00005aa0  66 5f 4d 69 73 74 73 20  49 6e 5f 4d 69 73 74 79  |f_Mists In_Misty|
00005ab0  5f 43 61 76 65 72 6e 0a  20 20 20 20 20 20 20 20  |_Cavern.        |
00005ac0  20 20 20 20 20 20 20 20  20 49 6e 5f 4d 69 72 72  |         In_Mirr|
00005ad0  6f 72 5f 43 61 6e 79 6f  6e 20 20 41 74 5f 52 65  |or_Canyon  At_Re|
00005ae0  73 65 72 76 6f 69 72 20  41 74 5f 57 69 6e 64 6f  |servoir At_Windo|
00005af0  77 5f 4f 6e 5f 50 69 74  5f 32 0a 20 20 20 20 20  |w_On_Pit_2.     |
00005b00  20 20 20 20 20 20 20 20  20 20 20 20 4f 6e 5f 53  |            On_S|
00005b10  77 5f 53 69 64 65 5f 4f  66 5f 43 68 61 73 6d 0a  |w_Side_Of_Chasm.|
00005b20  20 20 68 61 73 20 20 73  63 65 6e 65 72 79 3b 0a  |  has  scenery;.|
00005b30  0a 21 20 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.! -------------|
00005b40  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00005b70  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 0a  |---------------.|
00005b80  21 20 20 20 54 68 65 20  63 61 76 65 73 20 6f 70  |!   The caves op|
00005b90  65 6e 20 75 70 3a 20 54  68 65 20 48 61 6c 6c 20  |en up: The Hall |
00005ba0  6f 66 20 4d 69 73 74 73  0a 21 20 2d 2d 2d 2d 2d  |of Mists.! -----|
00005bb0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00005bf0  2d 2d 2d 2d 2d 2d 2d 0a  0a 4f 62 6a 65 63 74 20  |-------..Object |
00005c00  49 6e 5f 48 61 6c 6c 5f  4f 66 5f 4d 69 73 74 73  |In_Hall_Of_Mists|
00005c10  20 22 49 6e 20 48 61 6c  6c 20 6f 66 20 4d 69 73  | "In Hall of Mis|
00005c20  74 73 22 0a 20 20 77 69  74 68 20 69 6e 69 74 69  |ts".  with initi|
00005c30  61 6c 0a 20 20 20 20 20  20 20 5b 3b 20 69 66 20  |al.       [; if |
00005c40  28 73 65 6c 66 20 68 61  73 20 67 65 6e 65 72 61  |(self has genera|
00005c50  6c 29 20 72 66 61 6c 73  65 3b 0a 20 20 20 20 20  |l) rfalse;.     |
00005c60  20 20 20 20 20 73 63 6f  72 65 3d 73 63 6f 72 65  |     score=score|
00005c70  2b 32 35 3b 20 67 69 76  65 20 73 65 6c 66 20 67  |+25; give self g|
00005c80  65 6e 65 72 61 6c 3b 0a  20 20 20 20 20 20 20 5d  |eneral;.       ]|
00005c90  2c 0a 20 20 20 20 20 20  20 64 65 73 63 72 69 70  |,.       descrip|
00005ca0  74 69 6f 6e 0a 20 20 20  20 20 20 20 20 20 20 20  |tion.           |
00005cb0  20 20 20 20 22 59 6f 75  20 61 72 65 20 61 74 20  |    "You are at |
00005cc0  6f 6e 65 20 65 6e 64 20  6f 66 20 61 20 76 61 73  |one end of a vas|
00005cd0  74 20 68 61 6c 6c 20 73  74 72 65 74 63 68 69 6e  |t hall stretchin|
00005ce0  67 20 5c 0a 20 20 20 20  20 20 20 20 20 20 20 20  |g \.            |
00005cf0  20 20 20 66 6f 72 77 61  72 64 20 6f 75 74 20 6f  |   forward out o|
00005d00  66 20 73 69 67 68 74 20  74 6f 20 74 68 65 20 77  |f sight to the w|
00005d10  65 73 74 2e 20 20 54 68  65 72 65 20 61 72 65 20  |est.  There are |
00005d20  6f 70 65 6e 69 6e 67 73  20 5c 0a 20 20 20 20 20  |openings \.     |
00005d30  20 20 20 20 20 20 20 20  20 20 74 6f 20 65 69 74  |          to eit|
00005d40  68 65 72 20 73 69 64 65  2e 20 20 4e 65 61 72 62  |her side.  Nearb|
00005d50  79 2c 20 61 20 77 69 64  65 20 73 74 6f 6e 65 20  |y, a wide stone |
00005d60  73 74 61 69 72 63 61 73  65 20 6c 65 61 64 73 20  |staircase leads |
00005d70  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
00005d80  20 64 6f 77 6e 77 61 72  64 2e 20 20 54 68 65 20  | downward.  The |
00005d90  68 61 6c 6c 20 69 73 20  66 69 6c 6c 65 64 20 77  |hall is filled w|
00005da0  69 74 68 20 77 69 73 70  73 20 6f 66 20 77 68 69  |ith wisps of whi|
00005db0  74 65 20 5c 0a 20 20 20  20 20 20 20 20 20 20 20  |te \.           |
00005dc0  20 20 20 20 6d 69 73 74  20 73 77 61 79 69 6e 67  |    mist swaying|
00005dd0  20 74 6f 20 61 6e 64 20  66 72 6f 20 61 6c 6d 6f  | to and fro almo|
00005de0  73 74 20 61 73 20 69 66  20 61 6c 69 76 65 2e 20  |st as if alive. |
00005df0  20 41 20 63 6f 6c 64 20  5c 0a 20 20 20 20 20 20  | A cold \.      |
00005e00  20 20 20 20 20 20 20 20  20 77 69 6e 64 20 62 6c  |         wind bl|
00005e10  6f 77 73 20 75 70 20 74  68 65 20 73 74 61 69 72  |ows up the stair|
00005e20  63 61 73 65 2e 20 20 54  68 65 72 65 20 69 73 20  |case.  There is |
00005e30  61 20 70 61 73 73 61 67  65 20 61 74 20 5c 0a 20  |a passage at \. |
00005e40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 74 68  |              th|
00005e50  65 20 74 6f 70 20 6f 66  20 61 20 64 6f 6d 65 20  |e top of a dome |
00005e60  62 65 68 69 6e 64 20 79  6f 75 2e 5e 5e 5c 0a 20  |behind you.^^\. |
00005e70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 52 6f  |              Ro|
00005e80  75 67 68 20 73 74 6f 6e  65 20 73 74 65 70 73 20  |ugh stone steps |
00005e90  6c 65 61 64 20 75 70 20  74 68 65 20 64 6f 6d 65  |lead up the dome|
00005ea0  2e 22 2c 0a 20 20 20 20  20 20 20 73 5f 74 6f 20  |.",.       s_to |
00005eb0  49 6e 5f 4e 75 67 67 65  74 5f 4f 66 5f 47 6f 6c  |In_Nugget_Of_Gol|
00005ec0  64 5f 52 6f 6f 6d 2c 0a  20 20 20 20 20 20 20 77  |d_Room,.       w|
00005ed0  5f 74 6f 20 4f 6e 5f 45  61 73 74 5f 42 61 6e 6b  |_to On_East_Bank|
00005ee0  5f 4f 66 5f 46 69 73 73  75 72 65 2c 0a 20 20 20  |_Of_Fissure,.   |
00005ef0  20 20 20 20 64 5f 74 6f  20 49 6e 5f 48 61 6c 6c  |    d_to In_Hall|
00005f00  5f 4f 66 5f 4d 74 5f 4b  69 6e 67 2c 0a 20 20 20  |_Of_Mt_King,.   |
00005f10  20 20 20 20 6e 5f 74 6f  20 49 6e 5f 48 61 6c 6c  |    n_to In_Hall|
00005f20  5f 4f 66 5f 4d 74 5f 4b  69 6e 67 2c 0a 20 20 20  |_Of_Mt_King,.   |
00005f30  20 20 20 20 75 5f 74 6f  0a 20 20 20 20 20 20 20  |    u_to.       |
00005f40  5b 3b 20 69 66 20 28 6c  61 72 67 65 5f 67 6f 6c  |[; if (large_gol|
00005f50  64 5f 6e 75 67 67 65 74  20 69 6e 20 70 6c 61 79  |d_nugget in play|
00005f60  65 72 29 0a 20 20 20 20  20 20 20 20 20 20 20 20  |er).            |
00005f70  20 20 22 54 68 65 20 64  6f 6d 65 20 69 73 20 75  |  "The dome is u|
00005f80  6e 63 6c 69 6d 62 61 62  6c 65 2e 22 3b 0a 20 20  |nclimbable.";.  |
00005f90  20 20 20 20 20 20 20 20  72 65 74 75 72 6e 20 41  |        return A|
00005fa0  74 5f 54 6f 70 5f 4f 66  5f 53 6d 61 6c 6c 5f 50  |t_Top_Of_Small_P|
00005fb0  69 74 3b 0a 20 20 20 20  20 20 20 5d 3b 0a 0a 4e  |it;.       ];..N|
00005fc0  65 61 72 62 79 20 53 74  61 69 72 63 61 73 65 20  |earby Staircase |
00005fd0  22 77 69 64 65 20 73 74  6f 6e 65 20 73 74 61 69  |"wide stone stai|
00005fe0  72 63 61 73 65 22 0a 20  20 77 69 74 68 20 64 65  |rcase".  with de|
00005ff0  73 63 72 69 70 74 69 6f  6e 20 22 54 68 65 20 73  |scription "The s|
00006000  74 61 69 72 63 61 73 65  20 6c 65 61 64 73 20 64  |taircase leads d|
00006010  6f 77 6e 2e 22 2c 0a 20  20 20 20 20 20 20 6e 61  |own.",.       na|
00006020  6d 65 20 22 73 74 61 69  72 22 20 22 73 74 61 69  |me "stair" "stai|
00006030  72 73 22 20 22 73 74 61  69 72 63 61 73 65 22 20  |rs" "staircase" |
00006040  22 77 69 64 65 22 20 22  73 74 6f 6e 65 22 0a 20  |"wide" "stone". |
00006050  20 68 61 73 20 20 73 63  65 6e 65 72 79 3b 0a 0a  | has  scenery;..|
00006060  4e 65 61 72 62 79 20 44  6f 6d 65 53 74 65 70 73  |Nearby DomeSteps|
00006070  20 22 72 6f 75 67 68 20  73 74 6f 6e 65 20 73 74  | "rough stone st|
00006080  65 70 73 22 0a 20 20 77  69 74 68 20 64 65 73 63  |eps".  with desc|
00006090  72 69 70 74 69 6f 6e 20  22 54 68 65 20 72 6f 75  |ription "The rou|
000060a0  67 68 20 73 74 6f 6e 65  20 73 74 65 70 73 20 6c  |gh stone steps l|
000060b0  65 61 64 20 75 70 20 74  68 65 20 64 6f 6d 65 2e  |ead up the dome.|
000060c0  22 2c 0a 20 20 20 20 20  20 20 6e 61 6d 65 20 22  |",.       name "|
000060d0  73 74 61 69 72 22 20 22  73 74 61 69 72 73 22 20  |stair" "stairs" |
000060e0  22 73 74 61 69 72 63 61  73 65 22 20 22 72 6f 75  |"staircase" "rou|
000060f0  67 68 22 20 22 73 74 6f  6e 65 22 0a 20 20 68 61  |gh" "stone".  ha|
00006100  73 20 20 73 63 65 6e 65  72 79 3b 0a 0a 4e 65 61  |s  scenery;..Nea|
00006110  72 62 79 20 44 6f 6d 65  20 22 64 6f 6d 65 22 0a  |rby Dome "dome".|
00006120  20 20 77 69 74 68 20 6e  61 6d 65 20 22 64 6f 6d  |  with name "dom|
00006130  65 22 2c 0a 20 20 20 20  20 20 20 62 65 66 6f 72  |e",.       befor|
00006140  65 0a 20 20 20 20 20 20  20 5b 3b 20 45 78 61 6d  |e.       [; Exam|
00006150  69 6e 65 3a 20 69 66 20  28 6c 61 72 67 65 5f 67  |ine: if (large_g|
00006160  6f 6c 64 5f 6e 75 67 67  65 74 20 69 6e 20 70 6c  |old_nugget in pl|
00006170  61 79 65 72 29 0a 20 20  20 20 20 20 20 20 20 20  |ayer).          |
00006180  20 20 20 20 20 20 20 20  20 20 20 22 49 27 6d 20  |           "I'm |
00006190  6e 6f 74 20 73 75 72 65  20 79 6f 75 27 6c 6c 20  |not sure you'll |
000061a0  62 65 20 61 62 6c 65 20  74 6f 20 67 65 74 20 75  |be able to get u|
000061b0  70 20 69 74 20 5c 0a 20  20 20 20 20 20 20 20 20  |p it \.         |
000061c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000061d0  20 20 20 20 20 20 20 77  69 74 68 20 77 68 61 74  |       with what|
000061e0  20 79 6f 75 27 72 65 20  63 61 72 72 79 69 6e 67  | you're carrying|
000061f0  2e 22 3b 0a 20 20 20 20  20 20 20 20 20 20 20 20  |.";.            |
00006200  20 20 20 20 20 20 20 22  49 74 20 6c 6f 6f 6b 73  |       "It looks|
00006210  20 6c 69 6b 65 20 79 6f  75 20 6d 69 67 68 74 20  | like you might |
00006220  62 65 20 61 62 6c 65 20  74 6f 20 63 6c 69 6d 62  |be able to climb|
00006230  20 75 70 20 69 74 2e 22  3b 0a 20 20 20 20 20 20  | up it.";.      |
00006240  20 20 20 43 6c 69 6d 62  3a 20 4d 6f 76 65 50 6c  |   Climb: MovePl|
00006250  61 79 65 72 28 75 5f 6f  62 6a 29 3b 20 72 74 72  |ayer(u_obj); rtr|
00006260  75 65 3b 0a 20 20 20 20  20 20 20 5d 2c 0a 20 20  |ue;.       ],.  |
00006270  68 61 73 20 20 73 63 65  6e 65 72 79 3b 0a 0a 0a  |has  scenery;...|
00006280  4f 62 6a 65 63 74 20 49  6e 5f 4e 75 67 67 65 74  |Object In_Nugget|
00006290  5f 4f 66 5f 47 6f 6c 64  5f 52 6f 6f 6d 20 22 4c  |_Of_Gold_Room "L|
000062a0  6f 77 20 52 6f 6f 6d 22  0a 20 20 77 69 74 68 20  |ow Room".  with |
000062b0  64 65 73 63 72 69 70 74  69 6f 6e 0a 20 20 20 20  |description.    |
000062c0  20 20 20 20 20 20 20 20  20 20 20 22 54 68 69 73  |           "This|
000062d0  20 69 73 20 61 20 6c 6f  77 20 72 6f 6f 6d 20 77  | is a low room w|
000062e0  69 74 68 20 61 20 63 72  75 64 65 20 6e 6f 74 65  |ith a crude note|
000062f0  20 6f 6e 20 74 68 65 20  5c 0a 20 20 20 20 20 20  | on the \.      |
00006300  20 20 20 20 20 20 20 20  20 77 61 6c 6c 3a 5e 5e  |         wall:^^|
00006310  7e 59 6f 75 20 77 6f 6e  27 74 20 67 65 74 20 69  |~You won't get i|
00006320  74 20 75 70 20 74 68 65  20 73 74 65 70 73 7e 2e  |t up the steps~.|
00006330  22 2c 0a 20 20 20 20 20  20 20 6e 5f 74 6f 20 49  |",.       n_to I|
00006340  6e 5f 48 61 6c 6c 5f 4f  66 5f 4d 69 73 74 73 3b  |n_Hall_Of_Mists;|
00006350  0a 0a 4e 65 61 72 62 79  20 4e 75 67 67 65 74 4e  |..Nearby NuggetN|
00006360  6f 74 65 20 22 6e 6f 74  65 22 0a 20 20 77 69 74  |ote "note".  wit|
00006370  68 20 64 65 73 63 72 69  70 74 69 6f 6e 20 22 54  |h description "T|
00006380  68 65 20 6e 6f 74 65 20  73 61 79 73 2c 20 7e 59  |he note says, ~Y|
00006390  6f 75 20 77 6f 6e 27 74  20 67 65 74 20 69 74 20  |ou won't get it |
000063a0  75 70 20 74 68 65 20 73  74 65 70 73 7e 2e 22 2c  |up the steps~.",|
000063b0  0a 20 20 20 20 20 20 20  6e 61 6d 65 20 22 6e 6f  |.       name "no|
000063c0  74 65 22 20 22 63 72 75  64 65 22 0a 20 20 68 61  |te" "crude".  ha|
000063d0  73 20 20 73 63 65 6e 65  72 79 3b 0a 0a 4e 65 61  |s  scenery;..Nea|
000063e0  72 62 79 20 6c 61 72 67  65 5f 67 6f 6c 64 5f 6e  |rby large_gold_n|
000063f0  75 67 67 65 74 20 22 6c  61 72 67 65 20 67 6f 6c  |ugget "large gol|
00006400  64 20 6e 75 67 67 65 74  22 0a 20 63 6c 61 73 73  |d nugget". class|
00006410  20 54 72 65 61 73 75 72  65 0a 20 20 77 69 74 68  | Treasure.  with|
00006420  20 64 65 73 63 72 69 70  74 69 6f 6e 20 22 49 74  | description "It|
00006430  27 73 20 61 20 6c 61 72  67 65 20 73 70 61 72 6b  |'s a large spark|
00006440  6c 69 6e 67 20 6e 75 67  67 65 74 20 6f 66 20 67  |ling nugget of g|
00006450  6f 6c 64 21 22 2c 0a 20  20 20 20 20 20 20 69 6e  |old!",.       in|
00006460  69 74 69 61 6c 20 22 54  68 65 72 65 20 69 73 20  |itial "There is |
00006470  61 20 6c 61 72 67 65 20  73 70 61 72 6b 6c 69 6e  |a large sparklin|
00006480  67 20 6e 75 67 67 65 74  20 6f 66 20 67 6f 6c 64  |g nugget of gold|
00006490  20 68 65 72 65 21 22 2c  0a 20 20 20 20 20 20 20  | here!",.       |
000064a0  6e 61 6d 65 20 22 67 6f  6c 64 22 20 22 6e 75 67  |name "gold" "nug|
000064b0  67 65 74 22 20 22 6c 61  72 67 65 22 20 22 68 65  |get" "large" "he|
000064c0  61 76 79 22 3b 0a 0a 0a  43 6c 61 73 73 20 20 46  |avy";...Class  F|
000064d0  69 73 73 75 72 65 52 6f  6f 6d 0a 20 20 77 69 74  |issureRoom.  wit|
000064e0  68 20 62 65 66 6f 72 65  0a 20 20 20 20 20 20 20  |h before.       |
000064f0  5b 3b 0a 20 20 20 20 20  20 20 20 20 20 4a 75 6d  |[;.          Jum|
00006500  70 3a 20 69 66 20 28 43  72 79 73 74 61 6c 42 72  |p: if (CrystalBr|
00006510  69 64 67 65 20 68 61 73  6e 74 20 61 62 73 65 6e  |idge hasnt absen|
00006520  74 29 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |t).             |
00006530  20 20 20 20 20 22 49 20  72 65 73 70 65 63 74 66  |     "I respectf|
00006540  75 6c 6c 79 20 73 75 67  67 65 73 74 20 79 6f 75  |ully suggest you|
00006550  20 67 6f 20 61 63 72 6f  73 73 20 74 68 65 20 5c  | go across the \|
00006560  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00006570  20 20 20 20 20 20 20 20  20 20 20 20 20 20 62 72  |              br|
00006580  69 64 67 65 20 69 6e 73  74 65 61 64 20 6f 66 20  |idge instead of |
00006590  6a 75 6d 70 69 6e 67 2e  22 3b 0a 20 20 20 20 20  |jumping.";.     |
000065a0  20 20 20 20 20 20 20 20  20 20 20 64 65 61 64 66  |           deadf|
000065b0  6c 61 67 3d 31 3b 0a 20  20 20 20 20 20 20 20 20  |lag=1;.         |
000065c0  20 20 20 20 20 20 20 22  59 6f 75 20 64 69 64 6e  |       "You didn|
000065d0  27 74 20 6d 61 6b 65 20  69 74 2e 22 3b 0a 20 20  |'t make it.";.  |
000065e0  20 20 20 20 20 5d 2c 0a  20 20 20 20 20 20 20 64  |     ],.       d|
000065f0  5f 74 6f 20 22 54 68 65  20 66 69 73 73 75 72 65  |_to "The fissure|
00006600  20 69 73 20 74 6f 6f 20  74 65 72 72 69 66 79 69  | is too terrifyi|
00006610  6e 67 21 22 3b 0a 0a 0a  4f 62 6a 65 63 74 20 4f  |ng!";...Object O|
00006620  6e 5f 45 61 73 74 5f 42  61 6e 6b 5f 4f 66 5f 46  |n_East_Bank_Of_F|
00006630  69 73 73 75 72 65 20 22  4f 6e 20 45 61 73 74 20  |issure "On East |
00006640  42 61 6e 6b 20 6f 66 20  46 69 73 73 75 72 65 22  |Bank of Fissure"|
00006650  0a 20 63 6c 61 73 73 20  46 69 73 73 75 72 65 52  |. class FissureR|
00006660  6f 6f 6d 0a 20 20 77 69  74 68 20 64 65 73 63 72  |oom.  with descr|
00006670  69 70 74 69 6f 6e 0a 20  20 20 20 20 20 20 20 20  |iption.         |
00006680  20 20 20 20 20 20 22 59  6f 75 20 61 72 65 20 6f  |      "You are o|
00006690  6e 20 74 68 65 20 65 61  73 74 20 62 61 6e 6b 20  |n the east bank |
000066a0  6f 66 20 61 20 66 69 73  73 75 72 65 20 73 6c 69  |of a fissure sli|
000066b0  63 69 6e 67 20 5c 0a 20  20 20 20 20 20 20 20 20  |cing \.         |
000066c0  20 20 20 20 20 20 63 6c  65 61 72 20 61 63 72 6f  |      clear acro|
000066d0  73 73 20 74 68 65 20 68  61 6c 6c 2e 20 54 68 65  |ss the hall. The|
000066e0  20 6d 69 73 74 20 69 73  20 71 75 69 74 65 20 74  | mist is quite t|
000066f0  68 69 63 6b 20 68 65 72  65 2c 20 5c 0a 20 20 20  |hick here, \.   |
00006700  20 20 20 20 20 20 20 20  20 20 20 20 61 6e 64 20  |            and |
00006710  74 68 65 20 66 69 73 73  75 72 65 20 69 73 20 74  |the fissure is t|
00006720  6f 6f 20 77 69 64 65 20  74 6f 20 6a 75 6d 70 2e  |oo wide to jump.|
00006730  22 2c 0a 20 20 20 20 20  20 20 65 5f 74 6f 20 49  |",.       e_to I|
00006740  6e 5f 48 61 6c 6c 5f 4f  66 5f 4d 69 73 74 73 2c  |n_Hall_Of_Mists,|
00006750  20 77 5f 74 6f 20 22 54  68 65 20 66 69 73 73 75  | w_to "The fissu|
00006760  72 65 20 69 73 20 74 6f  6f 20 77 69 64 65 2e 22  |re is too wide."|
00006770  3b 0a 0a 4f 62 6a 65 63  74 20 57 65 73 74 5f 53  |;..Object West_S|
00006780  69 64 65 5f 4f 66 5f 46  69 73 73 75 72 65 20 22  |ide_Of_Fissure "|
00006790  57 65 73 74 20 53 69 64  65 20 6f 66 20 46 69 73  |West Side of Fis|
000067a0  73 75 72 65 22 0a 20 63  6c 61 73 73 20 46 69 73  |sure". class Fis|
000067b0  73 75 72 65 52 6f 6f 6d  0a 20 20 77 69 74 68 20  |sureRoom.  with |
000067c0  64 65 73 63 72 69 70 74  69 6f 6e 0a 20 20 20 20  |description.    |
000067d0  20 20 20 20 20 20 20 20  20 20 20 22 59 6f 75 20  |           "You |
000067e0  61 72 65 20 6f 6e 20 74  68 65 20 77 65 73 74 20  |are on the west |
000067f0  73 69 64 65 20 6f 66 20  74 68 65 20 66 69 73 73  |side of the fiss|
00006800  75 72 65 20 69 6e 20 74  68 65 20 5c 0a 20 20 20  |ure in the \.   |
00006810  20 20 20 20 20 20 20 20  20 20 20 20 68 61 6c 6c  |            hall|
00006820  20 6f 66 20 6d 69 73 74  73 2e 22 2c 0a 20 20 20  | of mists.",.   |
00006830  20 20 20 20 77 5f 74 6f  20 41 74 5f 57 65 73 74  |    w_to At_West|
00006840  5f 45 6e 64 5f 4f 66 5f  48 61 6c 6c 5f 4f 66 5f  |_End_Of_Hall_Of_|
00006850  4d 69 73 74 73 2c 0a 20  20 20 20 20 20 20 65 5f  |Mists,.       e_|
00006860  74 6f 20 22 54 68 65 20  66 69 73 73 75 72 65 20  |to "The fissure |
00006870  69 73 20 74 6f 6f 20 77  69 64 65 2e 22 2c 0a 20  |is too wide.",. |
00006880  20 20 20 20 20 20 6e 5f  74 6f 20 41 74 5f 57 65  |      n_to At_We|
00006890  73 74 5f 45 6e 64 5f 4f  66 5f 48 61 6c 6c 5f 4f  |st_End_Of_Hall_O|
000068a0  66 5f 4d 69 73 74 73 2c  0a 20 20 20 20 20 20 20  |f_Mists,.       |
000068b0  62 65 66 6f 72 65 0a 20  20 20 20 20 20 20 5b 3b  |before.       [;|
000068c0  20 47 6f 3a 20 69 66 20  28 6c 6f 63 61 74 69 6f  | Go: if (locatio|
000068d0  6e 3d 3d 57 65 73 74 5f  53 69 64 65 5f 4f 66 5f  |n==West_Side_Of_|
000068e0  46 69 73 73 75 72 65 20  26 26 20 6e 6f 75 6e 3d  |Fissure && noun=|
000068f0  3d 6e 5f 6f 62 6a 29 0a  20 20 20 20 20 20 20 20  |=n_obj).        |
00006900  20 20 20 20 20 20 20 20  70 72 69 6e 74 20 22 59  |        print "Y|
00006910  6f 75 20 68 61 76 65 20  63 72 61 77 6c 65 64 20  |ou have crawled |
00006920  74 68 72 6f 75 67 68 20  61 20 76 65 72 79 20 6c  |through a very l|
00006930  6f 77 20 77 69 64 65 20  70 61 73 73 61 67 65 20  |ow wide passage |
00006940  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
00006950  20 20 20 20 20 20 20 20  20 70 61 72 61 6c 6c 65  |         paralle|
00006960  6c 20 74 6f 20 61 6e 64  20 6e 6f 72 74 68 20 6f  |l to and north o|
00006970  66 20 74 68 65 20 68 61  6c 6c 20 6f 66 20 6d 69  |f the hall of mi|
00006980  73 74 73 2e 5e 22 3b 0a  20 20 20 20 20 20 20 5d  |sts.^";.       ]|
00006990  3b 0a 0a 0a 4f 62 6a 65  63 74 20 43 72 79 73 74  |;...Object Cryst|
000069a0  61 6c 42 72 69 64 67 65  20 22 63 72 79 73 74 61  |alBridge "crysta|
000069b0  6c 20 62 72 69 64 67 65  22 0a 20 20 77 69 74 68  |l bridge".  with|
000069c0  20 69 6e 69 74 69 61 6c  20 22 41 20 63 72 79 73  | initial "A crys|
000069d0  74 61 6c 20 62 72 69 64  67 65 20 6e 6f 77 20 73  |tal bridge now s|
000069e0  70 61 6e 73 20 74 68 65  20 66 69 73 73 75 72 65  |pans the fissure|
000069f0  2e 22 2c 0a 20 20 20 20  20 20 20 64 65 73 63 72  |.",.       descr|
00006a00  69 70 74 69 6f 6e 20 22  49 74 20 73 70 61 6e 73  |iption "It spans|
00006a10  20 74 68 65 20 66 69 73  73 75 72 65 2c 20 74 68  | the fissure, th|
00006a20  65 72 65 62 79 20 70 72  6f 76 69 64 69 6e 67 20  |ereby providing |
00006a30  79 6f 75 20 61 20 77 61  79 20 61 63 72 6f 73 73  |you a way across|
00006a40  2e 22 2c 0a 20 20 20 20  20 20 20 64 6f 6f 72 5f  |.",.       door_|
00006a50  64 69 72 0a 20 20 20 20  20 20 20 5b 3b 20 69 66  |dir.       [; if|
00006a60  20 28 6c 6f 63 61 74 69  6f 6e 3d 3d 57 65 73 74  | (location==West|
00006a70  5f 53 69 64 65 5f 4f 66  5f 46 69 73 73 75 72 65  |_Side_Of_Fissure|
00006a80  29 20 72 65 74 75 72 6e  20 65 5f 74 6f 3b 20 72  |) return e_to; r|
00006a90  65 74 75 72 6e 20 77 5f  74 6f 3b 0a 20 20 20 20  |eturn w_to;.    |
00006aa0  20 20 20 5d 2c 0a 20 20  20 20 20 20 20 64 6f 6f  |   ],.       doo|
00006ab0  72 5f 74 6f 0a 20 20 20  20 20 20 20 5b 3b 20 69  |r_to.       [; i|
00006ac0  66 20 28 6c 6f 63 61 74  69 6f 6e 3d 3d 57 65 73  |f (location==Wes|
00006ad0  74 5f 53 69 64 65 5f 4f  66 5f 46 69 73 73 75 72  |t_Side_Of_Fissur|
00006ae0  65 29 20 72 65 74 75 72  6e 20 4f 6e 5f 45 61 73  |e) return On_Eas|
00006af0  74 5f 42 61 6e 6b 5f 4f  66 5f 46 69 73 73 75 72  |t_Bank_Of_Fissur|
00006b00  65 3b 0a 20 20 20 20 20  20 20 20 20 20 72 65 74  |e;.          ret|
00006b10  75 72 6e 20 57 65 73 74  5f 53 69 64 65 5f 4f 66  |urn West_Side_Of|
00006b20  5f 46 69 73 73 75 72 65  3b 0a 20 20 20 20 20 20  |_Fissure;.      |
00006b30  20 5d 2c 0a 20 20 20 20  20 20 20 64 6f 6f 72 5f  | ],.       door_|
00006b40  74 6f 20 30 2c 20 64 6f  6f 72 5f 64 69 72 20 30  |to 0, door_dir 0|
00006b50  2c 0a 20 20 20 20 20 20  20 6e 61 6d 65 20 22 63  |,.       name "c|
00006b60  72 79 73 74 61 6c 22 20  22 62 72 69 64 67 65 22  |rystal" "bridge"|
00006b70  2c 0a 20 20 20 20 20 20  20 66 6f 75 6e 64 5f 69  |,.       found_i|
00006b80  6e 20 4f 6e 5f 45 61 73  74 5f 42 61 6e 6b 5f 4f  |n On_East_Bank_O|
00006b90  66 5f 46 69 73 73 75 72  65 20 57 65 73 74 5f 53  |f_Fissure West_S|
00006ba0  69 64 65 5f 4f 66 5f 46  69 73 73 75 72 65 0a 20  |ide_Of_Fissure. |
00006bb0  20 68 61 73 20 20 73 74  61 74 69 63 20 64 6f 6f  | has  static doo|
00006bc0  72 20 6f 70 65 6e 20 61  62 73 65 6e 74 3b 0a 0a  |r open absent;..|
00006bd0  4f 62 6a 65 63 74 20 42  72 69 64 67 65 46 69 73  |Object BridgeFis|
00006be0  73 75 72 65 20 22 66 69  73 73 75 72 65 22 0a 20  |sure "fissure". |
00006bf0  20 77 69 74 68 20 6e 61  6d 65 20 22 77 69 64 65  | with name "wide|
00006c00  22 20 22 66 69 73 73 75  72 65 22 2c 0a 20 20 20  |" "fissure",.   |
00006c10  20 20 20 20 64 65 73 63  72 69 70 74 69 6f 6e 20  |    description |
00006c20  22 54 68 65 20 66 69 73  73 75 72 65 20 6c 6f 6f  |"The fissure loo|
00006c30  6b 73 20 66 61 72 20 74  6f 6f 20 77 69 64 65 20  |ks far too wide |
00006c40  74 6f 20 6a 75 6d 70 2e  22 2c 0a 20 20 20 20 20  |to jump.",.     |
00006c50  20 20 66 6f 75 6e 64 5f  69 6e 20 20 4f 6e 5f 45  |  found_in  On_E|
00006c60  61 73 74 5f 42 61 6e 6b  5f 4f 66 5f 46 69 73 73  |ast_Bank_Of_Fiss|
00006c70  75 72 65 20 20 57 65 73  74 5f 53 69 64 65 5f 4f  |ure  West_Side_O|
00006c80  66 5f 46 69 73 73 75 72  65 0a 20 20 68 61 73 20  |f_Fissure.  has |
00006c90  20 73 63 65 6e 65 72 79  3b 0a 0a 4f 62 6a 65 63  | scenery;..Objec|
00006ca0  74 20 73 65 76 65 72 61  6c 5f 64 69 61 6d 6f 6e  |t several_diamon|
00006cb0  64 73 20 22 64 69 61 6d  6f 6e 64 73 22 20 57 65  |ds "diamonds" We|
00006cc0  73 74 5f 53 69 64 65 5f  4f 66 5f 46 69 73 73 75  |st_Side_Of_Fissu|
00006cd0  72 65 0a 20 63 6c 61 73  73 20 54 72 65 61 73 75  |re. class Treasu|
00006ce0  72 65 0a 20 20 77 69 74  68 20 61 72 74 69 63 6c  |re.  with articl|
00006cf0  65 20 22 73 6f 6d 65 22  2c 0a 20 20 20 20 20 20  |e "some",.      |
00006d00  20 64 65 73 63 72 69 70  74 69 6f 6e 20 22 54 68  | description "Th|
00006d10  65 79 20 6c 6f 6f 6b 20  74 6f 20 62 65 20 6f 66  |ey look to be of|
00006d20  20 74 68 65 20 68 69 67  68 65 73 74 20 71 75 61  | the highest qua|
00006d30  6c 69 74 79 21 22 2c 0a  20 20 20 20 20 20 20 69  |lity!",.       i|
00006d40  6e 69 74 69 61 6c 20 22  54 68 65 72 65 20 61 72  |nitial "There ar|
00006d50  65 20 64 69 61 6d 6f 6e  64 73 20 68 65 72 65 21  |e diamonds here!|
00006d60  22 2c 0a 20 20 20 20 20  20 20 6e 61 6d 65 20 22  |",.       name "|
00006d70  64 69 61 6d 6f 6e 64 22  20 22 64 69 61 6d 6f 6e  |diamond" "diamon|
00006d80  64 73 22 20 22 73 65 76  65 72 61 6c 22 20 22 68  |ds" "several" "h|
00006d90  69 67 68 22 20 22 71 75  61 6c 69 74 79 22 3b 0a  |igh" "quality";.|
00006da0  0a 4f 62 6a 65 63 74 20  41 74 5f 57 65 73 74 5f  |.Object At_West_|
00006db0  45 6e 64 5f 4f 66 5f 48  61 6c 6c 5f 4f 66 5f 4d  |End_Of_Hall_Of_M|
00006dc0  69 73 74 73 20 22 41 74  20 57 65 73 74 20 45 6e  |ists "At West En|
00006dd0  64 20 6f 66 20 48 61 6c  6c 20 6f 66 20 4d 69 73  |d of Hall of Mis|
00006de0  74 73 22 0a 20 20 77 69  74 68 20 64 65 73 63 72  |ts".  with descr|
00006df0  69 70 74 69 6f 6e 0a 20  20 20 20 20 20 20 20 20  |iption.         |
00006e00  20 20 20 20 20 20 22 59  6f 75 20 61 72 65 20 61  |      "You are a|
00006e10  74 20 74 68 65 20 77 65  73 74 20 65 6e 64 20 6f  |t the west end o|
00006e20  66 20 74 68 65 20 68 61  6c 6c 20 6f 66 20 6d 69  |f the hall of mi|
00006e30  73 74 73 2e 20 20 5c 0a  20 20 20 20 20 20 20 20  |sts.  \.        |
00006e40  20 20 20 20 20 20 20 41  20 6c 6f 77 20 77 69 64  |       A low wid|
00006e50  65 20 63 72 61 77 6c 20  63 6f 6e 74 69 6e 75 65  |e crawl continue|
00006e60  73 20 77 65 73 74 20 61  6e 64 20 61 6e 6f 74 68  |s west and anoth|
00006e70  65 72 20 67 6f 65 73 20  5c 0a 20 20 20 20 20 20  |er goes \.      |
00006e80  20 20 20 20 20 20 20 20  20 6e 6f 72 74 68 2e 20  |         north. |
00006e90  20 54 6f 20 74 68 65 20  73 6f 75 74 68 20 69 73  | To the south is|
00006ea0  20 61 20 6c 69 74 74 6c  65 20 70 61 73 73 61 67  | a little passag|
00006eb0  65 20 36 20 66 65 65 74  20 6f 66 66 20 5c 0a 20  |e 6 feet off \. |
00006ec0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 74 68  |              th|
00006ed0  65 20 66 6c 6f 6f 72 2e  22 2c 0a 20 20 20 20 20  |e floor.",.     |
00006ee0  20 20 73 5f 74 6f 20 41  6c 69 6b 65 5f 4d 61 7a  |  s_to Alike_Maz|
00006ef0  65 5f 31 2c 0a 20 20 20  20 20 20 20 75 5f 74 6f  |e_1,.       u_to|
00006f00  20 41 6c 69 6b 65 5f 4d  61 7a 65 5f 31 2c 0a 20  | Alike_Maze_1,. |
00006f10  20 20 20 20 20 20 65 5f  74 6f 20 57 65 73 74 5f  |      e_to West_|
00006f20  53 69 64 65 5f 4f 66 5f  46 69 73 73 75 72 65 2c  |Side_Of_Fissure,|
00006f30  0a 20 20 20 20 20 20 20  77 5f 74 6f 20 41 74 5f  |.       w_to At_|
00006f40  45 61 73 74 5f 45 6e 64  5f 4f 66 5f 4c 6f 6e 67  |East_End_Of_Long|
00006f50  5f 48 61 6c 6c 2c 0a 20  20 20 20 20 20 20 6e 5f  |_Hall,.       n_|
00006f60  74 6f 20 57 65 73 74 5f  53 69 64 65 5f 4f 66 5f  |to West_Side_Of_|
00006f70  46 69 73 73 75 72 65 2c  0a 20 20 20 20 20 20 20  |Fissure,.       |
00006f80  62 65 66 6f 72 65 0a 20  20 20 20 20 20 20 5b 3b  |before.       [;|
00006f90  20 47 6f 3a 20 69 66 20  28 6e 6f 75 6e 3d 3d 6e  | Go: if (noun==n|
00006fa0  5f 6f 62 6a 29 0a 20 20  20 20 20 20 20 20 20 20  |_obj).          |
00006fb0  20 20 20 20 20 20 70 72  69 6e 74 20 22 59 6f 75  |      print "You|
00006fc0  20 68 61 76 65 20 63 72  61 77 6c 65 64 20 74 68  | have crawled th|
00006fd0  72 6f 75 67 68 20 61 20  76 65 72 79 20 6c 6f 77  |rough a very low|
00006fe0  20 77 69 64 65 20 70 61  73 73 61 67 65 20 5c 0a  | wide passage \.|
00006ff0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00007000  20 20 20 20 20 20 20 70  61 72 61 6c 6c 65 6c 20  |       parallel |
00007010  74 6f 20 61 6e 64 20 6e  6f 72 74 68 20 6f 66 20  |to and north of |
00007020  74 68 65 20 68 61 6c 6c  20 6f 66 20 6d 69 73 74  |the hall of mist|
00007030  73 2e 5e 22 3b 0a 20 20  20 20 20 20 20 5d 3b 0a  |s.^";.       ];.|
00007040  0a 21 20 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.! -------------|
00007050  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00007080  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 0a  |---------------.|
00007090  21 20 20 20 4c 6f 6e 67  20 48 61 6c 6c 20 74 6f  |!   Long Hall to|
000070a0  20 74 68 65 20 77 65 73  74 20 6f 66 20 74 68 65  | the west of the|
000070b0  20 48 61 6c 6c 20 6f 66  20 4d 69 73 74 73 0a 21  | Hall of Mists.!|
000070c0  20 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  | ---------------|
000070d0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00007100  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 0a 0a 4f  |-------------..O|
00007110  62 6a 65 63 74 20 41 74  5f 45 61 73 74 5f 45 6e  |bject At_East_En|
00007120  64 5f 4f 66 5f 4c 6f 6e  67 5f 48 61 6c 6c 20 22  |d_Of_Long_Hall "|
00007130  41 74 20 45 61 73 74 20  45 6e 64 20 6f 66 20 4c  |At East End of L|
00007140  6f 6e 67 20 48 61 6c 6c  22 0a 20 20 77 69 74 68  |ong Hall".  with|
00007150  20 64 65 73 63 72 69 70  74 69 6f 6e 0a 20 20 20  | description.   |
00007160  20 20 20 20 20 20 20 20  20 20 20 20 22 59 6f 75  |            "You|
00007170  20 61 72 65 20 61 74 20  74 68 65 20 65 61 73 74  | are at the east|
00007180  20 65 6e 64 20 6f 66 20  61 20 76 65 72 79 20 6c  | end of a very l|
00007190  6f 6e 67 20 68 61 6c 6c  20 5c 0a 20 20 20 20 20  |ong hall \.     |
000071a0  20 20 20 20 20 20 20 20  20 20 61 70 70 61 72 65  |          appare|
000071b0  6e 74 6c 79 20 77 69 74  68 6f 75 74 20 73 69 64  |ntly without sid|
000071c0  65 20 63 68 61 6d 62 65  72 73 2e 20 20 54 6f 20  |e chambers.  To |
000071d0  74 68 65 20 65 61 73 74  20 61 20 6c 6f 77 20 5c  |the east a low \|
000071e0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000071f0  77 69 64 65 20 63 72 61  77 6c 20 73 6c 61 6e 74  |wide crawl slant|
00007200  73 20 75 70 2e 20 20 54  6f 20 74 68 65 20 6e 6f  |s up.  To the no|
00007210  72 74 68 20 61 20 72 6f  75 6e 64 20 74 77 6f 20  |rth a round two |
00007220  66 6f 6f 74 20 5c 0a 20  20 20 20 20 20 20 20 20  |foot \.         |
00007230  20 20 20 20 20 20 68 6f  6c 65 20 73 6c 61 6e 74  |      hole slant|
00007240  73 20 64 6f 77 6e 2e 22  2c 0a 20 20 20 20 20 20  |s down.",.      |
00007250  20 65 5f 74 6f 20 41 74  5f 57 65 73 74 5f 45 6e  | e_to At_West_En|
00007260  64 5f 4f 66 5f 48 61 6c  6c 5f 4f 66 5f 4d 69 73  |d_Of_Hall_Of_Mis|
00007270  74 73 2c 0a 20 20 20 20  20 20 20 75 5f 74 6f 20  |ts,.       u_to |
00007280  41 74 5f 57 65 73 74 5f  45 6e 64 5f 4f 66 5f 48  |At_West_End_Of_H|
00007290  61 6c 6c 5f 4f 66 5f 4d  69 73 74 73 2c 0a 20 20  |all_Of_Mists,.  |
000072a0  20 20 20 20 20 77 5f 74  6f 20 41 74 5f 57 65 73  |     w_to At_Wes|
000072b0  74 5f 45 6e 64 5f 4f 66  5f 4c 6f 6e 67 5f 48 61  |t_End_Of_Long_Ha|
000072c0  6c 6c 2c 0a 20 20 20 20  20 20 20 6e 5f 74 6f 20  |ll,.       n_to |
000072d0  43 72 6f 73 73 6f 76 65  72 2c 0a 20 20 20 20 20  |Crossover,.     |
000072e0  20 20 64 5f 74 6f 20 43  72 6f 73 73 6f 76 65 72  |  d_to Crossover|
000072f0  3b 0a 0a 4f 62 6a 65 63  74 20 41 74 5f 57 65 73  |;..Object At_Wes|
00007300  74 5f 45 6e 64 5f 4f 66  5f 4c 6f 6e 67 5f 48 61  |t_End_Of_Long_Ha|
00007310  6c 6c 20 22 41 74 20 57  65 73 74 20 45 6e 64 20  |ll "At West End |
00007320  6f 66 20 4c 6f 6e 67 20  48 61 6c 6c 22 0a 20 20  |of Long Hall".  |
00007330  77 69 74 68 20 64 65 73  63 72 69 70 74 69 6f 6e  |with description|
00007340  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00007350  22 59 6f 75 20 61 72 65  20 61 74 20 74 68 65 20  |"You are at the |
00007360  77 65 73 74 20 65 6e 64  20 6f 66 20 61 20 76 65  |west end of a ve|
00007370  72 79 20 6c 6f 6e 67 20  5c 0a 20 20 20 20 20 20  |ry long \.      |
00007380  20 20 20 20 20 20 20 20  20 66 65 61 74 75 72 65  |         feature|
00007390  6c 65 73 73 20 68 61 6c  6c 2e 20 20 54 68 65 20  |less hall.  The |
000073a0  68 61 6c 6c 20 6a 6f 69  6e 73 20 75 70 20 77 69  |hall joins up wi|
000073b0  74 68 20 61 20 6e 61 72  72 6f 77 20 5c 0a 20 20  |th a narrow \.  |
000073c0  20 20 20 20 20 20 20 20  20 20 20 20 20 6e 6f 72  |             nor|
000073d0  74 68 2f 73 6f 75 74 68  20 70 61 73 73 61 67 65  |th/south passage|
000073e0  2e 22 2c 0a 20 20 20 20  20 20 20 65 5f 74 6f 20  |.",.       e_to |
000073f0  41 74 5f 45 61 73 74 5f  45 6e 64 5f 4f 66 5f 4c  |At_East_End_Of_L|
00007400  6f 6e 67 5f 48 61 6c 6c  2c 0a 20 20 20 20 20 20  |ong_Hall,.      |
00007410  20 73 5f 74 6f 20 44 69  66 66 65 72 65 6e 74 5f  | s_to Different_|
00007420  4d 61 7a 65 5f 31 2c 0a  20 20 20 20 20 20 20 6e  |Maze_1,.       n|
00007430  5f 74 6f 20 43 72 6f 73  73 6f 76 65 72 3b 0a 0a  |_to Crossover;..|
00007440  4f 62 6a 65 63 74 20 43  72 6f 73 73 6f 76 65 72  |Object Crossover|
00007450  20 22 4e 2f 53 20 61 6e  64 20 45 2f 57 20 43 72  | "N/S and E/W Cr|
00007460  6f 73 73 6f 76 65 72 22  0a 20 20 77 69 74 68 20  |ossover".  with |
00007470  64 65 73 63 72 69 70 74  69 6f 6e 0a 20 20 20 20  |description.    |
00007480  20 20 20 20 20 20 20 20  20 20 20 22 59 6f 75 20  |           "You |
00007490  61 72 65 20 61 74 20 61  20 63 72 6f 73 73 6f 76  |are at a crossov|
000074a0  65 72 20 6f 66 20 61 20  68 69 67 68 20 4e 2f 53  |er of a high N/S|
000074b0  20 70 61 73 73 61 67 65  20 5c 0a 20 20 20 20 20  | passage \.     |
000074c0  20 20 20 20 20 20 20 20  20 20 61 6e 64 20 61 20  |          and a |
000074d0  6c 6f 77 20 45 2f 57 20  6f 6e 65 2e 22 2c 0a 20  |low E/W one.",. |
000074e0  20 20 20 20 20 20 77 5f  74 6f 20 41 74 5f 45 61  |      w_to At_Ea|
000074f0  73 74 5f 45 6e 64 5f 4f  66 5f 4c 6f 6e 67 5f 48  |st_End_Of_Long_H|
00007500  61 6c 6c 2c 0a 20 20 20  20 20 20 20 6e 5f 74 6f  |all,.       n_to|
00007510  20 44 65 61 64 5f 45 6e  64 5f 37 2c 0a 20 20 20  | Dead_End_7,.   |
00007520  20 20 20 20 65 5f 74 6f  20 49 6e 5f 57 65 73 74  |    e_to In_West|
00007530  5f 53 69 64 65 5f 43 68  61 6d 62 65 72 2c 0a 20  |_Side_Chamber,. |
00007540  20 20 20 20 20 20 73 5f  74 6f 20 41 74 5f 57 65  |      s_to At_We|
00007550  73 74 5f 45 6e 64 5f 4f  66 5f 4c 6f 6e 67 5f 48  |st_End_Of_Long_H|
00007560  61 6c 6c 3b 0a 0a 4e 65  61 72 62 79 20 54 68 65  |all;..Nearby The|
00007570  43 72 6f 73 73 6f 76 65  72 20 22 63 72 6f 73 73  |Crossover "cross|
00007580  6f 76 65 72 22 0a 20 20  77 69 74 68 20 64 65 73  |over".  with des|
00007590  63 72 69 70 74 69 6f 6e  20 22 59 6f 75 20 6b 6e  |cription "You kn|
000075a0  6f 77 20 61 73 20 6d 75  63 68 20 61 73 20 49 20  |ow as much as I |
000075b0  64 6f 20 61 74 20 74 68  69 73 20 70 6f 69 6e 74  |do at this point|
000075c0  2e 22 2c 0a 20 20 20 20  20 20 20 6e 61 6d 65 20  |.",.       name |
000075d0  22 63 72 6f 73 73 6f 76  65 72 22 20 22 6f 76 65  |"crossover" "ove|
000075e0  72 22 20 22 63 72 6f 73  73 22 0a 20 20 68 61 73  |r" "cross".  has|
000075f0  20 20 73 63 65 6e 65 72  79 3b 0a 0a 0a 43 6c 61  |  scenery;...Cla|
00007600  73 73 20 20 44 65 61 64  45 6e 64 52 6f 6f 6d 0a  |ss  DeadEndRoom.|
00007610  20 20 77 69 74 68 20 64  65 73 63 72 69 70 74 69  |  with descripti|
00007620  6f 6e 20 22 59 6f 75 20  68 61 76 65 20 72 65 61  |on "You have rea|
00007630  63 68 65 64 20 61 20 64  65 61 64 20 65 6e 64 2e  |ched a dead end.|
00007640  22 2c 0a 20 20 20 20 20  20 20 63 61 6e 74 5f 67  |",.       cant_g|
00007650  6f 20 22 59 6f 75 27 6c  6c 20 68 61 76 65 20 74  |o "You'll have t|
00007660  6f 20 67 6f 20 62 61 63  6b 20 74 68 65 20 77 61  |o go back the wa|
00007670  79 20 79 6f 75 20 63 61  6d 65 2e 22 3b 0a 0a 4f  |y you came.";..O|
00007680  62 6a 65 63 74 20 44 65  61 64 5f 45 6e 64 5f 37  |bject Dead_End_7|
00007690  20 22 44 65 61 64 20 45  6e 64 22 0a 20 63 6c 61  | "Dead End". cla|
000076a0  73 73 20 44 65 61 64 45  6e 64 52 6f 6f 6d 0a 20  |ss DeadEndRoom. |
000076b0  20 77 69 74 68 20 73 5f  74 6f 20 43 72 6f 73 73  | with s_to Cross|
000076c0  6f 76 65 72 2c 0a 20 20  20 20 20 20 20 6f 75 74  |over,.       out|
000076d0  5f 74 6f 20 43 72 6f 73  73 6f 76 65 72 3b 0a 0a  |_to Crossover;..|
000076e0  21 20 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |! --------------|
000076f0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00007720  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 0a 21  |--------------.!|
00007730  20 20 20 54 68 65 20 48  61 6c 6c 20 6f 66 20 74  |   The Hall of t|
00007740  68 65 20 4d 6f 75 6e 74  61 69 6e 20 4b 69 6e 67  |he Mountain King|
00007750  20 61 6e 64 20 73 69 64  65 20 63 68 61 6d 62 65  | and side chambe|
00007760  72 73 0a 21 20 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |rs.! -----------|
00007770  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000077b0  2d 0a 0a 4f 62 6a 65 63  74 20 49 6e 5f 48 61 6c  |-..Object In_Hal|
000077c0  6c 5f 4f 66 5f 4d 74 5f  4b 69 6e 67 20 22 48 61  |l_Of_Mt_King "Ha|
000077d0  6c 6c 20 6f 66 20 74 68  65 20 4d 6f 75 6e 74 61  |ll of the Mounta|
000077e0  69 6e 20 4b 69 6e 67 22  0a 20 20 77 69 74 68 20  |in King".  with |
000077f0  64 65 73 63 72 69 70 74  69 6f 6e 0a 20 20 20 20  |description.    |
00007800  20 20 20 20 20 20 20 20  20 20 20 22 59 6f 75 20  |           "You |
00007810  61 72 65 20 69 6e 20 74  68 65 20 68 61 6c 6c 20  |are in the hall |
00007820  6f 66 20 74 68 65 20 6d  6f 75 6e 74 61 69 6e 20  |of the mountain |
00007830  6b 69 6e 67 2c 20 77 69  74 68 20 5c 0a 20 20 20  |king, with \.   |
00007840  20 20 20 20 20 20 20 20  20 20 20 20 70 61 73 73  |            pass|
00007850  61 67 65 73 20 6f 66 66  20 69 6e 20 61 6c 6c 20  |ages off in all |
00007860  64 69 72 65 63 74 69 6f  6e 73 2e 22 2c 0a 20 20  |directions.",.  |
00007870  20 20 20 20 20 63 61 6e  74 5f 67 6f 20 22 57 65  |     cant_go "We|
00007880  6c 6c 2c 20 70 65 72 68  61 70 73 20 6e 6f 74 20  |ll, perhaps not |
00007890  71 75 69 74 65 20 61 6c  6c 20 64 69 72 65 63 74  |quite all direct|
000078a0  69 6f 6e 73 2e 22 2c 0a  20 20 20 20 20 20 20 75  |ions.",.       u|
000078b0  5f 74 6f 20 49 6e 5f 48  61 6c 6c 5f 4f 66 5f 4d  |_to In_Hall_Of_M|
000078c0  69 73 74 73 2c 0a 20 20  20 20 20 20 20 65 5f 74  |ists,.       e_t|
000078d0  6f 20 49 6e 5f 48 61 6c  6c 5f 4f 66 5f 4d 69 73  |o In_Hall_Of_Mis|
000078e0  74 73 2c 0a 20 20 20 20  20 20 20 6e 5f 74 6f 20  |ts,.       n_to |
000078f0  4c 6f 77 5f 4e 5f 53 5f  50 61 73 73 61 67 65 2c  |Low_N_S_Passage,|
00007900  0a 20 20 20 20 20 20 20  73 5f 74 6f 20 49 6e 5f  |.       s_to In_|
00007910  53 6f 75 74 68 5f 53 69  64 65 5f 43 68 61 6d 62  |South_Side_Chamb|
00007920  65 72 2c 0a 20 20 20 20  20 20 20 77 5f 74 6f 20  |er,.       w_to |
00007930  49 6e 5f 57 65 73 74 5f  53 69 64 65 5f 43 68 61  |In_West_Side_Cha|
00007940  6d 62 65 72 2c 0a 20 20  20 20 20 20 20 73 77 5f  |mber,.       sw_|
00007950  74 6f 20 49 6e 5f 53 65  63 72 65 74 5f 45 5f 57  |to In_Secret_E_W|
00007960  5f 43 61 6e 79 6f 6e 2c  0a 20 20 20 20 20 20 20  |_Canyon,.       |
00007970  62 65 66 6f 72 65 0a 20  20 20 20 20 20 20 5b 3b  |before.       [;|
00007980  20 47 6f 3a 20 69 66 20  28 53 6e 61 6b 65 20 6e  | Go: if (Snake n|
00007990  6f 74 69 6e 20 6e 6f 74  68 69 6e 67 0a 20 20 20  |otin nothing.   |
000079a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 26  |               &|
000079b0  26 20 28 28 6e 6f 75 6e  3d 3d 6e 5f 6f 62 6a 20  |& ((noun==n_obj |
000079c0  6f 72 20 73 5f 6f 62 6a  20 6f 72 20 77 5f 6f 62  |or s_obj or w_ob|
000079d0  6a 29 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |j).             |
000079e0  20 20 20 20 20 20 20 20  20 7c 7c 20 28 6e 6f 75  |         || (nou|
000079f0  6e 3d 3d 73 77 5f 6f 62  6a 20 26 26 20 72 61 6e  |n==sw_obj && ran|
00007a00  64 6f 6d 28 31 30 30 29  3c 3d 33 35 29 29 29 0a  |dom(100)<=35))).|
00007a10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00007a20  20 20 22 59 6f 75 20 63  61 6e 27 74 20 67 65 74  |  "You can't get|
00007a30  20 62 79 20 74 68 65 20  73 6e 61 6b 65 2e 22 3b  | by the snake.";|
00007a40  0a 20 20 20 20 20 20 20  5d 3b 0a 0a 4e 65 61 72  |.       ];..Near|
00007a50  62 79 20 53 6e 61 6b 65  20 22 73 6e 61 6b 65 22  |by Snake "snake"|
00007a60  0a 20 20 77 69 74 68 20  64 65 73 63 72 69 70 74  |.  with descript|
00007a70  69 6f 6e 20 22 49 20 77  6f 75 6c 64 6e 27 74 20  |ion "I wouldn't |
00007a80  6d 65 73 73 20 77 69 74  68 20 69 74 20 69 66 20  |mess with it if |
00007a90  49 20 77 65 72 65 20 79  6f 75 2e 22 2c 0a 20 20  |I were you.",.  |
00007aa0  20 20 20 20 20 69 6e 69  74 69 61 6c 20 22 41 20  |     initial "A |
00007ab0  68 75 67 65 20 67 72 65  65 6e 20 66 69 65 72 63  |huge green fierc|
00007ac0  65 20 73 6e 61 6b 65 20  62 61 72 73 20 74 68 65  |e snake bars the|
00007ad0  20 77 61 79 21 22 2c 0a  20 20 20 20 20 20 20 6e  | way!",.       n|
00007ae0  61 6d 65 20 22 73 6e 61  6b 65 22 20 22 63 6f 62  |ame "snake" "cob|
00007af0  72 61 22 20 22 61 73 70  22 20 22 68 75 67 65 22  |ra" "asp" "huge"|
00007b00  20 22 66 69 65 72 63 65  22 20 22 67 72 65 65 6e  | "fierce" "green|
00007b10  22 0a 20 20 20 20 20 20  20 20 20 20 20 20 22 66  |".            "f|
00007b20  65 72 6f 63 69 6f 75 73  22 20 22 76 65 6e 65 6d  |erocious" "venem|
00007b30  6f 75 73 22 20 22 76 65  6e 6f 6d 6f 75 73 22 20  |ous" "venomous" |
00007b40  22 6c 61 72 67 65 22 20  22 62 69 67 22 20 22 6b  |"large" "big" "k|
00007b50  69 6c 6c 65 72 22 2c 0a  20 20 20 20 20 20 20 6c  |iller",.       l|
00007b60  69 66 65 0a 20 20 20 20  20 20 20 5b 3b 20 4f 72  |ife.       [; Or|
00007b70  64 65 72 2c 20 41 73 6b  2c 20 41 6e 73 77 65 72  |der, Ask, Answer|
00007b80  3a 20 22 48 69 73 73 21  22 3b 0a 20 20 20 20 20  |: "Hiss!";.     |
00007b90  20 20 20 20 54 68 72 6f  77 41 74 3a 20 69 66 20  |    ThrowAt: if |
00007ba0  28 6e 6f 75 6e 3d 3d 61  78 65 29 20 3c 3c 41 74  |(noun==axe) <<At|
00007bb0  74 61 63 6b 20 73 65 6c  66 3e 3e 3b 0a 20 20 20  |tack self>>;.   |
00007bc0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 3c  |               <|
00007bd0  3c 47 69 76 65 20 6e 6f  75 6e 20 73 65 6c 66 3e  |<Give noun self>|
00007be0  3e 3b 0a 20 20 20 20 20  20 20 20 20 47 69 76 65  |>;.         Give|
00007bf0  3a 20 69 66 20 28 6e 6f  75 6e 3d 3d 6c 69 74 74  |: if (noun==litt|
00007c00  6c 65 5f 62 69 72 64 29  0a 20 20 20 20 20 20 20  |le_bird).       |
00007c10  20 20 20 20 20 20 20 20  7b 20 20 20 72 65 6d 6f  |        {   remo|
00007c20  76 65 20 6c 69 74 74 6c  65 5f 62 69 72 64 3b 0a  |ve little_bird;.|
00007c30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00007c40  20 20 20 22 54 68 65 20  73 6e 61 6b 65 20 68 61  |   "The snake ha|
00007c50  73 20 6e 6f 77 20 64 65  76 6f 75 72 65 64 20 79  |s now devoured y|
00007c60  6f 75 72 20 62 69 72 64  2e 22 3b 0a 20 20 20 20  |our bird.";.    |
00007c70  20 20 20 20 20 20 20 20  20 20 20 7d 0a 20 20 20  |           }.   |
00007c80  20 20 20 20 20 20 20 20  20 20 20 20 22 54 68 65  |            "The|
00007c90  72 65 27 73 20 6e 6f 74  68 69 6e 67 20 68 65 72  |re's nothing her|
00007ca0  65 20 69 74 20 77 61 6e  74 73 20 74 6f 20 65 61  |e it wants to ea|
00007cb0  74 20 28 65 78 63 65 70  74 20 5c 0a 20 20 20 20  |t (except \.    |
00007cc0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 70  |               p|
00007cd0  65 72 68 61 70 73 20 79  6f 75 29 2e 22 3b 0a 20  |erhaps you).";. |
00007ce0  20 20 20 20 20 20 20 20  41 74 74 61 63 6b 3a 20  |        Attack: |
00007cf0  22 41 74 74 61 63 6b 69  6e 67 20 74 68 65 20 73  |"Attacking the s|
00007d00  6e 61 6b 65 20 62 6f 74  68 20 64 6f 65 73 6e 27  |nake both doesn'|
00007d10  74 20 77 6f 72 6b 20 5c  0a 20 20 20 20 20 20 20  |t work \.       |
00007d20  20 20 20 20 20 20 20 20  20 20 20 20 61 6e 64 20  |            and |
00007d30  69 73 20 76 65 72 79 20  64 61 6e 67 65 72 6f 75  |is very dangerou|
00007d40  73 2e 22 3b 0a 20 20 20  20 20 20 20 20 20 54 61  |s.";.         Ta|
00007d50  6b 65 3a 20 64 65 61 64  66 6c 61 67 3d 31 3b 20  |ke: deadflag=1; |
00007d60  22 49 74 20 74 61 6b 65  73 20 79 6f 75 20 69 6e  |"It takes you in|
00007d70  73 74 65 61 64 2e 20 20  47 6c 72 70 21 22 3b 0a  |stead.  Glrp!";.|
00007d80  20 20 20 20 20 20 20 5d  2c 0a 20 20 68 61 73 20  |       ],.  has |
00007d90  20 61 6e 69 6d 61 74 65  3b 0a 0a 0a 4f 62 6a 65  | animate;...Obje|
00007da0  63 74 20 4c 6f 77 5f 4e  5f 53 5f 50 61 73 73 61  |ct Low_N_S_Passa|
00007db0  67 65 20 22 4c 6f 77 20  4e 2f 53 20 50 61 73 73  |ge "Low N/S Pass|
00007dc0  61 67 65 22 0a 20 20 77  69 74 68 20 64 65 73 63  |age".  with desc|
00007dd0  72 69 70 74 69 6f 6e 0a  20 20 20 20 20 20 20 20  |ription.        |
00007de0  20 20 20 20 20 20 20 22  59 6f 75 20 61 72 65 20  |       "You are |
00007df0  69 6e 20 61 20 6c 6f 77  20 4e 2f 53 20 70 61 73  |in a low N/S pas|
00007e00  73 61 67 65 20 61 74 20  61 20 68 6f 6c 65 20 69  |sage at a hole i|
00007e10  6e 20 74 68 65 20 5c 0a  20 20 20 20 20 20 20 20  |n the \.        |
00007e20  20 20 20 20 20 20 20 66  6c 6f 6f 72 2e 20 20 54  |       floor.  T|
00007e30  68 65 20 68 6f 6c 65 20  67 6f 65 73 20 64 6f 77  |he hole goes dow|
00007e40  6e 20 74 6f 20 61 6e 20  45 2f 57 20 70 61 73 73  |n to an E/W pass|
00007e50  61 67 65 2e 22 2c 0a 20  20 20 20 20 20 20 73 5f  |age.",.       s_|
00007e60  74 6f 20 49 6e 5f 48 61  6c 6c 5f 4f 66 5f 4d 74  |to In_Hall_Of_Mt|
00007e70  5f 4b 69 6e 67 2c 0a 20  20 20 20 20 20 20 64 5f  |_King,.       d_|
00007e80  74 6f 20 49 6e 5f 44 69  72 74 79 5f 50 61 73 73  |to In_Dirty_Pass|
00007e90  61 67 65 2c 0a 20 20 20  20 20 20 20 6e 5f 74 6f  |age,.       n_to|
00007ea0  20 41 74 5f 59 32 3b 0a  0a 4e 65 61 72 62 79 20  | At_Y2;..Nearby |
00007eb0  62 61 72 73 5f 6f 66 5f  73 69 6c 76 65 72 20 22  |bars_of_silver "|
00007ec0  62 61 72 73 20 6f 66 20  73 69 6c 76 65 72 22 0a  |bars of silver".|
00007ed0  20 63 6c 61 73 73 20 54  72 65 61 73 75 72 65 0a  | class Treasure.|
00007ee0  20 20 77 69 74 68 20 64  65 73 63 72 69 70 74 69  |  with descripti|
00007ef0  6f 6e 20 22 54 68 65 79  27 72 65 20 70 72 6f 62  |on "They're prob|
00007f00  61 62 6c 79 20 77 6f 72  74 68 20 61 20 66 6f 72  |ably worth a for|
00007f10  74 75 6e 65 21 22 2c 0a  20 20 20 20 20 20 20 69  |tune!",.       i|
00007f20  6e 69 74 69 61 6c 20 22  54 68 65 72 65 20 61 72  |nitial "There ar|
00007f30  65 20 62 61 72 73 20 6f  66 20 73 69 6c 76 65 72  |e bars of silver|
00007f40  20 68 65 72 65 21 22 2c  0a 20 20 20 20 20 20 20  | here!",.       |
00007f50  61 72 74 69 63 6c 65 20  22 73 6f 6d 65 22 2c 0a  |article "some",.|
00007f60  20 20 20 20 20 20 20 6e  61 6d 65 20 22 73 69 6c  |       name "sil|
00007f70  76 65 72 22 20 22 62 61  72 73 22 3b 0a 0a 0a 4f  |ver" "bars";...O|
00007f80  62 6a 65 63 74 20 49 6e  5f 53 6f 75 74 68 5f 53  |bject In_South_S|
00007f90  69 64 65 5f 43 68 61 6d  62 65 72 20 22 49 6e 20  |ide_Chamber "In |
00007fa0  53 6f 75 74 68 20 53 69  64 65 20 43 68 61 6d 62  |South Side Chamb|
00007fb0  65 72 22 0a 20 20 77 69  74 68 20 64 65 73 63 72  |er".  with descr|
00007fc0  69 70 74 69 6f 6e 0a 20  20 20 20 20 20 20 20 20  |iption.         |
00007fd0  20 20 20 20 20 20 22 59  6f 75 20 61 72 65 20 69  |      "You are i|
00007fe0  6e 20 74 68 65 20 73 6f  75 74 68 20 73 69 64 65  |n the south side|
00007ff0  20 63 68 61 6d 62 65 72  2e 22 2c 0a 20 20 20 20  | chamber.",.    |
00008000  20 20 20 6e 5f 74 6f 20  49 6e 5f 48 61 6c 6c 5f  |   n_to In_Hall_|
00008010  4f 66 5f 4d 74 5f 4b 69  6e 67 3b 0a 0a 4e 65 61  |Of_Mt_King;..Nea|
00008020  72 62 79 20 70 72 65 63  69 6f 75 73 5f 6a 65 77  |rby precious_jew|
00008030  65 6c 72 79 20 22 70 72  65 63 69 6f 75 73 20 6a  |elry "precious j|
00008040  65 77 65 6c 72 79 22 0a  20 63 6c 61 73 73 20 54  |ewelry". class T|
00008050  72 65 61 73 75 72 65 0a  20 20 77 69 74 68 20 64  |reasure.  with d|
00008060  65 73 63 72 69 70 74 69  6f 6e 20 22 49 74 27 73  |escription "It's|
00008070  20 61 6c 6c 20 71 75 69  74 65 20 65 78 71 75 69  | all quite exqui|
00008080  73 69 74 65 21 22 2c 0a  20 20 20 20 20 20 20 69  |site!",.       i|
00008090  6e 69 74 69 61 6c 20 22  54 68 65 72 65 20 69 73  |nitial "There is|
000080a0  20 70 72 65 63 69 6f 75  73 20 6a 65 77 65 6c 72  | precious jewelr|
000080b0  79 20 68 65 72 65 21 22  2c 0a 20 20 20 20 20 20  |y here!",.      |
000080c0  20 61 72 74 69 63 6c 65  20 22 73 6f 6d 65 22 2c  | article "some",|
000080d0  0a 20 20 20 20 20 20 20  6e 61 6d 65 20 22 6a 65  |.       name "je|
000080e0  77 65 6c 22 20 22 6a 65  77 65 6c 73 22 20 22 6a  |wel" "jewels" "j|
000080f0  65 77 65 6c 72 79 22 20  22 70 72 65 63 69 6f 75  |ewelry" "preciou|
00008100  73 22 20 22 65 78 71 75  69 73 69 74 65 22 3b 0a  |s" "exquisite";.|
00008110  0a 0a 4f 62 6a 65 63 74  20 49 6e 5f 57 65 73 74  |..Object In_West|
00008120  5f 53 69 64 65 5f 43 68  61 6d 62 65 72 20 22 49  |_Side_Chamber "I|
00008130  6e 20 57 65 73 74 20 53  69 64 65 20 43 68 61 6d  |n West Side Cham|
00008140  62 65 72 22 0a 20 20 77  69 74 68 20 64 65 73 63  |ber".  with desc|
00008150  72 69 70 74 69 6f 6e 0a  20 20 20 20 20 20 20 20  |ription.        |
00008160  20 20 20 20 20 20 20 22  59 6f 75 20 61 72 65 20  |       "You are |
00008170  69 6e 20 74 68 65 20 77  65 73 74 20 73 69 64 65  |in the west side|
00008180  20 63 68 61 6d 62 65 72  20 6f 66 20 74 68 65 20  | chamber of the |
00008190  68 61 6c 6c 20 6f 66 20  5c 0a 20 20 20 20 20 20  |hall of \.      |
000081a0  20 20 20 20 20 20 20 20  20 74 68 65 20 6d 6f 75  |         the mou|
000081b0  6e 74 61 69 6e 20 6b 69  6e 67 2e 20 41 20 70 61  |ntain king. A pa|
000081c0  73 73 61 67 65 20 63 6f  6e 74 69 6e 75 65 73 20  |ssage continues |
000081d0  77 65 73 74 20 61 6e 64  20 75 70 20 5c 0a 20 20  |west and up \.  |
000081e0  20 20 20 20 20 20 20 20  20 20 20 20 20 68 65 72  |             her|
000081f0  65 2e 22 2c 0a 20 20 20  20 20 20 20 77 5f 74 6f  |e.",.       w_to|
00008200  20 43 72 6f 73 73 6f 76  65 72 2c 0a 20 20 20 20  | Crossover,.    |
00008210  20 20 20 75 5f 74 6f 20  43 72 6f 73 73 6f 76 65  |   u_to Crossove|
00008220  72 2c 0a 20 20 20 20 20  20 20 65 5f 74 6f 20 49  |r,.       e_to I|
00008230  6e 5f 48 61 6c 6c 5f 4f  66 5f 4d 74 5f 4b 69 6e  |n_Hall_Of_Mt_Kin|
00008240  67 3b 0a 0a 4e 65 61 72  62 79 20 72 61 72 65 5f  |g;..Nearby rare_|
00008250  63 6f 69 6e 73 20 22 72  61 72 65 20 63 6f 69 6e  |coins "rare coin|
00008260  73 22 0a 20 63 6c 61 73  73 20 54 72 65 61 73 75  |s". class Treasu|
00008270  72 65 0a 20 20 77 69 74  68 20 64 65 73 63 72 69  |re.  with descri|
00008280  70 74 69 6f 6e 20 22 54  68 65 79 27 72 65 20 61  |ption "They're a|
00008290  20 6e 75 6d 69 73 6d 61  74 69 73 74 27 73 20 64  | numismatist's d|
000082a0  72 65 61 6d 21 22 2c 0a  20 20 20 20 20 20 20 69  |ream!",.       i|
000082b0  6e 69 74 69 61 6c 20 22  54 68 65 72 65 20 61 72  |nitial "There ar|
000082c0  65 20 6d 61 6e 79 20 63  6f 69 6e 73 20 68 65 72  |e many coins her|
000082d0  65 21 22 2c 20 61 72 74  69 63 6c 65 20 22 6d 61  |e!", article "ma|
000082e0  6e 79 22 2c 0a 20 20 20  20 20 20 20 6e 61 6d 65  |ny",.       name|
000082f0  20 22 63 6f 69 6e 73 22  20 22 72 61 72 65 22 3b  | "coins" "rare";|
00008300  0a 0a 21 20 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |..! ------------|
00008310  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00008350  0a 21 20 20 20 54 68 65  20 59 32 20 52 6f 63 6b  |.!   The Y2 Rock|
00008360  20 52 6f 6f 6d 20 61 6e  64 20 65 6e 76 69 72 6f  | Room and enviro|
00008370  6e 73 2c 20 73 6c 69 67  68 74 6c 79 20 62 65 6c  |ns, slightly bel|
00008380  6f 77 0a 21 20 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |ow.! -----------|
00008390  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000083d0  2d 0a 0a 4f 62 6a 65 63  74 20 41 74 5f 59 32 20  |-..Object At_Y2 |
000083e0  22 41 74 20 7e 59 32 7e  22 0a 20 20 77 69 74 68  |"At ~Y2~".  with|
000083f0  20 64 65 73 63 72 69 70  74 69 6f 6e 0a 20 20 20  | description.   |
00008400  20 20 20 20 20 20 20 20  20 20 20 20 22 59 6f 75  |            "You|
00008410  20 61 72 65 20 69 6e 20  61 20 6c 61 72 67 65 20  | are in a large |
00008420  72 6f 6f 6d 2c 20 77 69  74 68 20 61 20 70 61 73  |room, with a pas|
00008430  73 61 67 65 20 74 6f 20  74 68 65 20 5c 0a 20 20  |sage to the \.  |
00008440  20 20 20 20 20 20 20 20  20 20 20 20 20 73 6f 75  |             sou|
00008450  74 68 2c 20 61 20 70 61  73 73 61 67 65 20 74 6f  |th, a passage to|
00008460  20 74 68 65 20 77 65 73  74 2c 20 61 6e 64 20 61  | the west, and a|
00008470  20 77 61 6c 6c 20 6f 66  20 62 72 6f 6b 65 6e 20  | wall of broken |
00008480  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
00008490  20 72 6f 63 6b 20 74 6f  20 74 68 65 20 65 61 73  | rock to the eas|
000084a0  74 2e 20 54 68 65 72 65  20 69 73 20 61 20 6c 61  |t. There is a la|
000084b0  72 67 65 20 7e 59 32 7e  20 6f 6e 20 5c 0a 20 20  |rge ~Y2~ on \.  |
000084c0  20 20 20 20 20 20 20 20  20 20 20 20 20 61 20 72  |             a r|
000084d0  6f 63 6b 20 69 6e 20 74  68 65 20 72 6f 6f 6d 27  |ock in the room'|
000084e0  73 20 63 65 6e 74 65 72  2e 22 2c 0a 20 20 20 20  |s center.",.    |
000084f0  20 20 20 61 66 74 65 72  0a 20 20 20 20 20 20 20  |   after.       |
00008500  5b 3b 20 4c 6f 6f 6b 3a  20 69 66 20 28 72 61 6e  |[; Look: if (ran|
00008510  64 6f 6d 28 31 30 30 29  3c 3d 32 35 29 20 70 72  |dom(100)<=25) pr|
00008520  69 6e 74 20 22 5e 41 20  68 6f 6c 6c 6f 77 20 76  |int "^A hollow v|
00008530  6f 69 63 65 20 73 61 79  73 2c 20 7e 50 6c 75 67  |oice says, ~Plug|
00008540  68 2e 7e 5e 22 3b 0a 20  20 20 20 20 20 20 5d 2c  |h.~^";.       ],|
00008550  0a 20 20 20 20 20 20 20  62 65 66 6f 72 65 0a 20  |.       before. |
00008560  20 20 20 20 20 20 5b 3b  0a 20 20 20 20 20 20 20  |      [;.       |
00008570  20 20 20 50 6c 75 67 68  3a 20 50 6c 61 79 65 72  |   Plugh: Player|
00008580  54 6f 28 49 6e 73 69 64  65 5f 42 75 69 6c 64 69  |To(Inside_Buildi|
00008590  6e 67 29 3b 20 72 74 72  75 65 3b 0a 20 20 20 20  |ng); rtrue;.    |
000085a0  20 20 20 20 20 20 50 6c  6f 76 65 72 3a 20 69 66  |      Plover: if|
000085b0  20 28 49 6e 5f 50 6c 6f  76 65 72 5f 52 6f 6f 6d  | (In_Plover_Room|
000085c0  20 68 61 73 6e 74 20 76  69 73 69 74 65 64 29 20  | hasnt visited) |
000085d0  72 66 61 6c 73 65 3b 0a  20 20 20 20 20 20 20 20  |rfalse;.        |
000085e0  20 20 20 20 20 20 20 20  20 20 69 66 20 28 65 67  |          if (eg|
000085f0  67 5f 73 69 7a 65 64 5f  65 6d 65 72 61 6c 64 20  |g_sized_emerald |
00008600  69 6e 20 70 6c 61 79 65  72 29 0a 20 20 20 20 20  |in player).     |
00008610  20 20 20 20 20 20 20 20  20 20 20 20 20 6d 6f 76  |             mov|
00008620  65 20 65 67 67 5f 73 69  7a 65 64 5f 65 6d 65 72  |e egg_sized_emer|
00008630  61 6c 64 20 74 6f 20 49  6e 5f 50 6c 6f 76 65 72  |ald to In_Plover|
00008640  5f 52 6f 6f 6d 3b 0a 20  20 20 20 20 20 20 20 20  |_Room;.         |
00008650  20 20 20 20 20 20 20 20  20 50 6c 61 79 65 72 54  |         PlayerT|
00008660  6f 28 49 6e 5f 50 6c 6f  76 65 72 5f 52 6f 6f 6d  |o(In_Plover_Room|
00008670  29 3b 20 72 74 72 75 65  3b 0a 20 20 20 20 20 20  |); rtrue;.      |
00008680  20 5d 2c 0a 20 20 20 20  20 20 20 73 5f 74 6f 20  | ],.       s_to |
00008690  4c 6f 77 5f 4e 5f 53 5f  50 61 73 73 61 67 65 2c  |Low_N_S_Passage,|
000086a0  0a 20 20 20 20 20 20 20  65 5f 74 6f 20 4a 75 6d  |.       e_to Jum|
000086b0  62 6c 65 5f 4f 66 5f 52  6f 63 6b 2c 0a 20 20 20  |ble_Of_Rock,.   |
000086c0  20 20 20 20 77 5f 74 6f  20 41 74 5f 57 69 6e 64  |    w_to At_Wind|
000086d0  6f 77 5f 4f 6e 5f 50 69  74 5f 31 3b 0a 0a 4f 62  |ow_On_Pit_1;..Ob|
000086e0  6a 65 63 74 20 59 32 52  6f 63 6b 20 22 7e 59 32  |ject Y2Rock "~Y2|
000086f0  7e 20 72 6f 63 6b 22 20  41 74 5f 59 32 0a 20 20  |~ rock" At_Y2.  |
00008700  77 69 74 68 20 64 65 73  63 72 69 70 74 69 6f 6e  |with description|
00008710  20 22 54 68 65 72 65 20  69 73 20 61 20 6c 61 72  | "There is a lar|
00008720  67 65 20 7e 59 32 7e 20  70 61 69 6e 74 65 64 20  |ge ~Y2~ painted |
00008730  6f 6e 20 74 68 65 20 72  6f 63 6b 2e 22 2c 0a 20  |on the rock.",. |
00008740  20 20 20 20 20 20 6e 61  6d 65 20 22 72 6f 63 6b  |      name "rock|
00008750  22 20 22 79 32 22 0a 20  20 68 61 73 20 20 73 63  |" "y2".  has  sc|
00008760  65 6e 65 72 79 20 73 75  70 70 6f 72 74 65 72 3b  |enery supporter;|
00008770  0a 0a 4f 62 6a 65 63 74  20 4a 75 6d 62 6c 65 5f  |..Object Jumble_|
00008780  4f 66 5f 52 6f 63 6b 20  22 4a 75 6d 62 6c 65 20  |Of_Rock "Jumble |
00008790  6f 66 20 52 6f 63 6b 22  0a 20 20 77 69 74 68 20  |of Rock".  with |
000087a0  64 65 73 63 72 69 70 74  69 6f 6e 20 22 59 6f 75  |description "You|
000087b0  20 61 72 65 20 69 6e 20  61 20 6a 75 6d 62 6c 65  | are in a jumble|
000087c0  20 6f 66 20 72 6f 63 6b  2c 20 77 69 74 68 20 63  | of rock, with c|
000087d0  72 61 63 6b 73 20 65 76  65 72 79 77 68 65 72 65  |racks everywhere|
000087e0  2e 22 2c 0a 20 20 20 20  20 20 20 64 5f 74 6f 20  |.",.       d_to |
000087f0  41 74 5f 59 32 2c 0a 20  20 20 20 20 20 20 75 5f  |At_Y2,.       u_|
00008800  74 6f 20 49 6e 5f 48 61  6c 6c 5f 4f 66 5f 4d 69  |to In_Hall_Of_Mi|
00008810  73 74 73 3b 0a 0a 4f 62  6a 65 63 74 20 41 74 5f  |sts;..Object At_|
00008820  57 69 6e 64 6f 77 5f 4f  6e 5f 50 69 74 5f 31 20  |Window_On_Pit_1 |
00008830  22 41 74 20 57 69 6e 64  6f 77 20 6f 6e 20 50 69  |"At Window on Pi|
00008840  74 22 0a 20 20 77 69 74  68 20 64 65 73 63 72 69  |t".  with descri|
00008850  70 74 69 6f 6e 0a 20 20  20 20 20 20 20 20 20 20  |ption.          |
00008860  20 20 20 20 20 22 59 6f  75 27 72 65 20 61 74 20  |     "You're at |
00008870  61 20 6c 6f 77 20 77 69  6e 64 6f 77 20 6f 76 65  |a low window ove|
00008880  72 6c 6f 6f 6b 69 6e 67  20 61 20 68 75 67 65 20  |rlooking a huge |
00008890  70 69 74 2c 20 5c 0a 20  20 20 20 20 20 20 20 20  |pit, \.         |
000088a0  20 20 20 20 20 20 77 68  69 63 68 20 65 78 74 65  |      which exte|
000088b0  6e 64 73 20 75 70 20 6f  75 74 20 6f 66 20 73 69  |nds up out of si|
000088c0  67 68 74 2e 20 20 41 20  66 6c 6f 6f 72 20 69 73  |ght.  A floor is|
000088d0  20 5c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  | \.             |
000088e0  20 20 69 6e 64 69 73 74  69 6e 63 74 6c 79 20 76  |  indistinctly v|
000088f0  69 73 69 62 6c 65 20 6f  76 65 72 20 35 30 20 66  |isible over 50 f|
00008900  65 65 74 20 62 65 6c 6f  77 2e 20 20 54 72 61 63  |eet below.  Trac|
00008910  65 73 20 6f 66 20 5c 0a  20 20 20 20 20 20 20 20  |es of \.        |
00008920  20 20 20 20 20 20 20 77  68 69 74 65 20 6d 69 73  |       white mis|
00008930  74 20 63 6f 76 65 72 20  74 68 65 20 66 6c 6f 6f  |t cover the floo|
00008940  72 20 6f 66 20 74 68 65  20 70 69 74 2c 20 62 65  |r of the pit, be|
00008950  63 6f 6d 69 6e 67 20 5c  0a 20 20 20 20 20 20 20  |coming \.       |
00008960  20 20 20 20 20 20 20 20  74 68 69 63 6b 65 72 20  |        thicker |
00008970  74 6f 20 74 68 65 20 72  69 67 68 74 2e 20 4d 61  |to the right. Ma|
00008980  72 6b 73 20 69 6e 20 74  68 65 20 64 75 73 74 20  |rks in the dust |
00008990  61 72 6f 75 6e 64 20 74  68 65 20 5c 0a 20 20 20  |around the \.   |
000089a0  20 20 20 20 20 20 20 20  20 20 20 20 77 69 6e 64  |            wind|
000089b0  6f 77 20 77 6f 75 6c 64  20 73 65 65 6d 20 74 6f  |ow would seem to|
000089c0  20 69 6e 64 69 63 61 74  65 20 74 68 61 74 20 73  | indicate that s|
000089d0  6f 6d 65 6f 6e 65 20 68  61 73 20 62 65 65 6e 20  |omeone has been |
000089e0  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
000089f0  20 68 65 72 65 20 72 65  63 65 6e 74 6c 79 2e 20  | here recently. |
00008a00  20 44 69 72 65 63 74 6c  79 20 61 63 72 6f 73 73  | Directly across|
00008a10  20 74 68 65 20 70 69 74  20 66 72 6f 6d 20 79 6f  | the pit from yo|
00008a20  75 20 61 6e 64 20 5c 0a  20 20 20 20 20 20 20 20  |u and \.        |
00008a30  20 20 20 20 20 20 20 32  35 20 66 65 65 74 20 61  |       25 feet a|
00008a40  77 61 79 20 74 68 65 72  65 20 69 73 20 61 20 73  |way there is a s|
00008a50  69 6d 69 6c 61 72 20 77  69 6e 64 6f 77 20 6c 6f  |imilar window lo|
00008a60  6f 6b 69 6e 67 20 69 6e  74 6f 20 61 20 5c 0a 20  |oking into a \. |
00008a70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 6c 69  |              li|
00008a80  67 68 74 65 64 20 72 6f  6f 6d 2e 20 20 41 20 73  |ghted room.  A s|
00008a90  68 61 64 6f 77 79 20 66  69 67 75 72 65 20 63 61  |hadowy figure ca|
00008aa0  6e 20 62 65 20 73 65 65  6e 20 74 68 65 72 65 20  |n be seen there |
00008ab0  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
00008ac0  20 70 65 65 72 69 6e 67  20 62 61 63 6b 20 61 74  | peering back at|
00008ad0  20 79 6f 75 2e 22 2c 0a  20 20 20 20 20 20 20 62  | you.",.       b|
00008ae0  65 66 6f 72 65 0a 20 20  20 20 20 20 20 5b 3b 20  |efore.       [; |
00008af0  57 61 76 65 48 61 6e 64  73 3a 20 22 54 68 65 20  |WaveHands: "The |
00008b00  73 68 61 64 6f 77 79 20  66 69 67 75 72 65 20 77  |shadowy figure w|
00008b10  61 76 65 73 20 62 61 63  6b 20 61 74 20 79 6f 75  |aves back at you|
00008b20  21 22 3b 0a 20 20 20 20  20 20 20 5d 2c 0a 20 20  |!";.       ],.  |
00008b30  20 20 20 20 20 63 61 6e  74 5f 67 6f 20 22 54 68  |     cant_go "Th|
00008b40  65 20 6f 6e 6c 79 20 70  61 73 73 61 67 65 20 69  |e only passage i|
00008b50  73 20 62 61 63 6b 20 65  61 73 74 20 74 6f 20 59  |s back east to Y|
00008b60  32 2e 22 2c 0a 20 20 20  20 20 20 20 65 5f 74 6f  |2.",.       e_to|
00008b70  20 41 74 5f 59 32 3b 0a  0a 4f 62 6a 65 63 74 20  | At_Y2;..Object |
00008b80  57 69 6e 64 6f 77 20 22  77 69 6e 64 6f 77 22 0a  |Window "window".|
00008b90  20 20 77 69 74 68 20 64  65 73 63 72 69 70 74 69  |  with descripti|
00008ba0  6f 6e 20 22 49 74 20 6c  6f 6f 6b 73 20 6c 69 6b  |on "It looks lik|
00008bb0  65 20 61 20 72 65 67 75  6c 61 72 20 77 69 6e 64  |e a regular wind|
00008bc0  6f 77 2e 22 2c 0a 20 20  20 20 20 20 20 6e 61 6d  |ow.",.       nam|
00008bd0  65 20 22 77 69 6e 64 6f  77 22 20 22 6c 6f 77 22  |e "window" "low"|
00008be0  2c 0a 20 20 20 20 20 20  20 66 6f 75 6e 64 5f 69  |,.       found_i|
00008bf0  6e 20 20 41 74 5f 57 69  6e 64 6f 77 5f 4f 6e 5f  |n  At_Window_On_|
00008c00  50 69 74 5f 31 20 41 74  5f 57 69 6e 64 6f 77 5f  |Pit_1 At_Window_|
00008c10  4f 6e 5f 50 69 74 5f 32  0a 20 20 68 61 73 20 20  |On_Pit_2.  has  |
00008c20  73 63 65 6e 65 72 79 20  6f 70 65 6e 61 62 6c 65  |scenery openable|
00008c30  3b 0a 0a 4f 62 6a 65 63  74 20 57 69 6e 64 6f 77  |;..Object Window|
00008c40  50 69 74 20 22 68 75 67  65 20 70 69 74 22 0a 20  |Pit "huge pit". |
00008c50  20 77 69 74 68 20 64 65  73 63 72 69 70 74 69 6f  | with descriptio|
00008c60  6e 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |n.              |
00008c70  20 22 49 74 27 73 20 73  6f 20 64 65 65 70 20 79  | "It's so deep y|
00008c80  6f 75 20 63 61 6e 20 62  61 72 65 6c 79 20 6d 61  |ou can barely ma|
00008c90  6b 65 20 6f 75 74 20 74  68 65 20 66 6c 6f 6f 72  |ke out the floor|
00008ca0  20 62 65 6c 6f 77 2c 20  5c 0a 20 20 20 20 20 20  | below, \.      |
00008cb0  20 20 20 20 20 20 20 20  20 61 6e 64 20 74 68 65  |         and the|
00008cc0  20 74 6f 70 20 69 73 6e  27 74 20 76 69 73 69 62  | top isn't visib|
00008cd0  6c 65 20 61 74 20 61 6c  6c 2e 22 2c 0a 20 20 20  |le at all.",.   |
00008ce0  20 20 20 20 6e 61 6d 65  20 22 70 69 74 22 20 22  |    name "pit" "|
00008cf0  64 65 65 70 22 20 22 6c  61 72 67 65 22 2c 0a 20  |deep" "large",. |
00008d00  20 20 20 20 20 20 66 6f  75 6e 64 5f 69 6e 20 20  |      found_in  |
00008d10  41 74 5f 57 69 6e 64 6f  77 5f 4f 6e 5f 50 69 74  |At_Window_On_Pit|
00008d20  5f 31 20 41 74 5f 57 69  6e 64 6f 77 5f 4f 6e 5f  |_1 At_Window_On_|
00008d30  50 69 74 5f 32 0a 20 20  68 61 73 20 20 73 63 65  |Pit_2.  has  sce|
00008d40  6e 65 72 79 3b 0a 0a 4f  62 6a 65 63 74 20 4d 61  |nery;..Object Ma|
00008d50  72 6b 73 49 6e 54 68 65  44 75 73 74 20 22 6d 61  |rksInTheDust "ma|
00008d60  72 6b 73 20 69 6e 20 74  68 65 20 64 75 73 74 22  |rks in the dust"|
00008d70  0a 20 20 77 69 74 68 20  64 65 73 63 72 69 70 74  |.  with descript|
00008d80  69 6f 6e 20 22 45 76 69  64 65 6e 74 6c 79 20 79  |ion "Evidently y|
00008d90  6f 75 27 72 65 20 6e 6f  74 20 61 6c 6f 6e 65 20  |ou're not alone |
00008da0  68 65 72 65 2e 22 2c 0a  20 20 20 20 20 20 20 6e  |here.",.       n|
00008db0  61 6d 65 20 22 6d 61 72  6b 73 22 20 22 64 75 73  |ame "marks" "dus|
00008dc0  74 22 2c 0a 20 20 20 20  20 20 20 66 6f 75 6e 64  |t",.       found|
00008dd0  5f 69 6e 20 20 41 74 5f  57 69 6e 64 6f 77 5f 4f  |_in  At_Window_O|
00008de0  6e 5f 50 69 74 5f 31 20  41 74 5f 57 69 6e 64 6f  |n_Pit_1 At_Windo|
00008df0  77 5f 4f 6e 5f 50 69 74  5f 32 0a 20 20 68 61 73  |w_On_Pit_2.  has|
00008e00  20 20 73 63 65 6e 65 72  79 3b 0a 0a 4f 62 6a 65  |  scenery;..Obje|
00008e10  63 74 20 53 68 61 64 6f  77 79 46 69 67 75 72 65  |ct ShadowyFigure|
00008e20  20 22 73 68 61 64 6f 77  79 20 66 69 67 75 72 65  | "shadowy figure|
00008e30  22 0a 20 20 77 69 74 68  20 64 65 73 63 72 69 70  |".  with descrip|
00008e40  74 69 6f 6e 0a 20 20 20  20 20 20 20 20 20 20 20  |tion.           |
00008e50  20 20 20 20 22 54 68 65  20 73 68 61 64 6f 77 79  |    "The shadowy|
00008e60  20 66 69 67 75 72 65 20  73 65 65 6d 73 20 74 6f  | figure seems to|
00008e70  20 62 65 20 74 72 79 69  6e 67 20 74 6f 20 61 74  | be trying to at|
00008e80  74 72 61 63 74 20 5c 0a  20 20 20 20 20 20 20 20  |tract \.        |
00008e90  20 20 20 20 20 20 20 79  6f 75 72 20 61 74 74 65  |       your atte|
00008ea0  6e 74 69 6f 6e 2e 22 2c  0a 20 20 20 20 20 20 20  |ntion.",.       |
00008eb0  66 6f 75 6e 64 5f 69 6e  20 20 41 74 5f 57 69 6e  |found_in  At_Win|
00008ec0  64 6f 77 5f 4f 6e 5f 50  69 74 5f 31 20 41 74 5f  |dow_On_Pit_1 At_|
00008ed0  57 69 6e 64 6f 77 5f 4f  6e 5f 50 69 74 5f 32 2c  |Window_On_Pit_2,|
00008ee0  0a 20 20 20 20 20 20 20  6e 61 6d 65 20 22 66 69  |.       name "fi|
00008ef0  67 75 72 65 22 20 22 73  68 61 64 6f 77 22 20 22  |gure" "shadow" "|
00008f00  70 65 72 73 6f 6e 22 20  22 69 6e 64 69 76 69 64  |person" "individ|
00008f10  75 61 6c 22 20 22 73 68  61 64 6f 77 79 22 20 22  |ual" "shadowy" "|
00008f20  6d 79 73 74 65 72 69 6f  75 73 22 0a 20 20 68 61  |mysterious".  ha|
00008f30  73 20 20 73 63 65 6e 65  72 79 3b 0a 0a 0a 0a 4f  |s  scenery;....O|
00008f40  62 6a 65 63 74 20 49 6e  5f 44 69 72 74 79 5f 50  |bject In_Dirty_P|
00008f50  61 73 73 61 67 65 20 22  44 69 72 74 79 20 50 61  |assage "Dirty Pa|
00008f60  73 73 61 67 65 22 0a 20  20 77 69 74 68 20 64 65  |ssage".  with de|
00008f70  73 63 72 69 70 74 69 6f  6e 0a 20 20 20 20 20 20  |scription.      |
00008f80  20 20 20 20 20 20 20 20  20 22 59 6f 75 20 61 72  |         "You ar|
00008f90  65 20 69 6e 20 61 20 64  69 72 74 79 20 62 72 6f  |e in a dirty bro|
00008fa0  6b 65 6e 20 70 61 73 73  61 67 65 2e 20 20 54 6f  |ken passage.  To|
00008fb0  20 74 68 65 20 65 61 73  74 20 5c 0a 20 20 20 20  | the east \.    |
00008fc0  20 20 20 20 20 20 20 20  20 20 20 69 73 20 61 20  |           is a |
00008fd0  63 72 61 77 6c 2e 20 20  54 6f 20 74 68 65 20 77  |crawl.  To the w|
00008fe0  65 73 74 20 69 73 20 61  20 6c 61 72 67 65 20 70  |est is a large p|
00008ff0  61 73 73 61 67 65 2e 20  20 41 62 6f 76 65 20 5c  |assage.  Above \|
00009000  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00009010  79 6f 75 20 69 73 20 61  20 68 6f 6c 65 20 74 6f  |you is a hole to|
00009020  20 61 6e 6f 74 68 65 72  20 70 61 73 73 61 67 65  | another passage|
00009030  2e 22 2c 0a 20 20 20 20  20 20 20 65 5f 74 6f 20  |.",.       e_to |
00009040  4f 6e 5f 42 72 69 6e 6b  5f 4f 66 5f 50 69 74 2c  |On_Brink_Of_Pit,|
00009050  0a 20 20 20 20 20 20 20  75 5f 74 6f 20 4c 6f 77  |.       u_to Low|
00009060  5f 4e 5f 53 5f 50 61 73  73 61 67 65 2c 0a 20 20  |_N_S_Passage,.  |
00009070  20 20 20 20 20 77 5f 74  6f 20 49 6e 5f 44 75 73  |     w_to In_Dus|
00009080  74 79 5f 52 6f 63 6b 5f  52 6f 6f 6d 3b 0a 0a 4f  |ty_Rock_Room;..O|
00009090  62 6a 65 63 74 20 4f 6e  5f 42 72 69 6e 6b 5f 4f  |bject On_Brink_O|
000090a0  66 5f 50 69 74 20 22 42  72 69 6e 6b 20 6f 66 20  |f_Pit "Brink of |
000090b0  50 69 74 22 0a 20 20 77  69 74 68 20 64 65 73 63  |Pit".  with desc|
000090c0  72 69 70 74 69 6f 6e 0a  20 20 20 20 20 20 20 20  |ription.        |
000090d0  20 20 20 20 20 20 20 22  59 6f 75 20 61 72 65 20  |       "You are |
000090e0  6f 6e 20 74 68 65 20 62  72 69 6e 6b 20 6f 66 20  |on the brink of |
000090f0  61 20 73 6d 61 6c 6c 20  63 6c 65 61 6e 20 63 6c  |a small clean cl|
00009100  69 6d 62 61 62 6c 65 20  5c 0a 20 20 20 20 20 20  |imbable \.      |
00009110  20 20 20 20 20 20 20 20  20 70 69 74 2e 20 20 41  |         pit.  A|
00009120  20 63 72 61 77 6c 20 6c  65 61 64 73 20 77 65 73  | crawl leads wes|
00009130  74 2e 22 2c 0a 20 20 20  20 20 20 20 77 5f 74 6f  |t.",.       w_to|
00009140  20 49 6e 5f 44 69 72 74  79 5f 50 61 73 73 61 67  | In_Dirty_Passag|
00009150  65 2c 0a 20 20 20 20 20  20 20 64 5f 74 6f 20 49  |e,.       d_to I|
00009160  6e 5f 50 69 74 2c 0a 20  20 20 20 20 20 20 69 6e  |n_Pit,.       in|
00009170  5f 74 6f 20 49 6e 5f 50  69 74 3b 0a 0a 4f 62 6a  |_to In_Pit;..Obj|
00009180  65 63 74 20 43 6c 65 61  6e 50 69 74 20 22 73 6d  |ect CleanPit "sm|
00009190  61 6c 6c 20 70 69 74 22  20 4f 6e 5f 42 72 69 6e  |all pit" On_Brin|
000091a0  6b 5f 4f 66 5f 50 69 74  0a 20 20 77 69 74 68 20  |k_Of_Pit.  with |
000091b0  64 65 73 63 72 69 70 74  69 6f 6e 20 22 49 74 20  |description "It |
000091c0  6c 6f 6f 6b 73 20 6c 69  6b 65 20 79 6f 75 20 6d  |looks like you m|
000091d0  69 67 68 74 20 62 65 20  61 62 6c 65 20 74 6f 20  |ight be able to |
000091e0  63 6c 69 6d 62 20 64 6f  77 6e 20 69 6e 74 6f 20  |climb down into |
000091f0  69 74 2e 22 2c 0a 20 20  20 20 20 20 20 6e 61 6d  |it.",.       nam|
00009200  65 20 22 70 69 74 22 20  22 73 6d 61 6c 6c 22 20  |e "pit" "small" |
00009210  22 63 6c 65 61 6e 22 20  22 63 6c 69 6d 62 61 62  |"clean" "climbab|
00009220  6c 65 22 2c 0a 20 20 20  20 20 20 20 62 65 66 6f  |le",.       befo|
00009230  72 65 0a 20 20 20 20 20  20 20 5b 3b 20 43 6c 69  |re.       [; Cli|
00009240  6d 62 2c 20 45 6e 74 65  72 3a 20 4d 6f 76 65 50  |mb, Enter: MoveP|
00009250  6c 61 79 65 72 28 64 5f  6f 62 6a 29 3b 20 72 74  |layer(d_obj); rt|
00009260  72 75 65 3b 20 5d 2c 0a  20 20 68 61 73 20 20 73  |rue; ],.  has  s|
00009270  63 65 6e 65 72 79 3b 0a  0a 0a 4f 62 6a 65 63 74  |cenery;...Object|
00009280  20 49 6e 5f 50 69 74 20  22 49 6e 20 50 69 74 22  | In_Pit "In Pit"|
00009290  0a 20 20 77 69 74 68 20  64 65 73 63 72 69 70 74  |.  with descript|
000092a0  69 6f 6e 0a 20 20 20 20  20 20 20 20 20 20 20 20  |ion.            |
000092b0  20 20 20 22 59 6f 75 20  61 72 65 20 69 6e 20 74  |   "You are in t|
000092c0  68 65 20 62 6f 74 74 6f  6d 20 6f 66 20 61 20 73  |he bottom of a s|
000092d0  6d 61 6c 6c 20 70 69 74  20 77 69 74 68 20 61 20  |mall pit with a |
000092e0  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
000092f0  20 6c 69 74 74 6c 65 20  73 74 72 65 61 6d 2c 20  | little stream, |
00009300  77 68 69 63 68 20 65 6e  74 65 72 73 20 61 6e 64  |which enters and|
00009310  20 65 78 69 74 73 20 74  68 72 6f 75 67 68 20 74  | exits through t|
00009320  69 6e 79 20 5c 0a 20 20  20 20 20 20 20 20 20 20  |iny \.          |
00009330  20 20 20 20 20 73 6c 69  74 73 2e 22 2c 0a 20 20  |     slits.",.  |
00009340  20 20 20 20 20 75 5f 74  6f 20 4f 6e 5f 42 72 69  |     u_to On_Bri|
00009350  6e 6b 5f 4f 66 5f 50 69  74 2c 0a 20 20 20 20 20  |nk_Of_Pit,.     |
00009360  20 20 64 5f 74 6f 20 22  59 6f 75 20 64 6f 6e 27  |  d_to "You don'|
00009370  74 20 66 69 74 20 74 68  72 6f 75 67 68 20 74 68  |t fit through th|
00009380  65 20 74 69 6e 79 20 73  6c 69 74 73 21 22 0a 20  |e tiny slits!". |
00009390  20 68 61 73 20 20 6e 6f  64 77 61 72 66 3b 0a 0a  | has  nodwarf;..|
000093a0  0a 4e 65 61 72 62 79 20  50 69 74 53 6c 69 74 73  |.Nearby PitSlits|
000093b0  20 22 74 69 6e 79 20 73  6c 69 74 73 22 0a 20 20  | "tiny slits".  |
000093c0  77 69 74 68 20 64 65 73  63 72 69 70 74 69 6f 6e  |with description|
000093d0  20 22 54 68 65 20 73 6c  69 74 73 20 66 6f 72 6d  | "The slits form|
000093e0  20 61 20 63 6f 6d 70 6c  65 78 20 70 61 74 74 65  | a complex patte|
000093f0  72 6e 20 69 6e 20 74 68  65 20 72 6f 63 6b 2e 22  |rn in the rock."|
00009400  2c 0a 20 20 20 20 20 20  20 6e 61 6d 65 20 22 73  |,.       name "s|
00009410  6c 69 74 22 20 22 73 6c  69 74 73 22 20 22 74 69  |lit" "slits" "ti|
00009420  6e 79 22 0a 20 20 68 61  73 20 20 73 63 65 6e 65  |ny".  has  scene|
00009430  72 79 3b 0a 0a 4f 62 6a  65 63 74 20 49 6e 5f 44  |ry;..Object In_D|
00009440  75 73 74 79 5f 52 6f 63  6b 5f 52 6f 6f 6d 20 22  |usty_Rock_Room "|
00009450  49 6e 20 44 75 73 74 79  20 52 6f 63 6b 20 52 6f  |In Dusty Rock Ro|
00009460  6f 6d 22 0a 20 20 77 69  74 68 20 64 65 73 63 72  |om".  with descr|
00009470  69 70 74 69 6f 6e 0a 20  20 20 20 20 20 20 20 20  |iption.         |
00009480  20 20 20 20 20 20 22 59  6f 75 20 61 72 65 20 69  |      "You are i|
00009490  6e 20 61 20 6c 61 72 67  65 20 72 6f 6f 6d 20 66  |n a large room f|
000094a0  75 6c 6c 20 6f 66 20 64  75 73 74 79 20 72 6f 63  |ull of dusty roc|
000094b0  6b 73 2e 20 20 5c 0a 20  20 20 20 20 20 20 20 20  |ks.  \.         |
000094c0  20 20 20 20 20 20 54 68  65 72 65 20 69 73 20 61  |      There is a|
000094d0  20 62 69 67 20 68 6f 6c  65 20 69 6e 20 74 68 65  | big hole in the|
000094e0  20 66 6c 6f 6f 72 2e 20  20 54 68 65 72 65 20 61  | floor.  There a|
000094f0  72 65 20 63 72 61 63 6b  73 20 5c 0a 20 20 20 20  |re cracks \.    |
00009500  20 20 20 20 20 20 20 20  20 20 20 65 76 65 72 79  |           every|
00009510  77 68 65 72 65 2c 20 61  6e 64 20 61 20 70 61 73  |where, and a pas|
00009520  73 61 67 65 20 6c 65 61  64 69 6e 67 20 65 61 73  |sage leading eas|
00009530  74 2e 22 2c 0a 20 20 20  20 20 20 20 65 5f 74 6f  |t.",.       e_to|
00009540  20 49 6e 5f 44 69 72 74  79 5f 50 61 73 73 61 67  | In_Dirty_Passag|
00009550  65 2c 0a 20 20 20 20 20  20 20 64 5f 74 6f 20 41  |e,.       d_to A|
00009560  74 5f 43 6f 6d 70 6c 65  78 5f 4a 75 6e 63 74 69  |t_Complex_Juncti|
00009570  6f 6e 3b 0a 0a 4e 65 61  72 62 79 20 44 75 73 74  |on;..Nearby Dust|
00009580  79 52 6f 63 6b 73 20 22  64 75 73 74 79 20 72 6f  |yRocks "dusty ro|
00009590  63 6b 73 22 0a 20 20 77  69 74 68 20 64 65 73 63  |cks".  with desc|
000095a0  72 69 70 74 69 6f 6e 20  22 54 68 65 79 27 72 65  |ription "They're|
000095b0  20 6a 75 73 74 20 72 6f  63 6b 73 2e 20 20 28 44  | just rocks.  (D|
000095c0  75 73 74 79 20 6f 6e 65  73 2c 20 74 68 61 74 20  |usty ones, that |
000095d0  69 73 2e 29 22 2c 0a 20  20 20 20 20 20 20 6e 61  |is.)",.       na|
000095e0  6d 65 20 22 72 6f 63 6b  73 22 20 22 62 6f 75 6c  |me "rocks" "boul|
000095f0  64 65 72 73 22 20 22 73  74 6f 6e 65 73 22 20 22  |ders" "stones" "|
00009600  72 6f 63 6b 22 20 22 62  6f 75 6c 64 65 72 22 20  |rock" "boulder" |
00009610  22 73 74 6f 6e 65 22 0a  20 20 20 20 20 20 20 22  |"stone".       "|
00009620  64 75 73 74 79 22 20 22  64 69 72 74 79 22 0a 20  |dusty" "dirty". |
00009630  20 68 61 73 20 20 73 63  65 6e 65 72 79 3b 0a 0a  | has  scenery;..|
00009640  21 20 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |! --------------|
00009650  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00009680  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 0a 21  |--------------.!|
00009690  20 20 20 41 20 6d 61 7a  65 20 6f 66 20 74 77 69  |   A maze of twi|
000096a0  73 74 79 20 6c 69 74 74  6c 65 20 70 61 73 73 61  |sty little passa|
000096b0  67 65 73 2c 20 61 6c 6c  20 61 6c 69 6b 65 2e 2e  |ges, all alike..|
000096c0  2e 0a 21 20 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |..! ------------|
000096d0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00009710  0a 0a 43 6c 61 73 73 20  20 4d 61 7a 65 52 6f 6f  |..Class  MazeRoo|
00009720  6d 0a 20 20 77 69 74 68  20 64 65 73 63 72 69 70  |m.  with descrip|
00009730  74 69 6f 6e 20 22 59 6f  75 20 61 72 65 20 69 6e  |tion "You are in|
00009740  20 61 20 6d 61 7a 65 20  6f 66 20 74 77 69 73 74  | a maze of twist|
00009750  79 20 6c 69 74 74 6c 65  20 70 61 73 73 61 67 65  |y little passage|
00009760  73 2c 20 5c 0a 20 20 20  20 20 20 20 20 20 20 20  |s, \.           |
00009770  61 6c 6c 20 61 6c 69 6b  65 2e 22 2c 0a 20 20 20  |all alike.",.   |
00009780  20 20 20 20 6f 75 74 5f  74 6f 20 22 45 61 73 69  |    out_to "Easi|
00009790  65 72 20 73 61 69 64 20  74 68 61 6e 20 64 6f 6e  |er said than don|
000097a0  65 2e 22 3b 0a 0a 0a 4f  62 6a 65 63 74 20 41 6c  |e.";...Object Al|
000097b0  69 6b 65 5f 4d 61 7a 65  5f 31 20 22 4d 61 7a 65  |ike_Maze_1 "Maze|
000097c0  22 0a 20 63 6c 61 73 73  20 4d 61 7a 65 52 6f 6f  |". class MazeRoo|
000097d0  6d 0a 20 20 77 69 74 68  20 0a 20 20 20 20 20 20  |m.  with .      |
000097e0  20 75 5f 74 6f 20 41 74  5f 57 65 73 74 5f 45 6e  | u_to At_West_En|
000097f0  64 5f 4f 66 5f 48 61 6c  6c 5f 4f 66 5f 4d 69 73  |d_Of_Hall_Of_Mis|
00009800  74 73 2c 0a 20 20 20 20  20 20 20 6e 5f 74 6f 20  |ts,.       n_to |
00009810  41 6c 69 6b 65 5f 4d 61  7a 65 5f 31 2c 0a 20 20  |Alike_Maze_1,.  |
00009820  20 20 20 20 20 65 5f 74  6f 20 41 6c 69 6b 65 5f  |     e_to Alike_|
00009830  4d 61 7a 65 5f 32 2c 0a  20 20 20 20 20 20 20 73  |Maze_2,.       s|
00009840  5f 74 6f 20 41 6c 69 6b  65 5f 4d 61 7a 65 5f 34  |_to Alike_Maze_4|
00009850  2c 0a 20 20 20 20 20 20  20 77 5f 74 6f 20 41 6c  |,.       w_to Al|
00009860  69 6b 65 5f 4d 61 7a 65  5f 31 31 3b 0a 0a 4f 62  |ike_Maze_11;..Ob|
00009870  6a 65 63 74 20 41 6c 69  6b 65 5f 4d 61 7a 65 5f  |ject Alike_Maze_|
00009880  32 20 22 4d 61 7a 65 22  0a 20 63 6c 61 73 73 20  |2 "Maze". class |
00009890  4d 61 7a 65 52 6f 6f 6d  0a 20 20 77 69 74 68 20  |MazeRoom.  with |
000098a0  0a 20 20 20 20 20 20 20  77 5f 74 6f 20 41 6c 69  |.       w_to Ali|
000098b0  6b 65 5f 4d 61 7a 65 5f  31 2c 0a 20 20 20 20 20  |ke_Maze_1,.     |
000098c0  20 20 73 5f 74 6f 20 41  6c 69 6b 65 5f 4d 61 7a  |  s_to Alike_Maz|
000098d0  65 5f 33 2c 0a 20 20 20  20 20 20 20 65 5f 74 6f  |e_3,.       e_to|
000098e0  20 41 6c 69 6b 65 5f 4d  61 7a 65 5f 34 3b 0a 0a  | Alike_Maze_4;..|
000098f0  4f 62 6a 65 63 74 20 41  6c 69 6b 65 5f 4d 61 7a  |Object Alike_Maz|
00009900  65 5f 33 20 22 4d 61 7a  65 22 0a 20 63 6c 61 73  |e_3 "Maze". clas|
00009910  73 20 4d 61 7a 65 52 6f  6f 6d 0a 20 20 77 69 74  |s MazeRoom.  wit|
00009920  68 20 0a 20 20 20 20 20  20 20 65 5f 74 6f 20 41  |h .       e_to A|
00009930  6c 69 6b 65 5f 4d 61 7a  65 5f 32 2c 0a 20 20 20  |like_Maze_2,.   |
00009940  20 20 20 20 64 5f 74 6f  20 44 65 61 64 5f 45 6e  |    d_to Dead_En|
00009950  64 5f 33 2c 0a 20 20 20  20 20 20 20 73 5f 74 6f  |d_3,.       s_to|
00009960  20 41 6c 69 6b 65 5f 4d  61 7a 65 5f 36 2c 0a 20  | Alike_Maze_6,. |
00009970  20 20 20 20 20 20 6e 5f  74 6f 20 44 65 61 64 5f  |      n_to Dead_|
00009980  45 6e 64 5f 31 33 3b 0a  0a 4f 62 6a 65 63 74 20  |End_13;..Object |
00009990  41 6c 69 6b 65 5f 4d 61  7a 65 5f 34 20 22 4d 61  |Alike_Maze_4 "Ma|
000099a0  7a 65 22 0a 20 63 6c 61  73 73 20 4d 61 7a 65 52  |ze". class MazeR|
000099b0  6f 6f 6d 0a 20 20 77 69  74 68 20 0a 20 20 20 20  |oom.  with .    |
000099c0  20 20 20 77 5f 74 6f 20  41 6c 69 6b 65 5f 4d 61  |   w_to Alike_Ma|
000099d0  7a 65 5f 31 2c 0a 20 20  20 20 20 20 20 6e 5f 74  |ze_1,.       n_t|
000099e0  6f 20 41 6c 69 6b 65 5f  4d 61 7a 65 5f 32 2c 0a  |o Alike_Maze_2,.|
000099f0  20 20 20 20 20 20 20 65  5f 74 6f 20 44 65 61 64  |       e_to Dead|
00009a00  5f 45 6e 64 5f 31 2c 0a  20 20 20 20 20 20 20 73  |_End_1,.       s|
00009a10  5f 74 6f 20 44 65 61 64  5f 45 6e 64 5f 32 2c 0a  |_to Dead_End_2,.|
00009a20  20 20 20 20 20 20 20 75  5f 74 6f 20 41 6c 69 6b  |       u_to Alik|
00009a30  65 5f 4d 61 7a 65 5f 31  34 2c 0a 20 20 20 20 20  |e_Maze_14,.     |
00009a40  20 20 64 5f 74 6f 20 41  6c 69 6b 65 5f 4d 61 7a  |  d_to Alike_Maz|
00009a50  65 5f 31 34 3b 0a 0a 4f  62 6a 65 63 74 20 41 6c  |e_14;..Object Al|
00009a60  69 6b 65 5f 4d 61 7a 65  5f 35 20 22 4d 61 7a 65  |ike_Maze_5 "Maze|
00009a70  22 0a 20 63 6c 61 73 73  20 4d 61 7a 65 52 6f 6f  |". class MazeRoo|
00009a80  6d 0a 20 20 77 69 74 68  20 0a 20 20 20 20 20 20  |m.  with .      |
00009a90  20 65 5f 74 6f 20 41 6c  69 6b 65 5f 4d 61 7a 65  | e_to Alike_Maze|
00009aa0  5f 36 2c 0a 20 20 20 20  20 20 20 77 5f 74 6f 20  |_6,.       w_to |
00009ab0  41 6c 69 6b 65 5f 4d 61  7a 65 5f 37 3b 0a 0a 4f  |Alike_Maze_7;..O|
00009ac0  62 6a 65 63 74 20 41 6c  69 6b 65 5f 4d 61 7a 65  |bject Alike_Maze|
00009ad0  5f 36 20 22 4d 61 7a 65  22 0a 20 63 6c 61 73 73  |_6 "Maze". class|
00009ae0  20 4d 61 7a 65 52 6f 6f  6d 0a 20 20 77 69 74 68  | MazeRoom.  with|
00009af0  20 0a 20 20 20 20 20 20  20 65 5f 74 6f 20 41 6c  | .       e_to Al|
00009b00  69 6b 65 5f 4d 61 7a 65  5f 33 2c 0a 20 20 20 20  |ike_Maze_3,.    |
00009b10  20 20 20 77 5f 74 6f 20  41 6c 69 6b 65 5f 4d 61  |   w_to Alike_Ma|
00009b20  7a 65 5f 35 2c 0a 20 20  20 20 20 20 20 64 5f 74  |ze_5,.       d_t|
00009b30  6f 20 41 6c 69 6b 65 5f  4d 61 7a 65 5f 37 2c 0a  |o Alike_Maze_7,.|
00009b40  20 20 20 20 20 20 20 73  5f 74 6f 20 41 6c 69 6b  |       s_to Alik|
00009b50  65 5f 4d 61 7a 65 5f 38  3b 0a 0a 4f 62 6a 65 63  |e_Maze_8;..Objec|
00009b60  74 20 44 65 61 64 5f 45  6e 64 5f 31 20 22 44 65  |t Dead_End_1 "De|
00009b70  61 64 20 45 6e 64 22 0a  20 63 6c 61 73 73 20 44  |ad End". class D|
00009b80  65 61 64 45 6e 64 52 6f  6f 6d 0a 20 20 77 69 74  |eadEndRoom.  wit|
00009b90  68 20 0a 20 20 20 20 20  20 20 77 5f 74 6f 20 41  |h .       w_to A|
00009ba0  6c 69 6b 65 5f 4d 61 7a  65 5f 34 2c 0a 20 20 20  |like_Maze_4,.   |
00009bb0  20 20 20 20 6f 75 74 5f  74 6f 20 41 6c 69 6b 65  |    out_to Alike|
00009bc0  5f 4d 61 7a 65 5f 34 3b  0a 0a 4f 62 6a 65 63 74  |_Maze_4;..Object|
00009bd0  20 44 65 61 64 5f 45 6e  64 5f 32 20 22 44 65 61  | Dead_End_2 "Dea|
00009be0  64 20 45 6e 64 22 0a 20  63 6c 61 73 73 20 44 65  |d End". class De|
00009bf0  61 64 45 6e 64 52 6f 6f  6d 0a 20 20 77 69 74 68  |adEndRoom.  with|
00009c00  20 0a 20 20 20 20 20 20  20 77 5f 74 6f 20 41 6c  | .       w_to Al|
00009c10  69 6b 65 5f 4d 61 7a 65  5f 34 2c 0a 20 20 20 20  |ike_Maze_4,.    |
00009c20  20 20 20 6f 75 74 5f 74  6f 20 41 6c 69 6b 65 5f  |   out_to Alike_|
00009c30  4d 61 7a 65 5f 34 3b 0a  0a 4f 62 6a 65 63 74 20  |Maze_4;..Object |
00009c40  44 65 61 64 5f 45 6e 64  5f 33 20 22 44 65 61 64  |Dead_End_3 "Dead|
00009c50  20 45 6e 64 22 0a 20 63  6c 61 73 73 20 44 65 61  | End". class Dea|
00009c60  64 45 6e 64 52 6f 6f 6d  0a 20 20 77 69 74 68 20  |dEndRoom.  with |
00009c70  0a 20 20 20 20 20 20 20  75 5f 74 6f 20 41 6c 69  |.       u_to Ali|
00009c80  6b 65 5f 4d 61 7a 65 5f  33 2c 0a 20 20 20 20 20  |ke_Maze_3,.     |
00009c90  20 20 6f 75 74 5f 74 6f  20 41 6c 69 6b 65 5f 4d  |  out_to Alike_M|
00009ca0  61 7a 65 5f 33 3b 0a 0a  4f 62 6a 65 63 74 20 41  |aze_3;..Object A|
00009cb0  6c 69 6b 65 5f 4d 61 7a  65 5f 37 20 22 4d 61 7a  |like_Maze_7 "Maz|
00009cc0  65 22 0a 20 63 6c 61 73  73 20 4d 61 7a 65 52 6f  |e". class MazeRo|
00009cd0  6f 6d 0a 20 20 77 69 74  68 20 0a 20 20 20 20 20  |om.  with .     |
00009ce0  20 20 77 5f 74 6f 20 41  6c 69 6b 65 5f 4d 61 7a  |  w_to Alike_Maz|
00009cf0  65 5f 35 2c 0a 20 20 20  20 20 20 20 75 5f 74 6f  |e_5,.       u_to|
00009d00  20 41 6c 69 6b 65 5f 4d  61 7a 65 5f 36 2c 0a 20  | Alike_Maze_6,. |
00009d10  20 20 20 20 20 20 65 5f  74 6f 20 41 6c 69 6b 65  |      e_to Alike|
00009d20  5f 4d 61 7a 65 5f 38 2c  0a 20 20 20 20 20 20 20  |_Maze_8,.       |
00009d30  73 5f 74 6f 20 41 6c 69  6b 65 5f 4d 61 7a 65 5f  |s_to Alike_Maze_|
00009d40  39 3b 0a 0a 4f 62 6a 65  63 74 20 41 6c 69 6b 65  |9;..Object Alike|
00009d50  5f 4d 61 7a 65 5f 38 20  22 4d 61 7a 65 22 0a 20  |_Maze_8 "Maze". |
00009d60  63 6c 61 73 73 20 4d 61  7a 65 52 6f 6f 6d 0a 20  |class MazeRoom. |
00009d70  20 77 69 74 68 20 0a 20  20 20 20 20 20 20 77 5f  | with .       w_|
00009d80  74 6f 20 41 6c 69 6b 65  5f 4d 61 7a 65 5f 36 2c  |to Alike_Maze_6,|
00009d90  0a 20 20 20 20 20 20 20  65 5f 74 6f 20 41 6c 69  |.       e_to Ali|
00009da0  6b 65 5f 4d 61 7a 65 5f  37 2c 0a 20 20 20 20 20  |ke_Maze_7,.     |
00009db0  20 20 73 5f 74 6f 20 41  6c 69 6b 65 5f 4d 61 7a  |  s_to Alike_Maz|
00009dc0  65 5f 38 2c 0a 20 20 20  20 20 20 20 75 5f 74 6f  |e_8,.       u_to|
00009dd0  20 41 6c 69 6b 65 5f 4d  61 7a 65 5f 39 2c 0a 20  | Alike_Maze_9,. |
00009de0  20 20 20 20 20 20 6e 5f  74 6f 20 41 6c 69 6b 65  |      n_to Alike|
00009df0  5f 4d 61 7a 65 5f 31 30  2c 0a 20 20 20 20 20 20  |_Maze_10,.      |
00009e00  20 64 5f 74 6f 20 44 65  61 64 5f 45 6e 64 5f 31  | d_to Dead_End_1|
00009e10  32 3b 0a 0a 4f 62 6a 65  63 74 20 41 6c 69 6b 65  |2;..Object Alike|
00009e20  5f 4d 61 7a 65 5f 39 20  22 4d 61 7a 65 22 0a 20  |_Maze_9 "Maze". |
00009e30  63 6c 61 73 73 20 4d 61  7a 65 52 6f 6f 6d 0a 20  |class MazeRoom. |
00009e40  20 77 69 74 68 20 0a 20  20 20 20 20 20 20 77 5f  | with .       w_|
00009e50  74 6f 20 41 6c 69 6b 65  5f 4d 61 7a 65 5f 37 2c  |to Alike_Maze_7,|
00009e60  0a 20 20 20 20 20 20 20  6e 5f 74 6f 20 41 6c 69  |.       n_to Ali|
00009e70  6b 65 5f 4d 61 7a 65 5f  38 2c 0a 20 20 20 20 20  |ke_Maze_8,.     |
00009e80  20 20 73 5f 74 6f 20 44  65 61 64 5f 45 6e 64 5f  |  s_to Dead_End_|
00009e90  34 3b 0a 0a 4f 62 6a 65  63 74 20 44 65 61 64 5f  |4;..Object Dead_|
00009ea0  45 6e 64 5f 34 20 22 44  65 61 64 20 45 6e 64 22  |End_4 "Dead End"|
00009eb0  0a 20 63 6c 61 73 73 20  44 65 61 64 45 6e 64 52  |. class DeadEndR|
00009ec0  6f 6f 6d 0a 20 20 77 69  74 68 20 0a 20 20 20 20  |oom.  with .    |
00009ed0  20 20 20 77 5f 74 6f 20  41 6c 69 6b 65 5f 4d 61  |   w_to Alike_Ma|
00009ee0  7a 65 5f 39 2c 0a 20 20  20 20 20 20 20 6f 75 74  |ze_9,.       out|
00009ef0  5f 74 6f 20 41 6c 69 6b  65 5f 4d 61 7a 65 5f 39  |_to Alike_Maze_9|
00009f00  3b 0a 0a 0a 4f 62 6a 65  63 74 20 41 6c 69 6b 65  |;...Object Alike|
00009f10  5f 4d 61 7a 65 5f 31 30  20 22 4d 61 7a 65 22 0a  |_Maze_10 "Maze".|
00009f20  20 63 6c 61 73 73 20 4d  61 7a 65 52 6f 6f 6d 0a  | class MazeRoom.|
00009f30  20 20 77 69 74 68 20 0a  20 20 20 20 20 20 20 77  |  with .       w|
00009f40  5f 74 6f 20 41 6c 69 6b  65 5f 4d 61 7a 65 5f 38  |_to Alike_Maze_8|
00009f50  2c 0a 20 20 20 20 20 20  20 6e 5f 74 6f 20 41 6c  |,.       n_to Al|
00009f60  69 6b 65 5f 4d 61 7a 65  5f 31 30 2c 0a 20 20 20  |ike_Maze_10,.   |
00009f70  20 20 20 20 64 5f 74 6f  20 44 65 61 64 5f 45 6e  |    d_to Dead_En|
00009f80  64 5f 35 2c 0a 20 20 20  20 20 20 20 65 5f 74 6f  |d_5,.       e_to|
00009f90  20 41 74 5f 42 72 69 6e  6b 5f 4f 66 5f 50 69 74  | At_Brink_Of_Pit|
00009fa0  3b 0a 0a 4f 62 6a 65 63  74 20 44 65 61 64 5f 45  |;..Object Dead_E|
00009fb0  6e 64 5f 35 20 22 44 65  61 64 20 45 6e 64 22 0a  |nd_5 "Dead End".|
00009fc0  20 63 6c 61 73 73 20 44  65 61 64 45 6e 64 52 6f  | class DeadEndRo|
00009fd0  6f 6d 0a 20 20 77 69 74  68 20 0a 20 20 20 20 20  |om.  with .     |
00009fe0  20 20 75 5f 74 6f 20 41  6c 69 6b 65 5f 4d 61 7a  |  u_to Alike_Maz|
00009ff0  65 5f 31 30 2c 0a 20 20  20 20 20 20 20 6f 75 74  |e_10,.       out|
0000a000  5f 74 6f 20 41 6c 69 6b  65 5f 4d 61 7a 65 5f 31  |_to Alike_Maze_1|
0000a010  30 3b 0a 0a 0a 4f 62 6a  65 63 74 20 41 74 5f 42  |0;...Object At_B|
0000a020  72 69 6e 6b 5f 4f 66 5f  50 69 74 20 22 41 74 20  |rink_Of_Pit "At |
0000a030  42 72 69 6e 6b 20 6f 66  20 50 69 74 22 0a 20 20  |Brink of Pit".  |
0000a040  77 69 74 68 20 64 65 73  63 72 69 70 74 69 6f 6e  |with description|
0000a050  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0000a060  22 59 6f 75 20 61 72 65  20 6f 6e 20 74 68 65 20  |"You are on the |
0000a070  62 72 69 6e 6b 20 6f 66  20 61 20 74 68 69 72 74  |brink of a thirt|
0000a080  79 20 66 6f 6f 74 20 70  69 74 20 77 69 74 68 20  |y foot pit with |
0000a090  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
0000a0a0  20 61 20 6d 61 73 73 69  76 65 20 6f 72 61 6e 67  | a massive orang|
0000a0b0  65 20 63 6f 6c 75 6d 6e  20 64 6f 77 6e 20 6f 6e  |e column down on|
0000a0c0  65 20 77 61 6c 6c 2e 20  20 59 6f 75 20 63 6f 75  |e wall.  You cou|
0000a0d0  6c 64 20 5c 0a 20 20 20  20 20 20 20 20 20 20 20  |ld \.           |
0000a0e0  20 20 20 20 63 6c 69 6d  62 20 64 6f 77 6e 20 68  |    climb down h|
0000a0f0  65 72 65 20 62 75 74 20  79 6f 75 20 63 6f 75 6c  |ere but you coul|
0000a100  64 20 6e 6f 74 20 67 65  74 20 62 61 63 6b 20 75  |d not get back u|
0000a110  70 2e 20 20 54 68 65 20  5c 0a 20 20 20 20 20 20  |p.  The \.      |
0000a120  20 20 20 20 20 20 20 20  20 6d 61 7a 65 20 63 6f  |         maze co|
0000a130  6e 74 69 6e 75 65 73 20  61 74 20 74 68 69 73 20  |ntinues at this |
0000a140  6c 65 76 65 6c 2e 22 2c  0a 20 20 20 20 20 20 20  |level.",.       |
0000a150  64 5f 74 6f 20 49 6e 5f  42 69 72 64 5f 43 68 61  |d_to In_Bird_Cha|
0000a160  6d 62 65 72 2c 0a 20 20  20 20 20 20 20 77 5f 74  |mber,.       w_t|
0000a170  6f 20 41 6c 69 6b 65 5f  4d 61 7a 65 5f 31 30 2c  |o Alike_Maze_10,|
0000a180  0a 20 20 20 20 20 20 20  73 5f 74 6f 20 44 65 61  |.       s_to Dea|
0000a190  64 5f 45 6e 64 5f 36 2c  0a 20 20 20 20 20 20 20  |d_End_6,.       |
0000a1a0  6e 5f 74 6f 20 41 6c 69  6b 65 5f 4d 61 7a 65 5f  |n_to Alike_Maze_|
0000a1b0  31 32 2c 0a 20 20 20 20  20 20 20 65 5f 74 6f 20  |12,.       e_to |
0000a1c0  41 6c 69 6b 65 5f 4d 61  7a 65 5f 31 33 3b 0a 0a  |Alike_Maze_13;..|
0000a1d0  4e 65 61 72 62 79 20 4f  72 61 6e 67 65 43 6f 6c  |Nearby OrangeCol|
0000a1e0  75 6d 6e 20 22 6d 61 73  73 69 76 65 20 6f 72 61  |umn "massive ora|
0000a1f0  6e 67 65 20 63 6f 6c 75  6d 6e 22 0a 20 20 77 69  |nge column".  wi|
0000a200  74 68 20 64 65 73 63 72  69 70 74 69 6f 6e 20 22  |th description "|
0000a210  49 74 20 6c 6f 6f 6b 73  20 6c 69 6b 65 20 79 6f  |It looks like yo|
0000a220  75 20 63 6f 75 6c 64 20  63 6c 69 6d 62 20 64 6f  |u could climb do|
0000a230  77 6e 20 69 74 2e 22 2c  0a 20 20 20 20 20 20 20  |wn it.",.       |
0000a240  6e 61 6d 65 20 22 63 6f  6c 75 6d 6e 22 20 22 6d  |name "column" "m|
0000a250  61 73 73 69 76 65 22 20  22 6f 72 61 6e 67 65 22  |assive" "orange"|
0000a260  20 22 62 69 67 22 20 22  68 75 67 65 22 2c 0a 20  | "big" "huge",. |
0000a270  20 20 20 20 20 20 62 65  66 6f 72 65 20 5b 3b 20  |      before [; |
0000a280  43 6c 69 6d 62 3a 20 4d  6f 76 65 50 6c 61 79 65  |Climb: MovePlaye|
0000a290  72 28 64 5f 6f 62 6a 29  3b 20 72 74 72 75 65 3b  |r(d_obj); rtrue;|
0000a2a0  20 5d 2c 0a 20 20 68 61  73 20 20 73 63 65 6e 65  | ],.  has  scene|
0000a2b0  72 79 3b 0a 0a 4e 65 61  72 62 79 20 54 68 69 72  |ry;..Nearby Thir|
0000a2c0  74 79 46 6f 6f 74 50 69  74 20 22 70 69 74 22 0a  |tyFootPit "pit".|
0000a2d0  20 20 77 69 74 68 20 64  65 73 63 72 69 70 74 69  |  with descripti|
0000a2e0  6f 6e 20 22 59 6f 75 27  6c 6c 20 68 61 76 65 20  |on "You'll have |
0000a2f0  74 6f 20 63 6c 69 6d 62  20 64 6f 77 6e 20 74 6f  |to climb down to|
0000a300  20 66 69 6e 64 20 6f 75  74 20 61 6e 79 74 68 69  | find out anythi|
0000a310  6e 67 20 6d 6f 72 65 2e  2e 2e 22 2c 0a 20 20 20  |ng more...",.   |
0000a320  20 20 20 20 6e 61 6d 65  20 22 70 69 74 22 20 22  |    name "pit" "|
0000a330  74 68 69 72 74 79 22 20  22 66 6f 6f 74 22 20 22  |thirty" "foot" "|
0000a340  74 68 69 72 74 79 2d 66  6f 6f 74 22 2c 0a 20 20  |thirty-foot",.  |
0000a350  20 20 20 20 20 62 65 66  6f 72 65 20 5b 3b 20 43  |     before [; C|
0000a360  6c 69 6d 62 3a 20 4d 6f  76 65 50 6c 61 79 65 72  |limb: MovePlayer|
0000a370  28 64 5f 6f 62 6a 29 3b  20 72 74 72 75 65 3b 20  |(d_obj); rtrue; |
0000a380  5d 2c 0a 20 20 68 61 73  20 20 73 63 65 6e 65 72  |],.  has  scener|
0000a390  79 3b 0a 0a 4f 62 6a 65  63 74 20 44 65 61 64 5f  |y;..Object Dead_|
0000a3a0  45 6e 64 5f 36 20 22 44  65 61 64 20 45 6e 64 22  |End_6 "Dead End"|
0000a3b0  0a 20 63 6c 61 73 73 20  44 65 61 64 45 6e 64 52  |. class DeadEndR|
0000a3c0  6f 6f 6d 0a 20 20 77 69  74 68 20 65 5f 74 6f 20  |oom.  with e_to |
0000a3d0  41 74 5f 42 72 69 6e 6b  5f 4f 66 5f 50 69 74 2c  |At_Brink_Of_Pit,|
0000a3e0  0a 20 20 20 20 20 20 20  6f 75 74 5f 74 6f 20 41  |.       out_to A|
0000a3f0  74 5f 42 72 69 6e 6b 5f  4f 66 5f 50 69 74 3b 0a  |t_Brink_Of_Pit;.|
0000a400  0a 21 20 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.! -------------|
0000a410  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0000a440  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 0a  |---------------.|
0000a450  21 20 20 20 41 20 6c 69  6e 65 20 6f 66 20 74 68  |!   A line of th|
0000a460  72 65 65 20 76 69 74 61  6c 20 6a 75 6e 63 74 69  |ree vital juncti|
0000a470  6f 6e 73 2c 20 65 61 73  74 20 74 6f 20 77 65 73  |ons, east to wes|
0000a480  74 0a 21 20 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |t.! ------------|
0000a490  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0000a4d0  0a 0a 4f 62 6a 65 63 74  20 41 74 5f 43 6f 6d 70  |..Object At_Comp|
0000a4e0  6c 65 78 5f 4a 75 6e 63  74 69 6f 6e 20 22 41 74  |lex_Junction "At|
0000a4f0  20 43 6f 6d 70 6c 65 78  20 4a 75 6e 63 74 69 6f  | Complex Junctio|
0000a500  6e 22 0a 20 20 77 69 74  68 20 64 65 73 63 72 69  |n".  with descri|
0000a510  70 74 69 6f 6e 0a 20 20  20 20 20 20 20 20 20 20  |ption.          |
0000a520  20 20 20 20 20 22 59 6f  75 20 61 72 65 20 61 74  |     "You are at|
0000a530  20 61 20 63 6f 6d 70 6c  65 78 20 6a 75 6e 63 74  | a complex junct|
0000a540  69 6f 6e 2e 20 20 41 20  6c 6f 77 20 68 61 6e 64  |ion.  A low hand|
0000a550  73 20 61 6e 64 20 5c 0a  20 20 20 20 20 20 20 20  |s and \.        |
0000a560  20 20 20 20 20 20 20 6b  6e 65 65 73 20 70 61 73  |       knees pas|
0000a570  73 61 67 65 20 66 72 6f  6d 20 74 68 65 20 6e 6f  |sage from the no|
0000a580  72 74 68 20 6a 6f 69 6e  73 20 61 20 68 69 67 68  |rth joins a high|
0000a590  65 72 20 63 72 61 77 6c  20 5c 0a 20 20 20 20 20  |er crawl \.     |
0000a5a0  20 20 20 20 20 20 20 20  20 20 66 72 6f 6d 20 74  |          from t|
0000a5b0  68 65 20 65 61 73 74 20  74 6f 20 6d 61 6b 65 20  |he east to make |
0000a5c0  61 20 77 61 6c 6b 69 6e  67 20 70 61 73 73 61 67  |a walking passag|
0000a5d0  65 20 67 6f 69 6e 67 20  77 65 73 74 2e 20 20 5c  |e going west.  \|
0000a5e0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0000a5f0  54 68 65 72 65 20 69 73  20 61 6c 73 6f 20 61 20  |There is also a |
0000a600  6c 61 72 67 65 20 72 6f  6f 6d 20 61 62 6f 76 65  |large room above|
0000a610  2e 20 20 54 68 65 20 61  69 72 20 69 73 20 64 61  |.  The air is da|
0000a620  6d 70 20 5c 0a 20 20 20  20 20 20 20 20 20 20 20  |mp \.           |
0000a630  20 20 20 20 68 65 72 65  2e 22 2c 0a 20 20 20 20  |    here.",.    |
0000a640  20 20 20 75 5f 74 6f 20  49 6e 5f 44 75 73 74 79  |   u_to In_Dusty|
0000a650  5f 52 6f 63 6b 5f 52 6f  6f 6d 2c 0a 20 20 20 20  |_Rock_Room,.    |
0000a660  20 20 20 77 5f 74 6f 20  49 6e 5f 42 65 64 71 75  |   w_to In_Bedqu|
0000a670  69 6c 74 2c 0a 20 20 20  20 20 20 20 6e 5f 74 6f  |ilt,.       n_to|
0000a680  20 49 6e 5f 53 68 65 6c  6c 5f 52 6f 6f 6d 2c 0a  | In_Shell_Room,.|
0000a690  20 20 20 20 20 20 20 65  5f 74 6f 20 49 6e 5f 41  |       e_to In_A|
0000a6a0  6e 74 65 72 6f 6f 6d 3b  0a 0a 4f 62 6a 65 63 74  |nteroom;..Object|
0000a6b0  20 49 6e 5f 42 65 64 71  75 69 6c 74 20 22 42 65  | In_Bedquilt "Be|
0000a6c0  64 71 75 69 6c 74 22 0a  20 20 77 69 74 68 20 64  |dquilt".  with d|
0000a6d0  65 73 63 72 69 70 74 69  6f 6e 0a 20 20 20 20 20  |escription.     |
0000a6e0  20 20 20 20 20 20 20 20  20 20 22 59 6f 75 20 61  |          "You a|
0000a6f0  72 65 20 69 6e 20 62 65  64 71 75 69 6c 74 2c 20  |re in bedquilt, |
0000a700  61 20 6c 6f 6e 67 20 65  61 73 74 2f 77 65 73 74  |a long east/west|
0000a710  20 70 61 73 73 61 67 65  20 5c 0a 20 20 20 20 20  | passage \.     |
0000a720  20 20 20 20 20 20 20 20  20 20 77 69 74 68 20 68  |          with h|
0000a730  6f 6c 65 73 20 65 76 65  72 79 77 68 65 72 65 2e  |oles everywhere.|
0000a740  20 54 6f 20 65 78 70 6c  6f 72 65 20 61 74 20 72  | To explore at r|
0000a750  61 6e 64 6f 6d 20 73 65  6c 65 63 74 20 5c 0a 20  |andom select \. |
0000a760  20 20 20 20 20 20 20 20  20 20 20 20 20 20 6e 6f  |              no|
0000a770  72 74 68 2c 20 73 6f 75  74 68 2c 20 75 70 2c 20  |rth, south, up, |
0000a780  6f 72 20 64 6f 77 6e 2e  22 2c 0a 20 20 20 20 20  |or down.",.     |
0000a790  20 20 65 5f 74 6f 20 41  74 5f 43 6f 6d 70 6c 65  |  e_to At_Comple|
0000a7a0  78 5f 4a 75 6e 63 74 69  6f 6e 2c 0a 20 20 20 20  |x_Junction,.    |
0000a7b0  20 20 20 77 5f 74 6f 20  49 6e 5f 53 77 69 73 73  |   w_to In_Swiss|
0000a7c0  5f 43 68 65 65 73 65 5f  52 6f 6f 6d 2c 0a 20 20  |_Cheese_Room,.  |
0000a7d0  20 20 20 20 20 73 5f 74  6f 20 49 6e 5f 53 6c 61  |     s_to In_Sla|
0000a7e0  62 5f 52 6f 6f 6d 2c 0a  20 20 20 20 20 20 20 75  |b_Room,.       u|
0000a7f0  5f 74 6f 20 49 6e 5f 44  75 73 74 79 5f 52 6f 63  |_to In_Dusty_Roc|
0000a800  6b 5f 52 6f 6f 6d 2c 0a  20 20 20 20 20 20 20 6e  |k_Room,.       n|
0000a810  5f 74 6f 20 41 74 5f 4a  75 6e 63 74 69 6f 6e 5f  |_to At_Junction_|
0000a820  4f 66 5f 54 68 72 65 65  2c 0a 20 20 20 20 20 20  |Of_Three,.      |
0000a830  20 64 5f 74 6f 20 49 6e  5f 41 6e 74 65 72 6f 6f  | d_to In_Anteroo|
0000a840  6d 2c 0a 20 20 20 20 20  20 20 62 65 66 6f 72 65  |m,.       before|
0000a850  0a 20 20 20 20 20 20 20  5b 20 64 65 73 74 69 6e  |.       [ destin|
0000a860  79 3b 0a 20 20 20 20 20  20 20 20 20 47 6f 3a 20  |y;.         Go: |
0000a870  69 66 20 28 6e 6f 75 6e  3d 3d 73 5f 6f 62 6a 20  |if (noun==s_obj |
0000a880  6f 72 20 64 5f 6f 62 6a  20 26 26 20 72 61 6e 64  |or d_obj && rand|
0000a890  6f 6d 28 31 30 30 29 3c  3d 38 30 29 20 64 65 73  |om(100)<=80) des|
0000a8a0  74 69 6e 79 3d 31 3b 0a  20 20 20 20 20 20 20 20  |tiny=1;.        |
0000a8b0  20 20 20 20 20 69 66 20  28 6e 6f 75 6e 3d 3d 75  |     if (noun==u|
0000a8c0  5f 6f 62 6a 20 26 26 20  72 61 6e 64 6f 6d 28 31  |_obj && random(1|
0000a8d0  30 30 29 3c 3d 38 30 29  20 64 65 73 74 69 6e 79  |00)<=80) destiny|
0000a8e0  3d 31 3b 0a 20 20 20 20  20 20 20 20 20 20 20 20  |=1;.            |
0000a8f0  20 69 66 20 28 6e 6f 75  6e 3d 3d 75 5f 6f 62 6a  | if (noun==u_obj|
0000a900  20 26 26 20 72 61 6e 64  6f 6d 28 31 30 30 29 3c  | && random(100)<|
0000a910  3d 35 30 29 0a 20 20 20  20 20 20 20 20 20 20 20  |=50).           |
0000a920  20 20 20 20 20 20 64 65  73 74 69 6e 79 3d 49 6e  |      destiny=In|
0000a930  5f 53 65 63 72 65 74 5f  4e 5f 53 5f 43 61 6e 79  |_Secret_N_S_Cany|
0000a940  6f 6e 5f 31 3b 0a 20 20  20 20 20 20 20 20 20 20  |on_1;.          |
0000a950  20 20 20 69 66 20 28 6e  6f 75 6e 3d 3d 6e 5f 6f  |   if (noun==n_o|
0000a960  62 6a 20 26 26 20 72 61  6e 64 6f 6d 28 31 30 30  |bj && random(100|
0000a970  29 3c 3d 36 30 29 20 64  65 73 74 69 6e 79 3d 31  |)<=60) destiny=1|
0000a980  3b 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 69  |;.             i|
0000a990  66 20 28 6e 6f 75 6e 3d  3d 6e 5f 6f 62 6a 20 26  |f (noun==n_obj &|
0000a9a0  26 20 72 61 6e 64 6f 6d  28 31 30 30 29 3c 3d 37  |& random(100)<=7|
0000a9b0  35 29 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |5).             |
0000a9c0  20 20 20 20 64 65 73 74  69 6e 79 3d 49 6e 5f 4c  |    destiny=In_L|
0000a9d0  61 72 67 65 5f 4c 6f 77  5f 52 6f 6f 6d 3b 0a 20  |arge_Low_Room;. |
0000a9e0  20 20 20 20 20 20 20 20  20 20 20 20 69 66 20 28  |            if (|
0000a9f0  64 65 73 74 69 6e 79 3d  3d 31 29 0a 20 20 20 20  |destiny==1).    |
0000aa00  20 20 20 20 20 20 20 20  20 20 20 20 20 22 59 6f  |             "Yo|
0000aa10  75 20 68 61 76 65 20 63  72 61 77 6c 65 64 20 61  |u have crawled a|
0000aa20  72 6f 75 6e 64 20 69 6e  20 73 6f 6d 65 20 6c 69  |round in some li|
0000aa30  74 74 6c 65 20 68 6f 6c  65 73 20 61 6e 64 20 5c  |ttle holes and \|
0000aa40  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0000aa50  20 20 20 20 20 20 20 20  20 20 20 20 20 77 6f 75  |             wou|
0000aa60  6e 64 20 75 70 20 62 61  63 6b 20 69 6e 20 74 68  |nd up back in th|
0000aa70  65 20 6d 61 69 6e 20 70  61 73 73 61 67 65 2e 22  |e main passage."|
0000aa80  3b 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 69  |;.             i|
0000aa90  66 20 28 64 65 73 74 69  6e 79 3d 3d 30 29 20 72  |f (destiny==0) r|
0000aaa0  66 61 6c 73 65 3b 0a 20  20 20 20 20 20 20 20 20  |false;.         |
0000aab0  20 20 20 20 50 6c 61 79  65 72 54 6f 28 64 65 73  |    PlayerTo(des|
0000aac0  74 69 6e 79 29 3b 20 72  74 72 75 65 3b 0a 20 20  |tiny); rtrue;.  |
0000aad0  20 20 20 20 20 5d 3b 0a  0a 0a 4f 62 6a 65 63 74  |     ];...Object|
0000aae0  20 49 6e 5f 53 77 69 73  73 5f 43 68 65 65 73 65  | In_Swiss_Cheese|
0000aaf0  5f 52 6f 6f 6d 20 22 49  6e 20 53 77 69 73 73 20  |_Room "In Swiss |
0000ab00  43 68 65 65 73 65 20 52  6f 6f 6d 22 0a 20 20 77  |Cheese Room".  w|
0000ab10  69 74 68 20 64 65 73 63  72 69 70 74 69 6f 6e 0a  |ith description.|
0000ab20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 22  |               "|
0000ab30  59 6f 75 20 61 72 65 20  69 6e 20 61 20 72 6f 6f  |You are in a roo|
0000ab40  6d 20 77 68 6f 73 65 20  77 61 6c 6c 73 20 72 65  |m whose walls re|
0000ab50  73 65 6d 62 6c 65 20 73  77 69 73 73 20 5c 0a 20  |semble swiss \. |
0000ab60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 63 68  |              ch|
0000ab70  65 65 73 65 2e 20 20 4f  62 76 69 6f 75 73 20 70  |eese.  Obvious p|
0000ab80  61 73 73 61 67 65 73 20  67 6f 20 77 65 73 74 2c  |assages go west,|
0000ab90  20 65 61 73 74 2c 20 6e  65 2c 20 61 6e 64 20 6e  | east, ne, and n|
0000aba0  77 2e 20 20 5c 0a 20 20  20 20 20 20 20 20 20 20  |w.  \.          |
0000abb0  20 20 20 20 20 50 61 72  74 20 6f 66 20 74 68 65  |     Part of the|
0000abc0  20 72 6f 6f 6d 20 69 73  20 6f 63 63 75 70 69 65  | room is occupie|
0000abd0  64 20 62 79 20 61 20 6c  61 72 67 65 20 62 65 64  |d by a large bed|
0000abe0  72 6f 63 6b 20 5c 0a 20  20 20 20 20 20 20 20 20  |rock \.         |
0000abf0  20 20 20 20 20 20 62 6c  6f 63 6b 2e 22 2c 0a 20  |      block.",. |
0000ac00  20 20 20 20 20 20 77 5f  74 6f 20 41 74 5f 45 61  |      w_to At_Ea|
0000ac10  73 74 5f 45 6e 64 5f 4f  66 5f 54 77 6f 70 69 74  |st_End_Of_Twopit|
0000ac20  5f 52 6f 6f 6d 2c 0a 20  20 20 20 20 20 20 73 5f  |_Room,.       s_|
0000ac30  74 6f 20 49 6e 5f 54 61  6c 6c 5f 45 5f 57 5f 43  |to In_Tall_E_W_C|
0000ac40  61 6e 79 6f 6e 2c 0a 20  20 20 20 20 20 20 6e 65  |anyon,.       ne|
0000ac50  5f 74 6f 20 49 6e 5f 42  65 64 71 75 69 6c 74 2c  |_to In_Bedquilt,|
0000ac60  0a 20 20 20 20 20 20 20  6e 77 5f 74 6f 20 49 6e  |.       nw_to In|
0000ac70  5f 4f 72 69 65 6e 74 61  6c 5f 52 6f 6f 6d 2c 0a  |_Oriental_Room,.|
0000ac80  20 20 20 20 20 20 20 65  5f 74 6f 20 49 6e 5f 53  |       e_to In_S|
0000ac90  6f 66 74 5f 52 6f 6f 6d  2c 0a 20 20 20 20 20 20  |oft_Room,.      |
0000aca0  20 62 65 66 6f 72 65 0a  20 20 20 20 20 20 20 5b  | before.       [|
0000acb0  3b 20 47 6f 3a 20 69 66  20 28 28 6e 6f 75 6e 3d  |; Go: if ((noun=|
0000acc0  3d 73 5f 6f 62 6a 20 26  26 20 72 61 6e 64 6f 6d  |=s_obj && random|
0000acd0  28 31 30 30 29 20 3c 3d  20 38 30 29 0a 20 20 20  |(100) <= 80).   |
0000ace0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 7c  |               ||
0000acf0  7c 20 28 6e 6f 75 6e 3d  3d 6e 77 5f 6f 62 6a 20  || (noun==nw_obj |
0000ad00  26 26 20 72 61 6e 64 6f  6d 28 31 30 30 29 20 3c  |&& random(100) <|
0000ad10  3d 20 35 30 29 29 0a 20  20 20 20 20 20 20 20 20  |= 50)).         |
0000ad20  20 20 20 20 20 22 59 6f  75 20 68 61 76 65 20 63  |     "You have c|
0000ad30  72 61 77 6c 65 64 20 61  72 6f 75 6e 64 20 69 6e  |rawled around in|
0000ad40  20 73 6f 6d 65 20 6c 69  74 74 6c 65 20 68 6f 6c  | some little hol|
0000ad50  65 73 20 61 6e 64 20 5c  0a 20 20 20 20 20 20 20  |es and \.       |
0000ad60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000ad70  20 20 77 6f 75 6e 64 20  75 70 20 62 61 63 6b 20  |  wound up back |
0000ad80  69 6e 20 74 68 65 20 6d  61 69 6e 20 70 61 73 73  |in the main pass|
0000ad90  61 67 65 2e 22 3b 0a 20  20 20 20 20 20 20 5d 3b  |age.";.       ];|
0000ada0  0a 0a 0a 4e 65 61 72 62  79 20 42 65 64 72 6f 63  |...Nearby Bedroc|
0000adb0  6b 42 6c 6f 63 6b 20 22  62 65 64 72 6f 63 6b 20  |kBlock "bedrock |
0000adc0  62 6c 6f 63 6b 22 0a 20  20 77 69 74 68 20 64 65  |block".  with de|
0000add0  73 63 72 69 70 74 69 6f  6e 20 22 49 74 27 73 20  |scription "It's |
0000ade0  6a 75 73 74 20 61 20 68  75 67 65 20 62 6c 6f 63  |just a huge bloc|
0000adf0  6b 2e 22 2c 0a 20 20 20  20 20 20 20 6e 61 6d 65  |k.",.       name|
0000ae00  20 22 62 6c 6f 63 6b 22  20 22 62 65 64 72 6f 63  | "block" "bedroc|
0000ae10  6b 22 20 22 6c 61 72 67  65 22 2c 0a 20 20 20 20  |k" "large",.    |
0000ae20  20 20 20 62 65 66 6f 72  65 20 5b 3b 20 4c 6f 6f  |   before [; Loo|
0000ae30  6b 55 6e 64 65 72 2c 20  50 75 73 68 2c 20 50 75  |kUnder, Push, Pu|
0000ae40  6c 6c 2c 20 54 61 6b 65  3a 0a 20 20 20 20 20 20  |ll, Take:.      |
0000ae50  20 20 20 20 20 20 20 20  20 20 20 20 22 53 75 72  |            "Sur|
0000ae60  65 6c 79 20 79 6f 75 27  72 65 20 6a 6f 6b 69 6e  |ely you're jokin|
0000ae70  67 2e 22 3b 20 5d 2c 0a  20 20 68 61 73 20 20 73  |g."; ],.  has  s|
0000ae80  63 65 6e 65 72 79 3b 0a  0a 21 20 2d 2d 2d 2d 2d  |cenery;..! -----|
0000ae90  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0000aed0  2d 2d 2d 2d 2d 2d 2d 0a  21 20 20 20 54 68 65 20  |-------.!   The |
0000aee0  54 77 6f 70 69 74 20 52  6f 6f 6d 20 61 72 65 61  |Twopit Room area|
0000aef0  0a 21 20 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.! -------------|
0000af00  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0000af30  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 0a  |---------------.|
0000af40  0a 4f 62 6a 65 63 74 20  41 74 5f 57 65 73 74 5f  |.Object At_West_|
0000af50  45 6e 64 5f 4f 66 5f 54  77 6f 70 69 74 5f 52 6f  |End_Of_Twopit_Ro|
0000af60  6f 6d 20 22 41 74 20 57  65 73 74 20 45 6e 64 20  |om "At West End |
0000af70  6f 66 20 54 77 6f 70 69  74 20 52 6f 6f 6d 22 0a  |of Twopit Room".|
0000af80  20 20 77 69 74 68 20 64  65 73 63 72 69 70 74 69  |  with descripti|
0000af90  6f 6e 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |on.             |
0000afa0  20 20 22 59 6f 75 20 61  72 65 20 61 74 20 74 68  |  "You are at th|
0000afb0  65 20 77 65 73 74 20 65  6e 64 20 6f 66 20 74 68  |e west end of th|
0000afc0  65 20 74 77 6f 70 69 74  20 72 6f 6f 6d 2e 20 20  |e twopit room.  |
0000afd0  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
0000afe0  20 54 68 65 72 65 20 69  73 20 61 20 6c 61 72 67  | There is a larg|
0000aff0  65 20 68 6f 6c 65 20 69  6e 20 74 68 65 20 77 61  |e hole in the wa|
0000b000  6c 6c 20 61 62 6f 76 65  20 74 68 65 20 70 69 74  |ll above the pit|
0000b010  20 61 74 20 5c 0a 20 20  20 20 20 20 20 20 20 20  | at \.          |
0000b020  20 20 20 20 20 74 68 69  73 20 65 6e 64 20 6f 66  |     this end of|
0000b030  20 74 68 65 20 72 6f 6f  6d 2e 22 2c 0a 20 20 20  | the room.",.   |
0000b040  20 20 20 20 65 5f 74 6f  20 41 74 5f 45 61 73 74  |    e_to At_East|
0000b050  5f 45 6e 64 5f 4f 66 5f  54 77 6f 70 69 74 5f 52  |_End_Of_Twopit_R|
0000b060  6f 6f 6d 2c 0a 20 20 20  20 20 20 20 77 5f 74 6f  |oom,.       w_to|
0000b070  20 49 6e 5f 53 6c 61 62  5f 52 6f 6f 6d 2c 0a 20  | In_Slab_Room,. |
0000b080  20 20 20 20 20 20 64 5f  74 6f 20 49 6e 5f 57 65  |      d_to In_We|
0000b090  73 74 5f 50 69 74 2c 0a  20 20 20 20 20 20 20 75  |st_Pit,.       u|
0000b0a0  5f 74 6f 20 22 49 74 20  69 73 20 74 6f 6f 20 66  |_to "It is too f|
0000b0b0  61 72 20 75 70 20 66 6f  72 20 79 6f 75 20 74 6f  |ar up for you to|
0000b0c0  20 72 65 61 63 68 2e 22  2c 0a 20 20 20 20 20 20  | reach.",.      |
0000b0d0  20 62 65 66 6f 72 65 0a  20 20 20 20 20 20 20 5b  | before.       [|
0000b0e0  3b 20 45 6e 74 65 72 3a  20 69 66 20 28 6e 6f 75  |; Enter: if (nou|
0000b0f0  6e 3d 3d 48 6f 6c 65 41  62 6f 76 65 50 69 74 5f  |n==HoleAbovePit_|
0000b100  31 29 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |1).             |
0000b110  20 22 49 74 20 69 73 20  74 6f 6f 20 66 61 72 20  | "It is too far |
0000b120  75 70 20 66 6f 72 20 79  6f 75 20 74 6f 20 72 65  |up for you to re|
0000b130  61 63 68 2e 22 3b 0a 20  20 20 20 20 20 20 5d 3b  |ach.";.       ];|
0000b140  0a 0a 4f 62 6a 65 63 74  20 50 6c 61 6e 74 53 74  |..Object PlantSt|
0000b150  69 63 6b 69 6e 67 55 70  20 22 62 65 61 6e 73 74  |ickingUp "beanst|
0000b160  61 6c 6b 22 0a 20 20 77  69 74 68 20 66 6f 75 6e  |alk".  with foun|
0000b170  64 5f 69 6e 20 20 41 74  5f 57 65 73 74 5f 45 6e  |d_in  At_West_En|
0000b180  64 5f 4f 66 5f 54 77 6f  70 69 74 5f 52 6f 6f 6d  |d_Of_Twopit_Room|
0000b190  20 20 41 74 5f 45 61 73  74 5f 45 6e 64 5f 4f 66  |  At_East_End_Of|
0000b1a0  5f 54 77 6f 70 69 74 5f  52 6f 6f 6d 2c 0a 20 20  |_Twopit_Room,.  |
0000b1b0  20 20 20 20 20 6e 61 6d  65 20 22 70 6c 61 6e 74  |     name "plant|
0000b1c0  22 20 22 62 65 61 6e 73  74 61 6c 6b 22 20 22 73  |" "beanstalk" "s|
0000b1d0  74 61 6c 6b 22 0a 20 20  20 20 20 20 20 20 20 20  |talk".          |
0000b1e0  20 20 22 62 65 61 6e 22  20 22 67 69 61 6e 74 22  |  "bean" "giant"|
0000b1f0  20 22 74 69 6e 79 22 20  22 6c 69 74 74 6c 65 22  | "tiny" "little"|
0000b200  20 22 6d 75 72 6d 75 72  69 6e 67 22 0a 20 20 20  | "murmuring".   |
0000b210  20 20 20 20 20 20 20 20  20 22 74 77 65 6c 76 65  |         "twelve|
0000b220  22 20 22 66 6f 6f 74 22  20 22 74 61 6c 6c 22 20  |" "foot" "tall" |
0000b230  22 62 65 6c 6c 6f 77 69  6e 67 22 2c 0a 20 20 20  |"bellowing",.   |
0000b240  20 20 20 20 64 65 73 63  72 69 62 65 0a 20 20 20  |    describe.   |
0000b250  20 20 20 20 5b 3b 20 20  69 66 20 28 50 6c 61 6e  |    [;  if (Plan|
0000b260  74 2e 6e 75 6d 62 65 72  20 3d 3d 20 31 29 0a 20  |t.number == 1). |
0000b270  20 20 20 20 20 20 20 20  20 20 20 20 20 20 22 54  |              "T|
0000b280  68 65 20 74 6f 70 20 6f  66 20 61 20 31 32 2d 66  |he top of a 12-f|
0000b290  6f 6f 74 2d 74 61 6c 6c  20 62 65 61 6e 73 74 61  |oot-tall beansta|
0000b2a0  6c 6b 20 69 73 20 5c 0a  20 20 20 20 20 20 20 20  |lk is \.        |
0000b2b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000b2c0  20 20 70 6f 6b 69 6e 67  20 6f 75 74 20 6f 66 20  |  poking out of |
0000b2d0  74 68 65 20 77 65 73 74  20 70 69 74 2e 22 3b 0a  |the west pit.";.|
0000b2e0  20 20 20 20 20 20 20 20  20 20 20 22 54 68 65 72  |           "Ther|
0000b2f0  65 20 69 73 20 61 20 68  75 67 65 20 62 65 61 6e  |e is a huge bean|
0000b300  73 74 61 6c 6b 20 67 72  6f 77 69 6e 67 20 6f 75  |stalk growing ou|
0000b310  74 20 6f 66 20 74 68 65  20 5c 0a 20 20 20 20 20  |t of the \.     |
0000b320  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000b330  20 20 20 20 20 77 65 73  74 20 70 69 74 20 75 70  |     west pit up|
0000b340  20 74 6f 20 74 68 65 20  68 6f 6c 65 2e 22 3b 0a  | to the hole.";.|
0000b350  20 20 20 20 20 20 20 5d  2c 0a 20 20 20 20 20 20  |       ],.      |
0000b360  20 62 65 66 6f 72 65 0a  20 20 20 20 20 20 20 5b  | before.       [|
0000b370  3b 20 45 78 61 6d 69 6e  65 3a 20 52 75 6e 52 6f  |; Examine: RunRo|
0000b380  75 74 69 6e 65 73 28 73  65 6c 66 2c 64 65 73 63  |utines(self,desc|
0000b390  72 69 62 65 29 3b 20 72  74 72 75 65 3b 0a 20 20  |ribe); rtrue;.  |
0000b3a0  20 20 20 20 20 20 20 20  43 6c 69 6d 62 3a 20 69  |        Climb: i|
0000b3b0  66 20 28 50 6c 61 6e 74  2e 6e 75 6d 62 65 72 3d  |f (Plant.number=|
0000b3c0  3d 32 29 20 3c 3c 43 6c  69 6d 62 20 50 6c 61 6e  |=2) <<Climb Plan|
0000b3d0  74 3e 3e 3b 0a 20 20 20  20 20 20 20 5d 2c 0a 20  |t>>;.       ],. |
0000b3e0  20 68 61 73 20 20 61 62  73 65 6e 74 20 73 74 61  | has  absent sta|
0000b3f0  74 69 63 3b 0a 0a 4f 62  6a 65 63 74 20 48 6f 6c  |tic;..Object Hol|
0000b400  65 41 62 6f 76 65 50 69  74 5f 31 20 22 68 6f 6c  |eAbovePit_1 "hol|
0000b410  65 20 61 62 6f 76 65 20  70 69 74 22 0a 20 20 77  |e above pit".  w|
0000b420  69 74 68 20 64 65 73 63  72 69 70 74 69 6f 6e 0a  |ith description.|
0000b430  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 22  |               "|
0000b440  54 68 65 20 68 6f 6c 65  20 69 73 20 69 6e 20 74  |The hole is in t|
0000b450  68 65 20 77 61 6c 6c 20  61 62 6f 76 65 20 74 68  |he wall above th|
0000b460  65 20 70 69 74 20 61 74  20 5c 0a 20 20 20 20 20  |e pit at \.     |
0000b470  20 20 20 20 20 20 20 20  20 20 74 68 69 73 20 65  |          this e|
0000b480  6e 64 20 6f 66 20 74 68  65 20 72 6f 6f 6d 2e 22  |nd of the room."|
0000b490  2c 0a 20 20 20 20 20 20  20 6e 61 6d 65 20 22 68  |,.       name "h|
0000b4a0  6f 6c 65 22 20 22 6c 61  72 67 65 22 20 22 61 62  |ole" "large" "ab|
0000b4b0  6f 76 65 22 20 22 70 69  74 22 2c 0a 20 20 20 20  |ove" "pit",.    |
0000b4c0  20 20 20 66 6f 75 6e 64  5f 69 6e 20 49 6e 5f 57  |   found_in In_W|
0000b4d0  65 73 74 5f 50 69 74 20  41 74 5f 57 65 73 74 5f  |est_Pit At_West_|
0000b4e0  45 6e 64 5f 4f 66 5f 54  77 6f 70 69 74 5f 52 6f  |End_Of_Twopit_Ro|
0000b4f0  6f 6d 0a 20 20 68 61 73  20 20 73 63 65 6e 65 72  |om.  has  scener|
0000b500  79 3b 0a 0a 0a 4f 62 6a  65 63 74 20 49 6e 5f 57  |y;...Object In_W|
0000b510  65 73 74 5f 50 69 74 20  22 49 6e 20 57 65 73 74  |est_Pit "In West|
0000b520  20 50 69 74 22 0a 20 20  77 69 74 68 20 64 65 73  | Pit".  with des|
0000b530  63 72 69 70 74 69 6f 6e  0a 20 20 20 20 20 20 20  |cription.       |
0000b540  20 20 20 20 20 20 20 20  22 59 6f 75 20 61 72 65  |        "You are|
0000b550  20 61 74 20 74 68 65 20  62 6f 74 74 6f 6d 20 6f  | at the bottom o|
0000b560  66 20 74 68 65 20 77 65  73 74 65 72 6e 20 70 69  |f the western pi|
0000b570  74 20 69 6e 20 74 68 65  20 5c 0a 20 20 20 20 20  |t in the \.     |
0000b580  20 20 20 20 20 20 20 20  20 20 74 77 6f 70 69 74  |          twopit|
0000b590  20 72 6f 6f 6d 2e 20 20  54 68 65 72 65 20 69 73  | room.  There is|
0000b5a0  20 61 20 6c 61 72 67 65  20 68 6f 6c 65 20 69 6e  | a large hole in|
0000b5b0  20 74 68 65 20 77 61 6c  6c 20 61 62 6f 75 74 20  | the wall about |
0000b5c0  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
0000b5d0  20 32 35 20 66 65 65 74  20 61 62 6f 76 65 20 79  | 25 feet above y|
0000b5e0  6f 75 2e 22 2c 0a 20 20  20 20 20 20 20 62 65 66  |ou.",.       bef|
0000b5f0  6f 72 65 0a 20 20 20 20  20 20 20 5b 3b 20 43 6c  |ore.       [; Cl|
0000b600  69 6d 62 3a 0a 20 20 20  20 20 20 20 20 20 20 20  |imb:.           |
0000b610  69 66 20 28 6e 6f 75 6e  3d 3d 50 6c 61 6e 74 29  |if (noun==Plant)|
0000b620  20 72 66 61 6c 73 65 3b  0a 20 20 20 20 20 20 20  | rfalse;.       |
0000b630  20 20 20 20 69 66 20 28  50 6c 61 6e 74 2e 6e 75  |    if (Plant.nu|
0000b640  6d 62 65 72 20 3c 20 31  20 7c 7c 20 50 6c 61 6e  |mber < 1 || Plan|
0000b650  74 2e 6e 75 6d 62 65 72  20 3e 20 32 29 0a 20 20  |t.number > 2).  |
0000b660  20 20 20 20 20 20 20 20  20 20 20 20 20 22 54 68  |             "Th|
0000b670  65 72 65 20 69 73 20 6e  6f 74 68 69 6e 67 20 68  |ere is nothing h|
0000b680  65 72 65 20 74 6f 20 63  6c 69 6d 62 2e 20 20 55  |ere to climb.  U|
0000b690  73 65 20 7e 75 70 7e 20  5c 0a 20 20 20 20 20 20  |se ~up~ \.      |
0000b6a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000b6b0  20 20 20 20 6f 72 20 7e  6f 75 74 7e 20 74 6f 20  |    or ~out~ to |
0000b6c0  6c 65 61 76 65 20 74 68  65 20 70 69 74 2e 22 3b  |leave the pit.";|
0000b6d0  0a 20 20 20 20 20 20 20  5d 2c 0a 20 20 20 20 20  |.       ],.     |
0000b6e0  20 20 75 5f 74 6f 20 41  74 5f 57 65 73 74 5f 45  |  u_to At_West_E|
0000b6f0  6e 64 5f 4f 66 5f 54 77  6f 70 69 74 5f 52 6f 6f  |nd_Of_Twopit_Roo|
0000b700  6d 0a 20 20 68 61 73 20  20 6e 6f 64 77 61 72 66  |m.  has  nodwarf|
0000b710  3b 0a 0a 4e 65 61 72 62  79 20 50 6c 61 6e 74 20  |;..Nearby Plant |
0000b720  22 70 6c 61 6e 74 22 0a  20 20 77 69 74 68 20 6e  |"plant".  with n|
0000b730  75 6d 62 65 72 20 30 2c  0a 20 20 20 20 20 20 20  |umber 0,.       |
0000b740  6e 61 6d 65 20 22 70 6c  61 6e 74 22 20 22 62 65  |name "plant" "be|
0000b750  61 6e 73 74 61 6c 6b 22  20 22 73 74 61 6c 6b 22  |anstalk" "stalk"|
0000b760  0a 20 20 20 20 20 20 20  20 20 20 20 20 22 62 65  |.            "be|
0000b770  61 6e 22 20 22 67 69 61  6e 74 22 20 22 74 69 6e  |an" "giant" "tin|
0000b780  79 22 20 22 6c 69 74 74  6c 65 22 20 22 6d 75 72  |y" "little" "mur|
0000b790  6d 75 72 69 6e 67 22 0a  20 20 20 20 20 20 20 20  |muring".        |
0000b7a0  20 20 20 20 22 74 77 65  6c 76 65 22 20 22 66 6f  |    "twelve" "fo|
0000b7b0  6f 74 22 20 22 74 61 6c  6c 22 20 22 62 65 6c 6c  |ot" "tall" "bell|
0000b7c0  6f 77 69 6e 67 22 2c 0a  20 20 20 20 20 20 20 64  |owing",.       d|
0000b7d0  65 73 63 72 69 62 65 0a  20 20 20 20 20 20 20 5b  |escribe.       [|
0000b7e0  3b 20 69 66 20 28 73 65  6c 66 2e 6e 75 6d 62 65  |; if (self.numbe|
0000b7f0  72 20 3d 3d 20 30 29 0a  20 20 20 20 20 20 20 20  |r == 0).        |
0000b800  20 20 20 20 20 20 22 54  68 65 72 65 20 69 73 20  |      "There is |
0000b810  61 20 74 69 6e 79 20 6c  69 74 74 6c 65 20 70 6c  |a tiny little pl|
0000b820  61 6e 74 20 69 6e 20 74  68 65 20 70 69 74 2c 20  |ant in the pit, |
0000b830  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
0000b840  20 20 20 20 20 20 20 20  20 20 20 6d 75 72 6d 75  |           murmu|
0000b850  72 69 6e 67 20 7e 57 61  74 65 72 2c 20 77 61 74  |ring ~Water, wat|
0000b860  65 72 2c 20 2e 2e 2e 7e  22 3b 0a 20 20 20 20 20  |er, ...~";.     |
0000b870  20 20 20 20 20 69 66 20  28 73 65 6c 66 2e 6e 75  |     if (self.nu|
0000b880  6d 62 65 72 20 3d 3d 20  31 29 0a 20 20 20 20 20  |mber == 1).     |
0000b890  20 20 20 20 20 20 20 20  20 22 54 68 65 72 65 20  |         "There |
0000b8a0  69 73 20 61 20 31 32 2d  66 6f 6f 74 2d 74 61 6c  |is a 12-foot-tal|
0000b8b0  6c 20 62 65 61 6e 73 74  61 6c 6b 20 73 74 72 65  |l beanstalk stre|
0000b8c0  74 63 68 69 6e 67 20 5c  0a 20 20 20 20 20 20 20  |tching \.       |
0000b8d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000b8e0  20 20 75 70 20 6f 75 74  20 6f 66 20 74 68 65 20  |  up out of the |
0000b8f0  70 69 74 2c 20 62 65 6c  6c 6f 77 69 6e 67 20 7e  |pit, bellowing ~|
0000b900  57 61 74 65 72 21 21 20  57 61 74 65 72 21 21 7e  |Water!! Water!!~|
0000b910  22 3b 0a 20 20 20 20 20  20 20 20 20 20 69 66 20  |";.          if |
0000b920  28 73 65 6c 66 2e 6e 75  6d 62 65 72 20 3d 3d 20  |(self.number == |
0000b930  32 29 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |2).             |
0000b940  20 22 54 68 65 72 65 20  69 73 20 61 20 67 69 67  | "There is a gig|
0000b950  61 6e 74 69 63 20 62 65  61 6e 73 74 61 6c 6b 20  |antic beanstalk |
0000b960  73 74 72 65 74 63 68 69  6e 67 20 61 6c 6c 20 5c  |stretching all \|
0000b970  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0000b980  20 20 20 20 20 20 20 20  20 74 68 65 20 77 61 79  |         the way|
0000b990  20 75 70 20 74 6f 20 74  68 65 20 68 6f 6c 65 2e  | up to the hole.|
0000b9a0  22 3b 0a 20 20 20 20 20  20 20 5d 2c 0a 20 20 20  |";.       ],.   |
0000b9b0  20 20 20 20 62 65 66 6f  72 65 0a 20 20 20 20 20  |    before.     |
0000b9c0  20 20 5b 20 63 6f 6e 74  73 3b 0a 20 20 20 20 20  |  [ conts;.     |
0000b9d0  20 20 20 20 43 6c 69 6d  62 3a 20 69 66 20 28 73  |    Climb: if (s|
0000b9e0  65 6c 66 2e 6e 75 6d 62  65 72 20 3d 3d 20 30 29  |elf.number == 0)|
0000b9f0  20 22 49 74 27 73 20 6a  75 73 74 20 61 20 6c 69  | "It's just a li|
0000ba00  74 74 6c 65 20 70 6c 61  6e 74 21 22 3b 0a 20 20  |ttle plant!";.  |
0000ba10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 69 66  |              if|
0000ba20  20 28 73 65 6c 66 2e 6e  75 6d 62 65 72 20 3d 3d  | (self.number ==|
0000ba30  20 31 29 0a 20 20 20 20  20 20 20 20 20 20 20 20  | 1).            |
0000ba40  20 20 20 20 7b 20 20 20  70 72 69 6e 74 20 22 59  |    {   print "Y|
0000ba50  6f 75 20 68 61 76 65 20  63 6c 69 6d 62 65 64 20  |ou have climbed |
0000ba60  75 70 20 74 68 65 20 70  6c 61 6e 74 20 61 6e 64  |up the plant and|
0000ba70  20 6f 75 74 20 6f 66 20  74 68 65 20 70 69 74 2e  | out of the pit.|
0000ba80  5e 22 3b 0a 20 20 20 20  20 20 20 20 20 20 20 20  |^";.            |
0000ba90  20 20 20 20 20 20 20 20  50 6c 61 79 65 72 54 6f  |        PlayerTo|
0000baa0  28 41 74 5f 57 65 73 74  5f 45 6e 64 5f 4f 66 5f  |(At_West_End_Of_|
0000bab0  54 77 6f 70 69 74 5f 52  6f 6f 6d 29 3b 20 72 74  |Twopit_Room); rt|
0000bac0  72 75 65 3b 0a 20 20 20  20 20 20 20 20 20 20 20  |rue;.           |
0000bad0  20 20 20 20 20 7d 0a 20  20 20 20 20 20 20 20 20  |     }.         |
0000bae0  20 20 20 20 20 20 20 69  66 20 28 73 65 6c 66 2e  |       if (self.|
0000baf0  6e 75 6d 62 65 72 20 3d  3d 20 32 29 0a 20 20 20  |number == 2).   |
0000bb00  20 20 20 20 20 20 20 20  20 20 20 20 20 7b 20 20  |             {  |
0000bb10  20 70 72 69 6e 74 20 22  59 6f 75 20 63 6c 61 6d  | print "You clam|
0000bb20  62 65 72 20 75 70 20 74  68 65 20 70 6c 61 6e 74  |ber up the plant|
0000bb30  20 61 6e 64 20 73 63 75  72 72 79 20 74 68 72 6f  | and scurry thro|
0000bb40  75 67 68 20 5c 0a 20 20  20 20 20 20 20 20 20 20  |ugh \.          |
0000bb50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000bb60  20 74 68 65 20 68 6f 6c  65 20 61 74 20 74 68 65  | the hole at the|
0000bb70  20 74 6f 70 2e 5e 22 3b  0a 20 20 20 20 20 20 20  | top.^";.       |
0000bb80  20 20 20 20 20 20 20 20  20 20 20 20 20 50 6c 61  |             Pla|
0000bb90  79 65 72 54 6f 28 49 6e  5f 4e 61 72 72 6f 77 5f  |yerTo(In_Narrow_|
0000bba0  43 6f 72 72 69 64 6f 72  29 3b 20 72 74 72 75 65  |Corridor); rtrue|
0000bbb0  3b 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |;.              |
0000bbc0  20 20 7d 0a 20 20 20 20  20 20 20 20 20 54 61 6b  |  }.         Tak|
0000bbd0  65 3a 20 20 22 54 68 65  20 70 6c 61 6e 74 20 68  |e:  "The plant h|
0000bbe0  61 73 20 65 78 63 65 70  74 69 6f 6e 61 6c 6c 79  |as exceptionally|
0000bbf0  20 64 65 65 70 20 72 6f  6f 74 73 20 61 6e 64 20  | deep roots and |
0000bc00  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
0000bc10  20 20 20 20 20 63 61 6e  6e 6f 74 20 62 65 20 70  |     cannot be p|
0000bc20  75 6c 6c 65 64 20 66 72  65 65 2e 22 3b 0a 20 20  |ulled free.";.  |
0000bc30  20 20 20 20 20 20 20 57  61 74 65 72 3a 20 69 66  |       Water: if|
0000bc40  20 28 62 6f 74 74 6c 65  20 6e 6f 74 69 6e 20 70  | (bottle notin p|
0000bc50  6c 61 79 65 72 29 0a 20  20 20 20 20 20 20 20 20  |layer).         |
0000bc60  20 20 20 20 20 20 20 20  20 20 20 22 59 6f 75 20  |           "You |
0000bc70  68 61 76 65 20 6e 6f 74  68 69 6e 67 20 74 6f 20  |have nothing to |
0000bc80  77 61 74 65 72 20 74 68  65 20 70 6c 61 6e 74 20  |water the plant |
0000bc90  77 69 74 68 2e 22 3b 0a  20 20 20 20 20 20 20 20  |with.";.        |
0000bca0  20 20 20 20 20 20 20 20  63 6f 6e 74 73 3d 63 68  |        conts=ch|
0000bcb0  69 6c 64 28 62 6f 74 74  6c 65 29 3b 0a 20 20 20  |ild(bottle);.   |
0000bcc0  20 20 20 20 20 20 20 20  20 20 20 20 20 69 66 20  |             if |
0000bcd0  28 63 6f 6e 74 73 3d 3d  30 29 20 22 54 68 65 20  |(conts==0) "The |
0000bce0  62 6f 74 74 6c 65 20 69  73 20 65 6d 70 74 79 2e  |bottle is empty.|
0000bcf0  22 3b 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |";.             |
0000bd00  20 20 20 72 65 6d 6f 76  65 20 63 6f 6e 74 73 3b  |   remove conts;|
0000bd10  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0000bd20  20 69 66 20 28 63 6f 6e  74 73 3d 3d 6f 69 6c 5f  | if (conts==oil_|
0000bd30  69 6e 5f 74 68 65 5f 62  6f 74 74 6c 65 29 0a 20  |in_the_bottle). |
0000bd40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000bd50  20 20 20 22 54 68 65 20  70 6c 61 6e 74 20 69 6e  |   "The plant in|
0000bd60  64 69 67 6e 61 6e 74 6c  79 20 73 68 61 6b 65 73  |dignantly shakes|
0000bd70  20 74 68 65 20 6f 69 6c  20 5c 0a 20 20 20 20 20  | the oil \.     |
0000bd80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000bd90  20 20 20 20 20 20 20 20  20 20 6f 66 66 20 69 74  |          off it|
0000bda0  73 20 6c 65 61 76 65 73  20 61 6e 64 20 61 73 6b  |s leaves and ask|
0000bdb0  73 2c 20 7e 57 61 74 65  72 3f 7e 22 3b 0a 20 20  |s, ~Water?~";.  |
0000bdc0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 73 65  |              se|
0000bdd0  6c 66 2e 6e 75 6d 62 65  72 20 3d 20 73 65 6c 66  |lf.number = self|
0000bde0  2e 6e 75 6d 62 65 72 20  2b 20 31 3b 0a 20 20 20  |.number + 1;.   |
0000bdf0  20 20 20 20 20 20 20 20  20 20 20 20 20 67 69 76  |             giv|
0000be00  65 20 50 6c 61 6e 74 53  74 69 63 6b 69 6e 67 55  |e PlantStickingU|
0000be10  70 20 7e 61 62 73 65 6e  74 3b 0a 20 20 20 20 20  |p ~absent;.     |
0000be20  20 20 20 20 20 20 20 20  20 20 20 69 66 20 28 73  |           if (s|
0000be30  65 6c 66 2e 6e 75 6d 62  65 72 20 3d 3d 20 31 29  |elf.number == 1)|
0000be40  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0000be50  20 20 20 20 20 70 72 69  6e 74 20 22 54 68 65 20  |     print "The |
0000be60  70 6c 61 6e 74 20 73 70  75 72 74 73 20 69 6e 74  |plant spurts int|
0000be70  6f 20 66 75 72 69 6f 75  73 20 67 72 6f 77 74 68  |o furious growth|
0000be80  20 66 6f 72 20 61 20 5c  0a 20 20 20 20 20 20 20  | for a \.       |
0000be90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000bea0  20 66 65 77 20 73 65 63  6f 6e 64 73 2e 5e 5e 22  | few seconds.^^"|
0000beb0  3b 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |;.              |
0000bec0  20 20 69 66 20 28 73 65  6c 66 2e 6e 75 6d 62 65  |  if (self.numbe|
0000bed0  72 20 3d 3d 20 32 29 0a  20 20 20 20 20 20 20 20  |r == 2).        |
0000bee0  20 20 20 20 20 20 20 20  20 20 20 20 70 72 69 6e  |            prin|
0000bef0  74 20 22 54 68 65 20 70  6c 61 6e 74 20 67 72 6f  |t "The plant gro|
0000bf00  77 73 20 65 78 70 6c 6f  73 69 76 65 6c 79 2c 20  |ws explosively, |
0000bf10  61 6c 6d 6f 73 74 20 66  69 6c 6c 69 6e 67 20 5c  |almost filling \|
0000bf20  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0000bf30  20 20 20 20 20 20 20 20  20 74 68 65 20 62 6f 74  |         the bot|
0000bf40  74 6f 6d 20 6f 66 20 74  68 65 20 70 69 74 2e 5e  |tom of the pit.^|
0000bf50  5e 22 3b 0a 20 20 20 20  20 20 20 20 20 20 20 20  |^";.            |
0000bf60  20 20 20 20 69 66 20 28  73 65 6c 66 2e 6e 75 6d  |    if (self.num|
0000bf70  62 65 72 20 3d 3d 20 33  29 0a 20 20 20 20 20 20  |ber == 3).      |
0000bf80  20 20 20 20 20 20 20 20  20 20 7b 20 20 20 70 72  |          {   pr|
0000bf90  69 6e 74 20 22 59 6f 75  27 76 65 20 6f 76 65 72  |int "You've over|
0000bfa0  2d 77 61 74 65 72 65 64  20 74 68 65 20 70 6c 61  |-watered the pla|
0000bfb0  6e 74 21 20 20 49 74 27  73 20 5c 0a 20 20 20 20  |nt!  It's \.    |
0000bfc0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000bfd0  20 20 20 20 73 68 72 69  76 65 6c 69 6e 67 20 75  |    shriveling u|
0000bfe0  70 21 20 20 49 74 27 73  2c 20 69 74 27 73 2e 2e  |p!  It's, it's..|
0000bff0  2e 5e 5e 22 3b 0a 20 20  20 20 20 20 20 20 20 20  |.^^";.          |
0000c000  20 20 20 20 20 20 20 20  20 20 67 69 76 65 20 50  |          give P|
0000c010  6c 61 6e 74 53 74 69 63  6b 69 6e 67 55 70 20 61  |lantStickingUp a|
0000c020  62 73 65 6e 74 3b 20 72  65 6d 6f 76 65 20 50 6c  |bsent; remove Pl|
0000c030  61 6e 74 53 74 69 63 6b  69 6e 67 55 70 3b 0a 20  |antStickingUp;. |
0000c040  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000c050  20 20 20 73 65 6c 66 2e  6e 75 6d 62 65 72 20 3d  |   self.number =|
0000c060  20 30 3b 0a 20 20 20 20  20 20 20 20 20 20 20 20  | 0;.            |
0000c070  20 20 20 20 7d 0a 20 20  20 20 20 20 20 20 20 20  |    }.          |
0000c080  20 20 20 20 20 20 3c 3c  45 78 61 6d 69 6e 65 20  |      <<Examine |
0000c090  73 65 6c 66 3e 3e 3b 0a  20 20 20 20 20 20 20 20  |self>>;.        |
0000c0a0  20 4f 69 6c 3a 20 20 20  3c 3c 57 61 74 65 72 20  | Oil:   <<Water |
0000c0b0  73 65 6c 66 3e 3e 3b 0a  20 20 20 20 20 20 20 20  |self>>;.        |
0000c0c0  20 45 78 61 6d 69 6e 65  3a 20 52 75 6e 52 6f 75  | Examine: RunRou|
0000c0d0  74 69 6e 65 73 28 73 65  6c 66 2c 64 65 73 63 72  |tines(self,descr|
0000c0e0  69 62 65 29 3b 20 72 74  72 75 65 3b 0a 20 20 20  |ibe); rtrue;.   |
0000c0f0  20 20 20 20 5d 3b 0a 20  20 20 20 20 20 20 0a 0a  |    ];.       ..|
0000c100  4f 62 6a 65 63 74 20 41  74 5f 45 61 73 74 5f 45  |Object At_East_E|
0000c110  6e 64 5f 4f 66 5f 54 77  6f 70 69 74 5f 52 6f 6f  |nd_Of_Twopit_Roo|
0000c120  6d 20 22 41 74 20 45 61  73 74 20 45 6e 64 20 6f  |m "At East End o|
0000c130  66 20 54 77 6f 70 69 74  20 52 6f 6f 6d 22 0a 20  |f Twopit Room". |
0000c140  20 77 69 74 68 20 64 65  73 63 72 69 70 74 69 6f  | with descriptio|
0000c150  6e 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |n.              |
0000c160  20 22 59 6f 75 20 61 72  65 20 61 74 20 74 68 65  | "You are at the|
0000c170  20 65 61 73 74 20 65 6e  64 20 6f 66 20 74 68 65  | east end of the|
0000c180  20 74 77 6f 70 69 74 20  72 6f 6f 6d 2e 20 20 5c  | twopit room.  \|
0000c190  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0000c1a0  54 68 65 20 66 6c 6f 6f  72 20 68 65 72 65 20 69  |The floor here i|
0000c1b0  73 20 6c 69 74 74 65 72  65 64 20 77 69 74 68 20  |s littered with |
0000c1c0  74 68 69 6e 20 72 6f 63  6b 20 73 6c 61 62 73 2c  |thin rock slabs,|
0000c1d0  20 5c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  | \.             |
0000c1e0  20 20 77 68 69 63 68 20  6d 61 6b 65 20 69 74 20  |  which make it |
0000c1f0  65 61 73 79 20 74 6f 20  64 65 73 63 65 6e 64 20  |easy to descend |
0000c200  74 68 65 20 70 69 74 73  2e 20 54 68 65 72 65 20  |the pits. There |
0000c210  69 73 20 61 20 5c 0a 20  20 20 20 20 20 20 20 20  |is a \.         |
0000c220  20 20 20 20 20 20 70 61  74 68 20 68 65 72 65 20  |      path here |
0000c230  62 79 70 61 73 73 69 6e  67 20 74 68 65 20 70 69  |bypassing the pi|
0000c240  74 73 20 74 6f 20 63 6f  6e 6e 65 63 74 20 70 61  |ts to connect pa|
0000c250  73 73 61 67 65 73 20 66  72 6f 6d 20 5c 0a 20 20  |ssages from \.  |
0000c260  20 20 20 20 20 20 20 20  20 20 20 20 20 65 61 73  |             eas|
0000c270  74 20 61 6e 64 20 77 65  73 74 2e 20 20 54 68 65  |t and west.  The|
0000c280  72 65 20 61 72 65 20 68  6f 6c 65 73 20 61 6c 6c  |re are holes all|
0000c290  20 6f 76 65 72 2c 20 62  75 74 20 74 68 65 20 5c  | over, but the \|
0000c2a0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0000c2b0  6f 6e 6c 79 20 62 69 67  20 6f 6e 65 20 69 73 20  |only big one is |
0000c2c0  6f 6e 20 74 68 65 20 77  61 6c 6c 20 64 69 72 65  |on the wall dire|
0000c2d0  63 74 6c 79 20 6f 76 65  72 20 74 68 65 20 77 65  |ctly over the we|
0000c2e0  73 74 20 5c 0a 20 20 20  20 20 20 20 20 20 20 20  |st \.           |
0000c2f0  20 20 20 20 70 69 74 20  77 68 65 72 65 20 79 6f  |    pit where yo|
0000c300  75 20 63 61 6e 27 74 20  67 65 74 20 74 6f 20 69  |u can't get to i|
0000c310  74 2e 22 2c 0a 20 20 20  20 20 20 20 65 5f 74 6f  |t.",.       e_to|
0000c320  20 49 6e 5f 53 77 69 73  73 5f 43 68 65 65 73 65  | In_Swiss_Cheese|
0000c330  5f 52 6f 6f 6d 2c 0a 20  20 20 20 20 20 20 77 5f  |_Room,.       w_|
0000c340  74 6f 20 41 74 5f 57 65  73 74 5f 45 6e 64 5f 4f  |to At_West_End_O|
0000c350  66 5f 54 77 6f 70 69 74  5f 52 6f 6f 6d 2c 0a 20  |f_Twopit_Room,. |
0000c360  20 20 20 20 20 20 64 5f  74 6f 20 49 6e 5f 45 61  |      d_to In_Ea|
0000c370  73 74 5f 50 69 74 3b 0a  0a 0a 4e 65 61 72 62 79  |st_Pit;...Nearby|
0000c380  20 53 6c 61 62 73 20 22  74 68 69 6e 20 72 6f 63  | Slabs "thin roc|
0000c390  6b 20 73 6c 61 62 73 22  0a 20 20 77 69 74 68 20  |k slabs".  with |
0000c3a0  0a 20 20 20 20 20 20 20  64 65 73 63 72 69 70 74  |.       descript|
0000c3b0  69 6f 6e 20 22 54 68 65  79 20 61 6c 6d 6f 73 74  |ion "They almost|
0000c3c0  20 66 6f 72 6d 20 6e 61  74 75 72 61 6c 20 73 74  | form natural st|
0000c3d0  61 69 72 73 20 64 6f 77  6e 20 69 6e 74 6f 20 74  |airs down into t|
0000c3e0  68 65 20 70 69 74 2e 22  2c 0a 20 20 20 20 20 20  |he pit.",.      |
0000c3f0  20 6e 61 6d 65 20 22 73  6c 61 62 73 22 20 22 73  | name "slabs" "s|
0000c400  6c 61 62 22 20 22 72 6f  63 6b 73 22 20 22 73 74  |lab" "rocks" "st|
0000c410  61 69 72 73 22 20 22 74  68 69 6e 22 20 22 72 6f  |airs" "thin" "ro|
0000c420  63 6b 22 2c 0a 20 20 20  20 20 20 20 62 65 66 6f  |ck",.       befo|
0000c430  72 65 0a 20 20 20 20 20  20 20 5b 3b 20 4c 6f 6f  |re.       [; Loo|
0000c440  6b 55 6e 64 65 72 2c 20  50 75 73 68 2c 20 50 75  |kUnder, Push, Pu|
0000c450  6c 6c 2c 20 54 61 6b 65  3a 20 22 53 75 72 65 6c  |ll, Take: "Surel|
0000c460  79 20 79 6f 75 27 72 65  20 6a 6f 6b 69 6e 67 2e  |y you're joking.|
0000c470  22 3b 0a 20 20 20 20 20  20 20 5d 2c 0a 20 20 68  |";.       ],.  h|
0000c480  61 73 20 20 73 63 65 6e  65 72 79 3b 0a 0a 0a 4f  |as  scenery;...O|
0000c490  62 6a 65 63 74 20 49 6e  5f 45 61 73 74 5f 50 69  |bject In_East_Pi|
0000c4a0  74 20 22 49 6e 20 45 61  73 74 20 50 69 74 22 0a  |t "In East Pit".|
0000c4b0  20 20 77 69 74 68 20 64  65 73 63 72 69 70 74 69  |  with descripti|
0000c4c0  6f 6e 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |on.             |
0000c4d0  20 20 22 59 6f 75 20 61  72 65 20 61 74 20 74 68  |  "You are at th|
0000c4e0  65 20 62 6f 74 74 6f 6d  20 6f 66 20 74 68 65 20  |e bottom of the |
0000c4f0  65 61 73 74 65 72 6e 20  70 69 74 20 69 6e 20 74  |eastern pit in t|
0000c500  68 65 20 5c 0a 20 20 20  20 20 20 20 20 20 20 20  |he \.           |
0000c510  20 20 20 20 74 77 6f 70  69 74 20 72 6f 6f 6d 2e  |    twopit room.|
0000c520  20 20 54 68 65 72 65 20  69 73 20 61 20 73 6d 61  |  There is a sma|
0000c530  6c 6c 20 70 6f 6f 6c 20  6f 66 20 6f 69 6c 20 69  |ll pool of oil i|
0000c540  6e 20 6f 6e 65 20 5c 0a  20 20 20 20 20 20 20 20  |n one \.        |
0000c550  20 20 20 20 20 20 20 63  6f 72 6e 65 72 20 6f 66  |       corner of|
0000c560  20 74 68 65 20 70 69 74  2e 22 2c 0a 20 20 20 20  | the pit.",.    |
0000c570  20 20 20 75 5f 74 6f 20  41 74 5f 45 61 73 74 5f  |   u_to At_East_|
0000c580  45 6e 64 5f 4f 66 5f 54  77 6f 70 69 74 5f 52 6f  |End_Of_Twopit_Ro|
0000c590  6f 6d 0a 20 20 68 61 73  20 20 6e 6f 64 77 61 72  |om.  has  nodwar|
0000c5a0  66 3b 0a 0a 4e 65 61 72  62 79 20 4f 69 6c 20 22  |f;..Nearby Oil "|
0000c5b0  70 6f 6f 6c 20 6f 66 20  6f 69 6c 22 0a 20 20 77  |pool of oil".  w|
0000c5c0  69 74 68 20 6e 61 6d 65  20 22 70 6f 6f 6c 22 20  |ith name "pool" |
0000c5d0  22 6f 69 6c 22 20 22 73  6d 61 6c 6c 22 2c 0a 20  |"oil" "small",. |
0000c5e0  20 20 20 20 20 20 64 65  73 63 72 69 70 74 69 6f  |      descriptio|
0000c5f0  6e 20 22 49 74 20 6c 6f  6f 6b 73 20 6c 69 6b 65  |n "It looks like|
0000c600  20 6f 72 64 69 6e 61 72  79 20 6f 69 6c 2e 22 2c  | ordinary oil.",|
0000c610  0a 20 20 20 20 20 20 20  62 65 66 6f 72 65 0a 20  |.       before. |
0000c620  20 20 20 20 20 20 5b 3b  20 44 72 69 6e 6b 3a 20  |      [; Drink: |
0000c630  20 22 41 62 73 6f 6c 75  74 65 6c 79 20 6e 6f 74  | "Absolutely not|
0000c640  2e 22 3b 0a 20 20 20 20  20 20 20 20 20 20 54 61  |.";.          Ta|
0000c650  6b 65 3a 20 20 20 69 66  20 28 62 6f 74 74 6c 65  |ke:   if (bottle|
0000c660  20 6e 6f 74 69 6e 20 70  6c 61 79 65 72 29 0a 20  | notin player). |
0000c670  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000c680  20 20 20 20 20 22 59 6f  75 20 68 61 76 65 20 6e  |     "You have n|
0000c690  6f 74 68 69 6e 67 20 69  6e 20 77 68 69 63 68 20  |othing in which |
0000c6a0  74 6f 20 63 61 72 72 79  20 74 68 65 20 6f 69 6c  |to carry the oil|
0000c6b0  2e 22 3b 0a 20 20 20 20  20 20 20 20 20 20 20 20  |.";.            |
0000c6c0  20 20 20 20 20 20 3c 3c  46 69 6c 6c 20 62 6f 74  |      <<Fill bot|
0000c6d0  74 6c 65 3e 3e 3b 0a 20  20 20 20 20 20 20 20 20  |tle>>;.         |
0000c6e0  20 49 6e 73 65 72 74 3a  20 69 66 20 28 73 65 63  | Insert: if (sec|
0000c6f0  6f 6e 64 20 3d 3d 20 62  6f 74 74 6c 65 29 20 3c  |ond == bottle) <|
0000c700  3c 46 69 6c 6c 20 62 6f  74 74 6c 65 3e 3e 3b 0a  |<Fill bottle>>;.|
0000c710  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000c720  20 20 20 20 20 20 22 59  6f 75 20 68 61 76 65 20  |      "You have |
0000c730  6e 6f 74 68 69 6e 67 20  69 6e 20 77 68 69 63 68  |nothing in which|
0000c740  20 74 6f 20 63 61 72 72  79 20 74 68 65 20 6f 69  | to carry the oi|
0000c750  6c 2e 22 3b 0a 20 20 20  20 20 20 20 5d 2c 0a 20  |l.";.       ],. |
0000c760  20 68 61 73 20 20 73 63  65 6e 65 72 79 3b 0a 0a  | has  scenery;..|
0000c770  4f 62 6a 65 63 74 20 48  6f 6c 65 41 62 6f 76 65  |Object HoleAbove|
0000c780  50 69 74 5f 32 20 22 68  6f 6c 65 20 61 62 6f 76  |Pit_2 "hole abov|
0000c790  65 20 70 69 74 22 0a 20  20 77 69 74 68 20 64 65  |e pit".  with de|
0000c7a0  73 63 72 69 70 74 69 6f  6e 0a 20 20 20 20 20 20  |scription.      |
0000c7b0  20 20 20 20 20 20 20 20  20 22 54 68 65 20 68 6f  |         "The ho|
0000c7c0  6c 65 20 69 73 20 69 6e  20 74 68 65 20 77 61 6c  |le is in the wal|
0000c7d0  6c 20 61 62 6f 76 65 20  79 6f 75 2e 22 2c 0a 20  |l above you.",. |
0000c7e0  20 20 20 20 20 20 6e 61  6d 65 20 22 68 6f 6c 65  |      name "hole|
0000c7f0  22 20 22 6c 61 72 67 65  22 20 22 61 62 6f 76 65  |" "large" "above|
0000c800  22 20 22 70 69 74 22 2c  0a 20 20 20 20 20 20 20  |" "pit",.       |
0000c810  66 6f 75 6e 64 5f 69 6e  20 49 6e 5f 45 61 73 74  |found_in In_East|
0000c820  5f 50 69 74 20 41 74 5f  45 61 73 74 5f 45 6e 64  |_Pit At_East_End|
0000c830  5f 4f 66 5f 54 77 6f 70  69 74 5f 52 6f 6f 6d 0a  |_Of_Twopit_Room.|
0000c840  20 20 68 61 73 20 20 73  63 65 6e 65 72 79 3b 0a  |  has  scenery;.|
0000c850  0a 0a 4f 62 6a 65 63 74  20 49 6e 5f 53 6c 61 62  |..Object In_Slab|
0000c860  5f 52 6f 6f 6d 20 22 53  6c 61 62 20 52 6f 6f 6d  |_Room "Slab Room|
0000c870  22 0a 20 20 77 69 74 68  20 64 65 73 63 72 69 70  |".  with descrip|
0000c880  74 69 6f 6e 0a 20 20 20  20 20 20 20 20 20 20 20  |tion.           |
0000c890  20 20 20 20 22 59 6f 75  20 61 72 65 20 69 6e 20  |    "You are in |
0000c8a0  61 20 6c 61 72 67 65 20  6c 6f 77 20 63 69 72 63  |a large low circ|
0000c8b0  75 6c 61 72 20 63 68 61  6d 62 65 72 20 77 68 6f  |ular chamber who|
0000c8c0  73 65 20 5c 0a 20 20 20  20 20 20 20 20 20 20 20  |se \.           |
0000c8d0  20 20 20 20 66 6c 6f 6f  72 20 69 73 20 61 6e 20  |    floor is an |
0000c8e0  69 6d 6d 65 6e 73 65 20  73 6c 61 62 20 66 61 6c  |immense slab fal|
0000c8f0  6c 65 6e 20 66 72 6f 6d  20 74 68 65 20 63 65 69  |len from the cei|
0000c900  6c 69 6e 67 20 5c 0a 20  20 20 20 20 20 20 20 20  |ling \.         |
0000c910  20 20 20 20 20 20 28 73  6c 61 62 20 72 6f 6f 6d  |      (slab room|
0000c920  29 2e 20 20 45 61 73 74  20 61 6e 64 20 77 65 73  |).  East and wes|
0000c930  74 20 74 68 65 72 65 20  6f 6e 63 65 20 77 65 72  |t there once wer|
0000c940  65 20 6c 61 72 67 65 20  5c 0a 20 20 20 20 20 20  |e large \.      |
0000c950  20 20 20 20 20 20 20 20  20 70 61 73 73 61 67 65  |         passage|
0000c960  73 2c 20 62 75 74 20 74  68 65 79 20 61 72 65 20  |s, but they are |
0000c970  6e 6f 77 20 66 69 6c 6c  65 64 20 77 69 74 68 20  |now filled with |
0000c980  62 6f 75 6c 64 65 72 73  2e 20 20 4c 6f 77 20 5c  |boulders.  Low \|
0000c990  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0000c9a0  73 6d 61 6c 6c 20 70 61  73 73 61 67 65 73 20 67  |small passages g|
0000c9b0  6f 20 6e 6f 72 74 68 20  61 6e 64 20 73 6f 75 74  |o north and sout|
0000c9c0  68 2c 20 61 6e 64 20 74  68 65 20 73 6f 75 74 68  |h, and the south|
0000c9d0  20 6f 6e 65 20 5c 0a 20  20 20 20 20 20 20 20 20  | one \.         |
0000c9e0  20 20 20 20 20 20 71 75  69 63 6b 6c 79 20 62 65  |      quickly be|
0000c9f0  6e 64 73 20 77 65 73 74  20 61 72 6f 75 6e 64 20  |nds west around |
0000ca00  74 68 65 20 62 6f 75 6c  64 65 72 73 2e 22 2c 0a  |the boulders.",.|
0000ca10  20 20 20 20 20 20 20 73  5f 74 6f 20 41 74 5f 57  |       s_to At_W|
0000ca20  65 73 74 5f 45 6e 64 5f  4f 66 5f 54 77 6f 70 69  |est_End_Of_Twopi|
0000ca30  74 5f 52 6f 6f 6d 2c 0a  20 20 20 20 20 20 20 75  |t_Room,.       u|
0000ca40  5f 74 6f 20 49 6e 5f 53  65 63 72 65 74 5f 4e 5f  |_to In_Secret_N_|
0000ca50  53 5f 43 61 6e 79 6f 6e  5f 30 2c 0a 20 20 20 20  |S_Canyon_0,.    |
0000ca60  20 20 20 6e 5f 74 6f 20  49 6e 5f 42 65 64 71 75  |   n_to In_Bedqu|
0000ca70  69 6c 74 3b 0a 0a 4e 65  61 72 62 79 20 53 6c 61  |ilt;..Nearby Sla|
0000ca80  62 20 22 73 6c 61 62 22  0a 20 20 77 69 74 68 20  |b "slab".  with |
0000ca90  64 65 73 63 72 69 70 74  69 6f 6e 20 22 49 74 20  |description "It |
0000caa0  69 73 20 6e 6f 77 20 74  68 65 20 66 6c 6f 6f 72  |is now the floor|
0000cab0  20 68 65 72 65 2e 22 2c  0a 20 20 20 20 20 20 20  | here.",.       |
0000cac0  6e 61 6d 65 20 22 73 6c  61 62 22 20 22 69 6d 6d  |name "slab" "imm|
0000cad0  65 6e 73 65 22 2c 0a 20  20 20 20 20 20 20 62 65  |ense",.       be|
0000cae0  66 6f 72 65 20 5b 3b 20  4c 6f 6f 6b 55 6e 64 65  |fore [; LookUnde|
0000caf0  72 2c 20 50 75 73 68 2c  20 50 75 6c 6c 2c 20 54  |r, Push, Pull, T|
0000cb00  61 6b 65 3a 0a 20 20 20  20 20 20 20 20 20 20 20  |ake:.           |
0000cb10  20 20 20 20 20 20 20 22  53 75 72 65 6c 79 20 79  |       "Surely y|
0000cb20  6f 75 27 72 65 20 6a 6f  6b 69 6e 67 2e 22 3b 20  |ou're joking."; |
0000cb30  5d 2c 0a 20 20 68 61 73  20 20 73 63 65 6e 65 72  |],.  has  scener|
0000cb40  79 3b 0a 0a 4e 65 61 72  62 79 20 53 6c 61 62 42  |y;..Nearby SlabB|
0000cb50  6f 75 6c 64 65 72 73 20  22 62 6f 75 6c 64 65 72  |oulders "boulder|
0000cb60  73 22 0a 20 20 77 69 74  68 20 64 65 73 63 72 69  |s".  with descri|
0000cb70  70 74 69 6f 6e 20 22 54  68 65 79 27 72 65 20 6a  |ption "They're j|
0000cb80  75 73 74 20 6f 72 64 69  6e 61 72 79 20 62 6f 75  |ust ordinary bou|
0000cb90  6c 64 65 72 73 2e 22 2c  0a 20 20 20 20 20 20 20  |lders.",.       |
0000cba0  6e 61 6d 65 20 22 62 6f  75 6c 64 65 72 22 20 22  |name "boulder" "|
0000cbb0  62 6f 75 6c 64 65 72 73  22 20 22 72 6f 63 6b 73  |boulders" "rocks|
0000cbc0  22 20 22 73 74 6f 6e 65  73 22 0a 20 20 68 61 73  |" "stones".  has|
0000cbd0  20 20 73 63 65 6e 65 72  79 3b 0a 0a 21 20 2d 2d  |  scenery;..! --|
0000cbe0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0000cc20  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0a 21 20 20 20 41  |----------.!   A|
0000cc30  20 73 6d 61 6c 6c 20 6e  65 74 77 6f 72 6b 20 6f  | small network o|
0000cc40  66 20 43 61 6e 79 6f 6e  73 2c 20 6d 61 69 6e 6c  |f Canyons, mainl|
0000cc50  79 20 53 65 63 72 65 74  0a 21 20 2d 2d 2d 2d 2d  |y Secret.! -----|
0000cc60  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0000cca0  2d 2d 2d 2d 2d 2d 2d 0a  0a 4f 62 6a 65 63 74 20  |-------..Object |
0000ccb0  49 6e 5f 53 65 63 72 65  74 5f 4e 5f 53 5f 43 61  |In_Secret_N_S_Ca|
0000ccc0  6e 79 6f 6e 5f 30 20 22  53 65 63 72 65 74 20 4e  |nyon_0 "Secret N|
0000ccd0  2f 53 20 43 61 6e 79 6f  6e 22 0a 20 20 77 69 74  |/S Canyon".  wit|
0000cce0  68 20 64 65 73 63 72 69  70 74 69 6f 6e 0a 20 20  |h description.  |
0000ccf0  20 20 20 20 20 20 20 20  20 20 20 20 20 22 59 6f  |             "Yo|
0000cd00  75 20 61 72 65 20 69 6e  20 61 20 73 65 63 72 65  |u are in a secre|
0000cd10  74 20 4e 2f 53 20 63 61  6e 79 6f 6e 20 61 62 6f  |t N/S canyon abo|
0000cd20  76 65 20 61 20 6c 61 72  67 65 20 5c 0a 20 20 20  |ve a large \.   |
0000cd30  20 20 20 20 20 20 20 20  20 20 20 20 72 6f 6f 6d  |            room|
0000cd40  2e 22 2c 0a 20 20 20 20  20 20 20 64 5f 74 6f 20  |.",.       d_to |
0000cd50  49 6e 5f 53 6c 61 62 5f  52 6f 6f 6d 2c 0a 20 20  |In_Slab_Room,.  |
0000cd60  20 20 20 20 20 73 5f 74  6f 20 49 6e 5f 53 65 63  |     s_to In_Sec|
0000cd70  72 65 74 5f 43 61 6e 79  6f 6e 2c 0a 20 20 20 20  |ret_Canyon,.    |
0000cd80  20 20 20 6e 5f 74 6f 20  49 6e 5f 4d 69 72 72 6f  |   n_to In_Mirro|
0000cd90  72 5f 43 61 6e 79 6f 6e  2c 0a 20 20 20 20 20 20  |r_Canyon,.      |
0000cda0  20 62 65 66 6f 72 65 0a  20 20 20 20 20 20 20 5b  | before.       [|
0000cdb0  3b 20 47 6f 3a 20 69 66  20 28 6e 6f 75 6e 3d 3d  |; Go: if (noun==|
0000cdc0  73 5f 6f 62 6a 29 20 63  61 6e 79 6f 6e 5f 66 72  |s_obj) canyon_fr|
0000cdd0  6f 6d 3d 73 65 6c 66 3b  0a 20 20 20 20 20 20 20  |om=self;.       |
0000cde0  5d 3b 0a 0a 4f 62 6a 65  63 74 20 49 6e 5f 53 65  |];..Object In_Se|
0000cdf0  63 72 65 74 5f 4e 5f 53  5f 43 61 6e 79 6f 6e 5f  |cret_N_S_Canyon_|
0000ce00  31 20 22 53 65 63 72 65  74 20 4e 2f 53 20 43 61  |1 "Secret N/S Ca|
0000ce10  6e 79 6f 6e 22 0a 20 20  77 69 74 68 20 64 65 73  |nyon".  with des|
0000ce20  63 72 69 70 74 69 6f 6e  0a 20 20 20 20 20 20 20  |cription.       |
0000ce30  20 20 20 20 20 20 20 20  22 59 6f 75 20 61 72 65  |        "You are|
0000ce40  20 69 6e 20 61 20 73 65  63 72 65 74 20 4e 2f 53  | in a secret N/S|
0000ce50  20 63 61 6e 79 6f 6e 20  61 62 6f 76 65 20 61 20  | canyon above a |
0000ce60  73 69 7a 61 62 6c 65 20  5c 0a 20 20 20 20 20 20  |sizable \.      |
0000ce70  20 20 20 20 20 20 20 20  20 70 61 73 73 61 67 65  |         passage|
0000ce80  2e 22 2c 0a 20 20 20 20  20 20 20 6e 5f 74 6f 20  |.",.       n_to |
0000ce90  41 74 5f 4a 75 6e 63 74  69 6f 6e 5f 4f 66 5f 54  |At_Junction_Of_T|
0000cea0  68 72 65 65 2c 0a 20 20  20 20 20 20 20 64 5f 74  |hree,.       d_t|
0000ceb0  6f 20 49 6e 5f 42 65 64  71 75 69 6c 74 2c 0a 20  |o In_Bedquilt,. |
0000cec0  20 20 20 20 20 20 73 5f  74 6f 20 41 74 6f 70 5f  |      s_to Atop_|
0000ced0  53 74 61 6c 61 63 74 69  74 65 3b 0a 0a 4f 62 6a  |Stalactite;..Obj|
0000cee0  65 63 74 20 41 74 5f 4a  75 6e 63 74 69 6f 6e 5f  |ect At_Junction_|
0000cef0  4f 66 5f 54 68 72 65 65  0a 20 20 20 20 20 20 20  |Of_Three.       |
0000cf00  22 4a 75 6e 63 74 69 6f  6e 20 6f 66 20 54 68 72  |"Junction of Thr|
0000cf10  65 65 20 53 65 63 72 65  74 20 43 61 6e 79 6f 6e  |ee Secret Canyon|
0000cf20  73 22 0a 20 20 77 69 74  68 20 64 65 73 63 72 69  |s".  with descri|
0000cf30  70 74 69 6f 6e 0a 20 20  20 20 20 20 20 20 20 20  |ption.          |
0000cf40  20 20 20 20 20 22 59 6f  75 20 61 72 65 20 69 6e  |     "You are in|
0000cf50  20 61 20 73 65 63 72 65  74 20 63 61 6e 79 6f 6e  | a secret canyon|
0000cf60  20 61 74 20 61 20 6a 75  6e 63 74 69 6f 6e 20 6f  | at a junction o|
0000cf70  66 20 5c 0a 20 20 20 20  20 20 20 20 20 20 20 20  |f \.            |
0000cf80  20 20 20 74 68 72 65 65  20 63 61 6e 79 6f 6e 73  |   three canyons|
0000cf90  2c 20 62 65 61 72 69 6e  67 20 6e 6f 72 74 68 2c  |, bearing north,|
0000cfa0  20 73 6f 75 74 68 2c 20  61 6e 64 20 73 65 2e 20  | south, and se. |
0000cfb0  20 54 68 65 20 5c 0a 20  20 20 20 20 20 20 20 20  | The \.         |
0000cfc0  20 20 20 20 20 20 6e 6f  72 74 68 20 6f 6e 65 20  |      north one |
0000cfd0  69 73 20 61 73 20 74 61  6c 6c 20 61 73 20 74 68  |is as tall as th|
0000cfe0  65 20 6f 74 68 65 72 20  74 77 6f 20 63 6f 6d 62  |e other two comb|
0000cff0  69 6e 65 64 2e 22 2c 0a  20 20 20 20 20 20 20 73  |ined.",.       s|
0000d000  65 5f 74 6f 20 49 6e 5f  42 65 64 71 75 69 6c 74  |e_to In_Bedquilt|
0000d010  2c 0a 20 20 20 20 20 20  20 73 5f 74 6f 20 49 6e  |,.       s_to In|
0000d020  5f 53 65 63 72 65 74 5f  4e 5f 53 5f 43 61 6e 79  |_Secret_N_S_Cany|
0000d030  6f 6e 5f 31 2c 0a 20 20  20 20 20 20 20 6e 5f 74  |on_1,.       n_t|
0000d040  6f 20 41 74 5f 57 69 6e  64 6f 77 5f 4f 6e 5f 50  |o At_Window_On_P|
0000d050  69 74 5f 32 3b 0a 0a 0a  4f 62 6a 65 63 74 20 49  |it_2;...Object I|
0000d060  6e 5f 4c 61 72 67 65 5f  4c 6f 77 5f 52 6f 6f 6d  |n_Large_Low_Room|
0000d070  20 22 4c 61 72 67 65 20  4c 6f 77 20 52 6f 6f 6d  | "Large Low Room|
0000d080  22 0a 20 20 77 69 74 68  20 64 65 73 63 72 69 70  |".  with descrip|
0000d090  74 69 6f 6e 0a 20 20 20  20 20 20 20 20 20 20 20  |tion.           |
0000d0a0  20 20 20 20 22 59 6f 75  20 61 72 65 20 69 6e 20  |    "You are in |
0000d0b0  61 20 6c 61 72 67 65 20  6c 6f 77 20 72 6f 6f 6d  |a large low room|
0000d0c0  2e 20 20 43 72 61 77 6c  73 20 6c 65 61 64 20 5c  |.  Crawls lead \|
0000d0d0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0000d0e0  6e 6f 72 74 68 2c 20 73  65 2c 20 61 6e 64 20 73  |north, se, and s|
0000d0f0  77 2e 22 2c 0a 20 20 20  20 20 20 20 73 77 5f 74  |w.",.       sw_t|
0000d100  6f 20 49 6e 5f 53 6c 6f  70 69 6e 67 5f 43 6f 72  |o In_Sloping_Cor|
0000d110  72 69 64 6f 72 2c 0a 20  20 20 20 20 20 20 73 65  |ridor,.       se|
0000d120  5f 74 6f 20 49 6e 5f 4f  72 69 65 6e 74 61 6c 5f  |_to In_Oriental_|
0000d130  52 6f 6f 6d 2c 0a 20 20  20 20 20 20 20 6e 5f 74  |Room,.       n_t|
0000d140  6f 20 44 65 61 64 5f 45  6e 64 5f 43 72 61 77 6c  |o Dead_End_Crawl|
0000d150  3b 0a 0a 4f 62 6a 65 63  74 20 44 65 61 64 5f 45  |;..Object Dead_E|
0000d160  6e 64 5f 43 72 61 77 6c  20 22 44 65 61 64 20 45  |nd_Crawl "Dead E|
0000d170  6e 64 20 43 72 61 77 6c  22 0a 20 20 77 69 74 68  |nd Crawl".  with|
0000d180  20 64 65 73 63 72 69 70  74 69 6f 6e 0a 20 20 20  | description.   |
0000d190  20 20 20 20 20 20 20 20  20 20 20 20 22 54 68 69  |            "Thi|
0000d1a0  73 20 69 73 20 61 20 64  65 61 64 20 65 6e 64 20  |s is a dead end |
0000d1b0  63 72 61 77 6c 2e 22 2c  0a 20 20 20 20 20 20 20  |crawl.",.       |
0000d1c0  73 5f 74 6f 20 49 6e 5f  4c 61 72 67 65 5f 4c 6f  |s_to In_Large_Lo|
0000d1d0  77 5f 52 6f 6f 6d 2c 0a  20 20 20 20 20 20 20 6f  |w_Room,.       o|
0000d1e0  75 74 5f 74 6f 20 49 6e  5f 4c 61 72 67 65 5f 4c  |ut_to In_Large_L|
0000d1f0  6f 77 5f 52 6f 6f 6d 3b  0a 0a 0a 4f 62 6a 65 63  |ow_Room;...Objec|
0000d200  74 20 49 6e 5f 53 65 63  72 65 74 5f 45 5f 57 5f  |t In_Secret_E_W_|
0000d210  43 61 6e 79 6f 6e 20 22  53 65 63 72 65 74 20 45  |Canyon "Secret E|
0000d220  2f 57 20 43 61 6e 79 6f  6e 20 41 62 6f 76 65 20  |/W Canyon Above |
0000d230  54 69 67 68 74 20 43 61  6e 79 6f 6e 22 0a 20 20  |Tight Canyon".  |
0000d240  77 69 74 68 20 64 65 73  63 72 69 70 74 69 6f 6e  |with description|
0000d250  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0000d260  22 59 6f 75 20 61 72 65  20 69 6e 20 61 20 73 65  |"You are in a se|
0000d270  63 72 65 74 20 63 61 6e  79 6f 6e 20 77 68 69 63  |cret canyon whic|
0000d280  68 20 68 65 72 65 20 72  75 6e 73 20 45 2f 57 2e  |h here runs E/W.|
0000d290  20 20 5c 0a 20 20 20 20  20 20 20 20 20 20 20 20  |  \.            |
0000d2a0  20 20 20 49 74 20 63 72  6f 73 73 65 73 20 6f 76  |   It crosses ov|
0000d2b0  65 72 20 61 20 76 65 72  79 20 74 69 67 68 74 20  |er a very tight |
0000d2c0  63 61 6e 79 6f 6e 20 31  35 20 66 65 65 74 20 62  |canyon 15 feet b|
0000d2d0  65 6c 6f 77 2e 20 20 5c  0a 20 20 20 20 20 20 20  |elow.  \.       |
0000d2e0  20 20 20 20 20 20 20 20  49 66 20 79 6f 75 20 67  |        If you g|
0000d2f0  6f 20 64 6f 77 6e 20 79  6f 75 20 6d 61 79 20 6e  |o down you may n|
0000d300  6f 74 20 62 65 20 61 62  6c 65 20 74 6f 20 67 65  |ot be able to ge|
0000d310  74 20 62 61 63 6b 20 75  70 2e 22 2c 0a 20 20 20  |t back up.",.   |
0000d320  20 20 20 20 65 5f 74 6f  20 49 6e 5f 48 61 6c 6c  |    e_to In_Hall|
0000d330  5f 4f 66 5f 4d 74 5f 4b  69 6e 67 2c 0a 20 20 20  |_Of_Mt_King,.   |
0000d340  20 20 20 20 77 5f 74 6f  20 49 6e 5f 53 65 63 72  |    w_to In_Secr|
0000d350  65 74 5f 43 61 6e 79 6f  6e 2c 0a 20 20 20 20 20  |et_Canyon,.     |
0000d360  20 20 62 65 66 6f 72 65  0a 20 20 20 20 20 20 20  |  before.       |
0000d370  5b 3b 20 47 6f 3a 20 69  66 20 28 6e 6f 75 6e 3d  |[; Go: if (noun=|
0000d380  3d 77 5f 6f 62 6a 29 20  63 61 6e 79 6f 6e 5f 66  |=w_obj) canyon_f|
0000d390  72 6f 6d 3d 73 65 6c 66  3b 0a 20 20 20 20 20 20  |rom=self;.      |
0000d3a0  20 5d 2c 0a 20 20 20 20  20 20 20 64 5f 74 6f 20  | ],.       d_to |
0000d3b0  49 6e 5f 4e 5f 53 5f 43  61 6e 79 6f 6e 3b 0a 0a  |In_N_S_Canyon;..|
0000d3c0  4f 62 6a 65 63 74 20 49  6e 5f 4e 5f 53 5f 43 61  |Object In_N_S_Ca|
0000d3d0  6e 79 6f 6e 20 22 4e 2f  53 20 43 61 6e 79 6f 6e  |nyon "N/S Canyon|
0000d3e0  22 0a 20 20 77 69 74 68  20 64 65 73 63 72 69 70  |".  with descrip|
0000d3f0  74 69 6f 6e 0a 20 20 20  20 20 20 20 20 20 20 20  |tion.           |
0000d400  20 20 20 20 22 59 6f 75  20 61 72 65 20 61 74 20  |    "You are at |
0000d410  61 20 77 69 64 65 20 70  6c 61 63 65 20 69 6e 20  |a wide place in |
0000d420  61 20 76 65 72 79 20 74  69 67 68 74 20 4e 2f 53  |a very tight N/S|
0000d430  20 5c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  | \.             |
0000d440  20 20 63 61 6e 79 6f 6e  2e 22 2c 0a 20 20 20 20  |  canyon.",.    |
0000d450  20 20 20 73 5f 74 6f 20  43 61 6e 79 6f 6e 5f 44  |   s_to Canyon_D|
0000d460  65 61 64 5f 45 6e 64 2c  0a 20 20 20 20 20 20 20  |ead_End,.       |
0000d470  6e 5f 74 6f 20 49 6e 5f  54 61 6c 6c 5f 45 5f 57  |n_to In_Tall_E_W|
0000d480  5f 43 61 6e 79 6f 6e 3b  0a 0a 4f 62 6a 65 63 74  |_Canyon;..Object|
0000d490  20 43 61 6e 79 6f 6e 5f  44 65 61 64 5f 45 6e 64  | Canyon_Dead_End|
0000d4a0  20 22 43 61 6e 79 6f 6e  20 44 65 61 64 20 45 6e  | "Canyon Dead En|
0000d4b0  64 22 0a 20 20 77 69 74  68 20 64 65 73 63 72 69  |d".  with descri|
0000d4c0  70 74 69 6f 6e 0a 20 20  20 20 20 20 20 20 20 20  |ption.          |
0000d4d0  20 20 20 20 20 22 54 68  65 20 63 61 6e 79 6f 6e  |     "The canyon|
0000d4e0  20 68 65 72 65 20 62 65  63 6f 6d 65 73 20 74 6f  | here becomes to|
0000d4f0  6f 20 74 69 67 68 74 20  74 6f 20 67 6f 20 66 75  |o tight to go fu|
0000d500  72 74 68 65 72 20 5c 0a  20 20 20 20 20 20 20 20  |rther \.        |
0000d510  20 20 20 20 20 20 20 73  6f 75 74 68 2e 22 2c 0a  |       south.",.|
0000d520  20 20 20 20 20 20 20 6e  5f 74 6f 20 49 6e 5f 4e  |       n_to In_N|
0000d530  5f 53 5f 43 61 6e 79 6f  6e 3b 0a 0a 4f 62 6a 65  |_S_Canyon;..Obje|
0000d540  63 74 20 49 6e 5f 54 61  6c 6c 5f 45 5f 57 5f 43  |ct In_Tall_E_W_C|
0000d550  61 6e 79 6f 6e 20 22 49  6e 20 54 61 6c 6c 20 45  |anyon "In Tall E|
0000d560  2f 57 20 43 61 6e 79 6f  6e 22 0a 20 20 77 69 74  |/W Canyon".  wit|
0000d570  68 20 64 65 73 63 72 69  70 74 69 6f 6e 0a 20 20  |h description.  |
0000d580  20 20 20 20 20 20 20 20  20 20 20 20 20 22 59 6f  |             "Yo|
0000d590  75 20 61 72 65 20 69 6e  20 61 20 74 61 6c 6c 20  |u are in a tall |
0000d5a0  45 2f 57 20 63 61 6e 79  6f 6e 2e 20 20 41 20 6c  |E/W canyon.  A l|
0000d5b0  6f 77 20 74 69 67 68 74  20 5c 0a 20 20 20 20 20  |ow tight \.     |
0000d5c0  20 20 20 20 20 20 20 20  20 20 63 72 61 77 6c 20  |          crawl |
0000d5d0  67 6f 65 73 20 33 20 66  65 65 74 20 6e 6f 72 74  |goes 3 feet nort|
0000d5e0  68 20 61 6e 64 20 73 65  65 6d 73 20 74 6f 20 6f  |h and seems to o|
0000d5f0  70 65 6e 20 75 70 2e 22  2c 0a 20 20 20 20 20 20  |pen up.",.      |
0000d600  20 65 5f 74 6f 20 49 6e  5f 4e 5f 53 5f 43 61 6e  | e_to In_N_S_Can|
0000d610  79 6f 6e 2c 0a 20 20 20  20 20 20 20 77 5f 74 6f  |yon,.       w_to|
0000d620  20 44 65 61 64 5f 45 6e  64 5f 38 2c 0a 20 20 20  | Dead_End_8,.   |
0000d630  20 20 20 20 6e 5f 74 6f  20 49 6e 5f 53 77 69 73  |    n_to In_Swis|
0000d640  73 5f 43 68 65 65 73 65  5f 52 6f 6f 6d 3b 0a 0a  |s_Cheese_Room;..|
0000d650  4f 62 6a 65 63 74 20 41  74 6f 70 5f 53 74 61 6c  |Object Atop_Stal|
0000d660  61 63 74 69 74 65 20 22  41 74 6f 70 20 53 74 61  |actite "Atop Sta|
0000d670  6c 61 63 74 69 74 65 22  0a 20 20 77 69 74 68 20  |lactite".  with |
0000d680  64 65 73 63 72 69 70 74  69 6f 6e 0a 20 20 20 20  |description.    |
0000d690  20 20 20 20 20 20 20 20  20 20 20 22 41 20 6c 61  |           "A la|
0000d6a0  72 67 65 20 73 74 61 6c  61 63 74 69 74 65 20 65  |rge stalactite e|
0000d6b0  78 74 65 6e 64 73 20 66  72 6f 6d 20 74 68 65 20  |xtends from the |
0000d6c0  72 6f 6f 66 20 61 6e 64  20 5c 0a 20 20 20 20 20  |roof and \.     |
0000d6d0  20 20 20 20 20 20 20 20  20 20 61 6c 6d 6f 73 74  |          almost|
0000d6e0  20 72 65 61 63 68 65 73  20 74 68 65 20 66 6c 6f  | reaches the flo|
0000d6f0  6f 72 20 62 65 6c 6f 77  2e 20 20 59 6f 75 20 63  |or below.  You c|
0000d700  6f 75 6c 64 20 63 6c 69  6d 62 20 64 6f 77 6e 20  |ould climb down |
0000d710  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
0000d720  20 69 74 2c 20 61 6e 64  20 6a 75 6d 70 20 66 72  | it, and jump fr|
0000d730  6f 6d 20 69 74 20 74 6f  20 74 68 65 20 66 6c 6f  |om it to the flo|
0000d740  6f 72 2c 20 62 75 74 20  68 61 76 69 6e 67 20 64  |or, but having d|
0000d750  6f 6e 65 20 73 6f 20 5c  0a 20 20 20 20 20 20 20  |one so \.       |
0000d760  20 20 20 20 20 20 20 20  79 6f 75 20 77 6f 75 6c  |        you woul|
0000d770  64 20 62 65 20 75 6e 61  62 6c 65 20 74 6f 20 72  |d be unable to r|
0000d780  65 61 63 68 20 69 74 20  74 6f 20 63 6c 69 6d 62  |each it to climb|
0000d790  20 62 61 63 6b 20 75 70  2e 22 2c 0a 20 20 20 20  | back up.",.    |
0000d7a0  20 20 20 6e 5f 74 6f 20  49 6e 5f 53 65 63 72 65  |   n_to In_Secre|
0000d7b0  74 5f 4e 5f 53 5f 43 61  6e 79 6f 6e 5f 31 2c 0a  |t_N_S_Canyon_1,.|
0000d7c0  20 20 20 20 20 20 20 64  5f 74 6f 0a 20 20 20 20  |       d_to.    |
0000d7d0  20 20 20 5b 3b 20 69 66  20 28 72 61 6e 64 6f 6d  |   [; if (random|
0000d7e0  28 31 30 30 29 20 3c 3d  20 34 30 29 20 72 65 74  |(100) <= 40) ret|
0000d7f0  75 72 6e 20 41 6c 69 6b  65 5f 4d 61 7a 65 5f 36  |urn Alike_Maze_6|
0000d800  3b 0a 20 20 20 20 20 20  20 20 20 20 69 66 20 28  |;.          if (|
0000d810  72 61 6e 64 6f 6d 28 31  30 30 29 20 3c 3d 20 35  |random(100) <= 5|
0000d820  30 29 20 72 65 74 75 72  6e 20 41 6c 69 6b 65 5f  |0) return Alike_|
0000d830  4d 61 7a 65 5f 39 3b 0a  20 20 20 20 20 20 20 20  |Maze_9;.        |
0000d840  20 20 72 65 74 75 72 6e  20 41 6c 69 6b 65 5f 4d  |  return Alike_M|
0000d850  61 7a 65 5f 34 3b 0a 20  20 20 20 20 20 20 5d 2c  |aze_4;.       ],|
0000d860  0a 20 20 20 20 20 20 20  62 65 66 6f 72 65 0a 20  |.       before. |
0000d870  20 20 20 20 20 20 5b 3b  20 4a 75 6d 70 2c 20 43  |      [; Jump, C|
0000d880  6c 69 6d 62 3a 20 3c 3c  47 6f 20 64 5f 6f 62 6a  |limb: <<Go d_obj|
0000d890  3e 3e 3b 0a 20 20 20 20  20 20 20 5d 3b 0a 0a 0a  |>>;.       ];...|
0000d8a0  4e 65 61 72 62 79 20 53  74 61 6c 61 63 74 69 74  |Nearby Stalactit|
0000d8b0  65 20 22 73 74 61 6c 61  63 74 69 74 65 22 0a 20  |e "stalactite". |
0000d8c0  20 77 69 74 68 20 64 65  73 63 72 69 70 74 69 6f  | with descriptio|
0000d8d0  6e 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |n.              |
0000d8e0  20 22 59 6f 75 20 63 6f  75 6c 64 20 70 72 6f 62  | "You could prob|
0000d8f0  61 62 6c 79 20 63 6c 69  6d 62 20 64 6f 77 6e 20  |ably climb down |
0000d900  69 74 2c 20 62 75 74 20  79 6f 75 20 63 61 6e 20  |it, but you can |
0000d910  66 6f 72 67 65 74 20 5c  0a 20 20 20 20 20 20 20  |forget \.       |
0000d920  20 20 20 20 20 20 20 20  63 6f 6d 69 6e 67 20 62  |        coming b|
0000d930  61 63 6b 20 75 70 2e 22  2c 0a 20 20 20 20 20 20  |ack up.",.      |
0000d940  20 6e 61 6d 65 20 22 73  74 61 6c 61 63 74 69 74  | name "stalactit|
0000d950  65 22 20 22 73 74 61 6c  61 67 6d 69 74 65 22 20  |e" "stalagmite" |
0000d960  22 73 74 61 6c 61 67 74  69 74 65 22 20 22 6c 61  |"stalagtite" "la|
0000d970  72 67 65 22 2c 0a 20 20  20 20 20 20 20 62 65 66  |rge",.       bef|
0000d980  6f 72 65 0a 20 20 20 20  20 20 20 5b 3b 20 4c 6f  |ore.       [; Lo|
0000d990  6f 6b 55 6e 64 65 72 2c  20 50 75 73 68 2c 20 54  |okUnder, Push, T|
0000d9a0  61 6b 65 3a 20 22 44 6f  20 67 65 74 20 61 20 67  |ake: "Do get a g|
0000d9b0  72 69 70 20 6f 6e 20 79  6f 75 72 73 65 6c 66 2e  |rip on yourself.|
0000d9c0  22 3b 0a 20 20 20 20 20  20 20 5d 2c 0a 20 20 68  |";.       ],.  h|
0000d9d0  61 73 20 20 73 63 65 6e  65 72 79 3b 0a 0a 21 20  |as  scenery;..! |
0000d9e0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0000da20  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 0a 21 20 20  |------------.!  |
0000da30  20 48 65 72 65 20 62 65  20 64 72 61 67 6f 6e 73  | Here be dragons|
0000da40  0a 21 20 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.! -------------|
0000da50  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0000da80  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 0a  |---------------.|
0000da90  0a 4f 62 6a 65 63 74 20  49 6e 5f 53 65 63 72 65  |.Object In_Secre|
0000daa0  74 5f 43 61 6e 79 6f 6e  20 22 53 65 63 72 65 74  |t_Canyon "Secret|
0000dab0  20 43 61 6e 79 6f 6e 22  0a 20 20 77 69 74 68 20  | Canyon".  with |
0000dac0  64 65 73 63 72 69 70 74  69 6f 6e 0a 20 20 20 20  |description.    |
0000dad0  20 20 20 20 20 20 20 20  20 20 20 22 59 6f 75 20  |           "You |
0000dae0  61 72 65 20 69 6e 20 61  20 73 65 63 72 65 74 20  |are in a secret |
0000daf0  63 61 6e 79 6f 6e 20 77  68 69 63 68 20 65 78 69  |canyon which exi|
0000db00  74 73 20 74 6f 20 74 68  65 20 5c 0a 20 20 20 20  |ts to the \.    |
0000db10  20 20 20 20 20 20 20 20  20 20 20 6e 6f 72 74 68  |           north|
0000db20  20 61 6e 64 20 65 61 73  74 2e 22 2c 0a 20 20 20  | and east.",.   |
0000db30  20 20 20 20 65 5f 74 6f  20 0a 20 20 20 20 20 20  |    e_to .      |
0000db40  20 5b 3b 20 69 66 20 28  63 61 6e 79 6f 6e 5f 66  | [; if (canyon_f|
0000db50  72 6f 6d 20 3d 3d 20 49  6e 5f 53 65 63 72 65 74  |rom == In_Secret|
0000db60  5f 45 5f 57 5f 43 61 6e  79 6f 6e 29 20 72 65 74  |_E_W_Canyon) ret|
0000db70  75 72 6e 20 63 61 6e 79  6f 6e 5f 66 72 6f 6d 3b  |urn canyon_from;|
0000db80  0a 20 20 20 20 20 20 20  20 20 20 69 66 20 28 44  |.          if (D|
0000db90  72 61 67 6f 6e 20 69 6e  20 6c 6f 63 61 74 69 6f  |ragon in locatio|
0000dba0  6e 29 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |n).             |
0000dbb0  20 22 54 68 65 20 64 72  61 67 6f 6e 20 6c 6f 6f  | "The dragon loo|
0000dbc0  6b 73 20 72 61 74 68 65  72 20 6e 61 73 74 79 2e  |ks rather nasty.|
0000dbd0  20 20 59 6f 75 27 64 20  62 65 73 74 20 6e 6f 74  |  You'd best not|
0000dbe0  20 74 72 79 20 74 6f 20  67 65 74 20 62 79 2e 22  | try to get by."|
0000dbf0  3b 0a 20 20 20 20 20 20  20 20 20 20 72 65 74 75  |;.          retu|
0000dc00  72 6e 20 49 6e 5f 53 65  63 72 65 74 5f 45 5f 57  |rn In_Secret_E_W|
0000dc10  5f 43 61 6e 79 6f 6e 3b  0a 20 20 20 20 20 20 20  |_Canyon;.       |
0000dc20  5d 2c 0a 20 20 20 20 20  20 20 6e 5f 74 6f 0a 20  |],.       n_to. |
0000dc30  20 20 20 20 20 20 5b 3b  20 69 66 20 28 63 61 6e  |      [; if (can|
0000dc40  79 6f 6e 5f 66 72 6f 6d  20 3d 3d 20 49 6e 5f 53  |yon_from == In_S|
0000dc50  65 63 72 65 74 5f 4e 5f  53 5f 43 61 6e 79 6f 6e  |ecret_N_S_Canyon|
0000dc60  5f 30 29 20 72 65 74 75  72 6e 20 63 61 6e 79 6f  |_0) return canyo|
0000dc70  6e 5f 66 72 6f 6d 3b 0a  20 20 20 20 20 20 20 20  |n_from;.        |
0000dc80  20 20 69 66 20 28 44 72  61 67 6f 6e 20 69 6e 20  |  if (Dragon in |
0000dc90  6c 6f 63 61 74 69 6f 6e  29 0a 20 20 20 20 20 20  |location).      |
0000dca0  20 20 20 20 20 20 20 20  22 54 68 65 20 64 72 61  |        "The dra|
0000dcb0  67 6f 6e 20 6c 6f 6f 6b  73 20 72 61 74 68 65 72  |gon looks rather|
0000dcc0  20 6e 61 73 74 79 2e 20  20 59 6f 75 27 64 20 62  | nasty.  You'd b|
0000dcd0  65 73 74 20 6e 6f 74 20  74 72 79 20 74 6f 20 67  |est not try to g|
0000dce0  65 74 20 62 79 2e 22 3b  0a 20 20 20 20 20 20 20  |et by.";.       |
0000dcf0  20 20 20 72 65 74 75 72  6e 20 49 6e 5f 53 65 63  |   return In_Sec|
0000dd00  72 65 74 5f 4e 5f 53 5f  43 61 6e 79 6f 6e 5f 30  |ret_N_S_Canyon_0|
0000dd10  3b 0a 20 20 20 20 20 20  20 5d 2c 0a 20 20 20 20  |;.       ],.    |
0000dd20  20 20 20 6f 75 74 5f 74  6f 0a 20 20 20 20 20 20  |   out_to.      |
0000dd30  20 5b 3b 20 72 65 74 75  72 6e 20 63 61 6e 79 6f  | [; return canyo|
0000dd40  6e 5f 66 72 6f 6d 3b 0a  20 20 20 20 20 20 20 5d  |n_from;.       ]|
0000dd50  2c 0a 20 20 20 20 20 20  20 62 65 66 6f 72 65 0a  |,.       before.|
0000dd60  20 20 20 20 20 20 20 5b  3b 20 59 65 73 3a 20 69  |       [; Yes: i|
0000dd70  66 20 28 44 72 61 67 6f  6e 20 68 61 73 20 67 65  |f (Dragon has ge|
0000dd80  6e 65 72 61 6c 29 0a 20  20 20 20 20 20 20 20 20  |neral).         |
0000dd90  20 20 20 20 20 20 7b 20  20 20 72 65 6d 6f 76 65  |      {   remove|
0000dda0  20 44 72 61 67 6f 6e 3b  20 6d 6f 76 65 20 44 72  | Dragon; move Dr|
0000ddb0  61 67 6f 6e 43 6f 72 70  73 65 20 74 6f 20 6c 6f  |agonCorpse to lo|
0000ddc0  63 61 74 69 6f 6e 3b 0a  20 20 20 20 20 20 20 20  |cation;.        |
0000ddd0  20 20 20 20 20 20 20 20  20 20 20 67 69 76 65 20  |           give |
0000dde0  44 72 61 67 6f 6e 20 7e  67 65 6e 65 72 61 6c 3b  |Dragon ~general;|
0000ddf0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0000de00  20 20 20 20 22 43 6f 6e  67 72 61 74 75 6c 61 74  |    "Congratulat|
0000de10  69 6f 6e 73 21 20 20 59  6f 75 20 68 61 76 65 20  |ions!  You have |
0000de20  6a 75 73 74 20 76 61 6e  71 75 69 73 68 65 64 20  |just vanquished |
0000de30  61 20 5c 0a 20 20 20 20  20 20 20 20 20 20 20 20  |a \.            |
0000de40  20 20 20 20 20 20 20 20  64 72 61 67 6f 6e 20 77  |        dragon w|
0000de50  69 74 68 20 79 6f 75 72  20 62 61 72 65 20 68 61  |ith your bare ha|
0000de60  6e 64 73 21 20 20 28 55  6e 62 65 6c 69 65 76 61  |nds!  (Unbelieva|
0000de70  62 6c 65 2c 20 5c 0a 20  20 20 20 20 20 20 20 20  |ble, \.         |
0000de80  20 20 20 20 20 20 20 20  20 20 20 69 73 6e 27 74  |           isn't|
0000de90  20 69 74 3f 29 22 3b 0a  20 20 20 20 20 20 20 20  | it?)";.        |
0000dea0  20 20 20 20 20 20 20 7d  0a 20 20 20 20 20 20 20  |       }.       |
0000deb0  20 20 20 4e 6f 3a 20 20  69 66 20 28 44 72 61 67  |   No:  if (Drag|
0000dec0  6f 6e 20 68 61 73 20 67  65 6e 65 72 61 6c 29 0a  |on has general).|
0000ded0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 7b  |               {|
0000dee0  20 20 20 67 69 76 65 20  44 72 61 67 6f 6e 20 7e  |   give Dragon ~|
0000def0  67 65 6e 65 72 61 6c 3b  0a 20 20 20 20 20 20 20  |general;.       |
0000df00  20 20 20 20 20 20 20 20  20 20 20 20 22 49 20 73  |            "I s|
0000df10  68 6f 75 6c 64 20 74 68  69 6e 6b 20 6e 6f 74 2e  |hould think not.|
0000df20  22 3b 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |";.             |
0000df30  20 20 7d 0a 20 20 20 20  20 20 20 20 20 20 67 69  |  }.          gi|
0000df40  76 65 20 44 72 61 67 6f  6e 20 7e 67 65 6e 65 72  |ve Dragon ~gener|
0000df50  61 6c 3b 0a 20 20 20 20  20 20 20 5d 3b 0a 0a 4e  |al;.       ];..N|
0000df60  65 61 72 62 79 20 44 72  61 67 6f 6e 20 22 64 72  |earby Dragon "dr|
0000df70  61 67 6f 6e 22 0a 20 20  77 69 74 68 20 64 65 73  |agon".  with des|
0000df80  63 72 69 70 74 69 6f 6e  20 22 49 20 77 6f 75 6c  |cription "I woul|
0000df90  64 6e 27 74 20 6d 65 73  73 20 77 69 74 68 20 69  |dn't mess with i|
0000dfa0  74 20 69 66 20 49 20 77  65 72 65 20 79 6f 75 2e  |t if I were you.|
0000dfb0  22 2c 0a 20 20 20 20 20  20 20 6e 61 6d 65 20 22  |",.       name "|
0000dfc0  64 72 61 67 6f 6e 22 20  22 6d 6f 6e 73 74 65 72  |dragon" "monster|
0000dfd0  22 20 22 62 65 61 73 74  22 20 22 6c 69 7a 61 72  |" "beast" "lizar|
0000dfe0  64 22 0a 20 20 20 20 20  20 20 20 20 20 20 20 22  |d".            "|
0000dff0  68 75 67 65 22 20 22 67  72 65 65 6e 22 20 22 66  |huge" "green" "f|
0000e000  69 65 72 63 65 22 20 22  73 63 61 6c 79 22 20 22  |ierce" "scaly" "|
0000e010  67 69 61 6e 74 22 20 22  66 65 72 6f 63 69 6f 75  |giant" "ferociou|
0000e020  73 22 2c 0a 20 20 20 20  20 20 20 69 6e 69 74 69  |s",.       initi|
0000e030  61 6c 20 22 41 20 68 75  67 65 20 67 72 65 65 6e  |al "A huge green|
0000e040  20 66 69 65 72 63 65 20  64 72 61 67 6f 6e 20 62  | fierce dragon b|
0000e050  61 72 73 20 74 68 65 20  77 61 79 21 22 2c 0a 20  |ars the way!",. |
0000e060  20 20 20 20 20 20 6c 69  66 65 0a 20 20 20 20 20  |      life.     |
0000e070  20 20 5b 3b 20 41 74 74  61 63 6b 3a 20 20 67 69  |  [; Attack:  gi|
0000e080  76 65 20 44 72 61 67 6f  6e 20 67 65 6e 65 72 61  |ve Dragon genera|
0000e090  6c 3b 20 22 57 69 74 68  20 77 68 61 74 3f 20 20  |l; "With what?  |
0000e0a0  59 6f 75 72 20 62 61 72  65 20 68 61 6e 64 73 3f  |Your bare hands?|
0000e0b0  22 3b 0a 20 20 20 20 20  20 20 20 20 20 47 69 76  |";.          Giv|
0000e0c0  65 3a 20 20 20 20 22 54  68 65 20 64 72 61 67 6f  |e:    "The drago|
0000e0d0  6e 20 69 73 20 69 6d 70  6c 61 63 61 62 6c 65 2e  |n is implacable.|
0000e0e0  22 3b 0a 20 20 20 20 20  20 20 20 20 20 54 68 72  |";.          Thr|
0000e0f0  6f 77 41 74 3a 20 69 66  20 28 6e 6f 75 6e 7e 3d  |owAt: if (noun~=|
0000e100  61 78 65 29 0a 20 20 20  20 20 20 20 20 20 20 20  |axe).           |
0000e110  20 20 20 20 20 20 20 20  20 20 20 20 22 59 6f 75  |            "You|
0000e120  27 64 20 70 72 6f 62 61  62 6c 79 20 62 65 20 62  |'d probably be b|
0000e130  65 74 74 65 72 20 6f 66  66 20 75 73 69 6e 67 20  |etter off using |
0000e140  79 6f 75 72 20 5c 0a 20  20 20 20 20 20 20 20 20  |your \.         |
0000e150  20 20 20 20 20 20 20 20  20 20 20 20 20 20 62 61  |              ba|
0000e160  72 65 20 68 61 6e 64 73  20 74 68 61 6e 20 74 68  |re hands than th|
0000e170  61 74 20 74 68 69 6e 67  21 22 3b 0a 20 20 20 20  |at thing!";.    |
0000e180  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 6d  |               m|
0000e190  6f 76 65 20 61 78 65 20  74 6f 20 6c 6f 63 61 74  |ove axe to locat|
0000e1a0  69 6f 6e 3b 0a 20 20 20  20 20 20 20 20 20 20 20  |ion;.           |
0000e1b0  20 20 20 20 20 20 20 20  22 54 68 65 20 61 78 65  |        "The axe|
0000e1c0  20 62 6f 75 6e 63 65 73  20 68 61 72 6d 6c 65 73  | bounces harmles|
0000e1d0  73 6c 79 20 6f 66 66 20  74 68 65 20 64 72 61 67  |sly off the drag|
0000e1e0  6f 6e 27 73 20 5c 0a 20  20 20 20 20 20 20 20 20  |on's \.         |
0000e1f0  20 20 20 20 20 20 20 20  20 20 20 74 68 69 63 6b  |           thick|
0000e200  20 73 63 61 6c 65 73 2e  22 3b 0a 20 20 20 20 20  | scales.";.     |
0000e210  20 20 5d 2c 0a 20 20 68  61 73 20 20 61 6e 69 6d  |  ],.  has  anim|
0000e220  61 74 65 3b 0a 0a 4e 65  61 72 62 79 20 70 65 72  |ate;..Nearby per|
0000e230  73 69 61 6e 5f 72 75 67  20 22 50 65 72 73 69 61  |sian_rug "Persia|
0000e240  6e 20 72 75 67 22 0a 20  63 6c 61 73 73 20 54 72  |n rug". class Tr|
0000e250  65 61 73 75 72 65 0a 20  20 77 69 74 68 20 6e 61  |easure.  with na|
0000e260  6d 65 20 22 72 75 67 22  20 22 70 65 72 73 69 61  |me "rug" "persia|
0000e270  6e 22 20 22 70 65 72 73  69 61 6e 22 20 22 66 69  |n" "persian" "fi|
0000e280  6e 65 22 20 22 66 69 6e  65 73 74 22 20 22 64 72  |ne" "finest" "dr|
0000e290  61 67 6f 6e 27 73 22 2c  0a 20 20 20 20 20 20 20  |agon's",.       |
0000e2a0  64 65 70 6f 73 69 74 70  6f 69 6e 74 73 20 31 34  |depositpoints 14|
0000e2b0  2c 0a 20 20 20 20 20 20  20 62 65 66 6f 72 65 0a  |,.       before.|
0000e2c0  20 20 20 20 20 20 20 5b  3b 20 54 61 6b 65 3a 20  |       [; Take: |
0000e2d0  69 66 20 28 44 72 61 67  6f 6e 20 69 6e 20 6c 6f  |if (Dragon in lo|
0000e2e0  63 61 74 69 6f 6e 29 0a  20 20 20 20 20 20 20 20  |cation).        |
0000e2f0  20 20 20 20 20 20 20 20  22 59 6f 75 27 6c 6c 20  |        "You'll |
0000e300  6e 65 65 64 20 74 6f 20  67 65 74 20 74 68 65 20  |need to get the |
0000e310  64 72 61 67 6f 6e 20 74  6f 20 6d 6f 76 65 20 66  |dragon to move f|
0000e320  69 72 73 74 21 22 3b 0a  20 20 20 20 20 20 20 5d  |irst!";.       ]|
0000e330  2c 0a 20 20 20 20 20 20  20 64 65 73 63 72 69 62  |,.       describ|
0000e340  65 0a 20 20 20 20 20 20  20 5b 3b 20 69 66 20 28  |e.       [; if (|
0000e350  44 72 61 67 6f 6e 20 69  6e 20 6c 6f 63 61 74 69  |Dragon in locati|
0000e360  6f 6e 29 0a 20 20 20 20  20 20 20 20 20 20 20 20  |on).            |
0000e370  20 22 54 68 65 20 64 72  61 67 6f 6e 20 69 73 20  | "The dragon is |
0000e380  73 70 72 61 77 6c 65 64  20 6f 75 74 20 6f 6e 20  |sprawled out on |
0000e390  74 68 65 20 50 65 72 73  69 61 6e 20 72 75 67 21  |the Persian rug!|
0000e3a0  22 3b 0a 20 20 20 20 20  20 20 20 20 20 22 54 68  |";.          "Th|
0000e3b0  65 20 50 65 72 73 69 61  6e 20 72 75 67 20 69 73  |e Persian rug is|
0000e3c0  20 73 70 72 65 61 64 20  6f 75 74 20 6f 6e 20 74  | spread out on t|
0000e3d0  68 65 20 66 6c 6f 6f 72  20 68 65 72 65 2e 22 3b  |he floor here.";|
0000e3e0  0a 20 20 20 20 20 20 20  5d 3b 0a 0a 4f 62 6a 65  |.       ];..Obje|
0000e3f0  63 74 20 44 72 61 67 6f  6e 43 6f 72 70 73 65 20  |ct DragonCorpse |
0000e400  22 64 72 61 67 6f 6e 27  73 20 62 6f 64 79 22 0a  |"dragon's body".|
0000e410  20 20 77 69 74 68 20 69  6e 69 74 69 61 6c 0a 20  |  with initial. |
0000e420  20 20 20 20 20 20 20 20  20 20 20 20 20 20 22 54  |              "T|
0000e430  68 65 20 62 6f 64 79 20  6f 66 20 61 20 68 75 67  |he body of a hug|
0000e440  65 20 67 72 65 65 6e 20  64 65 61 64 20 64 72 61  |e green dead dra|
0000e450  67 6f 6e 20 69 73 20 6c  79 69 6e 67 20 6f 66 66  |gon is lying off|
0000e460  20 74 6f 20 5c 0a 20 20  20 20 20 20 20 20 20 20  | to \.          |
0000e470  20 20 20 20 20 6f 6e 65  20 73 69 64 65 2e 22 2c  |     one side.",|
0000e480  0a 20 20 20 20 20 20 20  6e 61 6d 65 20 22 64 72  |.       name "dr|
0000e490  61 67 6f 6e 22 20 22 63  6f 72 70 73 65 22 20 22  |agon" "corpse" "|
0000e4a0  64 65 61 64 22 20 22 64  72 61 67 6f 6e 27 73 22  |dead" "dragon's"|
0000e4b0  20 22 62 6f 64 79 22 2c  0a 20 20 20 20 20 20 20  | "body",.       |
0000e4c0  62 65 66 6f 72 65 0a 20  20 20 20 20 20 20 5b 3b  |before.       [;|
0000e4d0  20 41 74 74 61 63 6b 3a  20 22 59 6f 75 27 76 65  | Attack: "You've|
0000e4e0  20 61 6c 72 65 61 64 79  20 64 6f 6e 65 20 65 6e  | already done en|
0000e4f0  6f 75 67 68 20 64 61 6d  61 67 65 21 22 3b 0a 20  |ough damage!";. |
0000e500  20 20 20 20 20 20 5d 2c  0a 20 20 68 61 73 20 20  |      ],.  has  |
0000e510  73 74 61 74 69 63 3b 0a  0a 21 20 2d 2d 2d 2d 2d  |static;..! -----|
0000e520  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0000e560  2d 2d 2d 2d 2d 2d 2d 0a  21 20 20 20 41 6e 64 20  |-------.!   And |
0000e570  6d 6f 72 65 20 6f 66 20  74 68 65 20 41 6c 69 6b  |more of the Alik|
0000e580  65 20 4d 61 7a 65 0a 21  20 2d 2d 2d 2d 2d 2d 2d  |e Maze.! -------|
0000e590  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0000e5d0  2d 2d 2d 2d 2d 0a 0a 4f  62 6a 65 63 74 20 44 65  |-----..Object De|
0000e5e0  61 64 5f 45 6e 64 5f 38  20 22 44 65 61 64 20 45  |ad_End_8 "Dead E|
0000e5f0  6e 64 22 0a 20 63 6c 61  73 73 20 44 65 61 64 45  |nd". class DeadE|
0000e600  6e 64 52 6f 6f 6d 0a 20  20 77 69 74 68 20 64 65  |ndRoom.  with de|
0000e610  73 63 72 69 70 74 69 6f  6e 20 22 54 68 65 20 63  |scription "The c|
0000e620  61 6e 79 6f 6e 20 72 75  6e 73 20 69 6e 74 6f 20  |anyon runs into |
0000e630  61 20 6d 61 73 73 20 6f  66 20 62 6f 75 6c 64 65  |a mass of boulde|
0000e640  72 73 20 2d 2d 20 64 65  61 64 20 65 6e 64 2e 22  |rs -- dead end."|
0000e650  2c 0a 20 20 20 20 20 20  20 73 5f 74 6f 20 49 6e  |,.       s_to In|
0000e660  5f 54 61 6c 6c 5f 45 5f  57 5f 43 61 6e 79 6f 6e  |_Tall_E_W_Canyon|
0000e670  2c 0a 20 20 20 20 20 20  20 6f 75 74 5f 74 6f 20  |,.       out_to |
0000e680  49 6e 5f 54 61 6c 6c 5f  45 5f 57 5f 43 61 6e 79  |In_Tall_E_W_Cany|
0000e690  6f 6e 3b 0a 0a 4f 62 6a  65 63 74 20 41 6c 69 6b  |on;..Object Alik|
0000e6a0  65 5f 4d 61 7a 65 5f 31  31 20 22 4d 61 7a 65 22  |e_Maze_11 "Maze"|
0000e6b0  0a 20 63 6c 61 73 73 20  4d 61 7a 65 52 6f 6f 6d  |. class MazeRoom|
0000e6c0  0a 20 20 77 69 74 68 20  0a 20 20 20 20 20 20 20  |.  with .       |
0000e6d0  6e 5f 74 6f 20 41 6c 69  6b 65 5f 4d 61 7a 65 5f  |n_to Alike_Maze_|
0000e6e0  31 2c 0a 20 20 20 20 20  20 20 77 5f 74 6f 20 41  |1,.       w_to A|
0000e6f0  6c 69 6b 65 5f 4d 61 7a  65 5f 31 31 2c 0a 20 20  |like_Maze_11,.  |
0000e700  20 20 20 20 20 73 5f 74  6f 20 41 6c 69 6b 65 5f  |     s_to Alike_|
0000e710  4d 61 7a 65 5f 31 31 2c  0a 20 20 20 20 20 20 20  |Maze_11,.       |
0000e720  65 5f 74 6f 20 44 65 61  64 5f 45 6e 64 5f 39 3b  |e_to Dead_End_9;|
0000e730  0a 0a 4f 62 6a 65 63 74  20 44 65 61 64 5f 45 6e  |..Object Dead_En|
0000e740  64 5f 39 20 22 44 65 61  64 20 45 6e 64 22 0a 20  |d_9 "Dead End". |
0000e750  63 6c 61 73 73 20 44 65  61 64 45 6e 64 52 6f 6f  |class DeadEndRoo|
0000e760  6d 0a 20 20 77 69 74 68  20 77 5f 74 6f 20 41 6c  |m.  with w_to Al|
0000e770  69 6b 65 5f 4d 61 7a 65  5f 31 31 2c 0a 20 20 20  |ike_Maze_11,.   |
0000e780  20 20 20 20 6f 75 74 5f  74 6f 20 41 6c 69 6b 65  |    out_to Alike|
0000e790  5f 4d 61 7a 65 5f 31 31  3b 0a 0a 4f 62 6a 65 63  |_Maze_11;..Objec|
0000e7a0  74 20 44 65 61 64 5f 45  6e 64 5f 31 30 20 22 44  |t Dead_End_10 "D|
0000e7b0  65 61 64 20 45 6e 64 22  0a 20 63 6c 61 73 73 20  |ead End". class |
0000e7c0  44 65 61 64 45 6e 64 52  6f 6f 6d 0a 20 20 77 69  |DeadEndRoom.  wi|
0000e7d0  74 68 20 0a 20 20 20 20  20 20 20 73 5f 74 6f 20  |th .       s_to |
0000e7e0  41 6c 69 6b 65 5f 4d 61  7a 65 5f 33 2c 0a 20 20  |Alike_Maze_3,.  |
0000e7f0  20 20 20 20 20 6f 75 74  5f 74 6f 20 41 6c 69 6b  |     out_to Alik|
0000e800  65 5f 4d 61 7a 65 5f 33  3b 0a 0a 0a 4f 62 6a 65  |e_Maze_3;...Obje|
0000e810  63 74 20 41 6c 69 6b 65  5f 4d 61 7a 65 5f 31 32  |ct Alike_Maze_12|
0000e820  20 22 4d 61 7a 65 22 0a  20 63 6c 61 73 73 20 4d  | "Maze". class M|
0000e830  61 7a 65 52 6f 6f 6d 0a  20 20 77 69 74 68 20 0a  |azeRoom.  with .|
0000e840  20 20 20 20 20 20 20 73  5f 74 6f 20 41 74 5f 42  |       s_to At_B|
0000e850  72 69 6e 6b 5f 4f 66 5f  50 69 74 2c 0a 20 20 20  |rink_Of_Pit,.   |
0000e860  20 20 20 20 65 5f 74 6f  20 41 6c 69 6b 65 5f 4d  |    e_to Alike_M|
0000e870  61 7a 65 5f 31 33 2c 0a  20 20 20 20 20 20 20 77  |aze_13,.       w|
0000e880  5f 74 6f 20 44 65 61 64  5f 45 6e 64 5f 31 31 3b  |_to Dead_End_11;|
0000e890  0a 0a 4f 62 6a 65 63 74  20 41 6c 69 6b 65 5f 4d  |..Object Alike_M|
0000e8a0  61 7a 65 5f 31 33 20 22  4d 61 7a 65 22 0a 20 63  |aze_13 "Maze". c|
0000e8b0  6c 61 73 73 20 4d 61 7a  65 52 6f 6f 6d 0a 20 20  |lass MazeRoom.  |
0000e8c0  77 69 74 68 20 0a 20 20  20 20 20 20 20 6e 5f 74  |with .       n_t|
0000e8d0  6f 20 41 74 5f 42 72 69  6e 6b 5f 4f 66 5f 50 69  |o At_Brink_Of_Pi|
0000e8e0  74 2c 0a 20 20 20 20 20  20 20 77 5f 74 6f 20 41  |t,.       w_to A|
0000e8f0  6c 69 6b 65 5f 4d 61 7a  65 5f 31 32 2c 0a 20 20  |like_Maze_12,.  |
0000e900  20 20 20 20 20 6e 77 5f  74 6f 20 44 65 61 64 5f  |     nw_to Dead_|
0000e910  45 6e 64 5f 31 33 3b 0a  0a 4f 62 6a 65 63 74 20  |End_13;..Object |
0000e920  44 65 61 64 5f 45 6e 64  5f 31 31 20 22 44 65 61  |Dead_End_11 "Dea|
0000e930  64 20 45 6e 64 22 0a 20  63 6c 61 73 73 20 44 65  |d End". class De|
0000e940  61 64 45 6e 64 52 6f 6f  6d 0a 20 20 77 69 74 68  |adEndRoom.  with|
0000e950  20 0a 20 20 20 20 20 20  20 65 5f 74 6f 20 41 6c  | .       e_to Al|
0000e960  69 6b 65 5f 4d 61 7a 65  5f 31 32 2c 0a 20 20 20  |ike_Maze_12,.   |
0000e970  20 20 20 20 6f 75 74 5f  74 6f 20 41 6c 69 6b 65  |    out_to Alike|
0000e980  5f 4d 61 7a 65 5f 31 32  3b 0a 0a 4f 62 6a 65 63  |_Maze_12;..Objec|
0000e990  74 20 44 65 61 64 5f 45  6e 64 5f 31 32 20 22 44  |t Dead_End_12 "D|
0000e9a0  65 61 64 20 45 6e 64 22  0a 20 63 6c 61 73 73 20  |ead End". class |
0000e9b0  44 65 61 64 45 6e 64 52  6f 6f 6d 0a 20 20 77 69  |DeadEndRoom.  wi|
0000e9c0  74 68 20 0a 20 20 20 20  20 20 20 75 5f 74 6f 20  |th .       u_to |
0000e9d0  41 6c 69 6b 65 5f 4d 61  7a 65 5f 38 2c 0a 20 20  |Alike_Maze_8,.  |
0000e9e0  20 20 20 20 20 6f 75 74  5f 74 6f 20 41 6c 69 6b  |     out_to Alik|
0000e9f0  65 5f 4d 61 7a 65 5f 38  3b 0a 0a 4f 62 6a 65 63  |e_Maze_8;..Objec|
0000ea00  74 20 41 6c 69 6b 65 5f  4d 61 7a 65 5f 31 34 20  |t Alike_Maze_14 |
0000ea10  22 4d 61 7a 65 22 0a 20  63 6c 61 73 73 20 4d 61  |"Maze". class Ma|
0000ea20  7a 65 52 6f 6f 6d 0a 20  20 77 69 74 68 20 0a 20  |zeRoom.  with . |
0000ea30  20 20 20 20 20 20 75 5f  74 6f 20 41 6c 69 6b 65  |      u_to Alike|
0000ea40  5f 4d 61 7a 65 5f 34 2c  0a 20 20 20 20 20 20 20  |_Maze_4,.       |
0000ea50  64 5f 74 6f 20 41 6c 69  6b 65 5f 4d 61 7a 65 5f  |d_to Alike_Maze_|
0000ea60  34 3b 0a 0a 4f 62 6a 65  63 74 20 44 65 61 64 5f  |4;..Object Dead_|
0000ea70  45 6e 64 5f 31 33 20 22  44 65 61 64 20 45 6e 64  |End_13 "Dead End|
0000ea80  22 0a 20 63 6c 61 73 73  20 44 65 61 64 45 6e 64  |". class DeadEnd|
0000ea90  52 6f 6f 6d 0a 20 20 77  69 74 68 20 73 65 5f 74  |Room.  with se_t|
0000eaa0  6f 20 41 6c 69 6b 65 5f  4d 61 7a 65 5f 31 33 2c  |o Alike_Maze_13,|
0000eab0  0a 20 20 20 20 20 20 20  6f 75 74 5f 74 6f 20 41  |.       out_to A|
0000eac0  6c 69 6b 65 5f 4d 61 7a  65 5f 31 33 2c 0a 20 20  |like_Maze_13,.  |
0000ead0  20 20 20 20 20 64 65 73  63 72 69 70 74 69 6f 6e  |     description|
0000eae0  20 22 54 68 69 73 20 69  73 20 74 68 65 20 70 69  | "This is the pi|
0000eaf0  72 61 74 65 27 73 20 64  65 61 64 20 65 6e 64 2e  |rate's dead end.|
0000eb00  22 2c 0a 20 20 20 20 20  20 20 69 6e 69 74 69 61  |",.       initia|
0000eb10  6c 0a 20 20 20 20 20 20  20 5b 3b 0a 20 20 20 20  |l.       [;.    |
0000eb20  20 20 20 20 20 20 53 74  6f 70 44 61 65 6d 6f 6e  |      StopDaemon|
0000eb30  28 50 69 72 61 74 65 29  3b 0a 20 20 20 20 20 20  |(Pirate);.      |
0000eb40  20 20 20 20 69 66 20 28  74 72 65 61 73 75 72 65  |    if (treasure|
0000eb50  5f 63 68 65 73 74 20 69  6e 20 73 65 6c 66 20 26  |_chest in self &|
0000eb60  26 20 74 72 65 61 73 75  72 65 5f 63 68 65 73 74  |& treasure_chest|
0000eb70  20 68 61 73 6e 74 20 6d  6f 76 65 64 29 0a 20 20  | hasnt moved).  |
0000eb80  20 20 20 20 20 20 20 20  20 20 20 20 22 59 6f 75  |            "You|
0000eb90  27 76 65 20 66 6f 75 6e  64 20 74 68 65 20 70 69  |'ve found the pi|
0000eba0  72 61 74 65 27 73 20 74  72 65 61 73 75 72 65 20  |rate's treasure |
0000ebb0  63 68 65 73 74 21 22 3b  0a 20 20 20 20 20 20 20  |chest!";.       |
0000ebc0  5d 2c 0a 20 20 68 61 73  20 20 6e 6f 64 77 61 72  |],.  has  nodwar|
0000ebd0  66 3b 0a 0a 4e 65 61 72  62 79 20 74 72 65 61 73  |f;..Nearby treas|
0000ebe0  75 72 65 5f 63 68 65 73  74 20 22 74 72 65 61 73  |ure_chest "treas|
0000ebf0  75 72 65 20 63 68 65 73  74 22 0a 20 63 6c 61 73  |ure chest". clas|
0000ec00  73 20 54 72 65 61 73 75  72 65 0a 20 20 77 69 74  |s Treasure.  wit|
0000ec10  68 20 64 65 70 6f 73 69  74 70 6f 69 6e 74 73 20  |h depositpoints |
0000ec20  31 32 2c 0a 20 20 20 20  20 20 20 64 65 73 63 72  |12,.       descr|
0000ec30  69 70 74 69 6f 6e 20 22  49 74 27 73 20 74 68 65  |iption "It's the|
0000ec40  20 70 69 72 61 74 65 27  73 20 74 72 65 61 73 75  | pirate's treasu|
0000ec50  72 65 20 63 68 65 73 74  2c 20 66 69 6c 6c 65 64  |re chest, filled|
0000ec60  20 77 69 74 68 20 5c 0a  20 20 20 20 20 20 20 20  | with \.        |
0000ec70  20 20 20 20 20 20 20 20  20 20 20 20 72 69 63 68  |            rich|
0000ec80  65 73 20 6f 66 20 61 6c  6c 20 6b 69 6e 64 73 21  |es of all kinds!|
0000ec90  22 2c 0a 20 20 20 20 20  20 20 69 6e 69 74 69 61  |",.       initia|
0000eca0  6c 20 22 54 68 65 20 70  69 72 61 74 65 27 73 20  |l "The pirate's |
0000ecb0  74 72 65 61 73 75 72 65  20 63 68 65 73 74 20 69  |treasure chest i|
0000ecc0  73 20 68 65 72 65 21 22  2c 0a 20 20 20 20 20 20  |s here!",.      |
0000ecd0  20 6e 61 6d 65 20 22 63  68 65 73 74 22 20 22 62  | name "chest" "b|
0000ece0  6f 78 22 20 22 74 72 65  61 73 75 72 65 22 20 22  |ox" "treasure" "|
0000ecf0  72 69 63 68 65 73 22 20  22 70 69 72 61 74 65 22  |riches" "pirate"|
0000ed00  20 22 70 69 72 61 74 65  27 73 22 20 22 74 72 65  | "pirate's" "tre|
0000ed10  61 73 75 72 65 22 3b 0a  0a 21 20 2d 2d 2d 2d 2d  |asure";..! -----|
0000ed20  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0000ed60  2d 2d 2d 2d 2d 2d 2d 0a  21 20 20 20 41 62 6f 76  |-------.!   Abov|
0000ed70  65 20 74 68 65 20 62 65  61 6e 73 74 61 6c 6b 3a  |e the beanstalk:|
0000ed80  20 74 68 65 20 47 69 61  6e 74 20 52 6f 6f 6d 20  | the Giant Room |
0000ed90  61 6e 64 20 74 68 65 20  57 61 74 65 72 66 61 6c  |and the Waterfal|
0000eda0  6c 0a 21 20 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |l.! ------------|
0000edb0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0000edf0  0a 0a 4f 62 6a 65 63 74  20 49 6e 5f 4e 61 72 72  |..Object In_Narr|
0000ee00  6f 77 5f 43 6f 72 72 69  64 6f 72 20 22 49 6e 20  |ow_Corridor "In |
0000ee10  4e 61 72 72 6f 77 20 43  6f 72 72 69 64 6f 72 22  |Narrow Corridor"|
0000ee20  0a 20 20 77 69 74 68 20  64 65 73 63 72 69 70 74  |.  with descript|
0000ee30  69 6f 6e 0a 20 20 20 20  20 20 20 20 20 20 20 20  |ion.            |
0000ee40  20 20 20 22 59 6f 75 20  61 72 65 20 69 6e 20 61  |   "You are in a|
0000ee50  20 6c 6f 6e 67 2c 20 6e  61 72 72 6f 77 20 63 6f  | long, narrow co|
0000ee60  72 72 69 64 6f 72 20 73  74 72 65 74 63 68 69 6e  |rridor stretchin|
0000ee70  67 20 5c 0a 20 20 20 20  20 20 20 20 20 20 20 20  |g \.            |
0000ee80  20 20 20 6f 75 74 20 6f  66 20 73 69 67 68 74 20  |   out of sight |
0000ee90  74 6f 20 74 68 65 20 77  65 73 74 2e 20 20 41 74  |to the west.  At|
0000eea0  20 74 68 65 20 65 61 73  74 65 72 6e 20 65 6e 64  | the eastern end|
0000eeb0  20 69 73 20 61 20 5c 0a  20 20 20 20 20 20 20 20  | is a \.        |
0000eec0  20 20 20 20 20 20 20 68  6f 6c 65 20 74 68 72 6f  |       hole thro|
0000eed0  75 67 68 20 77 68 69 63  68 20 79 6f 75 20 63 61  |ugh which you ca|
0000eee0  6e 20 73 65 65 20 61 20  70 72 6f 66 75 73 69 6f  |n see a profusio|
0000eef0  6e 20 6f 66 20 5c 0a 20  20 20 20 20 20 20 20 20  |n of \.         |
0000ef00  20 20 20 20 20 20 6c 65  61 76 65 73 2e 22 2c 0a  |      leaves.",.|
0000ef10  20 20 20 20 20 20 20 64  5f 74 6f 20 49 6e 5f 57  |       d_to In_W|
0000ef20  65 73 74 5f 50 69 74 2c  0a 20 20 20 20 20 20 20  |est_Pit,.       |
0000ef30  77 5f 74 6f 20 49 6e 5f  47 69 61 6e 74 5f 52 6f  |w_to In_Giant_Ro|
0000ef40  6f 6d 2c 0a 20 20 20 20  20 20 20 65 5f 74 6f 20  |om,.       e_to |
0000ef50  49 6e 5f 57 65 73 74 5f  50 69 74 2c 0a 20 20 20  |In_West_Pit,.   |
0000ef60  20 20 20 20 62 65 66 6f  72 65 0a 20 20 20 20 20  |    before.     |
0000ef70  20 20 5b 3b 20 4a 75 6d  70 3a 20 64 65 61 64 66  |  [; Jump: deadf|
0000ef80  6c 61 67 3d 31 3b 20 22  59 6f 75 20 66 61 6c 6c  |lag=1; "You fall|
0000ef90  20 61 6e 64 20 62 72 65  61 6b 20 79 6f 75 72 20  | and break your |
0000efa0  6e 65 63 6b 21 22 3b 0a  20 20 20 20 20 20 20 5d  |neck!";.       ]|
0000efb0  3b 0a 0a 4e 65 61 72 62  79 20 4c 65 61 76 65 73  |;..Nearby Leaves|
0000efc0  20 22 6c 65 61 76 65 73  22 0a 20 20 77 69 74 68  | "leaves".  with|
0000efd0  20 64 65 73 63 72 69 70  74 69 6f 6e 0a 20 20 20  | description.   |
0000efe0  20 20 20 20 20 20 20 20  20 20 20 20 22 54 68 65  |            "The|
0000eff0  20 6c 65 61 76 65 73 20  61 70 70 65 61 72 20 74  | leaves appear t|
0000f000  6f 20 62 65 20 61 74 74  61 63 68 65 64 20 74 6f  |o be attached to|
0000f010  20 74 68 65 20 62 65 61  6e 73 74 61 6c 6b 20 5c  | the beanstalk \|
0000f020  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0000f030  79 6f 75 20 63 6c 69 6d  62 65 64 20 74 6f 20 67  |you climbed to g|
0000f040  65 74 20 68 65 72 65 2e  22 2c 20 61 72 74 69 63  |et here.", artic|
0000f050  6c 65 20 22 73 6f 6d 65  22 2c 0a 20 20 20 20 20  |le "some",.     |
0000f060  20 20 6e 61 6d 65 20 22  6c 65 61 66 22 20 22 6c  |  name "leaf" "l|
0000f070  65 61 76 65 73 22 20 22  70 6c 61 6e 74 22 20 22  |eaves" "plant" "|
0000f080  74 72 65 65 22 20 22 73  74 61 6c 6b 22 20 22 62  |tree" "stalk" "b|
0000f090  65 61 6e 73 74 61 6c 6b  22 20 22 70 72 6f 66 75  |eanstalk" "profu|
0000f0a0  73 69 6f 6e 22 0a 20 20  68 61 73 20 20 73 63 65  |sion".  has  sce|
0000f0b0  6e 65 72 79 3b 0a 0a 0a  4f 62 6a 65 63 74 20 41  |nery;...Object A|
0000f0c0  74 5f 53 74 65 65 70 5f  49 6e 63 6c 69 6e 65 20  |t_Steep_Incline |
0000f0d0  22 53 74 65 65 70 20 49  6e 63 6c 69 6e 65 20 41  |"Steep Incline A|
0000f0e0  62 6f 76 65 20 4c 61 72  67 65 20 52 6f 6f 6d 22  |bove Large Room"|
0000f0f0  0a 20 20 77 69 74 68 20  64 65 73 63 72 69 70 74  |.  with descript|
0000f100  69 6f 6e 0a 20 20 20 20  20 20 20 20 20 20 20 20  |ion.            |
0000f110  20 20 20 22 59 6f 75 20  61 72 65 20 61 74 20 74  |   "You are at t|
0000f120  68 65 20 74 6f 70 20 6f  66 20 61 20 73 74 65 65  |he top of a stee|
0000f130  70 20 69 6e 63 6c 69 6e  65 20 61 62 6f 76 65 20  |p incline above |
0000f140  61 20 5c 0a 20 20 20 20  20 20 20 20 20 20 20 20  |a \.            |
0000f150  20 20 20 6c 61 72 67 65  20 72 6f 6f 6d 2e 20 20  |   large room.  |
0000f160  59 6f 75 20 63 6f 75 6c  64 20 63 6c 69 6d 62 20  |You could climb |
0000f170  64 6f 77 6e 20 68 65 72  65 2c 20 62 75 74 20 79  |down here, but y|
0000f180  6f 75 20 77 6f 75 6c 64  20 5c 0a 20 20 20 20 20  |ou would \.     |
0000f190  20 20 20 20 20 20 20 20  20 20 6e 6f 74 20 62 65  |          not be|
0000f1a0  20 61 62 6c 65 20 74 6f  20 63 6c 69 6d 62 20 75  | able to climb u|
0000f1b0  70 2e 20 20 54 68 65 72  65 20 69 73 20 61 20 70  |p.  There is a p|
0000f1c0  61 73 73 61 67 65 20 6c  65 61 64 69 6e 67 20 5c  |assage leading \|
0000f1d0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0000f1e0  62 61 63 6b 20 74 6f 20  74 68 65 20 6e 6f 72 74  |back to the nort|
0000f1f0  68 2e 22 2c 0a 20 20 20  20 20 20 20 6e 5f 74 6f  |h.",.       n_to|
0000f200  20 49 6e 5f 43 61 76 65  72 6e 5f 57 69 74 68 5f  | In_Cavern_With_|
0000f210  57 61 74 65 72 66 61 6c  6c 2c 0a 20 20 20 20 20  |Waterfall,.     |
0000f220  20 20 64 5f 74 6f 20 49  6e 5f 4c 61 72 67 65 5f  |  d_to In_Large_|
0000f230  4c 6f 77 5f 52 6f 6f 6d  3b 0a 0a 4f 62 6a 65 63  |Low_Room;..Objec|
0000f240  74 20 49 6e 5f 47 69 61  6e 74 5f 52 6f 6f 6d 20  |t In_Giant_Room |
0000f250  22 47 69 61 6e 74 20 52  6f 6f 6d 22 0a 20 20 77  |"Giant Room".  w|
0000f260  69 74 68 20 64 65 73 63  72 69 70 74 69 6f 6e 0a  |ith description.|
0000f270  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 22  |               "|
0000f280  59 6f 75 20 61 72 65 20  69 6e 20 74 68 65 20 67  |You are in the g|
0000f290  69 61 6e 74 20 72 6f 6f  6d 2e 20 20 54 68 65 20  |iant room.  The |
0000f2a0  63 65 69 6c 69 6e 67 20  68 65 72 65 20 69 73 20  |ceiling here is |
0000f2b0  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
0000f2c0  20 74 6f 6f 20 68 69 67  68 20 75 70 20 66 6f 72  | too high up for|
0000f2d0  20 79 6f 75 72 20 6c 61  6d 70 20 74 6f 20 73 68  | your lamp to sh|
0000f2e0  6f 77 20 69 74 2e 20 20  43 61 76 65 72 6e 6f 75  |ow it.  Cavernou|
0000f2f0  73 20 5c 0a 20 20 20 20  20 20 20 20 20 20 20 20  |s \.            |
0000f300  20 20 20 70 61 73 73 61  67 65 73 20 6c 65 61 64  |   passages lead|
0000f310  20 65 61 73 74 2c 20 6e  6f 72 74 68 2c 20 61 6e  | east, north, an|
0000f320  64 20 73 6f 75 74 68 2e  20 20 4f 6e 20 74 68 65  |d south.  On the|
0000f330  20 77 65 73 74 20 5c 0a  20 20 20 20 20 20 20 20  | west \.        |
0000f340  20 20 20 20 20 20 20 77  61 6c 6c 20 69 73 20 73  |       wall is s|
0000f350  63 72 61 77 6c 65 64 20  74 68 65 20 69 6e 73 63  |crawled the insc|
0000f360  72 69 70 74 69 6f 6e 2c  20 7e 46 65 65 20 66 69  |ription, ~Fee fi|
0000f370  65 20 66 6f 65 20 66 6f  6f 7e 20 5c 0a 20 20 20  |e foe foo~ \.   |
0000f380  20 20 20 20 20 20 20 20  20 20 20 20 5b 73 69 63  |            [sic|
0000f390  5d 2e 22 2c 0a 20 20 20  20 20 20 20 73 5f 74 6f  |].",.       s_to|
0000f3a0  20 49 6e 5f 4e 61 72 72  6f 77 5f 43 6f 72 72 69  | In_Narrow_Corri|
0000f3b0  64 6f 72 2c 0a 20 20 20  20 20 20 20 65 5f 74 6f  |dor,.       e_to|
0000f3c0  20 41 74 5f 52 65 63 65  6e 74 5f 43 61 76 65 5f  | At_Recent_Cave_|
0000f3d0  49 6e 2c 0a 20 20 20 20  20 20 20 6e 5f 74 6f 20  |In,.       n_to |
0000f3e0  49 6e 5f 49 6d 6d 65 6e  73 65 5f 4e 5f 53 5f 50  |In_Immense_N_S_P|
0000f3f0  61 73 73 61 67 65 3b 0a  0a 4e 65 61 72 62 79 20  |assage;..Nearby |
0000f400  49 6e 73 63 72 69 70 74  69 6f 6e 20 22 73 63 72  |Inscription "scr|
0000f410  61 77 6c 65 64 20 69 6e  73 63 72 69 70 74 69 6f  |awled inscriptio|
0000f420  6e 22 0a 20 20 77 69 74  68 20 64 65 73 63 72 69  |n".  with descri|
0000f430  70 74 69 6f 6e 20 22 49  74 20 73 61 79 73 2c 20  |ption "It says, |
0000f440  7e 46 65 65 20 66 69 65  20 66 6f 65 20 66 6f 6f  |~Fee fie foe foo|
0000f450  20 5b 73 69 63 5d 2e 7e  22 2c 0a 20 20 20 20 20  | [sic].~",.     |
0000f460  20 20 6e 61 6d 65 20 22  69 6e 73 63 72 69 70 74  |  name "inscript|
0000f470  69 6f 6e 22 20 22 77 72  69 74 69 6e 67 22 20 22  |ion" "writing" "|
0000f480  73 63 72 61 77 6c 22 20  22 73 63 72 61 77 6c 65  |scrawl" "scrawle|
0000f490  64 22 0a 20 20 68 61 73  20 20 73 63 65 6e 65 72  |d".  has  scener|
0000f4a0  79 3b 0a 0a 4e 65 61 72  62 79 20 67 6f 6c 64 65  |y;..Nearby golde|
0000f4b0  6e 5f 65 67 67 73 20 22  6e 65 73 74 20 6f 66 20  |n_eggs "nest of |
0000f4c0  67 6f 6c 64 65 6e 20 65  67 67 73 22 0a 20 63 6c  |golden eggs". cl|
0000f4d0  61 73 73 20 54 72 65 61  73 75 72 65 0a 20 20 77  |ass Treasure.  w|
0000f4e0  69 74 68 20 64 65 70 6f  73 69 74 70 6f 69 6e 74  |ith depositpoint|
0000f4f0  73 20 31 34 2c 0a 20 20  20 20 20 20 20 64 65 73  |s 14,.       des|
0000f500  63 72 69 70 74 69 6f 6e  20 22 54 68 65 20 6e 65  |cription "The ne|
0000f510  73 74 20 69 73 20 66 69  6c 6c 65 64 20 77 69 74  |st is filled wit|
0000f520  68 20 62 65 61 75 74 69  66 75 6c 20 67 6f 6c 64  |h beautiful gold|
0000f530  65 6e 20 65 67 67 73 21  22 2c 0a 20 20 20 20 20  |en eggs!",.     |
0000f540  20 20 69 6e 69 74 69 61  6c 20 22 54 68 65 72 65  |  initial "There|
0000f550  20 69 73 20 61 20 6c 61  72 67 65 20 6e 65 73 74  | is a large nest|
0000f560  20 68 65 72 65 2c 20 66  75 6c 6c 20 6f 66 20 67  | here, full of g|
0000f570  6f 6c 64 65 6e 20 65 67  67 73 21 22 2c 0a 20 20  |olden eggs!",.  |
0000f580  20 20 20 20 20 6e 61 6d  65 20 22 65 67 67 73 22  |     name "eggs"|
0000f590  20 22 65 67 67 22 20 22  6e 65 73 74 22 20 22 67  | "egg" "nest" "g|
0000f5a0  6f 6c 64 65 6e 22 20 22  62 65 61 75 74 69 66 75  |olden" "beautifu|
0000f5b0  6c 22 3b 0a 0a 0a 4f 62  6a 65 63 74 20 41 74 5f  |l";...Object At_|
0000f5c0  52 65 63 65 6e 74 5f 43  61 76 65 5f 49 6e 20 22  |Recent_Cave_In "|
0000f5d0  52 65 63 65 6e 74 20 43  61 76 65 2d 69 6e 22 0a  |Recent Cave-in".|
0000f5e0  20 20 77 69 74 68 20 64  65 73 63 72 69 70 74 69  |  with descripti|
0000f5f0  6f 6e 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |on.             |
0000f600  20 20 22 54 68 65 20 70  61 73 73 61 67 65 20 68  |  "The passage h|
0000f610  65 72 65 20 69 73 20 62  6c 6f 63 6b 65 64 20 62  |ere is blocked b|
0000f620  79 20 61 20 72 65 63 65  6e 74 20 5c 0a 20 20 20  |y a recent \.   |
0000f630  20 20 20 20 20 20 20 20  20 20 20 20 63 61 76 65  |            cave|
0000f640  2d 69 6e 2e 22 2c 0a 20  20 20 20 20 20 20 73 5f  |-in.",.       s_|
0000f650  74 6f 20 49 6e 5f 47 69  61 6e 74 5f 52 6f 6f 6d  |to In_Giant_Room|
0000f660  3b 0a 0a 0a 4f 62 6a 65  63 74 20 49 6e 5f 49 6d  |;...Object In_Im|
0000f670  6d 65 6e 73 65 5f 4e 5f  53 5f 50 61 73 73 61 67  |mense_N_S_Passag|
0000f680  65 20 22 49 6d 6d 65 6e  73 65 20 4e 2f 53 20 50  |e "Immense N/S P|
0000f690  61 73 73 61 67 65 22 0a  20 20 77 69 74 68 20 64  |assage".  with d|
0000f6a0  65 73 63 72 69 70 74 69  6f 6e 20 22 59 6f 75 20  |escription "You |
0000f6b0  61 72 65 20 61 74 20 6f  6e 65 20 65 6e 64 20 6f  |are at one end o|
0000f6c0  66 20 61 6e 20 69 6d 6d  65 6e 73 65 20 6e 6f 72  |f an immense nor|
0000f6d0  74 68 2f 73 6f 75 74 68  20 70 61 73 73 61 67 65  |th/south passage|
0000f6e0  2e 22 2c 0a 20 20 20 20  20 20 20 73 5f 74 6f 20  |.",.       s_to |
0000f6f0  49 6e 5f 47 69 61 6e 74  5f 52 6f 6f 6d 2c 0a 20  |In_Giant_Room,. |
0000f700  20 20 20 20 20 20 6e 5f  74 6f 20 0a 20 20 20 20  |      n_to .    |
0000f710  20 20 20 5b 3b 20 69 66  20 28 52 75 73 74 79 44  |   [; if (RustyD|
0000f720  6f 6f 72 20 68 61 73 20  6c 6f 63 6b 65 64 29 20  |oor has locked) |
0000f730  3c 3c 4f 70 65 6e 20 52  75 73 74 79 44 6f 6f 72  |<<Open RustyDoor|
0000f740  3e 3e 3b 0a 20 20 20 20  20 20 20 20 20 20 69 66  |>>;.          if|
0000f750  20 28 52 75 73 74 79 44  6f 6f 72 20 68 61 73 6e  | (RustyDoor hasn|
0000f760  74 20 6f 70 65 6e 29 0a  20 20 20 20 20 20 20 20  |t open).        |
0000f770  20 20 7b 20 67 69 76 65  20 52 75 73 74 79 44 6f  |  { give RustyDo|
0000f780  6f 72 20 6f 70 65 6e 3b  20 70 72 69 6e 74 20 22  |or open; print "|
0000f790  28 66 69 72 73 74 20 77  72 65 6e 63 68 69 6e 67  |(first wrenching|
0000f7a0  20 74 68 65 20 64 6f 6f  72 20 6f 70 65 6e 29 5e  | the door open)^|
0000f7b0  22 3b 20 7d 0a 20 20 20  20 20 20 20 20 20 20 72  |"; }.          r|
0000f7c0  65 74 75 72 6e 20 52 75  73 74 79 44 6f 6f 72 3b  |eturn RustyDoor;|
0000f7d0  0a 20 20 20 20 20 20 20  5d 3b 0a 0a 4e 65 61 72  |.       ];..Near|
0000f7e0  62 79 20 52 75 73 74 79  44 6f 6f 72 20 22 72 75  |by RustyDoor "ru|
0000f7f0  73 74 79 20 64 6f 6f 72  22 0a 20 20 77 69 74 68  |sty door".  with|
0000f800  20 64 65 73 63 72 69 70  74 69 6f 6e 20 22 49 74  | description "It|
0000f810  27 73 20 6a 75 73 74 20  61 20 62 69 67 20 69 72  |'s just a big ir|
0000f820  6f 6e 20 64 6f 6f 72 2e  22 2c 0a 20 20 20 20 20  |on door.",.     |
0000f830  20 20 6e 61 6d 65 20 22  64 6f 6f 72 22 20 22 68  |  name "door" "h|
0000f840  69 6e 67 65 22 20 22 68  69 6e 67 65 73 22 20 22  |inge" "hinges" "|
0000f850  6d 61 73 73 69 76 65 22  20 22 72 75 73 74 79 22  |massive" "rusty"|
0000f860  20 22 69 72 6f 6e 22 2c  0a 20 20 20 20 20 20 20  | "iron",.       |
0000f870  77 68 65 6e 5f 63 6c 6f  73 65 64 20 22 54 68 65  |when_closed "The|
0000f880  20 77 61 79 20 6e 6f 72  74 68 20 69 73 20 62 61  | way north is ba|
0000f890  72 72 65 64 20 62 79 20  61 20 6d 61 73 73 69 76  |rred by a massiv|
0000f8a0  65 2c 20 72 75 73 74 79  2c 20 69 72 6f 6e 20 64  |e, rusty, iron d|
0000f8b0  6f 6f 72 2e 22 2c 0a 20  20 20 20 20 20 20 77 68  |oor.",.       wh|
0000f8c0  65 6e 5f 6f 70 65 6e 20  20 20 22 54 68 65 20 77  |en_open   "The w|
0000f8d0  61 79 20 6e 6f 72 74 68  20 6c 65 61 64 73 20 74  |ay north leads t|
0000f8e0  68 72 6f 75 67 68 20 61  20 6d 61 73 73 69 76 65  |hrough a massive|
0000f8f0  2c 20 72 75 73 74 79 2c  20 69 72 6f 6e 20 64 6f  |, rusty, iron do|
0000f900  6f 72 2e 22 2c 0a 20 20  20 20 20 20 20 64 6f 6f  |or.",.       doo|
0000f910  72 5f 74 6f 20 49 6e 5f  43 61 76 65 72 6e 5f 57  |r_to In_Cavern_W|
0000f920  69 74 68 5f 57 61 74 65  72 66 61 6c 6c 2c 0a 20  |ith_Waterfall,. |
0000f930  20 20 20 20 20 20 64 6f  6f 72 5f 64 69 72 20 6e  |      door_dir n|
0000f940  5f 74 6f 2c 0a 20 20 20  20 20 20 20 62 65 66 6f  |_to,.       befo|
0000f950  72 65 0a 20 20 20 20 20  20 20 5b 3b 20 4f 70 65  |re.       [; Ope|
0000f960  6e 3a 20 20 69 66 20 28  52 75 73 74 79 44 6f 6f  |n:  if (RustyDoo|
0000f970  72 20 68 61 73 20 6c 6f  63 6b 65 64 29 0a 20 20  |r has locked).  |
0000f980  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000f990  20 20 22 54 68 65 20 68  69 6e 67 65 73 20 61 72  |  "The hinges ar|
0000f9a0  65 20 71 75 69 74 65 20  74 68 6f 72 6f 75 67 68  |e quite thorough|
0000f9b0  6c 79 20 72 75 73 74 65  64 20 6e 6f 77 20 5c 0a  |ly rusted now \.|
0000f9c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000f9d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 61  |               a|
0000f9e0  6e 64 20 77 6f 6e 27 74  20 62 75 64 67 65 2e 22  |nd won't budge."|
0000f9f0  3b 0a 20 20 20 20 20 20  20 20 20 20 43 6c 6f 73  |;.          Clos|
0000fa00  65 3a 20 69 66 20 28 52  75 73 74 79 44 6f 6f 72  |e: if (RustyDoor|
0000fa10  20 68 61 73 20 6f 70 65  6e 29 0a 20 20 20 20 20  | has open).     |
0000fa20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 22  |               "|
0000fa30  57 69 74 68 20 61 6c 6c  20 74 68 65 20 65 66 66  |With all the eff|
0000fa40  6f 72 74 20 69 74 20 74  6f 6f 6b 20 74 6f 20 67  |ort it took to g|
0000fa50  65 74 20 74 68 65 20 64  6f 6f 72 20 5c 0a 20 20  |et the door \.  |
0000fa60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000fa70  20 20 20 20 20 20 20 20  20 20 20 20 20 6f 70 65  |             ope|
0000fa80  6e 2c 20 49 20 77 6f 75  6c 64 6e 27 74 20 73 75  |n, I wouldn't su|
0000fa90  67 67 65 73 74 20 63 6c  6f 73 69 6e 67 20 69 74  |ggest closing it|
0000faa0  20 61 67 61 69 6e 2e 22  3b 0a 20 20 20 20 20 20  | again.";.      |
0000fab0  20 20 20 20 20 20 20 20  20 20 20 22 4e 6f 20 70  |           "No p|
0000fac0  72 6f 62 6c 65 6d 20 74  68 65 72 65 20 2d 2d 20  |roblem there -- |
0000fad0  69 74 20 61 6c 72 65 61  64 79 20 69 73 2e 22 3b  |it already is.";|
0000fae0  0a 20 20 20 20 20 20 20  20 20 20 4f 69 6c 3a 20  |.          Oil: |
0000faf0  20 20 69 66 20 28 62 6f  74 74 6c 65 20 69 6e 20  |  if (bottle in |
0000fb00  70 6c 61 79 65 72 20 26  26 20 6f 69 6c 5f 69 6e  |player && oil_in|
0000fb10  5f 74 68 65 5f 62 6f 74  74 6c 65 20 69 6e 20 62  |_the_bottle in b|
0000fb20  6f 74 74 6c 65 29 0a 20  20 20 20 20 20 20 20 20  |ottle).         |
0000fb30  20 20 20 20 20 20 20 20  7b 20 20 20 72 65 6d 6f  |        {   remo|
0000fb40  76 65 20 6f 69 6c 5f 69  6e 5f 74 68 65 5f 62 6f  |ve oil_in_the_bo|
0000fb50  74 74 6c 65 3b 0a 20 20  20 20 20 20 20 20 20 20  |ttle;.          |
0000fb60  20 20 20 20 20 20 20 20  20 20 20 67 69 76 65 20  |           give |
0000fb70  52 75 73 74 79 44 6f 6f  72 20 7e 6c 6f 63 6b 65  |RustyDoor ~locke|
0000fb80  64 20 6f 70 65 6e 61 62  6c 65 3b 0a 20 20 20 20  |d openable;.    |
0000fb90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000fba0  20 22 54 68 65 20 6f 69  6c 20 68 61 73 20 66 72  | "The oil has fr|
0000fbb0  65 65 64 20 75 70 20 74  68 65 20 68 69 6e 67 65  |eed up the hinge|
0000fbc0  73 20 73 6f 20 74 68 61  74 20 74 68 65 20 5c 0a  |s so that the \.|
0000fbd0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000fbe0  20 20 20 20 20 20 64 6f  6f 72 20 77 69 6c 6c 20  |      door will |
0000fbf0  6e 6f 77 20 6d 6f 76 65  2c 20 61 6c 74 68 6f 75  |now move, althou|
0000fc00  67 68 20 69 74 20 72 65  71 75 69 72 65 73 20 73  |gh it requires s|
0000fc10  6f 6d 65 20 5c 0a 20 20  20 20 20 20 20 20 20 20  |ome \.          |
0000fc20  20 20 20 20 20 20 20 20  20 20 20 20 65 66 66 6f  |            effo|
0000fc30  72 74 2e 22 3b 0a 20 20  20 20 20 20 20 20 20 20  |rt.";.          |
0000fc40  20 20 20 20 20 20 20 7d  0a 20 20 20 20 20 20 20  |       }.       |
0000fc50  20 20 20 20 20 20 20 20  20 20 65 6c 73 65 0a 20  |          else. |
0000fc60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000fc70  20 20 20 20 22 59 6f 75  20 68 61 76 65 20 6e 6f  |    "You have no|
0000fc80  74 68 69 6e 67 20 74 6f  20 6f 69 6c 20 69 74 20  |thing to oil it |
0000fc90  77 69 74 68 2e 22 3b 0a  20 20 20 20 20 20 20 20  |with.";.        |
0000fca0  20 20 57 61 74 65 72 3a  20 69 66 20 28 62 6f 74  |  Water: if (bot|
0000fcb0  74 6c 65 20 69 6e 20 70  6c 61 79 65 72 20 26 26  |tle in player &&|
0000fcc0  20 77 61 74 65 72 5f 69  6e 5f 74 68 65 5f 62 6f  | water_in_the_bo|
0000fcd0  74 74 6c 65 20 69 6e 20  62 6f 74 74 6c 65 29 0a  |ttle in bottle).|
0000fce0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000fcf0  20 7b 20 20 20 72 65 6d  6f 76 65 20 77 61 74 65  | {   remove wate|
0000fd00  72 5f 69 6e 5f 74 68 65  5f 62 6f 74 74 6c 65 3b  |r_in_the_bottle;|
0000fd10  20 67 69 76 65 20 52 75  73 74 79 44 6f 6f 72 20  | give RustyDoor |
0000fd20  6c 6f 63 6b 65 64 20 7e  6f 70 65 6e 3b 0a 20 20  |locked ~open;.  |
0000fd30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0000fd40  20 20 20 22 54 68 65 20  68 69 6e 67 65 73 20 61  |   "The hinges a|
0000fd50  72 65 20 71 75 69 74 65  20 74 68 6f 72 6f 75 67  |re quite thoroug|
0000fd60  68 6c 79 20 5c 0a 20 20  20 20 20 20 20 20 20 20  |hly \.          |
0000fd70  20 20 20 20 20 20 20 20  20 20 20 20 72 75 73 74  |            rust|
0000fd80  65 64 20 6e 6f 77 20 61  6e 64 20 77 6f 6e 27 74  |ed now and won't|
0000fd90  20 62 75 64 67 65 2e 22  3b 0a 20 20 20 20 20 20  | budge.";.      |
0000fda0  20 20 20 20 20 20 20 20  20 20 20 7d 0a 20 20 20  |           }.   |
0000fdb0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 65 6c  |              el|
0000fdc0  73 65 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |se.             |
0000fdd0  20 20 20 20 20 20 20 20  22 59 6f 75 20 68 61 76  |        "You hav|
0000fde0  65 20 6e 6f 74 68 69 6e  67 20 74 6f 20 77 61 74  |e nothing to wat|
0000fdf0  65 72 20 69 74 20 77 69  74 68 2e 22 3b 0a 20 20  |er it with.";.  |
0000fe00  20 20 20 20 20 5d 2c 0a  20 20 20 20 20 20 20 61  |     ],.       a|
0000fe10  66 74 65 72 0a 20 20 20  20 20 20 20 5b 3b 20 4f  |fter.       [; O|
0000fe20  70 65 6e 3a 20 22 54 68  65 20 64 6f 6f 72 20 68  |pen: "The door h|
0000fe30  65 61 76 65 73 20 6f 70  65 6e 20 77 69 74 68 20  |eaves open with |
0000fe40  61 20 73 68 6f 77 65 72  20 6f 66 20 72 75 73 74  |a shower of rust|
0000fe50  2e 22 3b 0a 20 20 20 20  20 20 20 5d 2c 0a 20 20  |.";.       ],.  |
0000fe60  68 61 73 20 20 73 74 61  74 69 63 20 64 6f 6f 72  |has  static door|
0000fe70  20 6c 6f 63 6b 65 64 3b  0a 0a 0a 0a 4f 62 6a 65  | locked;....Obje|
0000fe80  63 74 20 49 6e 5f 43 61  76 65 72 6e 5f 57 69 74  |ct In_Cavern_Wit|
0000fe90  68 5f 57 61 74 65 72 66  61 6c 6c 20 22 49 6e 20  |h_Waterfall "In |
0000fea0  43 61 76 65 72 6e 20 57  69 74 68 20 57 61 74 65  |Cavern With Wate|
0000feb0  72 66 61 6c 6c 22 20 6e  6f 74 68 69 6e 67 0a 20  |rfall" nothing. |
0000fec0  20 77 69 74 68 20 64 65  73 63 72 69 70 74 69 6f  | with descriptio|
0000fed0  6e 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |n.              |
0000fee0  20 22 59 6f 75 20 61 72  65 20 69 6e 20 61 20 6d  | "You are in a m|
0000fef0  61 67 6e 69 66 69 63 65  6e 74 20 63 61 76 65 72  |agnificent caver|
0000ff00  6e 20 77 69 74 68 20 61  20 72 75 73 68 69 6e 67  |n with a rushing|
0000ff10  20 5c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  | \.             |
0000ff20  20 20 73 74 72 65 61 6d  2c 20 77 68 69 63 68 20  |  stream, which |
0000ff30  63 61 73 63 61 64 65 73  20 6f 76 65 72 20 61 20  |cascades over a |
0000ff40  73 70 61 72 6b 6c 69 6e  67 20 77 61 74 65 72 66  |sparkling waterf|
0000ff50  61 6c 6c 20 5c 0a 20 20  20 20 20 20 20 20 20 20  |all \.          |
0000ff60  20 20 20 20 20 69 6e 74  6f 20 61 20 72 6f 61 72  |     into a roar|
0000ff70  69 6e 67 20 77 68 69 72  6c 70 6f 6f 6c 20 77 68  |ing whirlpool wh|
0000ff80  69 63 68 20 64 69 73 61  70 70 65 61 72 73 20 74  |ich disappears t|
0000ff90  68 72 6f 75 67 68 20 61  20 5c 0a 20 20 20 20 20  |hrough a \.     |
0000ffa0  20 20 20 20 20 20 20 20  20 20 68 6f 6c 65 20 69  |          hole i|
0000ffb0  6e 20 74 68 65 20 66 6c  6f 6f 72 2e 20 20 50 61  |n the floor.  Pa|
0000ffc0  73 73 61 67 65 73 20 65  78 69 74 20 74 6f 20 74  |ssages exit to t|
0000ffd0  68 65 20 73 6f 75 74 68  20 61 6e 64 20 5c 0a 20  |he south and \. |
0000ffe0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 77 65  |              we|
0000fff0  73 74 2e 22 2c 0a 20 20  20 20 20 20 20 73 5f 74  |st.",.       s_t|
00010000  6f 20 49 6e 5f 49 6d 6d  65 6e 73 65 5f 4e 5f 53  |o In_Immense_N_S|
00010010  5f 50 61 73 73 61 67 65  2c 0a 20 20 20 20 20 20  |_Passage,.      |
00010020  20 77 5f 74 6f 20 41 74  5f 53 74 65 65 70 5f 49  | w_to At_Steep_I|
00010030  6e 63 6c 69 6e 65 3b 0a  0a 4e 65 61 72 62 79 20  |ncline;..Nearby |
00010040  57 61 74 65 72 66 61 6c  6c 20 22 77 61 74 65 72  |Waterfall "water|
00010050  66 61 6c 6c 22 0a 20 20  77 69 74 68 20 64 65 73  |fall".  with des|
00010060  63 72 69 70 74 69 6f 6e  20 22 57 6f 75 6c 64 6e  |cription "Wouldn|
00010070  27 74 20 77 61 6e 74 20  74 6f 20 67 6f 20 64 6f  |'t want to go do|
00010080  77 6e 20 69 6e 20 69 6e  20 61 20 62 61 72 72 65  |wn in in a barre|
00010090  6c 21 22 2c 0a 20 20 20  20 20 20 20 6e 61 6d 65  |l!",.       name|
000100a0  20 22 77 61 74 65 72 66  61 6c 6c 22 20 22 77 68  | "waterfall" "wh|
000100b0  69 72 6c 70 6f 6f 6c 22  20 22 73 70 61 72 6b 6c  |irlpool" "sparkl|
000100c0  69 6e 67 22 20 22 77 68  69 72 6c 69 6e 67 22 0a  |ing" "whirling".|
000100d0  20 20 68 61 73 20 20 73  63 65 6e 65 72 79 3b 0a  |  has  scenery;.|
000100e0  0a 4e 65 61 72 62 79 20  74 72 69 64 65 6e 74 20  |.Nearby trident |
000100f0  22 6a 65 77 65 6c 65 64  20 74 72 69 64 65 6e 74  |"jeweled trident|
00010100  22 0a 20 63 6c 61 73 73  20 54 72 65 61 73 75 72  |". class Treasur|
00010110  65 0a 20 20 77 69 74 68  20 64 65 73 63 72 69 70  |e.  with descrip|
00010120  74 69 6f 6e 20 22 54 68  65 20 74 72 69 64 65 6e  |tion "The triden|
00010130  74 20 69 73 20 63 6f 76  65 72 65 64 20 77 69 74  |t is covered wit|
00010140  68 20 66 61 62 75 6c 6f  75 73 20 6a 65 77 65 6c  |h fabulous jewel|
00010150  73 21 22 2c 0a 20 20 20  20 20 20 20 69 6e 69 74  |s!",.       init|
00010160  69 61 6c 20 22 54 68 65  72 65 20 69 73 20 61 20  |ial "There is a |
00010170  6a 65 77 65 6c 2d 65 6e  63 72 75 73 74 65 64 20  |jewel-encrusted |
00010180  74 72 69 64 65 6e 74 20  68 65 72 65 21 22 2c 0a  |trident here!",.|
00010190  20 20 20 20 20 20 20 6e  61 6d 65 20 22 74 72 69  |       name "tri|
000101a0  64 65 6e 74 22 20 22 6a  65 77 65 6c 65 64 22 20  |dent" "jeweled" |
000101b0  22 6a 65 77 65 6c 2d 65  6e 63 72 75 73 74 65 64  |"jewel-encrusted|
000101c0  22 20 22 65 6e 63 72 75  73 74 65 64 22 20 22 66  |" "encrusted" "f|
000101d0  61 62 75 6c 6f 75 73 22  2c 0a 20 20 20 20 20 20  |abulous",.      |
000101e0  20 64 65 70 6f 73 69 74  70 6f 69 6e 74 73 20 31  | depositpoints 1|
000101f0  34 3b 0a 0a 21 20 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |4;..! ----------|
00010200  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00010240  2d 2d 0a 21 20 20 20 54  68 65 20 63 61 76 65 73  |--.!   The caves|
00010250  20 61 72 6f 75 6e 64 20  42 65 64 71 75 69 6c 74  | around Bedquilt|
00010260  0a 21 20 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.! -------------|
00010270  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000102a0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 0a  |---------------.|
000102b0  0a 4f 62 6a 65 63 74 20  49 6e 5f 53 6f 66 74 5f  |.Object In_Soft_|
000102c0  52 6f 6f 6d 20 22 49 6e  20 53 6f 66 74 20 52 6f  |Room "In Soft Ro|
000102d0  6f 6d 22 0a 20 20 77 69  74 68 20 64 65 73 63 72  |om".  with descr|
000102e0  69 70 74 69 6f 6e 0a 20  20 20 20 20 20 20 20 20  |iption.         |
000102f0  20 20 20 20 20 20 22 59  6f 75 20 61 72 65 20 69  |      "You are i|
00010300  6e 20 74 68 65 20 73 6f  66 74 20 72 6f 6f 6d 2e  |n the soft room.|
00010310  20 20 54 68 65 20 77 61  6c 6c 73 20 61 72 65 20  |  The walls are |
00010320  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
00010330  20 63 6f 76 65 72 65 64  20 77 69 74 68 20 68 65  | covered with he|
00010340  61 76 79 20 63 75 72 74  61 69 6e 73 2c 20 74 68  |avy curtains, th|
00010350  65 20 66 6c 6f 6f 72 20  77 69 74 68 20 61 20 74  |e floor with a t|
00010360  68 69 63 6b 20 5c 0a 20  20 20 20 20 20 20 20 20  |hick \.         |
00010370  20 20 20 20 20 20 70 69  6c 65 20 63 61 72 70 65  |      pile carpe|
00010380  74 2e 20 20 4d 6f 73 73  20 63 6f 76 65 72 73 20  |t.  Moss covers |
00010390  74 68 65 20 63 65 69 6c  69 6e 67 2e 22 2c 0a 20  |the ceiling.",. |
000103a0  20 20 20 20 20 20 77 5f  74 6f 20 49 6e 5f 53 77  |      w_to In_Sw|
000103b0  69 73 73 5f 43 68 65 65  73 65 5f 52 6f 6f 6d 3b  |iss_Cheese_Room;|
000103c0  0a 0a 4e 65 61 72 62 79  20 43 61 72 70 65 74 20  |..Nearby Carpet |
000103d0  22 63 61 72 70 65 74 22  0a 20 20 77 69 74 68 20  |"carpet".  with |
000103e0  64 65 73 63 72 69 70 74  69 6f 6e 20 22 54 68 65  |description "The|
000103f0  20 63 61 72 70 65 74 20  69 73 20 71 75 69 74 65  | carpet is quite|
00010400  20 70 6c 75 73 68 2e 22  2c 0a 20 20 20 20 20 20  | plush.",.      |
00010410  20 6e 61 6d 65 20 22 63  61 72 70 65 74 22 20 22  | name "carpet" "|
00010420  73 68 61 67 22 20 22 70  69 6c 65 22 20 22 68 65  |shag" "pile" "he|
00010430  61 76 79 22 20 22 74 68  69 63 6b 22 0a 20 20 68  |avy" "thick".  h|
00010440  61 73 20 20 73 63 65 6e  65 72 79 3b 0a 0a 4e 65  |as  scenery;..Ne|
00010450  61 72 62 79 20 43 75 72  74 61 69 6e 73 20 22 63  |arby Curtains "c|
00010460  75 72 74 61 69 6e 73 22  0a 20 20 77 69 74 68 20  |urtains".  with |
00010470  64 65 73 63 72 69 70 74  69 6f 6e 20 22 54 68 65  |description "The|
00010480  79 20 73 65 65 6d 20 74  6f 20 61 62 73 6f 72 62  |y seem to absorb|
00010490  20 73 6f 75 6e 64 20 76  65 72 79 20 77 65 6c 6c  | sound very well|
000104a0  2e 22 2c 0a 20 20 20 20  20 20 20 6e 61 6d 65 20  |.",.       name |
000104b0  22 63 75 72 74 61 69 6e  22 20 22 63 75 72 74 61  |"curtain" "curta|
000104c0  69 6e 73 22 20 22 68 65  61 76 79 22 20 22 74 68  |ins" "heavy" "th|
000104d0  69 63 6b 22 2c 0a 20 20  20 20 20 20 20 62 65 66  |ick",.       bef|
000104e0  6f 72 65 0a 20 20 20 20  20 20 20 5b 3b 20 54 61  |ore.       [; Ta|
000104f0  6b 65 3a 20 22 4e 6f 77  20 64 6f 6e 27 74 20 67  |ke: "Now don't g|
00010500  6f 20 72 69 70 70 69 6e  67 20 75 70 20 74 68 65  |o ripping up the|
00010510  20 70 6c 61 63 65 21 22  3b 0a 20 20 20 20 20 20  | place!";.      |
00010520  20 20 20 20 4c 6f 6f 6b  55 6e 64 65 72 2c 20 53  |    LookUnder, S|
00010530  65 61 72 63 68 3a 0a 20  20 20 20 20 20 20 20 20  |earch:.         |
00010540  20 20 20 22 59 6f 75 20  64 6f 6e 27 74 20 66 69  |   "You don't fi|
00010550  6e 64 20 61 6e 79 74 68  69 6e 67 20 65 78 63 69  |nd anything exci|
00010560  74 69 6e 67 20 62 65 68  69 6e 64 20 74 68 65 20  |ting behind the |
00010570  63 75 72 74 61 69 6e 73  2e 22 3b 0a 20 20 20 20  |curtains.";.    |
00010580  20 20 20 5d 2c 0a 20 20  68 61 73 20 20 73 63 65  |   ],.  has  sce|
00010590  6e 65 72 79 3b 0a 0a 4e  65 61 72 62 79 20 4d 6f  |nery;..Nearby Mo|
000105a0  73 73 20 22 6d 6f 73 73  22 0a 20 20 77 69 74 68  |ss "moss".  with|
000105b0  20 64 65 73 63 72 69 70  74 69 6f 6e 20 22 49 74  | description "It|
000105c0  20 6a 75 73 74 20 6c 6f  6f 6b 73 20 6c 69 6b 65  | just looks like|
000105d0  20 79 6f 75 72 20 74 79  70 69 63 61 6c 2c 20 65  | your typical, e|
000105e0  76 65 72 79 64 61 79 20  6d 6f 73 73 2e 22 2c 0a  |veryday moss.",.|
000105f0  20 20 20 20 20 20 20 6e  61 6d 65 20 22 6d 6f 73  |       name "mos|
00010600  73 22 20 22 74 79 70 69  63 61 6c 22 20 22 65 76  |s" "typical" "ev|
00010610  65 72 79 64 61 79 22 2c  0a 20 20 20 20 20 20 20  |eryday",.       |
00010620  62 65 66 6f 72 65 0a 20  20 20 20 20 20 20 5b 3b  |before.       [;|
00010630  20 54 61 6b 65 3a 20 22  49 74 20 63 72 75 6d 62  | Take: "It crumb|
00010640  6c 65 73 20 74 6f 20 6e  6f 74 68 69 6e 67 20 69  |les to nothing i|
00010650  6e 20 79 6f 75 72 20 68  61 6e 64 73 2e 22 3b 0a  |n your hands.";.|
00010660  20 20 20 20 20 20 20 20  20 20 45 61 74 3a 20 22  |          Eat: "|
00010670  45 65 65 65 77 77 77 77  77 2e 22 3b 0a 20 20 20  |Eeeewwwww.";.   |
00010680  20 20 20 20 5d 2c 0a 20  20 68 61 73 20 20 73 63  |    ],.  has  sc|
00010690  65 6e 65 72 79 3b 0a 0a  4e 65 61 72 62 79 20 76  |enery;..Nearby v|
000106a0  65 6c 76 65 74 5f 70 69  6c 6c 6f 77 20 22 76 65  |elvet_pillow "ve|
000106b0  6c 76 65 74 20 70 69 6c  6c 6f 77 22 20 0a 20 20  |lvet pillow" .  |
000106c0  77 69 74 68 20 64 65 73  63 72 69 70 74 69 6f 6e  |with description|
000106d0  20 22 49 74 27 73 20 6a  75 73 74 20 61 20 73 6d  | "It's just a sm|
000106e0  61 6c 6c 20 76 65 6c 76  65 74 20 70 69 6c 6c 6f  |all velvet pillo|
000106f0  77 2e 22 2c 0a 20 20 20  20 20 20 20 69 6e 69 74  |w.",.       init|
00010700  69 61 6c 20 22 41 20 73  6d 61 6c 6c 20 76 65 6c  |ial "A small vel|
00010710  76 65 74 20 70 69 6c 6c  6f 77 20 6c 69 65 73 20  |vet pillow lies |
00010720  6f 6e 20 74 68 65 20 66  6c 6f 6f 72 2e 22 2c 0a  |on the floor.",.|
00010730  20 20 20 20 20 20 20 6e  61 6d 65 20 22 70 69 6c  |       name "pil|
00010740  6c 6f 77 22 20 22 76 65  6c 76 65 74 22 20 22 73  |low" "velvet" "s|
00010750  6d 61 6c 6c 22 3b 0a 0a  0a 4f 62 6a 65 63 74 20  |mall";...Object |
00010760  49 6e 5f 4f 72 69 65 6e  74 61 6c 5f 52 6f 6f 6d  |In_Oriental_Room|
00010770  20 22 4f 72 69 65 6e 74  61 6c 20 52 6f 6f 6d 22  | "Oriental Room"|
00010780  0a 20 20 77 69 74 68 20  64 65 73 63 72 69 70 74  |.  with descript|
00010790  69 6f 6e 0a 20 20 20 20  20 20 20 20 20 20 20 20  |ion.            |
000107a0  20 20 20 22 54 68 69 73  20 69 73 20 74 68 65 20  |   "This is the |
000107b0  6f 72 69 65 6e 74 61 6c  20 72 6f 6f 6d 2e 20 20  |oriental room.  |
000107c0  41 6e 63 69 65 6e 74 20  6f 72 69 65 6e 74 61 6c  |Ancient oriental|
000107d0  20 5c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  | \.             |
000107e0  20 20 63 61 76 65 20 64  72 61 77 69 6e 67 73 20  |  cave drawings |
000107f0  63 6f 76 65 72 20 74 68  65 20 77 61 6c 6c 73 2e  |cover the walls.|
00010800  20 20 41 20 67 65 6e 74  6c 79 20 73 6c 6f 70 69  |  A gently slopi|
00010810  6e 67 20 5c 0a 20 20 20  20 20 20 20 20 20 20 20  |ng \.           |
00010820  20 20 20 20 70 61 73 73  61 67 65 20 6c 65 61 64  |    passage lead|
00010830  73 20 75 70 77 61 72 64  20 74 6f 20 74 68 65 20  |s upward to the |
00010840  6e 6f 72 74 68 2c 20 61  6e 6f 74 68 65 72 20 70  |north, another p|
00010850  61 73 73 61 67 65 20 5c  0a 20 20 20 20 20 20 20  |assage \.       |
00010860  20 20 20 20 20 20 20 20  6c 65 61 64 73 20 73 65  |        leads se|
00010870  2c 20 61 6e 64 20 61 20  68 61 6e 64 73 20 61 6e  |, and a hands an|
00010880  64 20 6b 6e 65 65 73 20  63 72 61 77 6c 20 6c 65  |d knees crawl le|
00010890  61 64 73 20 77 65 73 74  2e 22 2c 0a 20 20 20 20  |ads west.",.    |
000108a0  20 20 20 77 5f 74 6f 20  49 6e 5f 4c 61 72 67 65  |   w_to In_Large|
000108b0  5f 4c 6f 77 5f 52 6f 6f  6d 2c 0a 20 20 20 20 20  |_Low_Room,.     |
000108c0  20 20 73 65 5f 74 6f 20  49 6e 5f 53 77 69 73 73  |  se_to In_Swiss|
000108d0  5f 43 68 65 65 73 65 5f  52 6f 6f 6d 2c 0a 20 20  |_Cheese_Room,.  |
000108e0  20 20 20 20 20 75 5f 74  6f 20 49 6e 5f 4d 69 73  |     u_to In_Mis|
000108f0  74 79 5f 43 61 76 65 72  6e 2c 0a 20 20 20 20 20  |ty_Cavern,.     |
00010900  20 20 6e 5f 74 6f 20 49  6e 5f 4d 69 73 74 79 5f  |  n_to In_Misty_|
00010910  43 61 76 65 72 6e 3b 0a  0a 4e 65 61 72 62 79 20  |Cavern;..Nearby |
00010920  43 61 76 65 44 72 61 77  69 6e 67 73 20 22 61 6e  |CaveDrawings "an|
00010930  63 69 65 6e 74 20 6f 72  69 65 6e 74 61 6c 20 64  |cient oriental d|
00010940  72 61 77 69 6e 67 73 22  0a 20 20 77 69 74 68 20  |rawings".  with |
00010950  64 65 73 63 72 69 70 74  69 6f 6e 20 22 54 68 65  |description "The|
00010960  79 20 73 65 65 6d 20 74  6f 20 64 65 70 69 63 74  |y seem to depict|
00010970  20 70 65 6f 70 6c 65 20  61 6e 64 20 61 6e 69 6d  | people and anim|
00010980  61 6c 73 2e 22 2c 0a 20  20 20 20 20 20 20 6e 61  |als.",.       na|
00010990  6d 65 20 22 70 61 69 6e  74 69 6e 67 73 22 20 22  |me "paintings" "|
000109a0  64 72 61 77 69 6e 67 73  22 20 22 61 72 74 22 20  |drawings" "art" |
000109b0  22 63 61 76 65 22 20 22  61 6e 63 69 65 6e 74 22  |"cave" "ancient"|
000109c0  20 22 6f 72 69 65 6e 74  61 6c 22 0a 20 20 68 61  | "oriental".  ha|
000109d0  73 20 20 73 63 65 6e 65  72 79 3b 0a 0a 4e 65 61  |s  scenery;..Nea|
000109e0  72 62 79 20 6d 69 6e 67  5f 76 61 73 65 20 22 6d  |rby ming_vase "m|
000109f0  69 6e 67 20 76 61 73 65  22 0a 20 63 6c 61 73 73  |ing vase". class|
00010a00  20 54 72 65 61 73 75 72  65 0a 20 20 77 69 74 68  | Treasure.  with|
00010a10  20 64 65 73 63 72 69 70  74 69 6f 6e 20 22 49 74  | description "It|
00010a20  27 73 20 61 20 64 65 6c  69 63 61 74 65 2c 20 70  |'s a delicate, p|
00010a30  72 65 76 69 6f 75 73 2c  20 6d 69 6e 67 20 76 61  |revious, ming va|
00010a40  73 65 21 22 2c 0a 20 20  20 20 20 20 20 6e 61 6d  |se!",.       nam|
00010a50  65 20 22 76 61 73 65 22  20 22 6d 69 6e 67 22 20  |e "vase" "ming" |
00010a60  22 64 65 6c 69 63 61 74  65 22 2c 0a 20 20 20 20  |"delicate",.    |
00010a70  20 20 20 64 65 70 6f 73  69 74 70 6f 69 6e 74 73  |   depositpoints|
00010a80  20 31 34 2c 0a 20 20 20  20 20 20 20 61 66 74 65  | 14,.       afte|
00010a90  72 0a 20 20 20 20 20 20  20 5b 3b 20 44 72 6f 70  |r.       [; Drop|
00010aa0  3a 20 69 66 20 28 76 65  6c 76 65 74 5f 70 69 6c  |: if (velvet_pil|
00010ab0  6c 6f 77 20 69 6e 20 6c  6f 63 61 74 69 6f 6e 29  |low in location)|
00010ac0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00010ad0  20 7b 20 20 20 70 72 69  6e 74 20 22 28 63 6f 6d  | {   print "(com|
00010ae0  69 6e 67 20 74 6f 20 72  65 73 74 2c 20 64 65 6c  |ing to rest, del|
00010af0  69 63 61 74 65 6c 79 2c  20 6f 6e 20 74 68 65 20  |icately, on the |
00010b00  76 65 6c 76 65 74 20 70  69 6c 6c 6f 77 29 5e 22  |velvet pillow)^"|
00010b10  3b 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |;.              |
00010b20  20 20 20 20 20 20 72 66  61 6c 73 65 3b 0a 20 20  |      rfalse;.  |
00010b30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 7d 0a  |              }.|
00010b40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00010b50  72 65 6d 6f 76 65 20 6d  69 6e 67 5f 76 61 73 65  |remove ming_vase|
00010b60  3b 20 6d 6f 76 65 20 73  68 61 72 64 73 20 74 6f  |; move shards to|
00010b70  20 6c 6f 63 61 74 69 6f  6e 3b 0a 20 20 20 20 20  | location;.     |
00010b80  20 20 20 20 20 20 20 20  20 20 20 22 54 68 65 20  |           "The |
00010b90  6d 69 6e 67 20 76 61 73  65 20 64 72 6f 70 73 20  |ming vase drops |
00010ba0  77 69 74 68 20 61 20 64  65 6c 69 63 61 74 65 20  |with a delicate |
00010bb0  63 72 61 73 68 2e 22 3b  0a 20 20 20 20 20 20 20  |crash.";.       |
00010bc0  20 20 20 41 74 74 61 63  6b 3a 20 72 65 6d 6f 76  |   Attack: remov|
00010bd0  65 20 6d 69 6e 67 5f 76  61 73 65 3b 20 6d 6f 76  |e ming_vase; mov|
00010be0  65 20 73 68 61 72 64 73  20 74 6f 20 6c 6f 63 61  |e shards to loca|
00010bf0  74 69 6f 6e 3b 0a 20 20  20 20 20 20 20 20 20 20  |tion;.          |
00010c00  20 20 20 20 20 20 22 59  6f 75 20 68 61 76 65 20  |      "You have |
00010c10  74 61 6b 65 6e 20 74 68  65 20 76 61 73 65 20 61  |taken the vase a|
00010c20  6e 64 20 5c 0a 20 20 20  20 20 20 20 20 20 20 20  |nd \.           |
00010c30  20 20 20 20 20 20 68 75  72 6c 65 64 20 69 74 20  |      hurled it |
00010c40  64 65 6c 69 63 61 74 65  6c 79 20 74 6f 20 74 68  |delicately to th|
00010c50  65 20 67 72 6f 75 6e 64  2e 22 3b 0a 20 20 20 20  |e ground.";.    |
00010c60  20 20 20 20 20 20 52 65  63 65 69 76 65 3a 20 22  |      Receive: "|
00010c70  54 68 65 20 76 61 73 65  20 69 73 20 74 6f 6f 20  |The vase is too |
00010c80  66 72 61 67 69 6c 65 20  74 6f 20 75 73 65 20 61  |fragile to use a|
00010c90  73 20 61 20 63 6f 6e 74  61 69 6e 65 72 2e 22 3b  |s a container.";|
00010ca0  0a 20 20 20 20 20 20 20  5d 3b 0a 0a 0a 4f 62 6a  |.       ];...Obj|
00010cb0  65 63 74 20 73 68 61 72  64 73 20 22 73 6f 6d 65  |ect shards "some|
00010cc0  20 77 6f 72 74 68 6c 65  73 73 20 73 68 61 72 64  | worthless shard|
00010cd0  73 20 6f 66 20 70 6f 74  74 65 72 79 22 0a 20 20  |s of pottery".  |
00010ce0  77 69 74 68 20 69 6e 69  74 69 61 6c 20 22 54 68  |with initial "Th|
00010cf0  65 20 66 6c 6f 6f 72 20  69 73 20 6c 69 74 74 65  |e floor is litte|
00010d00  72 65 64 20 77 69 74 68  20 77 6f 72 74 68 6c 65  |red with worthle|
00010d10  73 73 20 73 68 61 72 64  73 20 6f 66 20 70 6f 74  |ss shards of pot|
00010d20  74 65 72 79 2e 22 2c 0a  20 20 20 20 20 20 20 64  |tery.",.       d|
00010d30  65 73 63 72 69 70 74 69  6f 6e 20 22 54 68 65 79  |escription "They|
00010d40  20 6c 6f 6f 6b 20 74 6f  20 62 65 20 74 68 65 20  | look to be the |
00010d50  72 65 6d 61 69 6e 73 20  6f 66 20 77 68 61 74 20  |remains of what |
00010d60  77 61 73 20 6f 6e 63 65  20 61 20 5c 0a 20 20 20  |was once a \.   |
00010d70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00010d80  20 62 65 61 75 74 69 66  75 6c 20 76 61 73 65 2e  | beautiful vase.|
00010d90  20 20 49 20 67 75 65 73  73 20 73 6f 6d 65 20 6f  |  I guess some o|
00010da0  61 66 20 6d 75 73 74 20  68 61 76 65 20 64 72 6f  |af must have dro|
00010db0  70 70 65 64 20 69 74 2e  22 2c 0a 20 20 20 20 20  |pped it.",.     |
00010dc0  20 20 6e 61 6d 65 20 22  70 6f 74 74 65 72 79 22  |  name "pottery"|
00010dd0  20 22 73 68 61 72 64 73  22 20 22 72 65 6d 61 69  | "shards" "remai|
00010de0  6e 73 22 20 22 76 61 73  65 22 20 22 77 6f 72 74  |ns" "vase" "wort|
00010df0  68 6c 65 73 73 22 3b 0a  0a 0a 4f 62 6a 65 63 74  |hless";...Object|
00010e00  20 49 6e 5f 4d 69 73 74  79 5f 43 61 76 65 72 6e  | In_Misty_Cavern|
00010e10  20 22 4d 69 73 74 79 20  43 61 76 65 72 6e 22 0a  | "Misty Cavern".|
00010e20  20 20 77 69 74 68 20 64  65 73 63 72 69 70 74 69  |  with descripti|
00010e30  6f 6e 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |on.             |
00010e40  20 20 22 59 6f 75 20 61  72 65 20 66 6f 6c 6c 6f  |  "You are follo|
00010e50  77 69 6e 67 20 61 20 77  69 64 65 20 70 61 74 68  |wing a wide path|
00010e60  20 61 72 6f 75 6e 64 20  74 68 65 20 6f 75 74 65  | around the oute|
00010e70  72 20 5c 0a 20 20 20 20  20 20 20 20 20 20 20 20  |r \.            |
00010e80  20 20 20 65 64 67 65 20  6f 66 20 61 20 6c 61 72  |   edge of a lar|
00010e90  67 65 20 63 61 76 65 72  6e 2e 20 46 61 72 20 62  |ge cavern. Far b|
00010ea0  65 6c 6f 77 2c 20 74 68  72 6f 75 67 68 20 61 20  |elow, through a |
00010eb0  68 65 61 76 79 20 5c 0a  20 20 20 20 20 20 20 20  |heavy \.        |
00010ec0  20 20 20 20 20 20 20 77  68 69 74 65 20 6d 69 73  |       white mis|
00010ed0  74 2c 20 73 74 72 61 6e  67 65 20 73 70 6c 61 73  |t, strange splas|
00010ee0  68 69 6e 67 20 6e 6f 69  73 65 73 20 63 61 6e 20  |hing noises can |
00010ef0  62 65 20 68 65 61 72 64  2e 20 20 5c 0a 20 20 20  |be heard.  \.   |
00010f00  20 20 20 20 20 20 20 20  20 20 20 20 54 68 65 20  |            The |
00010f10  6d 69 73 74 20 72 69 73  65 73 20 75 70 20 74 68  |mist rises up th|
00010f20  72 6f 75 67 68 20 61 20  66 69 73 73 75 72 65 20  |rough a fissure |
00010f30  69 6e 20 74 68 65 20 63  65 69 6c 69 6e 67 2e 20  |in the ceiling. |
00010f40  20 5c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  | \.             |
00010f50  20 20 54 68 65 20 70 61  74 68 20 65 78 69 74 73  |  The path exits|
00010f60  20 74 6f 20 74 68 65 20  73 6f 75 74 68 20 61 6e  | to the south an|
00010f70  64 20 77 65 73 74 2e 22  2c 0a 20 20 20 20 20 20  |d west.",.      |
00010f80  20 73 5f 74 6f 20 49 6e  5f 4f 72 69 65 6e 74 61  | s_to In_Orienta|
00010f90  6c 5f 52 6f 6f 6d 2c 0a  20 20 20 20 20 20 20 77  |l_Room,.       w|
00010fa0  5f 74 6f 20 49 6e 5f 41  6c 63 6f 76 65 3b 0a 0a  |_to In_Alcove;..|
00010fb0  4e 65 61 72 62 79 20 43  65 69 6c 69 6e 67 46 69  |Nearby CeilingFi|
00010fc0  73 73 75 72 65 20 22 66  69 73 73 75 72 65 22 0a  |ssure "fissure".|
00010fd0  20 20 77 69 74 68 20 64  65 73 63 72 69 70 74 69  |  with descripti|
00010fe0  6f 6e 20 22 59 6f 75 20  63 61 6e 27 74 20 72 65  |on "You can't re|
00010ff0  61 6c 6c 79 20 67 65 74  20 63 6c 6f 73 65 20 65  |ally get close e|
00011000  6e 6f 75 67 68 20 74 6f  20 65 78 61 6d 69 6e 65  |nough to examine|
00011010  20 69 74 2e 22 2c 0a 20  20 20 20 20 20 20 6e 61  | it.",.       na|
00011020  6d 65 20 22 66 69 73 73  75 72 65 22 20 22 63 65  |me "fissure" "ce|
00011030  69 6c 69 6e 67 22 0a 20  20 68 61 73 20 20 73 63  |iling".  has  sc|
00011040  65 6e 65 72 79 3b 0a 0a  21 20 2d 2d 2d 2d 2d 2d  |enery;..! ------|
00011050  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00011090  2d 2d 2d 2d 2d 2d 0a 21  20 20 20 50 6c 6f 76 65  |------.!   Plove|
000110a0  72 73 20 61 6e 64 20 70  79 72 61 6d 69 64 73 0a  |rs and pyramids.|
000110b0  21 20 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |! --------------|
000110c0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000110f0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 0a 0a  |--------------..|
00011100  4f 62 6a 65 63 74 20 49  6e 5f 41 6c 63 6f 76 65  |Object In_Alcove|
00011110  20 22 41 6c 63 6f 76 65  22 0a 20 20 77 69 74 68  | "Alcove".  with|
00011120  20 64 65 73 63 72 69 70  74 69 6f 6e 0a 20 20 20  | description.   |
00011130  20 20 20 20 20 20 20 20  20 20 20 20 22 59 6f 75  |            "You|
00011140  20 61 72 65 20 69 6e 20  61 6e 20 61 6c 63 6f 76  | are in an alcov|
00011150  65 2e 20 20 41 20 73 6d  61 6c 6c 20 6e 6f 72 74  |e.  A small nort|
00011160  68 77 65 73 74 20 70 61  74 68 20 73 65 65 6d 73  |hwest path seems|
00011170  20 5c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  | \.             |
00011180  20 20 74 6f 20 77 69 64  65 6e 20 61 66 74 65 72  |  to widen after|
00011190  20 61 20 73 68 6f 72 74  20 64 69 73 74 61 6e 63  | a short distanc|
000111a0  65 2e 20 20 41 6e 20 65  78 74 72 65 6d 65 6c 79  |e.  An extremely|
000111b0  20 74 69 67 68 74 20 5c  0a 20 20 20 20 20 20 20  | tight \.       |
000111c0  20 20 20 20 20 20 20 20  74 75 6e 6e 65 6c 20 6c  |        tunnel l|
000111d0  65 61 64 73 20 65 61 73  74 2e 20 20 49 74 20 6c  |eads east.  It l|
000111e0  6f 6f 6b 73 20 6c 69 6b  65 20 61 20 76 65 72 79  |ooks like a very|
000111f0  20 74 69 67 68 74 20 5c  0a 20 20 20 20 20 20 20  | tight \.       |
00011200  20 20 20 20 20 20 20 20  73 71 75 65 65 7a 65 2e  |        squeeze.|
00011210  20 20 41 6e 20 65 65 72  69 65 20 6c 69 67 68 74  |  An eerie light|
00011220  20 63 61 6e 20 62 65 20  73 65 65 6e 20 61 74 20  | can be seen at |
00011230  74 68 65 20 6f 74 68 65  72 20 5c 0a 20 20 20 20  |the other \.    |
00011240  20 20 20 20 20 20 20 20  20 20 20 65 6e 64 2e 22  |           end."|
00011250  2c 0a 20 20 20 20 20 20  20 6e 77 5f 74 6f 20 49  |,.       nw_to I|
00011260  6e 5f 4d 69 73 74 79 5f  43 61 76 65 72 6e 2c 0a  |n_Misty_Cavern,.|
00011270  20 20 20 20 20 20 20 65  5f 74 6f 0a 20 20 20 20  |       e_to.    |
00011280  20 20 20 5b 20 6a 3b 20  6a 3d 63 68 69 6c 64 72  |   [ j; j=childr|
00011290  65 6e 28 70 6c 61 79 65  72 29 3b 0a 20 20 20 20  |en(player);.    |
000112a0  20 20 20 20 20 69 66 20  28 6a 3d 3d 30 20 7c 7c  |     if (j==0 |||
000112b0  20 28 6a 3d 3d 31 20 26  26 20 65 67 67 5f 73 69  | (j==1 && egg_si|
000112c0  7a 65 64 5f 65 6d 65 72  61 6c 64 20 69 6e 20 70  |zed_emerald in p|
000112d0  6c 61 79 65 72 29 29 0a  20 20 20 20 20 20 20 20  |layer)).        |
000112e0  20 20 20 20 20 72 65 74  75 72 6e 20 49 6e 5f 50  |     return In_P|
000112f0  6c 6f 76 65 72 5f 52 6f  6f 6d 3b 0a 20 20 20 20  |lover_Room;.    |
00011300  20 20 20 20 20 22 53 6f  6d 65 74 68 69 6e 67 20  |     "Something |
00011310  79 6f 75 27 72 65 20 63  61 72 72 79 69 6e 67 20  |you're carrying |
00011320  77 6f 6e 27 74 20 66 69  74 20 74 68 72 6f 75 67  |won't fit throug|
00011330  68 20 74 68 65 20 5c 0a  20 20 20 20 20 20 20 20  |h the \.        |
00011340  20 20 74 75 6e 6e 65 6c  20 77 69 74 68 20 79 6f  |  tunnel with yo|
00011350  75 2e 20 59 6f 75 27 64  20 62 65 73 74 20 74 61  |u. You'd best ta|
00011360  6b 65 20 69 6e 76 65 6e  74 6f 72 79 20 61 6e 64  |ke inventory and|
00011370  20 64 72 6f 70 20 5c 0a  20 20 20 20 20 20 20 20  | drop \.        |
00011380  20 20 73 6f 6d 65 74 68  69 6e 67 2e 22 3b 0a 20  |  something.";. |
00011390  20 20 20 20 20 20 5d 3b  0a 0a 0a 4f 62 6a 65 63  |      ];...Objec|
000113a0  74 20 49 6e 5f 50 6c 6f  76 65 72 5f 52 6f 6f 6d  |t In_Plover_Room|
000113b0  20 22 50 6c 6f 76 65 72  20 52 6f 6f 6d 22 0a 20  | "Plover Room". |
000113c0  20 77 69 74 68 20 64 65  73 63 72 69 70 74 69 6f  | with descriptio|
000113d0  6e 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |n.              |
000113e0  20 22 59 6f 75 27 72 65  20 69 6e 20 61 20 73 6d  | "You're in a sm|
000113f0  61 6c 6c 20 63 68 61 6d  62 65 72 20 6c 69 74 20  |all chamber lit |
00011400  62 79 20 61 6e 20 65 65  72 69 65 20 67 72 65 65  |by an eerie gree|
00011410  6e 20 5c 0a 20 20 20 20  20 20 20 20 20 20 20 20  |n \.            |
00011420  20 20 20 6c 69 67 68 74  2e 20 20 41 6e 20 65 78  |   light.  An ex|
00011430  74 72 65 6d 65 6c 79 20  6e 61 72 72 6f 77 20 74  |tremely narrow t|
00011440  75 6e 6e 65 6c 20 65 78  69 74 73 20 74 6f 20 74  |unnel exits to t|
00011450  68 65 20 77 65 73 74 2e  20 5c 0a 20 20 20 20 20  |he west. \.     |
00011460  20 20 20 20 20 20 20 20  20 20 41 20 64 61 72 6b  |          A dark|
00011470  20 63 6f 72 72 69 64 6f  72 20 6c 65 61 64 73 20  | corridor leads |
00011480  6e 6f 72 74 68 65 61 73  74 2e 22 2c 0a 20 20 20  |northeast.",.   |
00011490  20 20 20 20 6f 75 74 5f  74 6f 20 49 6e 5f 41 6c  |    out_to In_Al|
000114a0  63 6f 76 65 2c 0a 20 20  20 20 20 20 20 6e 65 5f  |cove,.       ne_|
000114b0  74 6f 20 49 6e 5f 44 61  72 6b 5f 52 6f 6f 6d 2c  |to In_Dark_Room,|
000114c0  0a 20 20 20 20 20 20 20  77 5f 74 6f 0a 20 20 20  |.       w_to.   |
000114d0  20 20 20 20 5b 20 6a 3b  20 6a 3d 63 68 69 6c 64  |    [ j; j=child|
000114e0  72 65 6e 28 70 6c 61 79  65 72 29 3b 0a 20 20 20  |ren(player);.   |
000114f0  20 20 20 20 20 20 69 66  20 28 6a 3d 3d 30 20 7c  |      if (j==0 ||
00011500  7c 20 28 6a 3d 3d 31 20  26 26 20 65 67 67 5f 73  || (j==1 && egg_s|
00011510  69 7a 65 64 5f 65 6d 65  72 61 6c 64 20 69 6e 20  |ized_emerald in |
00011520  70 6c 61 79 65 72 29 29  0a 20 20 20 20 20 20 20  |player)).       |
00011530  20 20 20 20 20 20 72 65  74 75 72 6e 20 49 6e 5f  |      return In_|
00011540  41 6c 63 6f 76 65 3b 0a  20 20 20 20 20 20 20 20  |Alcove;.        |
00011550  20 22 53 6f 6d 65 74 68  69 6e 67 20 79 6f 75 27  | "Something you'|
00011560  72 65 20 63 61 72 72 79  69 6e 67 20 77 6f 6e 27  |re carrying won'|
00011570  74 20 66 69 74 20 74 68  72 6f 75 67 68 20 74 68  |t fit through th|
00011580  65 20 5c 0a 20 20 20 20  20 20 20 20 20 20 74 75  |e \.          tu|
00011590  6e 6e 65 6c 20 77 69 74  68 20 79 6f 75 2e 20 59  |nnel with you. Y|
000115a0  6f 75 27 64 20 62 65 73  74 20 74 61 6b 65 20 69  |ou'd best take i|
000115b0  6e 76 65 6e 74 6f 72 79  20 61 6e 64 20 64 72 6f  |nventory and dro|
000115c0  70 20 5c 0a 20 20 20 20  20 20 20 20 20 20 73 6f  |p \.          so|
000115d0  6d 65 74 68 69 6e 67 2e  22 3b 0a 20 20 20 20 20  |mething.";.     |
000115e0  20 20 5d 2c 0a 20 20 20  20 20 20 20 62 65 66 6f  |  ],.       befo|
000115f0  72 65 0a 20 20 20 20 20  20 20 5b 3b 20 50 6c 6f  |re.       [; Plo|
00011600  76 65 72 3a 20 69 66 20  28 65 67 67 5f 73 69 7a  |ver: if (egg_siz|
00011610  65 64 5f 65 6d 65 72 61  6c 64 20 69 6e 20 70 6c  |ed_emerald in pl|
00011620  61 79 65 72 29 0a 20 20  20 20 20 20 20 20 20 20  |ayer).          |
00011630  20 20 20 20 20 20 20 20  6d 6f 76 65 20 65 67 67  |        move egg|
00011640  5f 73 69 7a 65 64 5f 65  6d 65 72 61 6c 64 20 74  |_sized_emerald t|
00011650  6f 20 49 6e 5f 50 6c 6f  76 65 72 5f 52 6f 6f 6d  |o In_Plover_Room|
00011660  3b 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |;.              |
00011670  20 20 20 20 50 6c 61 79  65 72 54 6f 28 41 74 5f  |    PlayerTo(At_|
00011680  59 32 29 3b 20 72 74 72  75 65 3b 0a 20 20 20 20  |Y2); rtrue;.    |
00011690  20 20 20 5d 2c 0a 20 20  68 61 73 20 20 6c 69 67  |   ],.  has  lig|
000116a0  68 74 3b 0a 0a 4e 65 61  72 62 79 20 65 67 67 5f  |ht;..Nearby egg_|
000116b0  73 69 7a 65 64 5f 65 6d  65 72 61 6c 64 20 22 65  |sized_emerald "e|
000116c0  6d 65 72 61 6c 64 20 74  68 65 20 73 69 7a 65 20  |merald the size |
000116d0  6f 66 20 61 20 70 6c 6f  76 65 72 27 73 20 65 67  |of a plover's eg|
000116e0  67 22 0a 20 63 6c 61 73  73 20 54 72 65 61 73 75  |g". class Treasu|
000116f0  72 65 0a 20 20 77 69 74  68 20 64 65 70 6f 73 69  |re.  with deposi|
00011700  74 70 6f 69 6e 74 73 20  31 34 2c 20 61 72 74 69  |tpoints 14, arti|
00011710  63 6c 65 20 22 61 6e 22  2c 0a 20 20 20 20 20 20  |cle "an",.      |
00011720  20 64 65 73 63 72 69 70  74 69 6f 6e 20 22 50 6c  | description "Pl|
00011730  6f 76 65 72 27 73 20 65  67 67 73 2c 20 62 79 20  |over's eggs, by |
00011740  74 68 65 20 77 61 79 2c  20 61 72 65 20 71 75 69  |the way, are qui|
00011750  74 65 20 6c 61 72 67 65  2e 22 2c 0a 20 20 20 20  |te large.",.    |
00011760  20 20 20 69 6e 69 74 69  61 6c 20 22 54 68 65 72  |   initial "Ther|
00011770  65 20 69 73 20 61 6e 20  65 6d 65 72 61 6c 64 20  |e is an emerald |
00011780  68 65 72 65 20 74 68 65  20 73 69 7a 65 20 6f 66  |here the size of|
00011790  20 61 20 70 6c 6f 76 65  72 27 73 20 65 67 67 21  | a plover's egg!|
000117a0  22 2c 0a 20 20 20 20 20  20 20 6e 61 6d 65 20 22  |",.       name "|
000117b0  65 6d 65 72 61 6c 64 22  20 22 65 67 67 2d 73 69  |emerald" "egg-si|
000117c0  7a 65 64 22 20 22 65 67  67 22 20 22 73 69 7a 65  |zed" "egg" "size|
000117d0  64 22 20 22 70 6c 6f 76  65 72 27 73 22 3b 0a 0a  |d" "plover's";..|
000117e0  0a 4f 62 6a 65 63 74 20  49 6e 5f 44 61 72 6b 5f  |.Object In_Dark_|
000117f0  52 6f 6f 6d 20 22 54 68  65 20 44 61 72 6b 20 52  |Room "The Dark R|
00011800  6f 6f 6d 22 0a 20 20 77  69 74 68 20 64 65 73 63  |oom".  with desc|
00011810  72 69 70 74 69 6f 6e 0a  20 20 20 20 20 20 20 20  |ription.        |
00011820  20 20 20 20 20 20 20 22  59 6f 75 27 72 65 20 69  |       "You're i|
00011830  6e 20 74 68 65 20 64 61  72 6b 2d 72 6f 6f 6d 2e  |n the dark-room.|
00011840  20 20 41 20 63 6f 72 72  69 64 6f 72 20 6c 65 61  |  A corridor lea|
00011850  64 69 6e 67 20 5c 0a 20  20 20 20 20 20 20 20 20  |ding \.         |
00011860  20 20 20 20 20 20 73 6f  75 74 68 20 69 73 20 74  |      south is t|
00011870  68 65 20 6f 6e 6c 79 20  65 78 69 74 2e 22 2c 0a  |he only exit.",.|
00011880  20 20 20 20 20 20 20 73  5f 74 6f 20 49 6e 5f 50  |       s_to In_P|
00011890  6c 6f 76 65 72 5f 52 6f  6f 6d 0a 20 20 68 61 73  |lover_Room.  has|
000118a0  20 20 6e 6f 64 77 61 72  66 3b 0a 0a 4e 65 61 72  |  nodwarf;..Near|
000118b0  62 79 20 53 74 6f 6e 65  54 61 62 6c 65 74 20 22  |by StoneTablet "|
000118c0  73 74 6f 6e 65 20 74 61  62 6c 65 74 22 0a 20 20  |stone tablet".  |
000118d0  77 69 74 68 20 69 6e 69  74 69 61 6c 0a 20 20 20  |with initial.   |
000118e0  20 20 20 20 20 20 20 20  20 20 20 20 22 41 20 6d  |            "A m|
000118f0  61 73 73 69 76 65 20 73  74 6f 6e 65 20 74 61 62  |assive stone tab|
00011900  6c 65 74 20 69 6d 62 65  64 64 65 64 20 69 6e 20  |let imbedded in |
00011910  74 68 65 20 77 61 6c 6c  20 72 65 61 64 73 3a 20  |the wall reads: |
00011920  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
00011930  20 7e 43 6f 6e 67 72 61  74 75 6c 61 74 69 6f 6e  | ~Congratulation|
00011940  73 20 6f 6e 20 62 72 69  6e 67 69 6e 67 20 6c 69  |s on bringing li|
00011950  67 68 74 20 69 6e 74 6f  20 74 68 65 20 5c 0a 20  |ght into the \. |
00011960  20 20 20 20 20 20 20 20  20 20 20 20 20 20 64 61  |              da|
00011970  72 6b 2d 72 6f 6f 6d 21  7e 22 2c 0a 20 20 20 20  |rk-room!~",.    |
00011980  20 20 20 6e 61 6d 65 20  22 74 61 62 6c 65 74 22  |   name "tablet"|
00011990  20 22 6d 61 73 73 69 76  65 22 20 22 73 74 6f 6e  | "massive" "ston|
000119a0  65 22 0a 20 20 68 61 73  20 20 73 74 61 74 69 63  |e".  has  static|
000119b0  3b 0a 0a 4e 65 61 72 62  79 20 70 6c 61 74 69 6e  |;..Nearby platin|
000119c0  75 6d 5f 70 79 72 61 6d  69 64 20 22 70 6c 61 74  |um_pyramid "plat|
000119d0  69 6e 75 6d 20 70 79 72  61 6d 69 64 22 0a 20 63  |inum pyramid". c|
000119e0  6c 61 73 73 20 54 72 65  61 73 75 72 65 0a 20 20  |lass Treasure.  |
000119f0  77 69 74 68 20 69 6e 69  74 69 61 6c 20 22 54 68  |with initial "Th|
00011a00  65 72 65 20 69 73 20 61  20 70 6c 61 74 69 6e 75  |ere is a platinu|
00011a10  6d 20 70 79 72 61 6d 69  64 20 68 65 72 65 2c 20  |m pyramid here, |
00011a20  38 20 69 6e 63 68 65 73  20 6f 6e 20 61 20 73 69  |8 inches on a si|
00011a30  64 65 21 22 2c 0a 20 20  20 20 20 20 20 64 65 70  |de!",.       dep|
00011a40  6f 73 69 74 70 6f 69 6e  74 73 20 31 34 2c 0a 20  |ositpoints 14,. |
00011a50  20 20 20 20 20 20 64 65  73 63 72 69 70 74 69 6f  |      descriptio|
00011a60  6e 20 22 54 68 65 20 70  6c 61 74 69 6e 75 6d 20  |n "The platinum |
00011a70  70 79 72 61 6d 69 64 20  69 73 20 38 20 69 6e 63  |pyramid is 8 inc|
00011a80  68 65 73 20 6f 6e 20 61  20 73 69 64 65 21 22 2c  |hes on a side!",|
00011a90  0a 20 20 20 20 20 20 20  6e 61 6d 65 20 22 70 6c  |.       name "pl|
00011aa0  61 74 69 6e 75 6d 22 20  22 70 79 72 61 6d 69 64  |atinum" "pyramid|
00011ab0  22 20 22 70 6c 61 74 69  6e 75 6d 22 20 22 70 79  |" "platinum" "py|
00011ac0  72 61 6d 69 64 61 6c 22  3b 0a 0a 21 20 2d 2d 2d  |ramidal";..! ---|
00011ad0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00011b10  2d 2d 2d 2d 2d 2d 2d 2d  2d 0a 21 20 20 20 4e 6f  |---------.!   No|
00011b20  72 74 68 20 6f 66 20 74  68 65 20 63 6f 6d 70 6c  |rth of the compl|
00011b30  65 78 20 6a 75 6e 63 74  69 6f 6e 3a 20 61 20 6c  |ex junction: a l|
00011b40  6f 6e 67 20 75 70 2d 64  6f 77 6e 20 63 6f 72 72  |ong up-down corr|
00011b50  69 64 6f 72 0a 21 20 2d  2d 2d 2d 2d 2d 2d 2d 2d  |idor.! ---------|
00011b60  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00011ba0  2d 2d 2d 0a 0a 4f 62 6a  65 63 74 20 49 6e 5f 41  |---..Object In_A|
00011bb0  72 63 68 65 64 5f 48 61  6c 6c 20 22 41 72 63 68  |rched_Hall "Arch|
00011bc0  65 64 20 48 61 6c 6c 22  0a 20 20 77 69 74 68 20  |ed Hall".  with |
00011bd0  64 65 73 63 72 69 70 74  69 6f 6e 0a 20 20 20 20  |description.    |
00011be0  20 20 20 20 20 20 20 20  20 20 20 22 59 6f 75 20  |           "You |
00011bf0  61 72 65 20 69 6e 20 61  6e 20 61 72 63 68 65 64  |are in an arched|
00011c00  20 68 61 6c 6c 2e 20 20  41 20 63 6f 72 61 6c 20  | hall.  A coral |
00011c10  70 61 73 73 61 67 65 20  5c 0a 20 20 20 20 20 20  |passage \.      |
00011c20  20 20 20 20 20 20 20 20  20 6f 6e 63 65 20 63 6f  |         once co|
00011c30  6e 74 69 6e 75 65 64 20  75 70 20 61 6e 64 20 65  |ntinued up and e|
00011c40  61 73 74 20 66 72 6f 6d  20 68 65 72 65 2c 20 62  |ast from here, b|
00011c50  75 74 20 69 73 20 6e 6f  77 20 5c 0a 20 20 20 20  |ut is now \.    |
00011c60  20 20 20 20 20 20 20 20  20 20 20 62 6c 6f 63 6b  |           block|
00011c70  65 64 20 62 79 20 64 65  62 72 69 73 2e 20 20 54  |ed by debris.  T|
00011c80  68 65 20 61 69 72 20 73  6d 65 6c 6c 73 20 6f 66  |he air smells of|
00011c90  20 73 65 61 20 77 61 74  65 72 2e 22 2c 0a 20 20  | sea water.",.  |
00011ca0  20 20 20 20 20 64 5f 74  6f 20 49 6e 5f 53 68 65  |     d_to In_She|
00011cb0  6c 6c 5f 52 6f 6f 6d 3b  0a 0a 4f 62 6a 65 63 74  |ll_Room;..Object|
00011cc0  20 49 6e 5f 53 68 65 6c  6c 5f 52 6f 6f 6d 20 22  | In_Shell_Room "|
00011cd0  53 68 65 6c 6c 20 52 6f  6f 6d 22 0a 20 20 77 69  |Shell Room".  wi|
00011ce0  74 68 20 64 65 73 63 72  69 70 74 69 6f 6e 0a 20  |th description. |
00011cf0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 22 59  |              "Y|
00011d00  6f 75 27 72 65 20 69 6e  20 61 20 6c 61 72 67 65  |ou're in a large|
00011d10  20 72 6f 6f 6d 20 63 61  72 76 65 64 20 6f 75 74  | room carved out|
00011d20  20 6f 66 20 5c 0a 20 20  20 20 20 20 20 20 20 20  | of \.          |
00011d30  20 20 20 20 20 73 65 64  69 6d 65 6e 74 61 72 79  |     sedimentary|
00011d40  20 72 6f 63 6b 2e 20 20  54 68 65 20 66 6c 6f 6f  | rock.  The floo|
00011d50  72 20 61 6e 64 20 77 61  6c 6c 73 20 61 72 65 20  |r and walls are |
00011d60  6c 69 74 74 65 72 65 64  20 5c 0a 20 20 20 20 20  |littered \.     |
00011d70  20 20 20 20 20 20 20 20  20 20 77 69 74 68 20 62  |          with b|
00011d80  69 74 73 20 6f 66 20 73  68 65 6c 6c 73 20 69 6d  |its of shells im|
00011d90  62 65 64 64 65 64 20 69  6e 20 74 68 65 20 73 74  |bedded in the st|
00011da0  6f 6e 65 2e 20 20 41 20  73 68 61 6c 6c 6f 77 20  |one.  A shallow |
00011db0  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
00011dc0  20 70 61 73 73 61 67 65  20 70 72 6f 63 65 65 64  | passage proceed|
00011dd0  73 20 64 6f 77 6e 77 61  72 64 2c 20 61 6e 64 20  |s downward, and |
00011de0  61 20 73 6f 6d 65 77 68  61 74 20 73 74 65 65 70  |a somewhat steep|
00011df0  65 72 20 6f 6e 65 20 5c  0a 20 20 20 20 20 20 20  |er one \.       |
00011e00  20 20 20 20 20 20 20 20  6c 65 61 64 73 20 75 70  |        leads up|
00011e10  2e 20 20 41 20 6c 6f 77  20 68 61 6e 64 73 20 61  |.  A low hands a|
00011e20  6e 64 20 6b 6e 65 65 73  20 70 61 73 73 61 67 65  |nd knees passage|
00011e30  20 65 6e 74 65 72 73 20  66 72 6f 6d 20 5c 0a 20  | enters from \. |
00011e40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 74 68  |              th|
00011e50  65 20 73 6f 75 74 68 2e  22 2c 0a 20 20 20 20 20  |e south.",.     |
00011e60  20 20 75 5f 74 6f 20 49  6e 5f 41 72 63 68 65 64  |  u_to In_Arched|
00011e70  5f 48 61 6c 6c 2c 0a 20  20 20 20 20 20 20 64 5f  |_Hall,.       d_|
00011e80  74 6f 20 49 6e 5f 52 61  67 67 65 64 5f 43 6f 72  |to In_Ragged_Cor|
00011e90  72 69 64 6f 72 2c 0a 20  20 20 20 20 20 20 73 5f  |ridor,.       s_|
00011ea0  74 6f 0a 20 20 20 20 20  20 20 5b 3b 20 69 66 20  |to.       [; if |
00011eb0  28 67 69 61 6e 74 5f 62  69 76 61 6c 76 65 20 69  |(giant_bivalve i|
00011ec0  6e 20 70 6c 61 79 65 72  29 0a 20 20 20 20 20 20  |n player).      |
00011ed0  20 20 20 20 7b 20 20 20  69 66 20 28 67 69 61 6e  |    {   if (gian|
00011ee0  74 5f 62 69 76 61 6c 76  65 20 68 61 73 20 6f 70  |t_bivalve has op|
00011ef0  65 6e 29 0a 20 20 20 20  20 20 20 20 20 20 20 20  |en).            |
00011f00  20 20 20 20 20 20 22 59  6f 75 20 63 61 6e 27 74  |      "You can't|
00011f10  20 66 69 74 20 74 68 69  73 20 66 69 76 65 2d 66  | fit this five-f|
00011f20  6f 6f 74 20 6f 79 73 74  65 72 20 5c 0a 20 20 20  |oot oyster \.   |
00011f30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00011f40  74 68 72 6f 75 67 68 20  74 68 61 74 20 6c 69 74  |through that lit|
00011f50  74 6c 65 20 70 61 73 73  61 67 65 21 22 3b 0a 20  |tle passage!";. |
00011f60  20 20 20 20 20 20 20 20  20 20 20 20 20 65 6c 73  |             els|
00011f70  65 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |e.              |
00011f80  20 20 20 20 22 59 6f 75  20 63 61 6e 27 74 20 66  |    "You can't f|
00011f90  69 74 20 74 68 69 73 20  66 69 76 65 2d 66 6f 6f  |it this five-foo|
00011fa0  74 20 63 6c 61 6d 20 5c  0a 20 20 20 20 20 20 20  |t clam \.       |
00011fb0  20 20 20 20 20 20 20 20  20 20 20 20 74 68 72 6f  |            thro|
00011fc0  75 67 68 20 74 68 61 74  20 6c 69 74 74 6c 65 20  |ugh that little |
00011fd0  70 61 73 73 61 67 65 21  22 3b 0a 20 20 20 20 20  |passage!";.     |
00011fe0  20 20 20 20 20 7d 0a 20  20 20 20 20 20 20 20 20  |     }.         |
00011ff0  20 72 65 74 75 72 6e 20  41 74 5f 43 6f 6d 70 6c  | return At_Compl|
00012000  65 78 5f 4a 75 6e 63 74  69 6f 6e 3b 0a 20 20 20  |ex_Junction;.   |
00012010  20 20 20 20 5d 3b 0a 0a  0a 4e 65 61 72 62 79 20  |    ];...Nearby |
00012020  67 69 61 6e 74 5f 62 69  76 61 6c 76 65 20 22 67  |giant_bivalve "g|
00012030  69 61 6e 74 20 63 6c 61  6d 22 0a 20 20 77 69 74  |iant clam".  wit|
00012040  68 20 6e 61 6d 65 20 22  67 69 61 6e 74 22 20 22  |h name "giant" "|
00012050  63 6c 61 6d 22 20 22 6f  79 73 74 65 72 22 20 22  |clam" "oyster" "|
00012060  62 69 76 61 6c 76 65 22  2c 0a 20 20 20 20 20 20  |bivalve",.      |
00012070  20 64 65 73 63 72 69 62  65 0a 20 20 20 20 20 20  | describe.      |
00012080  20 5b 3b 20 69 66 20 28  73 65 6c 66 20 68 61 73  | [; if (self has|
00012090  20 67 65 6e 65 72 61 6c  29 0a 20 20 20 20 20 20  | general).      |
000120a0  20 20 20 20 20 20 20 20  22 54 68 65 72 65 20 69  |        "There i|
000120b0  73 20 61 6e 20 65 6e 6f  72 6d 6f 75 73 20 6f 79  |s an enormous oy|
000120c0  73 74 65 72 20 68 65 72  65 20 77 69 74 68 20 69  |ster here with i|
000120d0  74 73 20 73 68 65 6c 6c  20 74 69 67 68 74 6c 79  |ts shell tightly|
000120e0  20 63 6c 6f 73 65 64 2e  22 3b 0a 20 20 20 20 20  | closed.";.     |
000120f0  20 20 20 20 20 22 54 68  65 72 65 20 69 73 20 61  |     "There is a|
00012100  6e 20 65 6e 6f 72 6d 6f  75 73 20 63 6c 61 6d 20  |n enormous clam |
00012110  68 65 72 65 20 77 69 74  68 20 69 74 73 20 73 68  |here with its sh|
00012120  65 6c 6c 20 74 69 67 68  74 6c 79 20 63 6c 6f 73  |ell tightly clos|
00012130  65 64 2e 22 3b 0a 20 20  20 20 20 20 20 5d 2c 0a  |ed.";.       ],.|
00012140  20 20 20 20 20 20 20 62  65 66 6f 72 65 0a 20 20  |       before.  |
00012150  20 20 20 20 20 5b 3b 20  45 78 61 6d 69 6e 65 3a  |     [; Examine:|
00012160  20 69 66 20 28 6c 6f 63  61 74 69 6f 6e 3d 3d 41  | if (location==A|
00012170  74 5f 4e 65 5f 45 6e 64  20 6f 72 20 41 74 5f 53  |t_Ne_End or At_S|
00012180  77 5f 45 6e 64 29 0a 20  20 20 20 20 20 20 20 20  |w_End).         |
00012190  20 20 20 20 20 20 20 22  49 6e 74 65 72 65 73 74  |       "Interest|
000121a0  69 6e 67 2e 20 20 54 68  65 72 65 20 73 65 65 6d  |ing.  There seem|
000121b0  73 20 74 6f 20 62 65 20  73 6f 6d 65 74 68 69 6e  |s to be somethin|
000121c0  67 20 77 72 69 74 74 65  6e 20 6f 6e 20 74 68 65  |g written on the|
000121d0  20 5c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  | \.             |
000121e0  20 20 20 75 6e 64 65 72  73 69 64 65 20 6f 66 20  |   underside of |
000121f0  74 68 65 20 6f 79 73 74  65 72 3a 5e 5e 5c 0a 20  |the oyster:^^\. |
00012200  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 7e  |               ~|
00012210  54 68 65 72 65 20 69 73  20 73 6f 6d 65 74 68 69  |There is somethi|
00012220  6e 67 20 73 74 72 61 6e  67 65 20 61 62 6f 75 74  |ng strange about|
00012230  20 74 68 69 73 20 5c 0a  20 20 20 20 20 20 20 20  | this \.        |
00012240  20 20 20 20 20 20 20 20  70 6c 61 63 65 2c 20 73  |        place, s|
00012250  75 63 68 20 74 68 61 74  20 6f 6e 65 20 6f 66 20  |uch that one of |
00012260  74 68 65 20 77 6f 72 64  73 20 49 27 76 65 20 61  |the words I've a|
00012270  6c 77 61 79 73 20 6b 6e  6f 77 6e 20 5c 0a 20 20  |lways known \.  |
00012280  20 20 20 20 20 20 20 20  20 20 20 20 20 20 6e 6f  |              no|
00012290  77 20 68 61 73 20 61 20  6e 65 77 20 65 66 66 65  |w has a new effe|
000122a0  63 74 2e 7e 22 3b 0a 20  20 20 20 20 20 20 20 20  |ct.~";.         |
000122b0  20 20 20 20 20 20 20 22  41 20 67 69 61 6e 74 20  |       "A giant |
000122c0  62 69 76 61 6c 76 65 20  6f 66 20 73 6f 6d 65 20  |bivalve of some |
000122d0  6b 69 6e 64 2e 22 3b 0a  20 20 20 20 20 20 20 20  |kind.";.        |
000122e0  20 20 4f 70 65 6e 3a 0a  20 20 20 20 20 20 20 20  |  Open:.        |
000122f0  20 20 20 20 20 20 20 20  20 20 20 20 22 59 6f 75  |            "You|
00012300  20 61 72 65 6e 27 74 20  73 74 72 6f 6e 67 20 65  | aren't strong e|
00012310  6e 6f 75 67 68 20 74 6f  20 6f 70 65 6e 20 74 68  |nough to open th|
00012320  65 20 63 6c 61 6d 20 5c  0a 20 20 20 20 20 20 20  |e clam \.       |
00012330  20 20 20 20 20 20 20 20  20 20 20 20 20 20 77 69  |              wi|
00012340  74 68 20 79 6f 75 72 20  62 61 72 65 20 68 61 6e  |th your bare han|
00012350  64 73 2e 22 3b 0a 20 20  20 20 20 20 20 20 20 20  |ds.";.          |
00012360  55 6e 6c 6f 63 6b 3a 0a  20 20 20 20 20 20 20 20  |Unlock:.        |
00012370  20 20 20 20 20 20 20 20  69 66 20 28 73 65 63 6f  |        if (seco|
00012380  6e 64 7e 3d 74 72 69 64  65 6e 74 29 0a 20 20 20  |nd~=trident).   |
00012390  20 20 20 20 20 20 20 20  20 20 20 20 20 7b 20 20  |             {  |
000123a0  43 44 65 66 41 72 74 28  74 72 69 64 65 6e 74 29  |CDefArt(trident)|
000123b0  3b 20 22 20 69 73 6e 27  74 20 73 74 72 6f 6e 67  |; " isn't strong|
000123c0  20 65 6e 6f 75 67 68 20  74 6f 20 6f 70 65 6e 20  | enough to open |
000123d0  74 68 65 20 63 6c 61 6d  2e 22 3b 20 7d 0a 20 20  |the clam."; }.  |
000123e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 69 66  |              if|
000123f0  20 28 73 65 6c 66 20 68  61 73 20 67 65 6e 65 72  | (self has gener|
00012400  61 6c 29 0a 20 20 20 20  20 20 20 20 20 20 20 20  |al).            |
00012410  20 20 20 20 20 20 20 20  22 54 68 65 20 6f 79 73  |        "The oys|
00012420  74 65 72 20 63 72 65 61  6b 73 20 6f 70 65 6e 2c  |ter creaks open,|
00012430  20 72 65 76 65 61 6c 69  6e 67 20 6e 6f 74 68 69  | revealing nothi|
00012440  6e 67 20 5c 0a 20 20 20  20 20 20 20 20 20 20 20  |ng \.           |
00012450  20 20 20 20 20 20 20 20  20 62 75 74 20 6f 79 73  |         but oys|
00012460  74 65 72 20 69 6e 73 69  64 65 2e 20 20 49 74 20  |ter inside.  It |
00012470  70 72 6f 6d 70 74 6c 79  20 73 6e 61 70 73 20 73  |promptly snaps s|
00012480  68 75 74 20 5c 0a 20 20  20 20 20 20 20 20 20 20  |hut \.          |
00012490  20 20 20 20 20 20 20 20  20 20 61 67 61 69 6e 2e  |          again.|
000124a0  22 3b 20 20 0a 20 20 20  20 20 20 20 20 20 20 20  |";  .           |
000124b0  20 20 20 20 20 67 69 76  65 20 73 65 6c 66 20 67  |     give self g|
000124c0  65 6e 65 72 61 6c 3b 20  6d 6f 76 65 20 70 65 61  |eneral; move pea|
000124d0  72 6c 20 74 6f 20 49 6e  5f 41 5f 43 75 6c 5f 44  |rl to In_A_Cul_D|
000124e0  65 5f 53 61 63 3b 0a 20  20 20 20 20 20 20 20 20  |e_Sac;.         |
000124f0  20 20 20 20 20 20 20 22  41 20 67 6c 69 73 74 65  |       "A gliste|
00012500  6e 69 6e 67 20 70 65 61  72 6c 20 66 61 6c 6c 73  |ning pearl falls|
00012510  20 6f 75 74 20 6f 66 20  74 68 65 20 63 6c 61 6d  | out of the clam|
00012520  20 61 6e 64 20 5c 0a 20  20 20 20 20 20 20 20 20  | and \.         |
00012530  20 20 20 20 20 20 20 20  72 6f 6c 6c 73 20 61 77  |        rolls aw|
00012540  61 79 2e 20 20 47 6f 6f  64 6e 65 73 73 2c 20 74  |ay.  Goodness, t|
00012550  68 69 73 20 6d 75 73 74  20 72 65 61 6c 6c 79 20  |his must really |
00012560  62 65 20 61 6e 20 5c 0a  20 20 20 20 20 20 20 20  |be an \.        |
00012570  20 20 20 20 20 20 20 20  20 6f 79 73 74 65 72 2e  |         oyster.|
00012580  20 20 28 49 20 6e 65 76  65 72 20 77 61 73 20 76  |  (I never was v|
00012590  65 72 79 20 67 6f 6f 64  20 61 74 20 5c 0a 20 20  |ery good at \.  |
000125a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 69  |               i|
000125b0  64 65 6e 74 69 66 79 69  6e 67 20 62 69 76 61 6c  |dentifying bival|
000125c0  76 65 73 2e 29 20 20 57  68 61 74 65 76 65 72 20  |ves.)  Whatever |
000125d0  69 74 20 69 73 2c 20 69  74 20 5c 0a 20 20 20 20  |it is, it \.    |
000125e0  20 20 20 20 20 20 20 20  20 20 20 20 20 68 61 73  |             has|
000125f0  20 6e 6f 77 20 73 6e 61  70 70 65 64 20 73 68 75  | now snapped shu|
00012600  74 20 61 67 61 69 6e 2e  22 3b 0a 20 20 20 20 20  |t again.";.     |
00012610  20 20 20 20 20 41 74 74  61 63 6b 3a 0a 20 20 20  |     Attack:.   |
00012620  20 20 20 20 20 20 20 20  20 20 20 20 20 22 54 68  |             "Th|
00012630  65 20 73 68 65 6c 6c 20  69 73 20 76 65 72 79 20  |e shell is very |
00012640  73 74 72 6f 6e 67 20 61  6e 64 20 69 73 20 69 6d  |strong and is im|
00012650  70 65 72 76 69 6f 75 73  20 74 6f 20 61 74 74 61  |pervious to atta|
00012660  63 6b 2e 22 3b 0a 20 20  20 20 20 20 20 5d 3b 0a  |ck.";.       ];.|
00012670  0a 4f 62 6a 65 63 74 20  70 65 61 72 6c 20 22 67  |.Object pearl "g|
00012680  6c 69 73 74 65 6e 69 6e  67 20 70 65 61 72 6c 22  |listening pearl"|
00012690  0a 20 63 6c 61 73 73 20  54 72 65 61 73 75 72 65  |. class Treasure|
000126a0  0a 20 20 77 69 74 68 20  64 65 73 63 72 69 70 74  |.  with descript|
000126b0  69 6f 6e 20 22 49 74 27  73 20 69 6e 63 72 65 64  |ion "It's incred|
000126c0  69 62 6c 79 20 6c 61 72  67 65 21 22 2c 0a 20 20  |ibly large!",.  |
000126d0  20 20 20 20 20 69 6e 69  74 69 61 6c 20 22 4f 66  |     initial "Of|
000126e0  66 20 74 6f 20 6f 6e 65  20 73 69 64 65 20 6c 69  |f to one side li|
000126f0  65 73 20 61 20 67 6c 69  73 74 65 6e 69 6e 67 20  |es a glistening |
00012700  70 65 61 72 6c 21 22 2c  0a 20 20 20 20 20 20 20  |pearl!",.       |
00012710  6e 61 6d 65 20 22 70 65  61 72 6c 22 20 22 67 6c  |name "pearl" "gl|
00012720  69 73 74 65 6e 69 6e 67  22 20 22 69 6e 63 72 65  |istening" "incre|
00012730  64 69 62 6c 65 22 20 22  69 6e 63 72 65 64 69 62  |dible" "incredib|
00012740  6c 79 22 20 22 6c 61 72  67 65 22 2c 0a 20 20 20  |ly" "large",.   |
00012750  20 20 20 20 64 65 70 6f  73 69 74 70 6f 69 6e 74  |    depositpoint|
00012760  73 20 31 34 3b 0a 0a 0a  4f 62 6a 65 63 74 20 49  |s 14;...Object I|
00012770  6e 5f 52 61 67 67 65 64  5f 43 6f 72 72 69 64 6f  |n_Ragged_Corrido|
00012780  72 20 22 52 61 67 67 65  64 20 43 6f 72 72 69 64  |r "Ragged Corrid|
00012790  6f 72 22 0a 20 20 77 69  74 68 20 64 65 73 63 72  |or".  with descr|
000127a0  69 70 74 69 6f 6e 0a 20  20 20 20 20 20 20 20 20  |iption.         |
000127b0  20 20 20 20 20 20 22 59  6f 75 20 61 72 65 20 69  |      "You are i|
000127c0  6e 20 61 20 6c 6f 6e 67  20 73 6c 6f 70 69 6e 67  |n a long sloping|
000127d0  20 63 6f 72 72 69 64 6f  72 20 77 69 74 68 20 72  | corridor with r|
000127e0  61 67 67 65 64 20 5c 0a  20 20 20 20 20 20 20 20  |agged \.        |
000127f0  20 20 20 20 20 20 20 73  68 61 72 70 20 77 61 6c  |       sharp wal|
00012800  6c 73 2e 22 2c 0a 20 20  20 20 20 20 20 75 5f 74  |ls.",.       u_t|
00012810  6f 20 49 6e 5f 53 68 65  6c 6c 5f 52 6f 6f 6d 2c  |o In_Shell_Room,|
00012820  0a 20 20 20 20 20 20 20  64 5f 74 6f 20 49 6e 5f  |.       d_to In_|
00012830  41 5f 43 75 6c 5f 44 65  5f 53 61 63 3b 0a 0a 4f  |A_Cul_De_Sac;..O|
00012840  62 6a 65 63 74 20 49 6e  5f 41 5f 43 75 6c 5f 44  |bject In_A_Cul_D|
00012850  65 5f 53 61 63 20 22 43  75 6c 2d 64 65 2d 53 61  |e_Sac "Cul-de-Sa|
00012860  63 22 0a 20 20 77 69 74  68 20 64 65 73 63 72 69  |c".  with descri|
00012870  70 74 69 6f 6e 0a 20 20  20 20 20 20 20 20 20 20  |ption.          |
00012880  20 20 20 20 20 22 59 6f  75 20 61 72 65 20 69 6e  |     "You are in|
00012890  20 61 20 63 75 6c 2d 64  65 2d 73 61 63 20 61 62  | a cul-de-sac ab|
000128a0  6f 75 74 20 65 69 67 68  74 20 66 65 65 74 20 5c  |out eight feet \|
000128b0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000128c0  61 63 72 6f 73 73 2e 22  2c 0a 20 20 20 20 20 20  |across.",.      |
000128d0  20 75 5f 74 6f 20 49 6e  5f 52 61 67 67 65 64 5f  | u_to In_Ragged_|
000128e0  43 6f 72 72 69 64 6f 72  2c 0a 20 20 20 20 20 20  |Corridor,.      |
000128f0  20 6f 75 74 5f 74 6f 20  49 6e 5f 52 61 67 67 65  | out_to In_Ragge|
00012900  64 5f 43 6f 72 72 69 64  6f 72 3b 0a 0a 21 20 2d  |d_Corridor;..! -|
00012910  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00012950  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 0a 21 20 20 20  |-----------.!   |
00012960  57 69 74 74 27 73 20 45  6e 64 3a 20 43 61 76 65  |Witt's End: Cave|
00012970  20 75 6e 64 65 72 20 63  6f 6e 73 74 72 75 63 74  | under construct|
00012980  69 6f 6e 0a 21 20 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |ion.! ----------|
00012990  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000129d0  2d 2d 0a 0a 4f 62 6a 65  63 74 20 49 6e 5f 41 6e  |--..Object In_An|
000129e0  74 65 72 6f 6f 6d 20 22  49 6e 20 41 6e 74 65 72  |teroom "In Anter|
000129f0  6f 6f 6d 22 0a 20 20 77  69 74 68 20 64 65 73 63  |oom".  with desc|
00012a00  72 69 70 74 69 6f 6e 0a  20 20 20 20 20 20 20 20  |ription.        |
00012a10  20 20 20 20 20 20 20 22  59 6f 75 20 61 72 65 20  |       "You are |
00012a20  69 6e 20 61 6e 20 61 6e  74 65 72 6f 6f 6d 20 6c  |in an anteroom l|
00012a30  65 61 64 69 6e 67 20 74  6f 20 61 20 6c 61 72 67  |eading to a larg|
00012a40  65 20 5c 0a 20 20 20 20  20 20 20 20 20 20 20 20  |e \.            |
00012a50  20 20 20 70 61 73 73 61  67 65 20 74 6f 20 74 68  |   passage to th|
00012a60  65 20 65 61 73 74 2e 20  20 53 6d 61 6c 6c 20 70  |e east.  Small p|
00012a70  61 73 73 61 67 65 73 20  67 6f 20 77 65 73 74 20  |assages go west |
00012a80  61 6e 64 20 75 70 2e 20  20 5c 0a 20 20 20 20 20  |and up.  \.     |
00012a90  20 20 20 20 20 20 20 20  20 20 54 68 65 20 72 65  |          The re|
00012aa0  6d 6e 61 6e 74 73 20 6f  66 20 72 65 63 65 6e 74  |mnants of recent|
00012ab0  20 64 69 67 67 69 6e 67  20 61 72 65 20 65 76 69  | digging are evi|
00012ac0  64 65 6e 74 2e 22 2c 0a  20 20 20 20 20 20 20 75  |dent.",.       u|
00012ad0  5f 74 6f 20 41 74 5f 43  6f 6d 70 6c 65 78 5f 4a  |_to At_Complex_J|
00012ae0  75 6e 63 74 69 6f 6e 2c  0a 20 20 20 20 20 20 20  |unction,.       |
00012af0  77 5f 74 6f 20 49 6e 5f  42 65 64 71 75 69 6c 74  |w_to In_Bedquilt|
00012b00  2c 0a 20 20 20 20 20 20  20 65 5f 74 6f 20 41 74  |,.       e_to At|
00012b10  5f 57 69 74 74 73 5f 45  6e 64 3b 0a 0a 4e 65 61  |_Witts_End;..Nea|
00012b20  72 62 79 20 57 69 74 74  53 69 67 6e 20 22 73 69  |rby WittSign "si|
00012b30  67 6e 22 0a 20 20 77 69  74 68 20 69 6e 69 74 69  |gn".  with initi|
00012b40  61 6c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |al.             |
00012b50  20 22 41 20 73 69 67 6e  20 69 6e 20 6d 69 64 61  | "A sign in mida|
00012b60  69 72 20 68 65 72 65 20  73 61 79 73 20 7e 43 61  |ir here says ~Ca|
00012b70  76 65 20 75 6e 64 65 72  20 5c 0a 20 20 20 20 20  |ve under \.     |
00012b80  20 20 20 20 20 20 20 20  20 20 63 6f 6e 73 74 72  |          constr|
00012b90  75 63 74 69 6f 6e 20 62  65 79 6f 6e 64 20 74 68  |uction beyond th|
00012ba0  69 73 20 70 6f 69 6e 74  2e 20 50 72 6f 63 65 65  |is point. Procee|
00012bb0  64 20 61 74 20 6f 77 6e  20 72 69 73 6b 2e 20 20  |d at own risk.  |
00012bc0  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
00012bd0  20 5b 57 69 74 74 20 43  6f 6e 73 74 72 75 63 74  | [Witt Construct|
00012be0  69 6f 6e 20 43 6f 6d 70  61 6e 79 5d 7e 22 2c 0a  |ion Company]~",.|
00012bf0  20 20 20 20 20 20 20 6e  61 6d 65 20 22 73 69 67  |       name "sig|
00012c00  6e 22 20 22 77 69 74 74  22 20 22 63 6f 6d 70 61  |n" "witt" "compa|
00012c10  6e 79 22 20 22 63 6f 6e  73 74 72 75 63 74 69 6f  |ny" "constructio|
00012c20  6e 22 2c 0a 20 20 20 20  20 20 20 62 65 66 6f 72  |n",.       befor|
00012c30  65 20 5b 3b 20 54 61 6b  65 3a 20 22 49 74 27 73  |e [; Take: "It's|
00012c40  20 68 61 6e 67 69 6e 67  20 77 61 79 20 61 62 6f  | hanging way abo|
00012c50  76 65 20 79 6f 75 72 20  68 65 61 64 2e 22 3b 20  |ve your head."; |
00012c60  5d 2c 0a 20 20 68 61 73  20 20 73 74 61 74 69 63  |],.  has  static|
00012c70  3b 0a 0a 4e 65 61 72 62  79 20 73 70 65 6c 75 6e  |;..Nearby spelun|
00012c80  6b 65 72 5f 74 6f 64 61  79 20 22 72 65 63 65 6e  |ker_today "recen|
00012c90  74 20 69 73 73 75 65 73  20 6f 66 20 7e 53 70 65  |t issues of ~Spe|
00012ca0  6c 75 6e 6b 65 72 20 54  6f 64 61 79 7e 22 0a 20  |lunker Today~". |
00012cb0  20 77 69 74 68 20 6e 61  6d 65 20 22 6d 61 67 61  | with name "maga|
00012cc0  7a 69 6e 65 73 22 20 22  6d 61 67 61 7a 69 6e 65  |zines" "magazine|
00012cd0  22 20 22 69 73 73 75 65  22 20 22 69 73 73 75 65  |" "issue" "issue|
00012ce0  73 22 20 22 73 70 65 6c  75 6e 6b 65 72 22 20 22  |s" "spelunker" "|
00012cf0  74 6f 64 61 79 22 2c 0a  20 20 20 20 20 20 20 69  |today",.       i|
00012d00  6e 69 74 69 61 6c 0a 20  20 20 20 20 20 20 20 20  |nitial.         |
00012d10  20 20 22 54 68 65 72 65  20 61 72 65 20 61 20 66  |  "There are a f|
00012d20  65 77 20 72 65 63 65 6e  74 20 69 73 73 75 65 73  |ew recent issues|
00012d30  20 6f 66 20 7e 53 70 65  6c 75 6e 6b 65 72 20 54  | of ~Spelunker T|
00012d40  6f 64 61 79 7e 20 6d 61  67 61 7a 69 6e 65 20 68  |oday~ magazine h|
00012d50  65 72 65 2e 22 2c 0a 20  20 20 20 20 20 20 64 65  |ere.",.       de|
00012d60  73 63 72 69 70 74 69 6f  6e 20 22 49 27 6d 20 61  |scription "I'm a|
00012d70  66 72 61 69 64 20 74 68  65 20 6d 61 67 61 7a 69  |fraid the magazi|
00012d80  6e 65 73 20 61 72 65 20  77 72 69 74 74 65 6e 20  |nes are written |
00012d90  69 6e 20 44 77 61 72 76  69 73 68 2e 22 2c 0a 20  |in Dwarvish.",. |
00012da0  20 20 20 20 20 20 61 72  74 69 63 6c 65 20 22 61  |      article "a|
00012db0  20 66 65 77 22 2c 0a 20  20 20 20 20 20 20 61 66  | few",.       af|
00012dc0  74 65 72 0a 20 20 20 20  20 20 20 5b 3b 20 54 61  |ter.       [; Ta|
00012dd0  6b 65 3a 20 69 66 20 28  6c 6f 63 61 74 69 6f 6e  |ke: if (location|
00012de0  3d 3d 41 74 5f 57 69 74  74 73 5f 45 6e 64 29 20  |==At_Witts_End) |
00012df0  73 63 6f 72 65 3d 73 63  6f 72 65 2d 31 3b 0a 20  |score=score-1;. |
00012e00  20 20 20 20 20 20 20 20  20 44 72 6f 70 3a 20 69  |         Drop: i|
00012e10  66 20 28 6c 6f 63 61 74  69 6f 6e 3d 3d 41 74 5f  |f (location==At_|
00012e20  57 69 74 74 73 5f 45 6e  64 29 0a 20 20 20 20 20  |Witts_End).     |
00012e30  20 20 20 20 20 20 20 20  20 20 20 7b 20 20 20 73  |           {   s|
00012e40  63 6f 72 65 3d 73 63 6f  72 65 2b 31 3b 0a 20 20  |core=score+1;.  |
00012e50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00012e60  20 20 22 59 6f 75 20 72  65 61 6c 6c 79 20 61 72  |  "You really ar|
00012e70  65 20 61 74 20 77 69 74  27 73 20 65 6e 64 2e 22  |e at wit's end."|
00012e80  3b 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |;.              |
00012e90  20 20 7d 0a 20 20 20 20  20 20 20 5d 3b 0a 0a 4f  |  }.       ];..O|
00012ea0  62 6a 65 63 74 20 41 74  5f 57 69 74 74 73 5f 45  |bject At_Witts_E|
00012eb0  6e 64 20 22 41 74 20 57  69 74 74 27 73 20 45 6e  |nd "At Witt's En|
00012ec0  64 22 0a 20 20 77 69 74  68 20 64 65 73 63 72 69  |d".  with descri|
00012ed0  70 74 69 6f 6e 0a 20 20  20 20 20 20 20 20 20 20  |ption.          |
00012ee0  20 20 20 20 20 22 59 6f  75 20 61 72 65 20 61 74  |     "You are at|
00012ef0  20 57 69 74 74 27 73 20  45 6e 64 2e 20 20 50 61  | Witt's End.  Pa|
00012f00  73 73 61 67 65 73 20 6c  65 61 64 20 6f 66 66 20  |ssages lead off |
00012f10  69 6e 20 5c 0a 20 20 20  20 20 20 20 20 20 20 20  |in \.           |
00012f20  20 20 20 20 2a 61 6c 6c  2a 20 64 69 72 65 63 74  |    *all* direct|
00012f30  69 6f 6e 73 2e 22 2c 0a  20 20 20 20 20 20 20 77  |ions.",.       w|
00012f40  5f 74 6f 20 20 20 22 59  6f 75 20 68 61 76 65 20  |_to   "You have |
00012f50  63 72 61 77 6c 65 64 20  61 72 6f 75 6e 64 20 69  |crawled around i|
00012f60  6e 20 73 6f 6d 65 20 6c  69 74 74 6c 65 20 68 6f  |n some little ho|
00012f70  6c 65 73 20 61 6e 64 20  5c 0a 20 20 20 20 20 20  |les and \.      |
00012f80  20 20 20 20 20 20 20 20  20 66 6f 75 6e 64 20 79  |         found y|
00012f90  6f 75 72 20 77 61 79 20  62 6c 6f 63 6b 65 64 20  |our way blocked |
00012fa0  62 79 20 61 20 72 65 63  65 6e 74 20 63 61 76 65  |by a recent cave|
00012fb0  2d 69 6e 2e 20 20 59 6f  75 20 61 72 65 20 5c 0a  |-in.  You are \.|
00012fc0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 6e  |               n|
00012fd0  6f 77 20 62 61 63 6b 20  69 6e 20 74 68 65 20 6d  |ow back in the m|
00012fe0  61 69 6e 20 70 61 73 73  61 67 65 2e 22 2c 0a 20  |ain passage.",. |
00012ff0  20 20 20 20 20 20 62 65  66 6f 72 65 0a 20 20 20  |      before.   |
00013000  20 20 20 20 5b 3b 20 47  6f 3a 20 69 66 20 28 6e  |    [; Go: if (n|
00013010  6f 75 6e 7e 3d 77 5f 6f  62 6a 20 26 26 20 72 61  |oun~=w_obj && ra|
00013020  6e 64 6f 6d 28 31 30 30  29 3c 3d 39 35 29 0a 20  |ndom(100)<=95). |
00013030  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00013040  22 59 6f 75 20 68 61 76  65 20 63 72 61 77 6c 65  |"You have crawle|
00013050  64 20 61 72 6f 75 6e 64  20 69 6e 20 73 6f 6d 65  |d around in some|
00013060  20 6c 69 74 74 6c 65 20  68 6f 6c 65 73 20 61 6e  | little holes an|
00013070  64 20 5c 0a 20 20 20 20  20 20 20 20 20 20 20 20  |d \.            |
00013080  20 20 20 20 20 20 77 6f  75 6e 64 20 75 70 20 62  |      wound up b|
00013090  61 63 6b 20 69 6e 20 74  68 65 20 6d 61 69 6e 20  |ack in the main |
000130a0  70 61 73 73 61 67 65 2e  22 3b 0a 20 20 20 20 20  |passage.";.     |
000130b0  20 20 20 20 20 20 20 20  20 50 6c 61 79 65 72 54  |         PlayerT|
000130c0  6f 28 49 6e 5f 41 6e 74  65 72 6f 6f 6d 29 3b 20  |o(In_Anteroom); |
000130d0  72 74 72 75 65 3b 0a 20  20 20 20 20 20 20 5d 3b  |rtrue;.       ];|
000130e0  0a 0a 21 20 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |..! ------------|
000130f0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00013130  0a 21 20 20 20 4e 6f 72  74 68 20 6f 66 20 74 68  |.!   North of th|
00013140  65 20 73 65 63 72 65 74  20 63 61 6e 79 6f 6e 73  |e secret canyons|
00013150  2c 20 6f 6e 20 74 68 65  20 6f 74 68 65 72 20 73  |, on the other s|
00013160  69 64 65 20 6f 66 20 74  68 65 20 70 69 74 0a 21  |ide of the pit.!|
00013170  20 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  | ---------------|
00013180  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000131b0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 0a 0a 4f  |-------------..O|
000131c0  62 6a 65 63 74 20 49 6e  5f 4d 69 72 72 6f 72 5f  |bject In_Mirror_|
000131d0  43 61 6e 79 6f 6e 20 22  49 6e 20 4d 69 72 72 6f  |Canyon "In Mirro|
000131e0  72 20 43 61 6e 79 6f 6e  22 0a 20 20 77 69 74 68  |r Canyon".  with|
000131f0  20 64 65 73 63 72 69 70  74 69 6f 6e 0a 20 20 20  | description.   |
00013200  20 20 20 20 20 20 20 20  20 20 20 20 22 59 6f 75  |            "You|
00013210  20 61 72 65 20 69 6e 20  61 20 6e 6f 72 74 68 2f  | are in a north/|
00013220  73 6f 75 74 68 20 63 61  6e 79 6f 6e 20 61 62 6f  |south canyon abo|
00013230  75 74 20 32 35 20 66 65  65 74 20 5c 0a 20 20 20  |ut 25 feet \.   |
00013240  20 20 20 20 20 20 20 20  20 20 20 20 61 63 72 6f  |            acro|
00013250  73 73 2e 20 20 54 68 65  20 66 6c 6f 6f 72 20 69  |ss.  The floor i|
00013260  73 20 63 6f 76 65 72 65  64 20 62 79 20 77 68 69  |s covered by whi|
00013270  74 65 20 6d 69 73 74 20  73 65 65 70 69 6e 67 20  |te mist seeping |
00013280  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
00013290  20 69 6e 20 66 72 6f 6d  20 74 68 65 20 6e 6f 72  | in from the nor|
000132a0  74 68 2e 20 20 54 68 65  20 77 61 6c 6c 73 20 65  |th.  The walls e|
000132b0  78 74 65 6e 64 20 75 70  77 61 72 64 20 66 6f 72  |xtend upward for|
000132c0  20 77 65 6c 6c 20 5c 0a  20 20 20 20 20 20 20 20  | well \.        |
000132d0  20 20 20 20 20 20 20 6f  76 65 72 20 31 30 30 20  |       over 100 |
000132e0  66 65 65 74 2e 20 20 53  75 73 70 65 6e 64 65 64  |feet.  Suspended|
000132f0  20 66 72 6f 6d 20 73 6f  6d 65 20 75 6e 73 65 65  | from some unsee|
00013300  6e 20 70 6f 69 6e 74 20  66 61 72 20 5c 0a 20 20  |n point far \.  |
00013310  20 20 20 20 20 20 20 20  20 20 20 20 20 61 62 6f  |             abo|
00013320  76 65 20 79 6f 75 2c 20  61 6e 20 65 6e 6f 72 6d  |ve you, an enorm|
00013330  6f 75 73 20 74 77 6f 2d  73 69 64 65 64 20 6d 69  |ous two-sided mi|
00013340  72 72 6f 72 20 69 73 20  68 61 6e 67 69 6e 67 20  |rror is hanging |
00013350  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
00013360  20 70 61 72 61 6c 6c 65  6c 20 74 6f 20 61 6e 64  | parallel to and|
00013370  20 6d 69 64 77 61 79 20  62 65 74 77 65 65 6e 20  | midway between |
00013380  74 68 65 20 63 61 6e 79  6f 6e 20 77 61 6c 6c 73  |the canyon walls|
00013390  2e 5e 5e 5c 0a 20 20 20  20 20 20 20 20 20 20 20  |.^^\.           |
000133a0  20 20 20 20 41 20 73 6d  61 6c 6c 20 77 69 6e 64  |    A small wind|
000133b0  6f 77 20 63 61 6e 20 62  65 20 73 65 65 6e 20 69  |ow can be seen i|
000133c0  6e 20 65 69 74 68 65 72  20 77 61 6c 6c 2c 20 5c  |n either wall, \|
000133d0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000133e0  73 6f 6d 65 20 66 69 66  74 79 20 66 65 65 74 20  |some fifty feet |
000133f0  75 70 2e 22 2c 0a 20 20  20 20 20 20 20 73 5f 74  |up.",.       s_t|
00013400  6f 20 49 6e 5f 53 65 63  72 65 74 5f 4e 5f 53 5f  |o In_Secret_N_S_|
00013410  43 61 6e 79 6f 6e 5f 30  2c 0a 20 20 20 20 20 20  |Canyon_0,.      |
00013420  20 6e 5f 74 6f 20 41 74  5f 52 65 73 65 72 76 6f  | n_to At_Reservo|
00013430  69 72 3b 0a 0a 4e 65 61  72 62 79 20 43 61 6e 79  |ir;..Nearby Cany|
00013440  6f 6e 4d 69 72 72 6f 72  20 22 73 75 73 70 65 6e  |onMirror "suspen|
00013450  64 65 64 20 6d 69 72 72  6f 72 22 0a 20 20 77 69  |ded mirror".  wi|
00013460  74 68 20 64 65 73 63 72  69 70 74 69 6f 6e 0a 20  |th description. |
00013470  20 20 20 20 20 20 20 20  20 20 20 20 20 20 22 54  |              "T|
00013480  68 65 20 6d 69 72 72 6f  72 20 69 73 20 6f 62 76  |he mirror is obv|
00013490  69 6f 75 73 6c 79 20 70  72 6f 76 69 64 65 64 20  |iously provided |
000134a0  66 6f 72 20 74 68 65 20  75 73 65 20 6f 66 20 74  |for the use of t|
000134b0  68 65 20 0a 20 20 20 20  20 20 20 20 20 20 20 20  |he .            |
000134c0  20 20 20 64 77 61 72 76  65 73 20 77 68 6f 2c 20  |   dwarves who, |
000134d0  61 73 20 79 6f 75 20 6b  6e 6f 77 2c 20 61 72 65  |as you know, are|
000134e0  20 65 78 74 72 65 6d 65  6c 79 20 76 61 69 6e 2e  | extremely vain.|
000134f0  22 2c 0a 20 20 20 20 20  20 20 6e 61 6d 65 20 22  |",.       name "|
00013500  6d 69 72 72 6f 72 22 20  22 6d 61 73 73 69 76 65  |mirror" "massive|
00013510  22 20 22 65 6e 6f 72 6d  6f 75 73 22 20 22 68 61  |" "enormous" "ha|
00013520  6e 67 69 6e 67 22 20 22  73 75 73 70 65 6e 64 65  |nging" "suspende|
00013530  64 22 0a 20 20 20 20 20  20 20 20 20 20 20 20 22  |d".            "|
00013540  64 77 61 72 76 65 73 27  22 20 22 74 77 6f 2d 73  |dwarves'" "two-s|
00013550  69 64 65 64 22 20 22 74  77 6f 22 20 22 73 69 64  |ided" "two" "sid|
00013560  65 64 22 2c 0a 20 20 20  20 20 20 20 69 6e 69 74  |ed",.       init|
00013570  69 61 6c 20 22 54 68 65  20 6d 69 72 72 6f 72 20  |ial "The mirror |
00013580  69 73 20 6f 62 76 69 6f  75 73 6c 79 20 70 72 6f  |is obviously pro|
00013590  76 69 64 65 64 20 66 6f  72 20 74 68 65 20 75 73  |vided for the us|
000135a0  65 20 6f 66 20 74 68 65  20 5c 0a 20 20 20 20 20  |e of the \.     |
000135b0  20 20 20 20 20 20 20 20  20 20 20 64 77 61 72 76  |           dwarv|
000135c0  65 73 2c 20 77 68 6f 20  61 73 20 79 6f 75 20 6b  |es, who as you k|
000135d0  6e 6f 77 2c 20 61 72 65  20 65 78 74 72 65 6d 65  |now, are extreme|
000135e0  6c 79 20 76 61 69 6e 2e  22 2c 0a 20 20 20 20 20  |ly vain.",.     |
000135f0  20 20 62 65 66 6f 72 65  20 5b 3b 20 41 74 74 61  |  before [; Atta|
00013600  63 6b 2c 20 52 65 6d 6f  76 65 3a 20 22 59 6f 75  |ck, Remove: "You|
00013610  20 63 61 6e 27 74 20 72  65 61 63 68 20 69 74 20  | can't reach it |
00013620  66 72 6f 6d 20 68 65 72  65 2e 22 3b 20 5d 2c 0a  |from here."; ],.|
00013630  20 20 68 61 73 20 20 73  74 61 74 69 63 3b 0a 0a  |  has  static;..|
00013640  0a 4f 62 6a 65 63 74 20  41 74 5f 57 69 6e 64 6f  |.Object At_Windo|
00013650  77 5f 4f 6e 5f 50 69 74  5f 32 20 22 41 74 20 57  |w_On_Pit_2 "At W|
00013660  69 6e 64 6f 77 20 6f 6e  20 50 69 74 22 0a 20 20  |indow on Pit".  |
00013670  77 69 74 68 20 64 65 73  63 72 69 70 74 69 6f 6e  |with description|
00013680  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00013690  22 59 6f 75 27 72 65 20  61 74 20 61 20 6c 6f 77  |"You're at a low|
000136a0  20 77 69 6e 64 6f 77 20  6f 76 65 72 6c 6f 6f 6b  | window overlook|
000136b0  69 6e 67 20 61 20 68 75  67 65 20 70 69 74 2c 20  |ing a huge pit, |
000136c0  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
000136d0  20 77 68 69 63 68 20 65  78 74 65 6e 64 73 20 75  | which extends u|
000136e0  70 20 6f 75 74 20 6f 66  20 73 69 67 68 74 2e 20  |p out of sight. |
000136f0  20 41 20 66 6c 6f 6f 72  20 69 73 20 5c 0a 20 20  | A floor is \.  |
00013700  20 20 20 20 20 20 20 20  20 20 20 20 20 69 6e 64  |             ind|
00013710  69 73 74 69 6e 63 74 6c  79 20 76 69 73 69 62 6c  |istinctly visibl|
00013720  65 20 6f 76 65 72 20 35  30 20 66 65 65 74 20 62  |e over 50 feet b|
00013730  65 6c 6f 77 2e 20 20 54  72 61 63 65 73 20 6f 66  |elow.  Traces of|
00013740  20 5c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  | \.             |
00013750  20 20 77 68 69 74 65 20  6d 69 73 74 20 63 6f 76  |  white mist cov|
00013760  65 72 20 74 68 65 20 66  6c 6f 6f 72 20 6f 66 20  |er the floor of |
00013770  74 68 65 20 70 69 74 2c  20 62 65 63 6f 6d 69 6e  |the pit, becomin|
00013780  67 20 5c 0a 20 20 20 20  20 20 20 20 20 20 20 20  |g \.            |
00013790  20 20 20 74 68 69 63 6b  65 72 20 74 6f 20 74 68  |   thicker to th|
000137a0  65 20 6c 65 66 74 2e 20  4d 61 72 6b 73 20 69 6e  |e left. Marks in|
000137b0  20 74 68 65 20 64 75 73  74 20 61 72 6f 75 6e 64  | the dust around|
000137c0  20 74 68 65 20 5c 0a 20  20 20 20 20 20 20 20 20  | the \.         |
000137d0  20 20 20 20 20 20 77 69  6e 64 6f 77 20 77 6f 75  |      window wou|
000137e0  6c 64 20 73 65 65 6d 20  74 6f 20 69 6e 64 69 63  |ld seem to indic|
000137f0  61 74 65 20 74 68 61 74  20 73 6f 6d 65 6f 6e 65  |ate that someone|
00013800  20 68 61 73 20 62 65 65  6e 20 5c 0a 20 20 20 20  | has been \.    |
00013810  20 20 20 20 20 20 20 20  20 20 20 68 65 72 65 20  |           here |
00013820  72 65 63 65 6e 74 6c 79  2e 20 20 44 69 72 65 63  |recently.  Direc|
00013830  74 6c 79 20 61 63 72 6f  73 73 20 74 68 65 20 70  |tly across the p|
00013840  69 74 20 66 72 6f 6d 20  79 6f 75 20 61 6e 64 20  |it from you and |
00013850  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
00013860  20 32 35 20 66 65 65 74  20 61 77 61 79 20 74 68  | 25 feet away th|
00013870  65 72 65 20 69 73 20 61  20 73 69 6d 69 6c 61 72  |ere is a similar|
00013880  20 77 69 6e 64 6f 77 20  6c 6f 6f 6b 69 6e 67 20  | window looking |
00013890  69 6e 74 6f 20 61 20 5c  0a 20 20 20 20 20 20 20  |into a \.       |
000138a0  20 20 20 20 20 20 20 20  6c 69 67 68 74 65 64 20  |        lighted |
000138b0  72 6f 6f 6d 2e 20 20 41  20 73 68 61 64 6f 77 79  |room.  A shadowy|
000138c0  20 66 69 67 75 72 65 20  63 61 6e 20 62 65 20 73  | figure can be s|
000138d0  65 65 6e 20 74 68 65 72  65 20 5c 0a 20 20 20 20  |een there \.    |
000138e0  20 20 20 20 20 20 20 20  20 20 20 70 65 65 72 69  |           peeri|
000138f0  6e 67 20 62 61 63 6b 20  61 74 20 79 6f 75 2e 22  |ng back at you."|
00013900  2c 0a 20 20 20 20 20 20  20 63 61 6e 74 5f 67 6f  |,.       cant_go|
00013910  20 22 54 68 65 20 6f 6e  6c 79 20 70 61 73 73 61  | "The only passa|
00013920  67 65 20 69 73 20 62 61  63 6b 20 77 65 73 74 20  |ge is back west |
00013930  74 6f 20 74 68 65 20 6a  75 6e 63 74 69 6f 6e 2e  |to the junction.|
00013940  22 2c 0a 20 20 20 20 20  20 20 77 5f 74 6f 20 41  |",.       w_to A|
00013950  74 5f 4a 75 6e 63 74 69  6f 6e 5f 4f 66 5f 54 68  |t_Junction_Of_Th|
00013960  72 65 65 2c 0a 20 20 20  20 20 20 20 62 65 66 6f  |ree,.       befo|
00013970  72 65 0a 20 20 20 20 20  20 20 5b 3b 20 4a 75 6d  |re.       [; Jum|
00013980  70 3a 20 64 65 61 64 66  6c 61 67 3d 31 3b 20 22  |p: deadflag=1; "|
00013990  59 6f 75 20 6a 75 6d 70  20 61 6e 64 20 62 72 65  |You jump and bre|
000139a0  61 6b 20 79 6f 75 72 20  6e 65 63 6b 21 22 3b 0a  |ak your neck!";.|
000139b0  20 20 20 20 20 20 20 20  20 20 57 61 76 65 48 61  |          WaveHa|
000139c0  6e 64 73 3a 20 22 54 68  65 20 73 68 61 64 6f 77  |nds: "The shadow|
000139d0  79 20 66 69 67 75 72 65  20 77 61 76 65 73 20 62  |y figure waves b|
000139e0  61 63 6b 20 61 74 20 79  6f 75 21 22 3b 0a 20 20  |ack at you!";.  |
000139f0  20 20 20 20 20 5d 3b 0a  0a 4f 62 6a 65 63 74 20  |     ];..Object |
00013a00  41 74 5f 52 65 73 65 72  76 6f 69 72 20 22 41 74  |At_Reservoir "At|
00013a10  20 52 65 73 65 72 76 6f  69 72 22 0a 20 20 77 69  | Reservoir".  wi|
00013a20  74 68 20 64 65 73 63 72  69 70 74 69 6f 6e 0a 20  |th description. |
00013a30  20 20 20 20 20 20 20 20  20 20 20 20 20 20 22 59  |              "Y|
00013a40  6f 75 20 61 72 65 20 61  74 20 74 68 65 20 65 64  |ou are at the ed|
00013a50  67 65 20 6f 66 20 61 20  6c 61 72 67 65 20 75 6e  |ge of a large un|
00013a60  64 65 72 67 72 6f 75 6e  64 20 5c 0a 20 20 20 20  |derground \.    |
00013a70  20 20 20 20 20 20 20 20  20 20 20 72 65 73 65 72  |           reser|
00013a80  76 6f 69 72 2e 20 20 41  6e 20 6f 70 61 71 75 65  |voir.  An opaque|
00013a90  20 63 6c 6f 75 64 20 6f  66 20 77 68 69 74 65 20  | cloud of white |
00013aa0  6d 69 73 74 20 66 69 6c  6c 73 20 74 68 65 20 5c  |mist fills the \|
00013ab0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00013ac0  72 6f 6f 6d 20 61 6e 64  20 72 69 73 65 73 20 72  |room and rises r|
00013ad0  61 70 69 64 6c 79 20 75  70 77 61 72 64 2e 20 20  |apidly upward.  |
00013ae0  54 68 65 20 6c 61 6b 65  20 69 73 20 66 65 64 20  |The lake is fed |
00013af0  62 79 20 61 20 5c 0a 20  20 20 20 20 20 20 20 20  |by a \.         |
00013b00  20 20 20 20 20 20 73 74  72 65 61 6d 2c 20 77 68  |      stream, wh|
00013b10  69 63 68 20 74 75 6d 62  6c 65 73 20 6f 75 74 20  |ich tumbles out |
00013b20  6f 66 20 61 20 68 6f 6c  65 20 69 6e 20 74 68 65  |of a hole in the|
00013b30  20 77 61 6c 6c 20 61 62  6f 75 74 20 5c 0a 20 20  | wall about \.  |
00013b40  20 20 20 20 20 20 20 20  20 20 20 20 20 31 30 20  |             10 |
00013b50  66 65 65 74 20 6f 76 65  72 68 65 61 64 20 61 6e  |feet overhead an|
00013b60  64 20 73 70 6c 61 73 68  65 73 20 6e 6f 69 73 69  |d splashes noisi|
00013b70  6c 79 20 69 6e 74 6f 20  74 68 65 20 77 61 74 65  |ly into the wate|
00013b80  72 20 5c 0a 20 20 20 20  20 20 20 20 20 20 20 20  |r \.            |
00013b90  20 20 20 73 6f 6d 65 77  68 65 72 65 20 77 69 74  |   somewhere wit|
00013ba0  68 69 6e 20 74 68 65 20  6d 69 73 74 2e 20 20 54  |hin the mist.  T|
00013bb0  68 65 20 6f 6e 6c 79 20  70 61 73 73 61 67 65 20  |he only passage |
00013bc0  67 6f 65 73 20 5c 0a 20  20 20 20 20 20 20 20 20  |goes \.         |
00013bd0  20 20 20 20 20 20 62 61  63 6b 20 74 6f 77 61 72  |      back towar|
00013be0  64 20 74 68 65 20 73 6f  75 74 68 2e 22 2c 0a 20  |d the south.",. |
00013bf0  20 20 20 20 20 20 73 5f  74 6f 20 49 6e 5f 4d 69  |      s_to In_Mi|
00013c00  72 72 6f 72 5f 43 61 6e  79 6f 6e 2c 0a 20 20 20  |rror_Canyon,.   |
00013c10  20 20 20 20 6f 75 74 5f  74 6f 20 49 6e 5f 4d 69  |    out_to In_Mi|
00013c20  72 72 6f 72 5f 43 61 6e  79 6f 6e 2c 0a 20 20 20  |rror_Canyon,.   |
00013c30  20 20 20 20 62 65 66 6f  72 65 0a 20 20 20 20 20  |    before.     |
00013c40  20 20 5b 3b 20 53 77 69  6d 3a 20 22 54 68 65 20  |  [; Swim: "The |
00013c50  77 61 74 65 72 20 69 73  20 69 63 79 20 63 6f 6c  |water is icy col|
00013c60  64 2c 20 61 6e 64 20 79  6f 75 20 77 6f 75 6c 64  |d, and you would|
00013c70  20 73 6f 6f 6e 20 66 72  65 65 7a 65 20 74 6f 20  | soon freeze to |
00013c80  64 65 61 74 68 2e 22 3b  0a 20 20 20 20 20 20 20  |death.";.       |
00013c90  5d 3b 0a 0a 21 20 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |];..! ----------|
00013ca0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00013ce0  2d 2d 0a 21 20 20 20 54  68 65 20 43 68 61 73 6d  |--.!   The Chasm|
00013cf0  20 61 6e 64 20 74 68 65  20 54 72 6f 6c 6c 20 42  | and the Troll B|
00013d00  72 69 64 67 65 0a 21 20  2d 2d 2d 2d 2d 2d 2d 2d  |ridge.! --------|
00013d10  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00013d50  2d 2d 2d 2d 0a 0a 4f 62  6a 65 63 74 20 49 6e 5f  |----..Object In_|
00013d60  53 6c 6f 70 69 6e 67 5f  43 6f 72 72 69 64 6f 72  |Sloping_Corridor|
00013d70  20 22 53 6c 6f 70 69 6e  67 20 43 6f 72 72 69 64  | "Sloping Corrid|
00013d80  6f 72 22 0a 20 20 77 69  74 68 20 64 65 73 63 72  |or".  with descr|
00013d90  69 70 74 69 6f 6e 0a 20  20 20 20 20 20 20 20 20  |iption.         |
00013da0  20 20 20 20 20 20 22 59  6f 75 20 61 72 65 20 69  |      "You are i|
00013db0  6e 20 61 20 6c 6f 6e 67  20 77 69 6e 64 69 6e 67  |n a long winding|
00013dc0  20 63 6f 72 72 69 64 6f  72 20 73 6c 6f 70 69 6e  | corridor slopin|
00013dd0  67 20 6f 75 74 20 5c 0a  20 20 20 20 20 20 20 20  |g out \.        |
00013de0  20 20 20 20 20 20 20 6f  66 20 73 69 67 68 74 20  |       of sight |
00013df0  69 6e 20 62 6f 74 68 20  64 69 72 65 63 74 69 6f  |in both directio|
00013e00  6e 73 2e 22 2c 0a 20 20  20 20 20 20 20 64 5f 74  |ns.",.       d_t|
00013e10  6f 20 49 6e 5f 4c 61 72  67 65 5f 4c 6f 77 5f 52  |o In_Large_Low_R|
00013e20  6f 6f 6d 2c 0a 20 20 20  20 20 20 20 75 5f 74 6f  |oom,.       u_to|
00013e30  20 4f 6e 5f 53 77 5f 53  69 64 65 5f 4f 66 5f 43  | On_Sw_Side_Of_C|
00013e40  68 61 73 6d 2c 0a 20 20  20 20 20 20 20 63 61 6e  |hasm,.       can|
00013e50  74 5f 67 6f 20 22 54 68  65 20 63 6f 72 72 69 64  |t_go "The corrid|
00013e60  6f 72 20 73 6c 6f 70 65  73 20 73 74 65 65 70 6c  |or slopes steepl|
00013e70  79 20 75 70 20 61 6e 64  20 64 6f 77 6e 2e 22 3b  |y up and down.";|
00013e80  0a 0a 4f 62 6a 65 63 74  20 4f 6e 5f 53 77 5f 53  |..Object On_Sw_S|
00013e90  69 64 65 5f 4f 66 5f 43  68 61 73 6d 20 22 4f 6e  |ide_Of_Chasm "On|
00013ea0  20 53 57 20 53 69 64 65  20 6f 66 20 43 68 61 73  | SW Side of Chas|
00013eb0  6d 22 0a 20 20 77 69 74  68 20 64 65 73 63 72 69  |m".  with descri|
00013ec0  70 74 69 6f 6e 0a 20 20  20 20 20 20 20 20 20 20  |ption.          |
00013ed0  20 20 20 20 20 22 59 6f  75 20 61 72 65 20 6f 6e  |     "You are on|
00013ee0  20 6f 6e 65 20 73 69 64  65 20 6f 66 20 61 20 6c  | one side of a l|
00013ef0  61 72 67 65 2c 20 64 65  65 70 20 63 68 61 73 6d  |arge, deep chasm|
00013f00  2e 20 20 41 20 5c 0a 20  20 20 20 20 20 20 20 20  |.  A \.         |
00013f10  20 20 20 20 20 20 68 65  61 76 79 20 77 68 69 74  |      heavy whit|
00013f20  65 20 6d 69 73 74 20 72  69 73 69 6e 67 20 75 70  |e mist rising up|
00013f30  20 66 72 6f 6d 20 62 65  6c 6f 77 20 6f 62 73 63  | from below obsc|
00013f40  75 72 65 73 20 61 6c 6c  20 5c 0a 20 20 20 20 20  |ures all \.     |
00013f50  20 20 20 20 20 20 20 20  20 20 76 69 65 77 20 6f  |          view o|
00013f60  66 20 74 68 65 20 66 61  72 20 73 69 64 65 2e 20  |f the far side. |
00013f70  20 41 20 73 6f 75 74 68  77 65 73 74 20 70 61 74  | A southwest pat|
00013f80  68 20 6c 65 61 64 73 20  61 77 61 79 20 5c 0a 20  |h leads away \. |
00013f90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 66 72  |              fr|
00013fa0  6f 6d 20 74 68 65 20 63  68 61 73 6d 20 69 6e 74  |om the chasm int|
00013fb0  6f 20 61 20 77 69 6e 64  69 6e 67 20 63 6f 72 72  |o a winding corr|
00013fc0  69 64 6f 72 2e 22 2c 0a  20 20 20 20 20 20 20 6e  |idor.",.       n|
00013fd0  65 5f 74 6f 20 43 72 6f  73 73 52 69 63 6b 65 74  |e_to CrossRicket|
00013fe0  79 42 72 69 64 67 65 2c  0a 20 20 20 20 20 20 20  |yBridge,.       |
00013ff0  73 77 5f 74 6f 20 49 6e  5f 53 6c 6f 70 69 6e 67  |sw_to In_Sloping|
00014000  5f 43 6f 72 72 69 64 6f  72 2c 0a 20 20 20 20 20  |_Corridor,.     |
00014010  20 20 64 5f 74 6f 20 49  6e 5f 53 6c 6f 70 69 6e  |  d_to In_Slopin|
00014020  67 5f 43 6f 72 72 69 64  6f 72 2c 0a 20 20 20 20  |g_Corridor,.    |
00014030  20 20 20 63 61 6e 74 5f  67 6f 20 22 54 68 65 20  |   cant_go "The |
00014040  70 61 74 68 20 77 69 6e  64 73 20 73 6f 75 74 68  |path winds south|
00014050  77 65 73 74 2e 22 2c 0a  20 20 20 20 20 20 20 62  |west.",.       b|
00014060  65 66 6f 72 65 0a 20 20  20 20 20 20 20 5b 3b 20  |efore.       [; |
00014070  4a 75 6d 70 3a 20 69 66  20 28 52 69 63 6b 65 74  |Jump: if (Ricket|
00014080  79 42 72 69 64 67 65 20  69 6e 20 73 65 6c 66 29  |yBridge in self)|
00014090  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000140a0  20 20 20 20 20 22 49 20  72 65 73 70 65 63 74 66  |     "I respectf|
000140b0  75 6c 6c 79 20 73 75 67  67 65 73 74 20 79 6f 75  |ully suggest you|
000140c0  20 67 6f 20 61 63 72 6f  73 73 20 74 68 65 20 5c  | go across the \|
000140d0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000140e0  20 20 20 20 20 20 62 72  69 64 67 65 20 69 6e 73  |      bridge ins|
000140f0  74 65 61 64 20 6f 66 20  6a 75 6d 70 69 6e 67 2e  |tead of jumping.|
00014100  22 3b 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |";.             |
00014110  20 64 65 61 64 66 6c 61  67 3d 31 3b 20 22 59 6f  | deadflag=1; "Yo|
00014120  75 20 64 69 64 6e 27 74  20 6d 61 6b 65 20 69 74  |u didn't make it|
00014130  2e 22 3b 0a 20 20 20 20  20 20 20 5d 3b 0a 0a 5b  |.";.       ];..[|
00014140  20 43 72 6f 73 73 52 69  63 6b 65 74 79 42 72 69  | CrossRicketyBri|
00014150  64 67 65 3b 0a 20 20 69  66 20 28 54 72 6f 6c 6c  |dge;.  if (Troll|
00014160  20 68 61 73 20 67 65 6e  65 72 61 6c 20 7c 7c 20  | has general || |
00014170  54 72 6f 6c 6c 20 69 6e  20 6e 6f 74 68 69 6e 67  |Troll in nothing|
00014180  29 0a 20 20 7b 0a 20 20  20 20 20 20 67 69 76 65  |).  {.      give|
00014190  20 54 72 6f 6c 6c 20 7e  67 65 6e 65 72 61 6c 3b  | Troll ~general;|
000141a0  0a 20 20 20 20 20 20 69  66 20 28 42 65 61 72 20  |.      if (Bear |
000141b0  68 61 73 20 67 65 6e 65  72 61 6c 29 0a 20 20 20  |has general).   |
000141c0  20 20 20 7b 20 20 20 72  65 6d 6f 76 65 20 42 65  |   {   remove Be|
000141d0  61 72 3b 20 72 65 6d 6f  76 65 20 73 65 6c 66 3b  |ar; remove self;|
000141e0  20 67 69 76 65 20 57 72  65 63 6b 61 67 65 20 7e  | give Wreckage ~|
000141f0  61 62 73 65 6e 74 3b 0a  20 20 20 20 20 20 20 20  |absent;.        |
00014200  20 20 72 65 6d 6f 76 65  20 52 69 63 6b 65 74 79  |  remove Rickety|
00014210  42 72 69 64 67 65 3b 20  67 69 76 65 20 52 69 63  |Bridge; give Ric|
00014220  6b 65 74 79 42 72 69 64  67 65 20 61 62 73 65 6e  |ketyBridge absen|
00014230  74 3b 20 53 74 6f 70 44  61 65 6d 6f 6e 28 42 65  |t; StopDaemon(Be|
00014240  61 72 29 3b 0a 20 20 20  20 20 20 20 20 20 20 64  |ar);.          d|
00014250  65 61 64 66 6c 61 67 3d  31 3b 0a 20 20 20 20 20  |eadflag=1;.     |
00014260  20 20 20 20 20 22 4a 75  73 74 20 61 73 20 79 6f  |     "Just as yo|
00014270  75 20 72 65 61 63 68 20  74 68 65 20 6f 74 68 65  |u reach the othe|
00014280  72 20 73 69 64 65 2c 20  74 68 65 20 62 72 69 64  |r side, the brid|
00014290  67 65 20 5c 0a 20 20 20  20 20 20 20 20 20 20 20  |ge \.           |
000142a0  62 75 63 6b 6c 65 73 20  62 65 6e 65 61 74 68 20  |buckles beneath |
000142b0  74 68 65 20 77 65 69 67  68 74 20 6f 66 20 74 68  |the weight of th|
000142c0  65 20 62 65 61 72 2c 20  77 68 69 63 68 20 5c 0a  |e bear, which \.|
000142d0  20 20 20 20 20 20 20 20  20 20 20 77 61 73 20 73  |           was s|
000142e0  74 69 6c 6c 20 66 6f 6c  6c 6f 77 69 6e 67 20 79  |till following y|
000142f0  6f 75 20 61 72 6f 75 6e  64 2e 20 20 59 6f 75 20  |ou around.  You |
00014300  73 63 72 61 62 62 6c 65  20 5c 0a 20 20 20 20 20  |scrabble \.     |
00014310  20 20 20 20 20 20 64 65  73 70 65 72 61 74 65 6c  |      desperatel|
00014320  79 20 66 6f 72 20 73 75  70 70 6f 72 74 2c 20 62  |y for support, b|
00014330  75 74 20 61 73 20 74 68  65 20 62 72 69 64 67 65  |ut as the bridge|
00014340  20 5c 0a 20 20 20 20 20  20 20 20 20 20 20 63 6f  | \.           co|
00014350  6c 6c 61 70 73 65 73 20  79 6f 75 20 73 74 75 6d  |llapses you stum|
00014360  62 6c 65 20 62 61 63 6b  20 61 6e 64 20 66 61 6c  |ble back and fal|
00014370  6c 20 69 6e 74 6f 20 74  68 65 20 5c 0a 20 20 20  |l into the \.   |
00014380  20 20 20 20 20 20 20 20  63 68 61 73 6d 2e 22 3b  |        chasm.";|
00014390  0a 20 20 20 20 20 20 7d  0a 20 20 20 20 20 20 72  |.      }.      r|
000143a0  65 74 75 72 6e 20 52 69  63 6b 65 74 79 42 72 69  |eturn RicketyBri|
000143b0  64 67 65 3b 0a 20 20 7d  0a 20 20 69 66 20 28 54  |dge;.  }.  if (T|
000143c0  72 6f 6c 6c 20 69 6e 20  6c 6f 63 61 74 69 6f 6e  |roll in location|
000143d0  29 0a 20 20 20 20 20 20  22 54 68 65 20 74 72 6f  |).      "The tro|
000143e0  6c 6c 20 72 65 66 75 73  65 73 20 74 6f 20 6c 65  |ll refuses to le|
000143f0  74 20 79 6f 75 20 63 72  6f 73 73 2e 22 3b 0a 20  |t you cross.";. |
00014400  20 6d 6f 76 65 20 54 72  6f 6c 6c 20 74 6f 20 6c  | move Troll to l|
00014410  6f 63 61 74 69 6f 6e 3b  0a 20 20 22 54 68 65 20  |ocation;.  "The |
00014420  74 72 6f 6c 6c 20 73 74  65 70 73 20 6f 75 74 20  |troll steps out |
00014430  66 72 6f 6d 20 62 65 6e  65 61 74 68 20 74 68 65  |from beneath the|
00014440  20 62 72 69 64 67 65 20  61 6e 64 20 62 6c 6f 63  | bridge and bloc|
00014450  6b 73 20 79 6f 75 72 20  77 61 79 2e 22 3b 0a 5d  |ks your way.";.]|
00014460  3b 0a 0a 4e 65 61 72 62  79 20 52 69 63 6b 65 74  |;..Nearby Ricket|
00014470  79 42 72 69 64 67 65 20  22 72 69 63 6b 65 74 79  |yBridge "rickety|
00014480  20 62 72 69 64 67 65 22  0a 20 20 77 69 74 68 20  | bridge".  with |
00014490  64 65 73 63 72 69 70 74  69 6f 6e 20 22 49 74 20  |description "It |
000144a0  6a 75 73 74 20 6c 6f 6f  6b 73 20 6c 69 6b 65 20  |just looks like |
000144b0  61 6e 20 6f 72 64 69 6e  61 72 79 2c 20 62 75 74  |an ordinary, but|
000144c0  20 75 6e 73 74 61 62 6c  65 2c 20 62 72 69 64 67  | unstable, bridg|
000144d0  65 2e 22 2c 0a 20 20 20  20 20 20 20 64 65 73 63  |e.",.       desc|
000144e0  72 69 62 65 0a 20 20 20  20 20 20 20 5b 3b 20 70  |ribe.       [; p|
000144f0  72 69 6e 74 20 22 41 20  72 69 63 6b 65 74 79 20  |rint "A rickety |
00014500  77 6f 6f 64 65 6e 20 62  72 69 64 67 65 20 65 78  |wooden bridge ex|
00014510  74 65 6e 64 73 20 61 63  72 6f 73 73 20 74 68 65  |tends across the|
00014520  20 5c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  | \.             |
00014530  20 20 20 20 63 68 61 73  6d 2c 20 76 61 6e 69 73  |    chasm, vanis|
00014540  68 69 6e 67 20 69 6e 74  6f 20 74 68 65 20 6d 69  |hing into the mi|
00014550  73 74 2e 5e 5e 5c 0a 20  20 20 20 20 20 20 20 20  |st.^^\.         |
00014560  20 20 20 20 20 20 20 20  41 20 73 69 67 6e 20 70  |        A sign p|
00014570  6f 73 74 65 64 20 6f 6e  20 74 68 65 20 62 72 69  |osted on the bri|
00014580  64 67 65 20 72 65 61 64  73 2c 20 5c 0a 20 20 20  |dge reads, \.   |
00014590  20 20 20 20 20 20 20 20  20 20 20 20 20 20 7e 53  |              ~S|
000145a0  74 6f 70 21 20 50 61 79  20 74 72 6f 6c 6c 21 7e  |top! Pay troll!~|
000145b0  5e 22 3b 0a 20 20 20 20  20 20 20 20 20 20 69 66  |^";.          if|
000145c0  20 28 54 72 6f 6c 6c 20  6e 6f 74 69 6e 20 6c 6f  | (Troll notin lo|
000145d0  63 61 74 69 6f 6e 29 0a  20 20 20 20 20 20 20 20  |cation).        |
000145e0  20 20 20 20 20 20 20 20  20 22 54 68 65 20 74 72  |         "The tr|
000145f0  6f 6c 6c 20 69 73 20 6e  6f 77 68 65 72 65 20 74  |oll is nowhere t|
00014600  6f 20 62 65 20 73 65 65  6e 2e 22 3b 0a 20 20 20  |o be seen.";.   |
00014610  20 20 20 20 20 20 20 72  74 72 75 65 3b 0a 20 20  |       rtrue;.  |
00014620  20 20 20 20 20 5d 2c 0a  20 20 20 20 20 20 20 6e  |     ],.       n|
00014630  61 6d 65 20 22 62 72 69  64 67 65 22 20 22 72 69  |ame "bridge" "ri|
00014640  63 6b 65 74 79 22 20 22  75 6e 73 74 61 62 6c 65  |ckety" "unstable|
00014650  22 20 22 77 6f 62 62 6c  79 22 20 22 72 6f 70 65  |" "wobbly" "rope|
00014660  22 2c 0a 20 20 20 20 20  20 20 64 6f 6f 72 5f 64  |",.       door_d|
00014670  69 72 0a 20 20 20 20 20  20 20 5b 3b 20 69 66 20  |ir.       [; if |
00014680  28 6c 6f 63 61 74 69 6f  6e 3d 3d 4f 6e 5f 53 77  |(location==On_Sw|
00014690  5f 53 69 64 65 5f 4f 66  5f 43 68 61 73 6d 29 20  |_Side_Of_Chasm) |
000146a0  72 65 74 75 72 6e 20 6e  65 5f 74 6f 3b 20 72 65  |return ne_to; re|
000146b0  74 75 72 6e 20 73 77 5f  74 6f 3b 0a 20 20 20 20  |turn sw_to;.    |
000146c0  20 20 20 5d 2c 0a 20 20  20 20 20 20 20 64 6f 6f  |   ],.       doo|
000146d0  72 5f 74 6f 0a 20 20 20  20 20 20 20 5b 3b 20 69  |r_to.       [; i|
000146e0  66 20 28 6c 6f 63 61 74  69 6f 6e 3d 3d 4f 6e 5f  |f (location==On_|
000146f0  53 77 5f 53 69 64 65 5f  4f 66 5f 43 68 61 73 6d  |Sw_Side_Of_Chasm|
00014700  29 20 72 65 74 75 72 6e  20 4f 6e 5f 4e 65 5f 53  |) return On_Ne_S|
00014710  69 64 65 5f 4f 66 5f 43  68 61 73 6d 3b 0a 20 20  |ide_Of_Chasm;.  |
00014720  20 20 20 20 20 20 20 20  72 65 74 75 72 6e 20 4f  |        return O|
00014730  6e 5f 53 77 5f 53 69 64  65 5f 4f 66 5f 43 68 61  |n_Sw_Side_Of_Cha|
00014740  73 6d 3b 0a 20 20 20 20  20 20 20 5d 2c 0a 20 20  |sm;.       ],.  |
00014750  20 20 20 20 20 66 6f 75  6e 64 5f 69 6e 20 20 4f  |     found_in  O|
00014760  6e 5f 53 77 5f 53 69 64  65 5f 4f 66 5f 43 68 61  |n_Sw_Side_Of_Cha|
00014770  73 6d 20 20 4f 6e 5f 4e  65 5f 53 69 64 65 5f 4f  |sm  On_Ne_Side_O|
00014780  66 5f 43 68 61 73 6d 0a  20 20 68 61 73 20 20 73  |f_Chasm.  has  s|
00014790  74 61 74 69 63 20 64 6f  6f 72 20 6f 70 65 6e 3b  |tatic door open;|
000147a0  0a 0a 4f 62 6a 65 63 74  20 57 72 65 63 6b 61 67  |..Object Wreckag|
000147b0  65 20 22 77 72 65 63 6b  61 67 65 20 6f 66 20 62  |e "wreckage of b|
000147c0  72 69 64 67 65 22 0a 20  20 77 69 74 68 20 69 6e  |ridge".  with in|
000147d0  69 74 69 61 6c 20 22 54  68 65 20 77 72 65 63 6b  |itial "The wreck|
000147e0  61 67 65 20 6f 66 20 74  68 65 20 74 72 6f 6c 6c  |age of the troll|
000147f0  20 62 72 69 64 67 65 20  28 61 6e 64 20 61 20 64  | bridge (and a d|
00014800  65 61 64 20 62 65 61 72  29 20 5c 0a 20 20 20 20  |ead bear) \.    |
00014810  20 20 20 20 20 20 20 20  20 20 20 20 63 61 6e 20  |            can |
00014820  62 65 20 73 65 65 6e 20  61 74 20 74 68 65 20 62  |be seen at the b|
00014830  6f 74 74 6f 6d 20 6f 66  20 74 68 65 20 63 68 61  |ottom of the cha|
00014840  73 6d 2e 22 2c 0a 20 20  20 20 20 20 20 6e 61 6d  |sm.",.       nam|
00014850  65 20 22 77 72 65 63 6b  61 67 65 22 20 22 77 72  |e "wreckage" "wr|
00014860  65 63 6b 22 20 22 62 72  69 64 67 65 22 20 22 64  |eck" "bridge" "d|
00014870  65 61 64 22 20 22 62 65  61 72 22 2c 0a 20 20 20  |ead" "bear",.   |
00014880  20 20 20 20 62 65 66 6f  72 65 0a 20 20 20 20 20  |    before.     |
00014890  20 20 5b 3b 20 22 54 68  65 20 77 72 65 63 6b 61  |  [; "The wrecka|
000148a0  67 65 20 69 73 20 74 6f  6f 20 66 61 72 20 62 65  |ge is too far be|
000148b0  6c 6f 77 2e 22 3b 0a 20  20 20 20 20 20 20 5d 2c  |low.";.       ],|
000148c0  0a 20 20 20 20 20 20 20  66 6f 75 6e 64 5f 69 6e  |.       found_in|
000148d0  20 20 4f 6e 5f 53 77 5f  53 69 64 65 5f 4f 66 5f  |  On_Sw_Side_Of_|
000148e0  43 68 61 73 6d 20 20 4f  6e 5f 4e 65 5f 53 69 64  |Chasm  On_Ne_Sid|
000148f0  65 5f 4f 66 5f 43 68 61  73 6d 0a 20 20 68 61 73  |e_Of_Chasm.  has|
00014900  20 20 73 74 61 74 69 63  20 61 62 73 65 6e 74 3b  |  static absent;|
00014910  0a 0a 0a 4f 62 6a 65 63  74 20 54 72 6f 6c 6c 20  |...Object Troll |
00014920  22 62 75 72 6c 79 20 74  72 6f 6c 6c 22 20 52 69  |"burly troll" Ri|
00014930  63 6b 65 74 79 42 72 69  64 67 65 0a 20 20 77 69  |cketyBridge.  wi|
00014940  74 68 20 64 65 73 63 72  69 70 74 69 6f 6e 0a 20  |th description. |
00014950  20 20 20 20 20 20 20 20  20 20 20 20 20 20 22 54  |              "T|
00014960  72 6f 6c 6c 73 20 61 72  65 20 63 6c 6f 73 65 20  |rolls are close |
00014970  72 65 6c 61 74 69 76 65  73 20 77 69 74 68 20 72  |relatives with r|
00014980  6f 63 6b 73 20 61 6e 64  20 68 61 76 65 20 73 6b  |ocks and have sk|
00014990  69 6e 20 5c 0a 20 20 20  20 20 20 20 20 20 20 20  |in \.           |
000149a0  20 20 20 20 20 61 73 20  74 6f 75 67 68 20 61 73  |     as tough as|
000149b0  20 74 68 61 74 20 6f 66  20 61 20 72 68 69 6e 6f  | that of a rhino|
000149c0  63 65 72 6f 73 2e 22 2c  0a 20 20 20 20 20 20 20  |ceros.",.       |
000149d0  69 6e 69 74 69 61 6c 20  22 41 20 62 75 72 6c 79  |initial "A burly|
000149e0  20 74 72 6f 6c 6c 20 73  74 61 6e 64 73 20 62 79  | troll stands by|
000149f0  20 74 68 65 20 62 72 69  64 67 65 20 61 6e 64 20  | the bridge and |
00014a00  69 6e 73 69 73 74 73 20  79 6f 75 20 5c 0a 20 20  |insists you \.  |
00014a10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 74 68  |              th|
00014a20  72 6f 77 20 68 69 6d 20  61 20 74 72 65 61 73 75  |row him a treasu|
00014a30  72 65 20 62 65 66 6f 72  65 20 79 6f 75 20 6d 61  |re before you ma|
00014a40  79 20 63 72 6f 73 73 2e  22 2c 0a 20 20 20 20 20  |y cross.",.     |
00014a50  20 20 6e 61 6d 65 20 22  74 72 6f 6c 6c 22 20 22  |  name "troll" "|
00014a60  62 75 72 6c 79 22 2c 0a  20 20 20 20 20 20 20 6c  |burly",.       l|
00014a70  69 66 65 0a 20 20 20 20  20 20 20 5b 3b 20 41 74  |ife.       [; At|
00014a80  74 61 63 6b 3a 20 22 54  68 65 20 74 72 6f 6c 6c  |tack: "The troll|
00014a90  20 6c 61 75 67 68 73 20  61 6c 6f 75 64 20 61 74  | laughs aloud at|
00014aa0  20 79 6f 75 72 20 70 69  74 69 66 75 6c 20 61 74  | your pitiful at|
00014ab0  74 65 6d 70 74 20 5c 0a  20 20 20 20 20 20 20 20  |tempt \.        |
00014ac0  20 20 20 20 20 20 20 20  20 20 20 74 6f 20 69 6e  |           to in|
00014ad0  6a 75 72 65 20 68 69 6d  2e 22 3b 0a 20 20 20 20  |jure him.";.    |
00014ae0  20 20 20 20 20 20 54 68  72 6f 77 41 74 2c 20 47  |      ThrowAt, G|
00014af0  69 76 65 3a 0a 20 20 20  20 20 20 20 20 20 20 20  |ive:.           |
00014b00  20 20 20 69 66 20 28 6e  6f 75 6e 20 68 61 73 20  |   if (noun has |
00014b10  76 61 6c 75 61 62 6c 65  29 0a 20 20 20 20 20 20  |valuable).      |
00014b20  20 20 20 20 20 20 20 20  7b 20 20 20 72 65 6d 6f  |        {   remo|
00014b30  76 65 20 6e 6f 75 6e 3b  0a 20 20 20 20 20 20 20  |ve noun;.       |
00014b40  20 20 20 20 20 20 20 20  20 20 20 6d 6f 76 65 20  |           move |
00014b50  54 72 6f 6c 6c 20 74 6f  20 52 69 63 6b 65 74 79  |Troll to Rickety|
00014b60  42 72 69 64 67 65 3b 0a  20 20 20 20 20 20 20 20  |Bridge;.        |
00014b70  20 20 20 20 20 20 20 20  20 20 67 69 76 65 20 54  |          give T|
00014b80  72 6f 6c 6c 20 67 65 6e  65 72 61 6c 3b 20 73 63  |roll general; sc|
00014b90  6f 72 65 3d 73 63 6f 72  65 2d 35 3b 0a 20 20 20  |ore=score-5;.   |
00014ba0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 22  |               "|
00014bb0  54 68 65 20 74 72 6f 6c  6c 20 63 61 74 63 68 65  |The troll catche|
00014bc0  73 20 79 6f 75 72 20 74  72 65 61 73 75 72 65 20  |s your treasure |
00014bd0  61 6e 64 20 73 63 75 72  72 69 65 73 20 5c 0a 20  |and scurries \. |
00014be0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00014bf0  20 20 61 77 61 79 20 6f  75 74 20 6f 66 20 73 69  |  away out of si|
00014c00  67 68 74 2e 22 3b 0a 20  20 20 20 20 20 20 20 20  |ght.";.         |
00014c10  20 20 20 20 20 7d 0a 20  20 20 20 20 20 20 20 20  |     }.         |
00014c20  20 20 20 20 20 69 66 20  28 6e 6f 75 6e 3d 3d 74  |     if (noun==t|
00014c30  61 73 74 79 5f 66 6f 6f  64 29 0a 20 20 20 20 20  |asty_food).     |
00014c40  20 20 20 20 20 20 20 20  20 20 20 20 20 22 47 6c  |             "Gl|
00014c50  75 74 74 6f 6e 79 20 69  73 20 6e 6f 74 20 6f 6e  |uttony is not on|
00014c60  65 20 6f 66 20 74 68 65  20 74 72 6f 6c 6c 27 73  |e of the troll's|
00014c70  20 76 69 63 65 73 2e 20  5c 0a 20 20 20 20 20 20  | vices. \.      |
00014c80  20 20 20 20 20 20 20 20  20 20 20 20 20 41 76 61  |             Ava|
00014c90  72 69 63 65 2c 20 68 6f  77 65 76 65 72 2c 20 69  |rice, however, i|
00014ca0  73 2e 22 3b 0a 20 20 20  20 20 20 20 20 20 20 20  |s.";.           |
00014cb0  20 20 20 70 72 69 6e 74  20 22 54 68 65 20 74 72  |   print "The tr|
00014cc0  6f 6c 6c 20 64 65 66 74  6c 79 20 63 61 74 63 68  |oll deftly catch|
00014cd0  65 73 20 22 3b 20 44 65  66 41 72 74 28 6e 6f 75  |es "; DefArt(nou|
00014ce0  6e 29 3b 0a 20 20 20 20  20 20 20 20 20 20 20 20  |n);.            |
00014cf0  20 20 22 2c 20 65 78 61  6d 69 6e 65 73 20 69 74  |  ", examines it|
00014d00  20 63 61 72 65 66 75 6c  6c 79 2c 20 61 6e 64 20  | carefully, and |
00014d10  74 6f 73 73 65 73 20 69  74 20 62 61 63 6b 2c 20  |tosses it back, |
00014d20  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
00014d30  20 64 65 63 6c 61 72 69  6e 67 2c 20 7e 47 6f 6f  | declaring, ~Goo|
00014d40  64 20 77 6f 72 6b 6d 61  6e 73 68 69 70 2c 20 62  |d workmanship, b|
00014d50  75 74 20 69 74 27 73 20  6e 6f 74 20 5c 0a 20 20  |ut it's not \.  |
00014d60  20 20 20 20 20 20 20 20  20 20 20 20 20 76 61 6c  |             val|
00014d70  75 61 62 6c 65 20 65 6e  6f 75 67 68 2e 7e 22 3b  |uable enough.~";|
00014d80  0a 20 20 20 20 20 20 20  20 20 20 4f 72 64 65 72  |.          Order|
00014d90  3a 20 22 59 6f 75 27 6c  6c 20 62 65 20 6c 75 63  |: "You'll be luc|
00014da0  6b 79 2e 22 3b 0a 20 20  20 20 20 20 20 20 20 20  |ky.";.          |
00014db0  41 6e 73 77 65 72 2c 20  41 73 6b 3a 20 22 54 72  |Answer, Ask: "Tr|
00014dc0  6f 6c 6c 73 20 6d 61 6b  65 20 70 6f 6f 72 20 63  |olls make poor c|
00014dd0  6f 6e 76 65 72 73 61 74  69 6f 6e 2e 22 3b 0a 20  |onversation.";. |
00014de0  20 20 20 20 20 20 5d 2c  0a 20 20 68 61 73 20 20  |      ],.  has  |
00014df0  61 6e 69 6d 61 74 65 3b  0a 0a 0a 4f 62 6a 65 63  |animate;...Objec|
00014e00  74 20 4f 6e 5f 4e 65 5f  53 69 64 65 5f 4f 66 5f  |t On_Ne_Side_Of_|
00014e10  43 68 61 73 6d 20 22 4f  6e 20 4e 45 20 53 69 64  |Chasm "On NE Sid|
00014e20  65 20 6f 66 20 43 68 61  73 6d 22 0a 20 20 77 69  |e of Chasm".  wi|
00014e30  74 68 20 64 65 73 63 72  69 70 74 69 6f 6e 0a 20  |th description. |
00014e40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 22 59  |              "Y|
00014e50  6f 75 20 61 72 65 20 6f  6e 20 74 68 65 20 66 61  |ou are on the fa|
00014e60  72 20 73 69 64 65 20 6f  66 20 74 68 65 20 63 68  |r side of the ch|
00014e70  61 73 6d 2e 20 20 41 20  5c 0a 20 20 20 20 20 20  |asm.  A \.      |
00014e80  20 20 20 20 20 20 20 20  20 6e 6f 72 74 68 65 61  |         northea|
00014e90  73 74 20 70 61 74 68 20  6c 65 61 64 73 20 61 77  |st path leads aw|
00014ea0  61 79 20 66 72 6f 6d 20  74 68 65 20 63 68 61 73  |ay from the chas|
00014eb0  6d 20 6f 6e 20 74 68 69  73 20 5c 0a 20 20 20 20  |m on this \.    |
00014ec0  20 20 20 20 20 20 20 20  20 20 20 73 69 64 65 2e  |           side.|
00014ed0  22 2c 0a 20 20 20 20 20  20 20 73 77 5f 74 6f 20  |",.       sw_to |
00014ee0  43 72 6f 73 73 52 69 63  6b 65 74 79 42 72 69 64  |CrossRicketyBrid|
00014ef0  67 65 2c 0a 20 20 20 20  20 20 20 6e 65 5f 74 6f  |ge,.       ne_to|
00014f00  20 49 6e 5f 43 6f 72 72  69 64 6f 72 2c 0a 20 20  | In_Corridor,.  |
00014f10  20 20 20 20 20 62 65 66  6f 72 65 0a 20 20 20 20  |     before.    |
00014f20  20 20 20 5b 3b 20 4a 75  6d 70 3a 20 69 66 20 28  |   [; Jump: if (|
00014f30  52 69 63 6b 65 74 79 42  72 69 64 67 65 20 69 6e  |RicketyBridge in|
00014f40  20 73 65 6c 66 29 0a 20  20 20 20 20 20 20 20 20  | self).         |
00014f50  20 20 20 20 20 20 20 20  20 20 20 22 49 20 72 65  |           "I re|
00014f60  73 70 65 63 74 66 75 6c  6c 79 20 73 75 67 67 65  |spectfully sugge|
00014f70  73 74 20 79 6f 75 20 67  6f 20 61 63 72 6f 73 73  |st you go across|
00014f80  20 74 68 65 20 5c 0a 20  20 20 20 20 20 20 20 20  | the \.         |
00014f90  20 20 20 20 20 20 20 20  20 20 20 20 62 72 69 64  |            brid|
00014fa0  67 65 20 69 6e 73 74 65  61 64 20 6f 66 20 6a 75  |ge instead of ju|
00014fb0  6d 70 69 6e 67 2e 22 3b  0a 20 20 20 20 20 20 20  |mping.";.       |
00014fc0  20 20 20 20 20 20 20 64  65 61 64 66 6c 61 67 3d  |       deadflag=|
00014fd0  31 3b 20 22 59 6f 75 20  64 69 64 6e 27 74 20 6d  |1; "You didn't m|
00014fe0  61 6b 65 20 69 74 2e 22  3b 0a 20 20 20 20 20 20  |ake it.";.      |
00014ff0  20 5d 2c 0a 20 20 68 61  73 20 20 6e 6f 64 77 61  | ],.  has  nodwa|
00015000  72 66 3b 0a 0a 4f 62 6a  65 63 74 20 49 6e 5f 43  |rf;..Object In_C|
00015010  6f 72 72 69 64 6f 72 20  22 49 6e 20 43 6f 72 72  |orridor "In Corr|
00015020  69 64 6f 72 22 0a 20 20  77 69 74 68 20 64 65 73  |idor".  with des|
00015030  63 72 69 70 74 69 6f 6e  0a 20 20 20 20 20 20 20  |cription.       |
00015040  20 20 20 20 20 20 20 20  22 59 6f 75 27 72 65 20  |        "You're |
00015050  69 6e 20 61 20 6c 6f 6e  67 20 65 61 73 74 2f 77  |in a long east/w|
00015060  65 73 74 20 63 6f 72 72  69 64 6f 72 2e 20 20 41  |est corridor.  A|
00015070  20 66 61 69 6e 74 20 5c  0a 20 20 20 20 20 20 20  | faint \.       |
00015080  20 20 20 20 20 20 20 20  72 75 6d 62 6c 69 6e 67  |        rumbling|
00015090  20 6e 6f 69 73 65 20 63  61 6e 20 62 65 20 68 65  | noise can be he|
000150a0  61 72 64 20 69 6e 20 74  68 65 20 64 69 73 74 61  |ard in the dista|
000150b0  6e 63 65 2e 22 2c 0a 20  20 20 20 20 20 20 77 5f  |nce.",.       w_|
000150c0  74 6f 20 4f 6e 5f 4e 65  5f 53 69 64 65 5f 4f 66  |to On_Ne_Side_Of|
000150d0  5f 43 68 61 73 6d 2c 0a  20 20 20 20 20 20 20 65  |_Chasm,.       e|
000150e0  5f 74 6f 20 41 74 5f 46  6f 72 6b 5f 49 6e 5f 50  |_to At_Fork_In_P|
000150f0  61 74 68 0a 20 20 68 61  73 20 20 6e 6f 64 77 61  |ath.  has  nodwa|
00015100  72 66 3b 0a 0a 21 20 2d  2d 2d 2d 2d 2d 2d 2d 2d  |rf;..! ---------|
00015110  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00015150  2d 2d 2d 0a 21 20 20 20  54 68 65 20 56 6f 6c 63  |---.!   The Volc|
00015160  61 6e 6f 0a 21 20 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |ano.! ----------|
00015170  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000151b0  2d 2d 0a 0a 4f 62 6a 65  63 74 20 41 74 5f 46 6f  |--..Object At_Fo|
000151c0  72 6b 5f 49 6e 5f 50 61  74 68 20 22 41 74 20 46  |rk_In_Path "At F|
000151d0  6f 72 6b 20 69 6e 20 50  61 74 68 22 0a 20 20 77  |ork in Path".  w|
000151e0  69 74 68 20 64 65 73 63  72 69 70 74 69 6f 6e 0a  |ith description.|
000151f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 22  |               "|
00015200  54 68 65 20 70 61 74 68  20 66 6f 72 6b 73 20 68  |The path forks h|
00015210  65 72 65 2e 20 20 54 68  65 20 6c 65 66 74 20 66  |ere.  The left f|
00015220  6f 72 6b 20 6c 65 61 64  73 20 5c 0a 20 20 20 20  |ork leads \.    |
00015230  20 20 20 20 20 20 20 20  20 20 20 6e 6f 72 74 68  |           north|
00015240  65 61 73 74 2e 20 20 41  20 64 75 6c 6c 20 72 75  |east.  A dull ru|
00015250  6d 62 6c 69 6e 67 20 73  65 65 6d 73 20 74 6f 20  |mbling seems to |
00015260  67 65 74 20 6c 6f 75 64  65 72 20 69 6e 20 5c 0a  |get louder in \.|
00015270  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 74  |               t|
00015280  68 61 74 20 64 69 72 65  63 74 69 6f 6e 2e 20 20  |hat direction.  |
00015290  54 68 65 20 72 69 67 68  74 20 66 6f 72 6b 20 6c  |The right fork l|
000152a0  65 61 64 73 20 73 6f 75  74 68 65 61 73 74 20 64  |eads southeast d|
000152b0  6f 77 6e 20 5c 0a 20 20  20 20 20 20 20 20 20 20  |own \.          |
000152c0  20 20 20 20 20 61 20 67  65 6e 74 6c 65 20 73 6c  |     a gentle sl|
000152d0  6f 70 65 2e 20 20 54 68  65 20 6d 61 69 6e 20 63  |ope.  The main c|
000152e0  6f 72 72 69 64 6f 72 20  65 6e 74 65 72 73 20 66  |orridor enters f|
000152f0  72 6f 6d 20 74 68 65 20  5c 0a 20 20 20 20 20 20  |rom the \.      |
00015300  20 20 20 20 20 20 20 20  20 77 65 73 74 2e 22 2c  |         west.",|
00015310  0a 20 20 20 20 20 20 20  77 5f 74 6f 20 49 6e 5f  |.       w_to In_|
00015320  43 6f 72 72 69 64 6f 72  2c 0a 20 20 20 20 20 20  |Corridor,.      |
00015330  20 6e 65 5f 74 6f 20 41  74 5f 4a 75 6e 63 74 69  | ne_to At_Juncti|
00015340  6f 6e 5f 57 69 74 68 5f  57 61 72 6d 5f 57 61 6c  |on_With_Warm_Wal|
00015350  6c 73 2c 0a 20 20 20 20  20 20 20 73 65 5f 74 6f  |ls,.       se_to|
00015360  20 49 6e 5f 4c 69 6d 65  73 74 6f 6e 65 5f 50 61  | In_Limestone_Pa|
00015370  73 73 61 67 65 2c 0a 20  20 20 20 20 20 20 64 5f  |ssage,.       d_|
00015380  74 6f 20 49 6e 5f 4c 69  6d 65 73 74 6f 6e 65 5f  |to In_Limestone_|
00015390  50 61 73 73 61 67 65 0a  20 20 68 61 73 20 20 6e  |Passage.  has  n|
000153a0  6f 64 77 61 72 66 3b 0a  0a 4f 62 6a 65 63 74 20  |odwarf;..Object |
000153b0  41 74 5f 4a 75 6e 63 74  69 6f 6e 5f 57 69 74 68  |At_Junction_With|
000153c0  5f 57 61 72 6d 5f 57 61  6c 6c 73 20 22 41 74 20  |_Warm_Walls "At |
000153d0  4a 75 6e 63 74 69 6f 6e  20 57 69 74 68 20 57 61  |Junction With Wa|
000153e0  72 6d 20 57 61 6c 6c 73  22 0a 20 20 77 69 74 68  |rm Walls".  with|
000153f0  20 64 65 73 63 72 69 70  74 69 6f 6e 0a 20 20 20  | description.   |
00015400  20 20 20 20 20 20 20 20  20 20 20 20 22 54 68 65  |            "The|
00015410  20 77 61 6c 6c 73 20 61  72 65 20 71 75 69 74 65  | walls are quite|
00015420  20 77 61 72 6d 20 68 65  72 65 2e 20 20 46 72 6f  | warm here.  Fro|
00015430  6d 20 74 68 65 20 6e 6f  72 74 68 20 5c 0a 20 20  |m the north \.  |
00015440  20 20 20 20 20 20 20 20  20 20 20 20 20 63 61 6e  |             can|
00015450  20 62 65 20 68 65 61 72  64 20 61 20 73 74 65 61  | be heard a stea|
00015460  64 79 20 72 6f 61 72 2c  20 73 6f 20 6c 6f 75 64  |dy roar, so loud|
00015470  20 74 68 61 74 20 74 68  65 20 65 6e 74 69 72 65  | that the entire|
00015480  20 5c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  | \.             |
00015490  20 20 63 61 76 65 20 73  65 65 6d 73 20 74 6f 20  |  cave seems to |
000154a0  62 65 20 74 72 65 6d 62  6c 69 6e 67 2e 20 20 41  |be trembling.  A|
000154b0  6e 6f 74 68 65 72 20 70  61 73 73 61 67 65 20 6c  |nother passage l|
000154c0  65 61 64 73 20 5c 0a 20  20 20 20 20 20 20 20 20  |eads \.         |
000154d0  20 20 20 20 20 20 73 6f  75 74 68 2c 20 61 6e 64  |      south, and|
000154e0  20 61 20 6c 6f 77 20 63  72 61 77 6c 20 67 6f 65  | a low crawl goe|
000154f0  73 20 65 61 73 74 2e 22  2c 0a 20 20 20 20 20 20  |s east.",.      |
00015500  20 73 5f 74 6f 20 41 74  5f 46 6f 72 6b 5f 49 6e  | s_to At_Fork_In|
00015510  5f 50 61 74 68 2c 0a 20  20 20 20 20 20 20 6e 5f  |_Path,.       n_|
00015520  74 6f 20 41 74 5f 42 72  65 61 74 68 5f 54 61 6b  |to At_Breath_Tak|
00015530  69 6e 67 5f 56 69 65 77  2c 0a 20 20 20 20 20 20  |ing_View,.      |
00015540  20 65 5f 74 6f 20 49 6e  5f 43 68 61 6d 62 65 72  | e_to In_Chamber|
00015550  5f 4f 66 5f 42 6f 75 6c  64 65 72 73 0a 20 20 68  |_Of_Boulders.  h|
00015560  61 73 20 20 6e 6f 64 77  61 72 66 3b 0a 0a 0a 4f  |as  nodwarf;...O|
00015570  62 6a 65 63 74 20 41 74  5f 42 72 65 61 74 68 5f  |bject At_Breath_|
00015580  54 61 6b 69 6e 67 5f 56  69 65 77 20 22 41 74 20  |Taking_View "At |
00015590  42 72 65 61 74 68 2d 54  61 6b 69 6e 67 20 56 69  |Breath-Taking Vi|
000155a0  65 77 22 0a 20 20 77 69  74 68 20 64 65 73 63 72  |ew".  with descr|
000155b0  69 70 74 69 6f 6e 0a 20  20 20 20 20 20 20 20 20  |iption.         |
000155c0  20 20 20 20 20 20 22 59  6f 75 20 61 72 65 20 6f  |      "You are o|
000155d0  6e 20 74 68 65 20 65 64  67 65 20 6f 66 20 61 20  |n the edge of a |
000155e0  62 72 65 61 74 68 2d 74  61 6b 69 6e 67 20 76 69  |breath-taking vi|
000155f0  65 77 2e 20 46 61 72 20  5c 0a 20 20 20 20 20 20  |ew. Far \.      |
00015600  20 20 20 20 20 20 20 20  20 62 65 6c 6f 77 20 79  |         below y|
00015610  6f 75 20 69 73 20 61 6e  20 61 63 74 69 76 65 20  |ou is an active |
00015620  76 6f 6c 63 61 6e 6f 2c  20 66 72 6f 6d 20 77 68  |volcano, from wh|
00015630  69 63 68 20 67 72 65 61  74 20 5c 0a 20 20 20 20  |ich great \.    |
00015640  20 20 20 20 20 20 20 20  20 20 20 67 6f 75 74 73  |           gouts|
00015650  20 6f 66 20 6d 6f 6c 74  65 6e 20 6c 61 76 61 20  | of molten lava |
00015660  63 6f 6d 65 20 73 75 72  67 69 6e 67 20 6f 75 74  |come surging out|
00015670  2c 20 63 61 73 63 61 64  69 6e 67 20 62 61 63 6b  |, cascading back|
00015680  20 5c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  | \.             |
00015690  20 20 64 6f 77 6e 20 69  6e 74 6f 20 74 68 65 20  |  down into the |
000156a0  64 65 70 74 68 73 2e 20  20 54 68 65 20 67 6c 6f  |depths.  The glo|
000156b0  77 69 6e 67 20 72 6f 63  6b 20 66 69 6c 6c 73 20  |wing rock fills |
000156c0  74 68 65 20 5c 0a 20 20  20 20 20 20 20 20 20 20  |the \.          |
000156d0  20 20 20 20 20 66 61 72  74 68 65 73 74 20 72 65  |     farthest re|
000156e0  61 63 68 65 73 20 6f 66  20 74 68 65 20 63 61 76  |aches of the cav|
000156f0  65 72 6e 20 77 69 74 68  20 61 20 62 6c 6f 6f 64  |ern with a blood|
00015700  2d 72 65 64 20 5c 0a 20  20 20 20 20 20 20 20 20  |-red \.         |
00015710  20 20 20 20 20 20 67 6c  61 72 65 2c 20 67 69 76  |      glare, giv|
00015720  69 6e 67 20 65 76 65 72  79 74 68 69 6e 67 20 61  |ing everything a|
00015730  6e 20 65 65 72 69 65 2c  20 6d 61 63 61 62 72 65  |n eerie, macabre|
00015740  20 5c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  | \.             |
00015750  20 20 61 70 70 65 61 72  61 6e 63 65 2e 20 54 68  |  appearance. Th|
00015760  65 20 61 69 72 20 69 73  20 66 69 6c 6c 65 64 20  |e air is filled |
00015770  77 69 74 68 20 66 6c 69  63 6b 65 72 69 6e 67 20  |with flickering |
00015780  73 70 61 72 6b 73 20 5c  0a 20 20 20 20 20 20 20  |sparks \.       |
00015790  20 20 20 20 20 20 20 20  6f 66 20 61 73 68 20 61  |        of ash a|
000157a0  6e 64 20 61 20 68 65 61  76 79 20 73 6d 65 6c 6c  |nd a heavy smell|
000157b0  20 6f 66 20 62 72 69 6d  73 74 6f 6e 65 2e 20 20  | of brimstone.  |
000157c0  54 68 65 20 77 61 6c 6c  73 20 61 72 65 20 5c 0a  |The walls are \.|
000157d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 68  |               h|
000157e0  6f 74 20 74 6f 20 74 68  65 20 74 6f 75 63 68 2c  |ot to the touch,|
000157f0  20 61 6e 64 20 74 68 65  20 74 68 75 6e 64 65 72  | and the thunder|
00015800  69 6e 67 20 6f 66 20 74  68 65 20 76 6f 6c 63 61  |ing of the volca|
00015810  6e 6f 20 5c 0a 20 20 20  20 20 20 20 20 20 20 20  |no \.           |
00015820  20 20 20 20 64 72 6f 77  6e 73 20 6f 75 74 20 61  |    drowns out a|
00015830  6c 6c 20 6f 74 68 65 72  20 73 6f 75 6e 64 73 2e  |ll other sounds.|
00015840  20 20 45 6d 62 65 64 64  65 64 20 69 6e 20 74 68  |  Embedded in th|
00015850  65 20 6a 61 67 67 65 64  20 5c 0a 20 20 20 20 20  |e jagged \.     |
00015860  20 20 20 20 20 20 20 20  20 20 72 6f 6f 66 20 66  |          roof f|
00015870  61 72 20 6f 76 65 72 68  65 61 64 20 61 72 65 20  |ar overhead are |
00015880  6d 79 72 69 61 64 20 74  77 69 73 74 65 64 20 66  |myriad twisted f|
00015890  6f 72 6d 61 74 69 6f 6e  73 20 5c 0a 20 20 20 20  |ormations \.    |
000158a0  20 20 20 20 20 20 20 20  20 20 20 63 6f 6d 70 6f  |           compo|
000158b0  73 65 64 20 6f 66 20 70  75 72 65 20 77 68 69 74  |sed of pure whit|
000158c0  65 20 61 6c 61 62 61 73  74 65 72 2c 20 77 68 69  |e alabaster, whi|
000158d0  63 68 20 73 63 61 74 74  65 72 20 74 68 65 20 5c  |ch scatter the \|
000158e0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000158f0  6d 75 72 6b 79 20 6c 69  67 68 74 20 69 6e 74 6f  |murky light into|
00015900  20 73 69 6e 69 73 74 65  72 20 61 70 70 61 72 69  | sinister appari|
00015910  74 69 6f 6e 73 20 75 70  6f 6e 20 74 68 65 20 77  |tions upon the w|
00015920  61 6c 6c 73 2e 20 5c 0a  20 20 20 20 20 20 20 20  |alls. \.        |
00015930  20 20 20 20 20 20 20 54  6f 20 6f 6e 65 20 73 69  |       To one si|
00015940  64 65 20 69 73 20 61 20  64 65 65 70 20 67 6f 72  |de is a deep gor|
00015950  67 65 2c 20 66 69 6c 6c  65 64 20 77 69 74 68 20  |ge, filled with |
00015960  61 20 62 69 7a 61 72 72  65 20 5c 0a 20 20 20 20  |a bizarre \.    |
00015970  20 20 20 20 20 20 20 20  20 20 20 63 68 61 6f 73  |           chaos|
00015980  20 6f 66 20 74 6f 72 74  75 72 65 64 20 72 6f 63  | of tortured roc|
00015990  6b 20 77 68 69 63 68 20  73 65 65 6d 73 20 74 6f  |k which seems to|
000159a0  20 68 61 76 65 20 62 65  65 6e 20 5c 0a 20 20 20  | have been \.   |
000159b0  20 20 20 20 20 20 20 20  20 20 20 20 63 72 61 66  |            craf|
000159c0  74 65 64 20 62 79 20 74  68 65 20 64 65 76 69 6c  |ted by the devil|
000159d0  20 68 69 6d 73 65 6c 66  2e 20 20 41 6e 20 69 6d  | himself.  An im|
000159e0  6d 65 6e 73 65 20 72 69  76 65 72 20 6f 66 20 5c  |mense river of \|
000159f0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00015a00  66 69 72 65 20 63 72 61  73 68 65 73 20 6f 75 74  |fire crashes out|
00015a10  20 66 72 6f 6d 20 74 68  65 20 64 65 70 74 68 73  | from the depths|
00015a20  20 6f 66 20 74 68 65 20  76 6f 6c 63 61 6e 6f 2c  | of the volcano,|
00015a30  20 5c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  | \.             |
00015a40  20 20 62 75 72 6e 73 20  69 74 73 20 77 61 79 20  |  burns its way |
00015a50  74 68 72 6f 75 67 68 20  74 68 65 20 67 6f 72 67  |through the gorg|
00015a60  65 2c 20 61 6e 64 20 70  6c 75 6d 6d 65 74 73 20  |e, and plummets |
00015a70  69 6e 74 6f 20 61 20 5c  0a 20 20 20 20 20 20 20  |into a \.       |
00015a80  20 20 20 20 20 20 20 20  62 6f 74 74 6f 6d 6c 65  |        bottomle|
00015a90  73 73 20 70 69 74 20 66  61 72 20 6f 66 66 20 74  |ss pit far off t|
00015aa0  6f 20 79 6f 75 72 20 6c  65 66 74 2e 20 20 54 6f  |o your left.  To|
00015ab0  20 74 68 65 20 72 69 67  68 74 2c 20 5c 0a 20 20  | the right, \.  |
00015ac0  20 20 20 20 20 20 20 20  20 20 20 20 20 61 6e 20  |             an |
00015ad0  69 6d 6d 65 6e 73 65 20  67 65 79 73 65 72 20 6f  |immense geyser o|
00015ae0  66 20 62 6c 69 73 74 65  72 69 6e 67 20 73 74 65  |f blistering ste|
00015af0  61 6d 20 65 72 75 70 74  73 20 5c 0a 20 20 20 20  |am erupts \.    |
00015b00  20 20 20 20 20 20 20 20  20 20 20 63 6f 6e 74 69  |           conti|
00015b10  6e 75 6f 75 73 6c 79 20  66 72 6f 6d 20 61 20 62  |nuously from a b|
00015b20  61 72 72 65 6e 20 69 73  6c 61 6e 64 20 69 6e 20  |arren island in |
00015b30  74 68 65 20 63 65 6e 74  65 72 20 6f 66 20 61 20  |the center of a |
00015b40  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
00015b50  20 73 75 6c 66 75 72 6f  75 73 20 6c 61 6b 65 2c  | sulfurous lake,|
00015b60  20 77 68 69 63 68 20 62  75 62 62 6c 65 73 20 6f  | which bubbles o|
00015b70  6d 69 6e 6f 75 73 6c 79  2e 20 20 54 68 65 20 66  |minously.  The f|
00015b80  61 72 20 5c 0a 20 20 20  20 20 20 20 20 20 20 20  |ar \.           |
00015b90  20 20 20 20 72 69 67 68  74 20 77 61 6c 6c 20 69  |    right wall i|
00015ba0  73 20 61 66 6c 61 6d 65  20 77 69 74 68 20 61 6e  |s aflame with an|
00015bb0  20 69 6e 63 61 6e 64 65  73 63 65 6e 63 65 20 6f  | incandescence o|
00015bc0  66 20 69 74 73 20 5c 0a  20 20 20 20 20 20 20 20  |f its \.        |
00015bd0  20 20 20 20 20 20 20 6f  77 6e 2c 20 77 68 69 63  |       own, whic|
00015be0  68 20 6c 65 6e 64 73 20  61 6e 20 61 64 64 69 74  |h lends an addit|
00015bf0  69 6f 6e 61 6c 20 69 6e  66 65 72 6e 61 6c 20 73  |ional infernal s|
00015c00  70 6c 65 6e 64 6f 72 20  74 6f 20 5c 0a 20 20 20  |plendor to \.   |
00015c10  20 20 20 20 20 20 20 20  20 20 20 20 74 68 65 20  |            the |
00015c20  61 6c 72 65 61 64 79 20  68 65 6c 6c 69 73 68 20  |already hellish |
00015c30  73 63 65 6e 65 2e 20 20  41 20 64 61 72 6b 2c 20  |scene.  A dark, |
00015c40  66 6f 72 62 6f 64 69 6e  67 20 70 61 73 73 61 67  |forboding passag|
00015c50  65 20 5c 0a 20 20 20 20  20 20 20 20 20 20 20 20  |e \.            |
00015c60  20 20 20 65 78 69 74 73  20 74 6f 20 74 68 65 20  |   exits to the |
00015c70  73 6f 75 74 68 2e 22 2c  0a 20 20 20 20 20 20 20  |south.",.       |
00015c80  73 5f 74 6f 20 41 74 5f  4a 75 6e 63 74 69 6f 6e  |s_to At_Junction|
00015c90  5f 57 69 74 68 5f 57 61  72 6d 5f 57 61 6c 6c 73  |_With_Warm_Walls|
00015ca0  2c 0a 20 20 20 20 20 20  20 6f 75 74 5f 74 6f 20  |,.       out_to |
00015cb0  41 74 5f 4a 75 6e 63 74  69 6f 6e 5f 57 69 74 68  |At_Junction_With|
00015cc0  5f 57 61 72 6d 5f 57 61  6c 6c 73 2c 0a 20 20 20  |_Warm_Walls,.   |
00015cd0  20 20 20 20 64 5f 74 6f  20 22 44 6f 6e 27 74 20  |    d_to "Don't |
00015ce0  62 65 20 72 69 64 69 63  75 6c 6f 75 73 21 22 2c  |be ridiculous!",|
00015cf0  0a 20 20 20 20 20 20 20  62 65 66 6f 72 65 20 5b  |.       before [|
00015d00  3b 20 4a 75 6d 70 3a 20  3c 3c 47 6f 20 64 5f 6f  |; Jump: <<Go d_o|
00015d10  62 6a 3e 3e 3b 20 5d 2c  0a 20 20 68 61 73 20 20  |bj>>; ],.  has  |
00015d20  6c 69 67 68 74 3b 0a 0a  0a 4e 65 61 72 62 79 20  |light;...Nearby |
00015d30  56 6f 6c 63 61 6e 6f 20  22 61 63 74 69 76 65 20  |Volcano "active |
00015d40  76 6f 6c 63 61 6e 6f 22  0a 20 20 77 69 74 68 20  |volcano".  with |
00015d50  64 65 73 63 72 69 70 74  69 6f 6e 0a 20 20 20 20  |description.    |
00015d60  20 20 20 20 20 20 20 20  20 20 20 22 47 72 65 61  |           "Grea|
00015d70  74 20 67 6f 75 74 73 20  6f 66 20 6d 6f 6c 74 65  |t gouts of molte|
00015d80  6e 20 6c 61 76 61 20 63  6f 6d 65 20 73 75 72 67  |n lava come surg|
00015d90  69 6e 67 20 6f 75 74 20  6f 66 20 74 68 65 20 5c  |ing out of the \|
00015da0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00015db0  76 6f 6c 76 61 6e 6f 20  61 6e 64 20 67 6f 20 63  |volvano and go c|
00015dc0  61 73 63 61 64 69 6e 67  20 62 61 63 6b 20 64 6f  |ascading back do|
00015dd0  77 6e 20 69 6e 74 6f 20  74 68 65 20 64 65 70 74  |wn into the dept|
00015de0  68 73 2e 20 20 5c 0a 20  20 20 20 20 20 20 20 20  |hs.  \.         |
00015df0  20 20 20 20 20 20 54 68  65 20 67 6c 6f 77 69 6e  |      The glowin|
00015e00  67 20 72 6f 63 6b 20 66  69 6c 6c 73 20 74 68 65  |g rock fills the|
00015e10  20 66 61 72 74 68 65 73  74 20 72 65 61 63 68 65  | farthest reache|
00015e20  73 20 6f 66 20 74 68 65  20 5c 0a 20 20 20 20 20  |s of the \.     |
00015e30  20 20 20 20 20 20 20 20  20 20 63 61 76 65 72 6e  |          cavern|
00015e40  20 77 69 74 68 20 61 20  62 6c 6f 6f 64 2d 72 65  | with a blood-re|
00015e50  64 20 67 6c 61 72 65 2c  20 67 69 76 69 6e 67 20  |d glare, giving |
00015e60  65 76 65 72 79 74 68 69  6e 67 20 61 6e 20 5c 0a  |everything an \.|
00015e70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 65  |               e|
00015e80  65 72 69 65 2c 20 6d 61  63 61 62 72 65 20 61 70  |erie, macabre ap|
00015e90  70 65 61 72 61 6e 63 65  2e 22 2c 0a 20 20 20 20  |pearance.",.    |
00015ea0  20 20 20 6e 61 6d 65 20  22 76 6f 6c 63 61 6e 6f  |   name "volcano|
00015eb0  22 20 22 72 6f 63 6b 22  0a 20 20 20 20 20 20 20  |" "rock".       |
00015ec0  20 20 20 20 20 22 61 63  74 69 76 65 22 20 22 67  |     "active" "g|
00015ed0  6c 6f 77 69 6e 67 22 20  22 62 6c 6f 6f 64 22 20  |lowing" "blood" |
00015ee0  22 62 6c 6f 6f 64 2d 72  65 64 22 20 22 72 65 64  |"blood-red" "red|
00015ef0  22 20 22 65 65 72 69 65  22 20 22 6d 61 63 61 62  |" "eerie" "macab|
00015f00  72 65 22 0a 20 20 68 61  73 20 20 73 63 65 6e 65  |re".  has  scene|
00015f10  72 79 3b 0a 0a 0a 4e 65  61 72 62 79 20 53 70 61  |ry;...Nearby Spa|
00015f20  72 6b 73 20 22 73 70 61  72 6b 73 20 6f 66 20 61  |rks "sparks of a|
00015f30  73 68 22 0a 20 20 77 69  74 68 20 64 65 73 63 72  |sh".  with descr|
00015f40  69 70 74 69 6f 6e 20 22  54 68 65 20 73 70 61 72  |iption "The spar|
00015f50  6b 73 20 74 6f 6f 20 66  61 72 20 61 77 61 79 20  |ks too far away |
00015f60  66 6f 72 20 79 6f 75 20  74 6f 20 67 65 74 20 61  |for you to get a|
00015f70  20 67 6f 6f 64 20 6c 6f  6f 6b 20 61 74 20 5c 0a  | good look at \.|
00015f80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00015f90  20 20 20 20 74 68 65 6d  2e 22 2c 0a 20 20 20 20  |    them.",.    |
00015fa0  20 20 20 6e 61 6d 65 20  22 73 70 61 72 6b 22 20  |   name "spark" |
00015fb0  22 73 70 61 72 6b 73 22  20 22 61 73 68 22 20 22  |"sparks" "ash" "|
00015fc0  61 69 72 22 20 22 66 6c  69 63 6b 65 72 69 6e 67  |air" "flickering|
00015fd0  22 0a 20 20 68 61 73 20  20 73 63 65 6e 65 72 79  |".  has  scenery|
00015fe0  3b 0a 0a 0a 4e 65 61 72  62 79 20 4a 61 67 67 65  |;...Nearby Jagge|
00015ff0  64 52 6f 6f 66 20 22 6a  61 67 67 65 64 20 72 6f  |dRoof "jagged ro|
00016000  6f 66 22 0a 20 20 77 69  74 68 20 64 65 73 63 72  |of".  with descr|
00016010  69 70 74 69 6f 6e 0a 20  20 20 20 20 20 20 20 20  |iption.         |
00016020  20 20 20 20 20 20 22 45  6d 62 65 64 64 65 64 20  |      "Embedded |
00016030  69 6e 20 74 68 65 20 6a  61 67 67 65 64 20 72 6f  |in the jagged ro|
00016040  6f 66 20 66 61 72 20 6f  76 65 72 68 65 61 64 20  |of far overhead |
00016050  61 72 65 20 6d 79 72 69  61 64 20 5c 0a 20 20 20  |are myriad \.   |
00016060  20 20 20 20 20 20 20 20  20 20 20 20 74 77 69 73  |            twis|
00016070  74 65 64 20 66 6f 72 6d  61 74 69 6f 6e 73 20 63  |ted formations c|
00016080  6f 6d 70 6f 73 65 64 20  6f 66 20 70 75 72 65 20  |omposed of pure |
00016090  77 68 69 74 65 20 61 6c  61 62 61 73 74 65 72 2c  |white alabaster,|
000160a0  20 5c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  | \.             |
000160b0  20 20 77 68 69 63 68 20  73 63 61 74 74 65 72 20  |  which scatter |
000160c0  74 68 65 20 6d 75 72 6b  79 20 6c 69 67 68 74 20  |the murky light |
000160d0  69 6e 74 6f 20 73 69 6e  69 73 74 65 72 20 5c 0a  |into sinister \.|
000160e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 61  |               a|
000160f0  70 70 61 72 69 74 69 6f  6e 73 20 75 70 6f 6e 20  |pparitions upon |
00016100  74 68 65 20 77 61 6c 6c  73 2e 22 2c 0a 20 20 20  |the walls.",.   |
00016110  20 20 20 20 6e 61 6d 65  20 22 72 6f 6f 66 22 20  |    name "roof" |
00016120  22 66 6f 72 6d 61 74 69  6f 6e 73 22 20 22 6c 69  |"formations" "li|
00016130  67 68 74 22 20 22 61 70  70 61 72 61 69 74 69 6f  |ght" "apparaitio|
00016140  6e 73 22 0a 20 20 20 20  20 20 20 20 20 20 20 20  |ns".            |
00016150  22 6a 61 67 67 65 64 22  20 22 74 77 73 69 74 65  |"jagged" "twsite|
00016160  64 22 20 22 6d 75 72 6b  79 22 20 22 73 69 6e 69  |d" "murky" "sini|
00016170  73 74 65 72 22 0a 20 20  68 61 73 20 20 73 63 65  |ster".  has  sce|
00016180  6e 65 72 79 3b 0a 0a 4e  65 61 72 62 79 20 44 65  |nery;..Nearby De|
00016190  65 70 47 6f 72 67 65 20  22 64 65 65 70 20 67 6f  |epGorge "deep go|
000161a0  72 67 65 22 0a 20 20 77  69 74 68 20 64 65 73 63  |rge".  with desc|
000161b0  72 69 70 74 69 6f 6e 0a  20 20 20 20 20 20 20 20  |ription.        |
000161c0  20 20 20 20 20 20 20 22  54 68 65 20 67 6f 72 67  |       "The gorg|
000161d0  65 20 69 73 20 66 69 6c  6c 65 64 20 77 69 74 68  |e is filled with|
000161e0  20 61 20 62 69 7a 61 72  72 65 20 63 68 61 6f 73  | a bizarre chaos|
000161f0  20 6f 66 20 74 6f 72 74  75 72 65 64 20 5c 0a 20  | of tortured \. |
00016200  20 20 20 20 20 20 20 20  20 20 20 20 20 20 72 6f  |              ro|
00016210  63 6b 20 77 68 69 63 68  20 73 65 65 6d 73 20 74  |ck which seems t|
00016220  6f 20 68 61 76 65 20 62  65 65 6e 20 63 72 61 66  |o have been craf|
00016230  74 65 64 20 62 79 20 74  68 65 20 64 65 76 69 6c  |ted by the devil|
00016240  20 5c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  | \.             |
00016250  20 20 68 69 6d 73 65 6c  66 2e 22 2c 0a 20 20 20  |  himself.",.   |
00016260  20 20 20 20 6e 61 6d 65  20 22 67 6f 72 67 65 22  |    name "gorge"|
00016270  20 22 63 68 61 6f 73 22  20 22 72 6f 63 6b 22 20  | "chaos" "rock" |
00016280  22 64 65 65 70 22 20 22  62 69 7a 61 72 72 65 22  |"deep" "bizarre"|
00016290  20 22 74 6f 72 74 75 72  65 64 22 0a 20 20 68 61  | "tortured".  ha|
000162a0  73 20 20 73 63 65 6e 65  72 79 3b 0a 0a 4e 65 61  |s  scenery;..Nea|
000162b0  72 62 79 20 52 69 76 65  72 4f 66 46 69 72 65 20  |rby RiverOfFire |
000162c0  22 72 69 76 65 72 20 6f  66 20 66 69 72 65 22 0a  |"river of fire".|
000162d0  20 20 77 69 74 68 20 64  65 73 63 72 69 70 74 69  |  with descripti|
000162e0  6f 6e 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |on.             |
000162f0  20 20 22 54 68 65 20 72  69 76 65 72 20 6f 66 20  |  "The river of |
00016300  66 69 72 65 20 63 72 61  73 68 65 73 20 6f 75 74  |fire crashes out|
00016310  20 66 72 6f 6d 20 74 68  65 20 64 65 70 74 68 73  | from the depths|
00016320  20 6f 66 20 74 68 65 20  5c 0a 20 20 20 20 20 20  | of the \.      |
00016330  20 20 20 20 20 20 20 20  20 76 6f 6c 63 61 6e 6f  |         volcano|
00016340  2c 20 62 75 72 6e 73 20  69 74 73 20 77 61 79 20  |, burns its way |
00016350  74 68 72 6f 75 67 68 20  74 68 65 20 67 6f 72 67  |through the gorg|
00016360  65 2c 20 61 6e 64 20 5c  0a 20 20 20 20 20 20 20  |e, and \.       |
00016370  20 20 20 20 20 20 20 20  70 6c 75 6d 6d 65 74 73  |        plummets|
00016380  20 69 6e 74 6f 20 61 20  62 6f 74 74 6f 6d 6c 65  | into a bottomle|
00016390  73 73 20 70 69 74 20 66  61 72 20 6f 66 66 20 74  |ss pit far off t|
000163a0  6f 20 79 6f 75 72 20 5c  0a 20 20 20 20 20 20 20  |o your \.       |
000163b0  20 20 20 20 20 20 20 20  6c 65 66 74 2e 22 2c 0a  |        left.",.|
000163c0  20 20 20 20 20 20 20 6e  61 6d 65 20 22 72 69 76  |       name "riv|
000163d0  65 72 22 20 22 66 69 72  65 22 20 22 64 65 70 74  |er" "fire" "dept|
000163e0  68 22 20 22 70 69 74 22  20 22 66 69 72 65 22 20  |h" "pit" "fire" |
000163f0  22 66 69 65 72 79 22 20  22 62 6f 74 74 6f 6d 6c  |"fiery" "bottoml|
00016400  65 73 73 22 0a 20 20 68  61 73 20 20 73 63 65 6e  |ess".  has  scen|
00016410  65 72 79 3b 0a 0a 4e 65  61 72 62 79 20 47 65 79  |ery;..Nearby Gey|
00016420  73 65 72 20 22 69 6d 6d  65 6e 73 65 20 67 65 79  |ser "immense gey|
00016430  73 65 72 22 0a 20 20 77  69 74 68 20 64 65 73 63  |ser".  with desc|
00016440  72 69 70 74 69 6f 6e 0a  20 20 20 20 20 20 20 20  |ription.        |
00016450  20 20 20 20 20 20 20 22  54 68 65 20 67 65 79 73  |       "The geys|
00016460  65 72 20 6f 66 20 62 6c  69 73 74 65 72 69 6e 67  |er of blistering|
00016470  20 73 74 65 61 6d 20 65  72 75 70 74 73 20 63 6f  | steam erupts co|
00016480  6e 74 69 6e 75 6f 75 73  6c 79 20 5c 0a 20 20 20  |ntinuously \.   |
00016490  20 20 20 20 20 20 20 20  20 20 20 20 66 72 6f 6d  |            from|
000164a0  20 61 20 62 61 72 72 65  6e 20 69 73 6c 61 6e 64  | a barren island|
000164b0  20 69 6e 20 74 68 65 20  63 65 6e 74 65 72 20 6f  | in the center o|
000164c0  66 20 61 20 73 75 6c 66  75 72 6f 75 73 20 5c 0a  |f a sulfurous \.|
000164d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 6c  |               l|
000164e0  61 6b 65 2c 20 77 68 69  63 68 20 62 75 62 62 6c  |ake, which bubbl|
000164f0  65 73 20 6f 6d 69 6e 6f  75 73 6c 79 2e 22 2c 0a  |es ominously.",.|
00016500  20 20 20 20 20 20 20 6e  61 6d 65 20 22 67 65 79  |       name "gey|
00016510  73 65 72 22 20 22 73 74  65 61 6d 22 20 22 69 73  |ser" "steam" "is|
00016520  6c 61 6e 64 22 20 22 6c  61 6b 65 22 0a 20 20 20  |land" "lake".   |
00016530  20 20 20 20 20 20 20 20  20 22 69 6d 6d 65 6e 73  |         "immens|
00016540  65 22 20 22 62 6c 69 73  74 65 72 69 6e 67 22 20  |e" "blistering" |
00016550  22 62 61 72 72 65 6e 22  20 22 73 75 6c 66 72 6f  |"barren" "sulfro|
00016560  75 73 22 0a 20 20 20 20  20 20 20 20 20 20 20 20  |us".            |
00016570  22 73 75 6c 66 65 72 6f  75 73 22 20 22 73 75 6c  |"sulferous" "sul|
00016580  70 68 65 72 6f 75 73 22  20 22 73 75 6c 70 68 72  |pherous" "sulphr|
00016590  6f 75 73 22 20 22 62 75  62 62 6c 69 6e 67 22 0a  |ous" "bubbling".|
000165a0  20 20 68 61 73 20 20 73  63 65 6e 65 72 79 3b 0a  |  has  scenery;.|
000165b0  0a 0a 4f 62 6a 65 63 74  20 49 6e 5f 43 68 61 6d  |..Object In_Cham|
000165c0  62 65 72 5f 4f 66 5f 42  6f 75 6c 64 65 72 73 20  |ber_Of_Boulders |
000165d0  22 49 6e 20 43 68 61 6d  62 65 72 20 6f 66 20 42  |"In Chamber of B|
000165e0  6f 75 6c 64 65 72 73 22  0a 20 20 77 69 74 68 20  |oulders".  with |
000165f0  64 65 73 63 72 69 70 74  69 6f 6e 0a 20 20 20 20  |description.    |
00016600  20 20 20 20 20 20 20 20  20 20 20 22 59 6f 75 20  |           "You |
00016610  61 72 65 20 69 6e 20 61  20 73 6d 61 6c 6c 20 63  |are in a small c|
00016620  68 61 6d 62 65 72 20 66  69 6c 6c 65 64 20 77 69  |hamber filled wi|
00016630  74 68 20 6c 61 72 67 65  20 5c 0a 20 20 20 20 20  |th large \.     |
00016640  20 20 20 20 20 20 20 20  20 20 62 6f 75 6c 64 65  |          boulde|
00016650  72 73 2e 20 20 54 68 65  20 77 61 6c 6c 73 20 61  |rs.  The walls a|
00016660  72 65 20 76 65 72 79 20  77 61 72 6d 2c 20 63 61  |re very warm, ca|
00016670  75 73 69 6e 67 20 74 68  65 20 61 69 72 20 5c 0a  |using the air \.|
00016680  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 69  |               i|
00016690  6e 20 74 68 65 20 72 6f  6f 6d 20 74 6f 20 62 65  |n the room to be|
000166a0  20 61 6c 6d 6f 73 74 20  73 74 69 66 6c 69 6e 67  | almost stifling|
000166b0  20 66 72 6f 6d 20 74 68  65 20 68 65 61 74 2e 20  | from the heat. |
000166c0  20 54 68 65 20 5c 0a 20  20 20 20 20 20 20 20 20  | The \.         |
000166d0  20 20 20 20 20 20 6f 6e  6c 79 20 65 78 69 74 20  |      only exit |
000166e0  69 73 20 61 20 63 72 61  77 6c 20 68 65 61 64 69  |is a crawl headi|
000166f0  6e 67 20 77 65 73 74 2c  20 74 68 72 6f 75 67 68  |ng west, through|
00016700  20 77 68 69 63 68 20 69  73 20 5c 0a 20 20 20 20  | which is \.    |
00016710  20 20 20 20 20 20 20 20  20 20 20 63 6f 6d 69 6e  |           comin|
00016720  67 20 61 20 6c 6f 77 20  72 75 6d 62 6c 69 6e 67  |g a low rumbling|
00016730  2e 22 2c 0a 20 20 20 20  20 20 20 77 5f 74 6f 20  |.",.       w_to |
00016740  41 74 5f 4a 75 6e 63 74  69 6f 6e 5f 57 69 74 68  |At_Junction_With|
00016750  5f 57 61 72 6d 5f 57 61  6c 6c 73 2c 0a 20 20 20  |_Warm_Walls,.   |
00016760  20 20 20 20 6f 75 74 5f  74 6f 20 41 74 5f 4a 75  |    out_to At_Ju|
00016770  6e 63 74 69 6f 6e 5f 57  69 74 68 5f 57 61 72 6d  |nction_With_Warm|
00016780  5f 57 61 6c 6c 73 0a 20  20 68 61 73 20 20 6e 6f  |_Walls.  has  no|
00016790  64 77 61 72 66 3b 0a 0a  0a 4e 65 61 72 62 79 20  |dwarf;...Nearby |
000167a0  43 68 61 6d 62 65 72 42  6f 75 6c 64 65 72 73 20  |ChamberBoulders |
000167b0  22 62 6f 75 6c 64 65 72  73 22 0a 20 20 77 69 74  |"boulders".  wit|
000167c0  68 20 64 65 73 63 72 69  70 74 69 6f 6e 20 22 54  |h description "T|
000167d0  68 65 79 27 72 65 20 6a  75 73 74 20 6f 72 64 69  |hey're just ordi|
000167e0  6e 61 72 79 20 62 6f 75  6c 64 65 72 73 2e 20 20  |nary boulders.  |
000167f0  54 68 65 79 27 72 65 20  77 61 72 6d 2e 22 2c 0a  |They're warm.",.|
00016800  20 20 20 20 20 20 20 6e  61 6d 65 20 22 62 6f 75  |       name "bou|
00016810  6c 64 65 72 22 20 22 62  6f 75 6c 64 65 72 73 22  |lder" "boulders"|
00016820  20 22 72 6f 63 6b 73 22  20 22 73 74 6f 6e 65 73  | "rocks" "stones|
00016830  22 0a 20 20 68 61 73 20  20 73 63 65 6e 65 72 79  |".  has  scenery|
00016840  3b 0a 0a 4e 65 61 72 62  79 20 72 61 72 65 5f 73  |;..Nearby rare_s|
00016850  70 69 63 65 73 20 22 72  61 72 65 20 73 70 69 63  |pices "rare spic|
00016860  65 73 22 0a 20 63 6c 61  73 73 20 54 72 65 61 73  |es". class Treas|
00016870  75 72 65 0a 20 20 77 69  74 68 20 6e 61 6d 65 20  |ure.  with name |
00016880  22 73 70 69 63 65 73 22  20 22 73 70 69 63 65 22  |"spices" "spice"|
00016890  20 22 72 61 72 65 22 20  22 65 78 6f 74 69 63 22  | "rare" "exotic"|
000168a0  2c 0a 20 20 20 20 20 20  20 64 65 70 6f 73 69 74  |,.       deposit|
000168b0  70 6f 69 6e 74 73 20 31  34 2c 20 61 72 74 69 63  |points 14, artic|
000168c0  6c 65 20 22 61 20 73 65  6c 65 63 74 69 6f 6e 20  |le "a selection |
000168d0  6f 66 22 2c 0a 20 20 20  20 20 20 20 62 65 66 6f  |of",.       befo|
000168e0  72 65 0a 20 20 20 20 20  20 20 5b 3b 20 53 6d 65  |re.       [; Sme|
000168f0  6c 6c 2c 20 45 78 61 6d  69 6e 65 3a 20 22 54 68  |ll, Examine: "Th|
00016900  65 79 20 73 6d 65 6c 6c  20 77 6f 6e 64 65 72 66  |ey smell wonderf|
00016910  75 6c 6c 79 20 65 78 6f  74 69 63 21 22 3b 0a 20  |ully exotic!";. |
00016920  20 20 20 20 20 20 5d 3b  0a 0a 4f 62 6a 65 63 74  |      ];..Object|
00016930  20 49 6e 5f 4c 69 6d 65  73 74 6f 6e 65 5f 50 61  | In_Limestone_Pa|
00016940  73 73 61 67 65 20 22 49  6e 20 4c 69 6d 65 73 74  |ssage "In Limest|
00016950  6f 6e 65 20 50 61 73 73  61 67 65 22 0a 20 20 77  |one Passage".  w|
00016960  69 74 68 20 64 65 73 63  72 69 70 74 69 6f 6e 0a  |ith description.|
00016970  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 22  |               "|
00016980  59 6f 75 20 61 72 65 20  77 61 6c 6b 69 6e 67 20  |You are walking |
00016990  61 6c 6f 6e 67 20 61 20  67 65 6e 74 6c 79 20 73  |along a gently s|
000169a0  6c 6f 70 69 6e 67 20 5c  0a 20 20 20 20 20 20 20  |loping \.       |
000169b0  20 20 20 20 20 20 20 20  6e 6f 72 74 68 2f 73 6f  |        north/so|
000169c0  75 74 68 20 70 61 73 73  61 67 65 20 6c 69 6e 65  |uth passage line|
000169d0  64 20 77 69 74 68 20 6f  64 64 6c 79 20 73 68 61  |d with oddly sha|
000169e0  70 65 64 20 6c 69 6d 65  73 74 6f 6e 65 20 5c 0a  |ped limestone \.|
000169f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 66  |               f|
00016a00  6f 72 6d 61 74 69 6f 6e  73 2e 22 2c 0a 20 20 20  |ormations.",.   |
00016a10  20 20 20 20 6e 5f 74 6f  20 41 74 5f 46 6f 72 6b  |    n_to At_Fork|
00016a20  5f 49 6e 5f 50 61 74 68  2c 0a 20 20 20 20 20 20  |_In_Path,.      |
00016a30  20 75 5f 74 6f 20 41 74  5f 46 6f 72 6b 5f 49 6e  | u_to At_Fork_In|
00016a40  5f 50 61 74 68 2c 0a 20  20 20 20 20 20 20 73 5f  |_Path,.       s_|
00016a50  74 6f 20 49 6e 5f 46 72  6f 6e 74 5f 4f 66 5f 42  |to In_Front_Of_B|
00016a60  61 72 72 65 6e 5f 52 6f  6f 6d 2c 0a 20 20 20 20  |arren_Room,.    |
00016a70  20 20 20 64 5f 74 6f 20  49 6e 5f 46 72 6f 6e 74  |   d_to In_Front|
00016a80  5f 4f 66 5f 42 61 72 72  65 6e 5f 52 6f 6f 6d 0a  |_Of_Barren_Room.|
00016a90  20 20 68 61 73 20 20 6e  6f 64 77 61 72 66 3b 0a  |  has  nodwarf;.|
00016aa0  0a 4e 65 61 72 62 79 20  4c 69 6d 65 73 74 6f 6e  |.Nearby Limeston|
00016ab0  65 46 6f 72 6d 61 74 69  6f 6e 73 20 22 6c 69 6d  |eFormations "lim|
00016ac0  65 73 74 6f 6e 65 20 66  6f 72 6d 61 74 69 6f 6e  |estone formation|
00016ad0  73 22 0a 20 20 77 69 74  68 20 64 65 73 63 72 69  |s".  with descri|
00016ae0  70 74 69 6f 6e 0a 20 20  20 20 20 20 20 20 20 20  |ption.          |
00016af0  20 20 20 20 20 22 45 76  65 72 79 20 6e 6f 77 20  |     "Every now |
00016b00  61 6e 64 20 74 68 65 6e  20 61 20 70 61 72 74 69  |and then a parti|
00016b10  63 75 6c 61 72 6c 79 20  73 74 72 61 6e 67 65 20  |cularly strange |
00016b20  73 68 61 70 65 20 5c 0a  20 20 20 20 20 20 20 20  |shape \.        |
00016b30  20 20 20 20 20 20 20 63  61 74 63 68 65 73 20 79  |       catches y|
00016b40  6f 75 72 20 65 79 65 2e  22 2c 0a 20 20 20 20 20  |our eye.",.     |
00016b50  20 20 6e 61 6d 65 20 22  66 6f 72 6d 61 74 69 6f  |  name "formatio|
00016b60  6e 73 22 20 22 73 68 61  70 65 22 20 22 73 68 61  |ns" "shape" "sha|
00016b70  70 65 73 22 0a 20 20 20  20 20 20 20 20 20 20 20  |pes".           |
00016b80  20 22 6c 69 6d 65 22 20  22 6c 69 6d 65 73 74 6f  | "lime" "limesto|
00016b90  6e 65 22 20 22 73 74 6f  6e 65 22 20 22 6f 64 64  |ne" "stone" "odd|
00016ba0  6c 79 22 20 22 73 68 61  70 65 64 22 0a 20 20 20  |ly" "shaped".   |
00016bb0  20 20 20 20 20 20 20 20  20 22 6f 64 64 6c 79 2d  |         "oddly-|
00016bc0  73 68 61 70 65 64 22 0a  20 20 68 61 73 20 20 73  |shaped".  has  s|
00016bd0  63 65 6e 65 72 79 3b 0a  0a 21 20 2d 2d 2d 2d 2d  |cenery;..! -----|
00016be0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00016c20  2d 2d 2d 2d 2d 2d 2d 0a  21 20 20 20 49 66 20 79  |-------.!   If y|
00016c30  6f 75 20 67 6f 20 64 6f  77 6e 20 74 6f 20 74 68  |ou go down to th|
00016c40  65 20 77 6f 6f 64 73 20  74 6f 64 61 79 2e 2e 2e  |e woods today...|
00016c50  0a 21 20 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.! -------------|
00016c60  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00016c90  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 0a  |---------------.|
00016ca0  0a 4f 62 6a 65 63 74 20  49 6e 5f 46 72 6f 6e 74  |.Object In_Front|
00016cb0  5f 4f 66 5f 42 61 72 72  65 6e 5f 52 6f 6f 6d 20  |_Of_Barren_Room |
00016cc0  22 49 6e 20 46 72 6f 6e  74 20 6f 66 20 42 61 72  |"In Front of Bar|
00016cd0  72 65 6e 20 52 6f 6f 6d  22 0a 20 20 77 69 74 68  |ren Room".  with|
00016ce0  20 64 65 73 63 72 69 70  74 69 6f 6e 0a 20 20 20  | description.   |
00016cf0  20 20 20 20 20 20 20 20  20 20 20 20 22 59 6f 75  |            "You|
00016d00  20 61 72 65 20 73 74 61  6e 64 69 6e 67 20 61 74  | are standing at|
00016d10  20 74 68 65 20 65 6e 74  72 61 6e 63 65 20 74 6f  | the entrance to|
00016d20  20 61 20 6c 61 72 67 65  2c 20 5c 0a 20 20 20 20  | a large, \.    |
00016d30  20 20 20 20 20 20 20 20  20 20 20 62 61 72 72 65  |           barre|
00016d40  6e 20 72 6f 6f 6d 2e 20  20 41 20 73 69 67 6e 20  |n room.  A sign |
00016d50  70 6f 73 74 65 64 20 61  62 6f 76 65 20 74 68 65  |posted above the|
00016d60  20 65 6e 74 72 61 6e 63  65 20 72 65 61 64 73 3a  | entrance reads:|
00016d70  20 5c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  | \.             |
00016d80  20 20 7e 43 61 75 74 69  6f 6e 21 20 20 42 65 61  |  ~Caution!  Bea|
00016d90  72 20 69 6e 20 72 6f 6f  6d 21 7e 22 2c 0a 20 20  |r in room!~",.  |
00016da0  20 20 20 20 20 77 5f 74  6f 20 49 6e 5f 4c 69 6d  |     w_to In_Lim|
00016db0  65 73 74 6f 6e 65 5f 50  61 73 73 61 67 65 2c 0a  |estone_Passage,.|
00016dc0  20 20 20 20 20 20 20 75  5f 74 6f 20 49 6e 5f 4c  |       u_to In_L|
00016dd0  69 6d 65 73 74 6f 6e 65  5f 50 61 73 73 61 67 65  |imestone_Passage|
00016de0  2c 0a 20 20 20 20 20 20  20 65 5f 74 6f 20 49 6e  |,.       e_to In|
00016df0  5f 42 61 72 72 65 6e 5f  52 6f 6f 6d 2c 0a 20 20  |_Barren_Room,.  |
00016e00  20 20 20 20 20 69 6e 5f  74 6f 20 49 6e 5f 42 61  |     in_to In_Ba|
00016e10  72 72 65 6e 5f 52 6f 6f  6d 0a 20 20 68 61 73 20  |rren_Room.  has |
00016e20  20 6e 6f 64 77 61 72 66  3b 0a 0a 0a 4e 65 61 72  | nodwarf;...Near|
00016e30  62 79 20 42 61 72 72 65  6e 53 69 67 6e 20 22 63  |by BarrenSign "c|
00016e40  61 75 74 69 6f 6e 20 73  69 67 6e 22 0a 20 20 77  |aution sign".  w|
00016e50  69 74 68 20 64 65 73 63  72 69 70 74 69 6f 6e 20  |ith description |
00016e60  22 54 68 65 20 73 69 67  6e 20 72 65 61 64 73 2c  |"The sign reads,|
00016e70  20 7e 43 61 75 74 69 6f  6e 21 20 20 42 65 61 72  | ~Caution!  Bear|
00016e80  20 69 6e 20 72 6f 6f 6d  21 7e 22 2c 0a 20 20 20  | in room!~",.   |
00016e90  20 20 20 20 6e 61 6d 65  20 22 73 69 67 6e 22 20  |    name "sign" |
00016ea0  22 62 61 72 72 65 6e 22  20 22 72 6f 6f 6d 22 20  |"barren" "room" |
00016eb0  22 63 61 75 74 69 6f 6e  22 0a 20 20 68 61 73 20  |"caution".  has |
00016ec0  20 73 63 65 6e 65 72 79  3b 0a 0a 0a 4f 62 6a 65  | scenery;...Obje|
00016ed0  63 74 20 49 6e 5f 42 61  72 72 65 6e 5f 52 6f 6f  |ct In_Barren_Roo|
00016ee0  6d 20 22 49 6e 20 42 61  72 72 65 6e 20 52 6f 6f  |m "In Barren Roo|
00016ef0  6d 22 0a 20 20 77 69 74  68 20 64 65 73 63 72 69  |m".  with descri|
00016f00  70 74 69 6f 6e 0a 20 20  20 20 20 20 20 20 20 20  |ption.          |
00016f10  20 20 20 20 20 22 59 6f  75 20 61 72 65 20 69 6e  |     "You are in|
00016f20  73 69 64 65 20 61 20 62  61 72 72 65 6e 20 72 6f  |side a barren ro|
00016f30  6f 6d 2e 20 20 54 68 65  20 63 65 6e 74 65 72 20  |om.  The center |
00016f40  6f 66 20 5c 0a 20 20 20  20 20 20 20 20 20 20 20  |of \.           |
00016f50  20 20 20 20 74 68 65 20  72 6f 6f 6d 20 69 73 20  |    the room is |
00016f60  63 6f 6d 70 6c 65 74 65  6c 79 20 65 6d 70 74 79  |completely empty|
00016f70  20 65 78 63 65 70 74 20  66 6f 72 20 73 6f 6d 65  | except for some|
00016f80  20 64 75 73 74 2e 20 20  5c 0a 20 20 20 20 20 20  | dust.  \.      |
00016f90  20 20 20 20 20 20 20 20  20 4d 61 72 6b 73 20 69  |         Marks i|
00016fa0  6e 20 74 68 65 20 64 75  73 74 20 6c 65 61 64 20  |n the dust lead |
00016fb0  61 77 61 79 20 74 6f 77  61 72 64 20 74 68 65 20  |away toward the |
00016fc0  66 61 72 20 65 6e 64 20  6f 66 20 74 68 65 20 5c  |far end of the \|
00016fd0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00016fe0  72 6f 6f 6d 2e 20 20 54  68 65 20 6f 6e 6c 79 20  |room.  The only |
00016ff0  65 78 69 74 20 69 73 20  74 68 65 20 77 61 79 20  |exit is the way |
00017000  79 6f 75 20 63 61 6d 65  20 69 6e 2e 22 2c 0a 20  |you came in.",. |
00017010  20 20 20 20 20 20 77 5f  74 6f 20 49 6e 5f 46 72  |      w_to In_Fr|
00017020  6f 6e 74 5f 4f 66 5f 42  61 72 72 65 6e 5f 52 6f  |ont_Of_Barren_Ro|
00017030  6f 6d 2c 0a 20 20 20 20  20 20 20 6f 75 74 5f 74  |om,.       out_t|
00017040  6f 20 49 6e 5f 46 72 6f  6e 74 5f 4f 66 5f 42 61  |o In_Front_Of_Ba|
00017050  72 72 65 6e 5f 52 6f 6f  6d 0a 20 20 68 61 73 20  |rren_Room.  has |
00017060  20 6e 6f 64 77 61 72 66  3b 0a 0a 0a 4e 65 61 72  | nodwarf;...Near|
00017070  62 79 20 44 75 73 74 20  22 64 75 73 74 22 0a 20  |by Dust "dust". |
00017080  20 77 69 74 68 20 64 65  73 63 72 69 70 74 69 6f  | with descriptio|
00017090  6e 20 22 49 74 20 6a 75  73 74 20 6c 6f 6f 6b 73  |n "It just looks|
000170a0  20 6c 69 6b 65 20 6f 72  64 69 6e 61 72 79 20 64  | like ordinary d|
000170b0  75 73 74 2e 22 2c 0a 20  20 20 20 20 20 20 6e 61  |ust.",.       na|
000170c0  6d 65 20 22 64 75 73 74  22 20 22 6d 61 72 6b 73  |me "dust" "marks|
000170d0  22 0a 20 20 68 61 73 20  20 73 63 65 6e 65 72 79  |".  has  scenery|
000170e0  3b 0a 0a 4e 65 61 72 62  79 20 42 65 61 72 20 22  |;..Nearby Bear "|
000170f0  6c 61 72 67 65 20 63 61  76 65 20 62 65 61 72 22  |large cave bear"|
00017100  0a 20 20 77 69 74 68 20  64 65 73 63 72 69 62 65  |.  with describe|
00017110  0a 20 20 20 20 20 20 20  5b 3b 20 69 66 20 28 42  |.       [; if (B|
00017120  65 61 72 20 68 61 73 20  67 65 6e 65 72 61 6c 29  |ear has general)|
00017130  20 22 59 6f 75 20 61 72  65 20 62 65 69 6e 67 20  | "You are being |
00017140  66 6f 6c 6c 6f 77 65 64  20 62 79 20 61 20 76 65  |followed by a ve|
00017150  72 79 20 5c 0a 20 20 20  20 20 20 20 20 20 20 20  |ry \.           |
00017160  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00017170  20 20 20 20 20 20 6c 61  72 67 65 2c 20 74 61 6d  |      large, tam|
00017180  65 20 62 65 61 72 2e 22  3b 0a 20 20 20 20 20 20  |e bear.";.      |
00017190  20 20 20 20 69 66 20 28  42 65 61 72 20 68 61 73  |    if (Bear has|
000171a0  6e 74 20 73 63 6f 72 65  64 29 0a 20 20 20 20 20  |nt scored).     |
000171b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000171c0  20 20 20 20 20 20 20 20  20 20 20 22 54 68 65 72  |           "Ther|
000171d0  65 20 69 73 20 61 20 66  65 72 6f 63 69 6f 75 73  |e is a ferocious|
000171e0  20 63 61 76 65 20 62 65  61 72 20 5c 0a 20 20 20  | cave bear \.   |
000171f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00017200  20 20 20 20 20 20 20 20  20 20 20 20 20 20 65 79  |              ey|
00017210  65 69 6e 67 20 79 6f 75  20 66 72 6f 6d 20 74 68  |eing you from th|
00017220  65 20 66 61 72 20 65 6e  64 20 6f 66 20 74 68 65  |e far end of the|
00017230  20 72 6f 6f 6d 21 22 3b  0a 20 20 20 20 20 20 20  | room!";.       |
00017240  20 20 20 69 66 20 28 6c  6f 63 61 74 69 6f 6e 3d  |   if (location=|
00017250  3d 49 6e 5f 42 61 72 72  65 6e 5f 52 6f 6f 6d 29  |=In_Barren_Room)|
00017260  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00017270  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00017280  20 22 54 68 65 72 65 20  69 73 20 61 20 67 65 6e  | "There is a gen|
00017290  74 6c 65 20 63 61 76 65  20 62 65 61 72 20 5c 0a  |tle cave bear \.|
000172a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000172c0  20 73 69 74 74 69 6e 67  20 70 6c 61 63 69 64 6c  | sitting placidl|
000172d0  79 20 69 6e 20 6f 6e 65  20 63 6f 72 6e 65 72 2e  |y in one corner.|
000172e0  22 3b 0a 20 20 20 20 20  20 20 20 20 20 22 54 68  |";.          "Th|
000172f0  65 72 65 20 69 73 20 61  20 63 6f 6e 74 65 6e 74  |ere is a content|
00017300  65 64 2d 6c 6f 6f 6b 69  6e 67 20 5c 0a 20 20 20  |ed-looking \.   |
00017310  20 20 20 20 20 20 20 20  62 65 61 72 20 77 61 6e  |        bear wan|
00017320  64 65 72 69 6e 67 20 61  62 6f 75 74 20 6e 65 61  |dering about nea|
00017330  72 62 79 2e 22 3b 0a 20  20 20 20 20 20 20 5d 2c  |rby.";.       ],|
00017340  0a 20 20 20 20 20 20 20  6e 61 6d 65 20 22 62 65  |.       name "be|
00017350  61 72 22 20 22 6c 61 72  67 65 22 20 22 74 61 6d  |ar" "large" "tam|
00017360  65 22 20 22 66 65 72 6f  63 69 6f 75 73 22 20 22  |e" "ferocious" "|
00017370  63 61 76 65 22 2c 0a 20  20 20 20 20 20 20 6c 69  |cave",.       li|
00017380  66 65 0a 20 20 20 20 20  20 20 5b 3b 20 41 74 74  |fe.       [; Att|
00017390  61 63 6b 3a 20 69 66 20  28 61 78 65 20 69 6e 20  |ack: if (axe in |
000173a0  70 6c 61 79 65 72 29 20  3c 3c 54 68 72 6f 77 41  |player) <<ThrowA|
000173b0  74 20 61 78 65 20 42 65  61 72 3e 3e 0a 20 20 20  |t axe Bear>>.   |
000173c0  20 20 20 20 20 20 20 20  20 20 20 69 66 20 28 42  |           if (B|
000173d0  65 61 72 20 68 61 73 20  73 63 6f 72 65 64 29 0a  |ear has scored).|
000173e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000173f0  20 20 22 54 68 65 20 62  65 61 72 20 69 73 20 63  |  "The bear is c|
00017400  6f 6e 66 75 73 65 64 3b  20 68 65 20 6f 6e 6c 79  |onfused; he only|
00017410  20 77 61 6e 74 73 20 74  6f 20 62 65 20 79 6f 75  | wants to be you|
00017420  72 20 66 72 69 65 6e 64  2e 22 3b 0a 20 20 20 20  |r friend.";.    |
00017430  20 20 20 20 20 20 20 20  20 20 22 57 69 74 68 20  |          "With |
00017440  77 68 61 74 3f 20 20 59  6f 75 72 20 62 61 72 65  |what?  Your bare|
00017450  20 68 61 6e 64 73 3f 20  20 41 67 61 69 6e 73 74  | hands?  Against|
00017460  20 2a 68 69 73 2a 20 62  65 61 72 20 68 61 6e 64  | *his* bear hand|
00017470  73 3f 3f 22 3b 0a 20 20  20 20 20 20 20 20 20 20  |s??";.          |
00017480  54 68 72 6f 77 41 74 3a  20 0a 20 20 20 20 20 20  |ThrowAt: .      |
00017490  20 20 20 20 20 20 20 20  69 66 20 28 6e 6f 75 6e  |        if (noun|
000174a0  7e 3d 61 78 65 29 20 3c  3c 47 69 76 65 20 6e 6f  |~=axe) <<Give no|
000174b0  75 6e 20 42 65 61 72 3e  3e 3b 0a 20 20 20 20 20  |un Bear>>;.     |
000174c0  20 20 20 20 20 20 20 20  20 69 66 20 28 42 65 61  |         if (Bea|
000174d0  72 20 68 61 73 20 73 63  6f 72 65 64 29 0a 20 20  |r has scored).  |
000174e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000174f0  22 54 68 65 20 62 65 61  72 20 69 73 20 63 6f 6e  |"The bear is con|
00017500  66 75 73 65 64 3b 20 68  65 20 6f 6e 6c 79 20 77  |fused; he only w|
00017510  61 6e 74 73 20 74 6f 20  62 65 20 79 6f 75 72 20  |ants to be your |
00017520  66 72 69 65 6e 64 2e 22  3b 0a 20 20 20 20 20 20  |friend.";.      |
00017530  20 20 20 20 20 20 20 20  6d 6f 76 65 20 61 78 65  |        move axe|
00017540  20 74 6f 20 6c 6f 63 61  74 69 6f 6e 3b 20 67 69  | to location; gi|
00017550  76 65 20 61 78 65 20 67  65 6e 65 72 61 6c 3b 0a  |ve axe general;.|
00017560  20 20 20 20 20 20 20 20  20 20 20 20 20 20 22 54  |              "T|
00017570  68 65 20 61 78 65 20 6d  69 73 73 65 73 20 61 6e  |he axe misses an|
00017580  64 20 6c 61 6e 64 73 20  6e 65 61 72 20 74 68 65  |d lands near the|
00017590  20 62 65 61 72 20 5c 0a  20 20 20 20 20 20 20 20  | bear \.        |
000175a0  20 20 20 20 20 20 20 77  68 65 72 65 20 79 6f 75  |       where you|
000175b0  20 63 61 6e 27 74 20 67  65 74 20 61 74 20 69 74  | can't get at it|
000175c0  2e 22 3b 0a 20 20 20 20  20 20 20 20 20 20 47 69  |.";.          Gi|
000175d0  76 65 3a 0a 20 20 20 20  20 20 20 20 20 20 20 20  |ve:.            |
000175e0  20 20 69 66 20 28 6e 6f  75 6e 3d 3d 74 61 73 74  |  if (noun==tast|
000175f0  79 5f 66 6f 6f 64 29 0a  20 20 20 20 20 20 20 20  |y_food).        |
00017600  20 20 20 20 20 20 7b 20  20 20 67 69 76 65 20 61  |      {   give a|
00017610  78 65 20 7e 67 65 6e 65  72 61 6c 3b 20 72 65 6d  |xe ~general; rem|
00017620  6f 76 65 20 74 61 73 74  79 5f 66 6f 6f 64 3b 20  |ove tasty_food; |
00017630  67 69 76 65 20 42 65 61  72 20 73 63 6f 72 65 64  |give Bear scored|
00017640  3b 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |;.              |
00017650  20 20 20 20 22 54 68 65  20 62 65 61 72 20 65 61  |    "The bear ea|
00017660  67 65 72 6c 79 20 77 6f  6c 66 73 20 64 6f 77 6e  |gerly wolfs down|
00017670  20 79 6f 75 72 20 66 6f  6f 64 2c 20 61 66 74 65  | your food, afte|
00017680  72 20 5c 0a 20 20 20 20  20 20 20 20 20 20 20 20  |r \.            |
00017690  20 20 20 20 20 20 20 77  68 69 63 68 20 68 65 20  |       which he |
000176a0  73 65 65 6d 73 20 74 6f  20 63 61 6c 6d 20 64 6f  |seems to calm do|
000176b0  77 6e 20 63 6f 6e 73 69  64 65 72 61 62 6c 79 20  |wn considerably |
000176c0  61 6e 64 20 5c 0a 20 20  20 20 20 20 20 20 20 20  |and \.          |
000176d0  20 20 20 20 20 20 20 20  20 65 76 65 6e 20 62 65  |         even be|
000176e0  63 6f 6d 65 73 20 72 61  74 68 65 72 20 66 72 69  |comes rather fri|
000176f0  65 6e 64 6c 79 2e 22 3b  0a 20 20 20 20 20 20 20  |endly.";.       |
00017700  20 20 20 20 20 20 20 7d  0a 20 20 20 20 20 20 20  |       }.       |
00017710  20 20 20 20 20 20 20 69  66 20 28 42 65 61 72 20  |       if (Bear |
00017720  68 61 73 20 73 63 6f 72  65 64 29 0a 20 20 20 20  |has scored).    |
00017730  20 20 20 20 20 20 20 20  20 20 20 20 20 20 22 54  |              "T|
00017740  68 65 20 62 65 61 72 20  64 6f 65 73 6e 27 74 20  |he bear doesn't |
00017750  73 65 65 6d 20 76 65 72  79 20 69 6e 74 65 72 65  |seem very intere|
00017760  73 74 65 64 20 69 6e 20  79 6f 75 72 20 6f 66 66  |sted in your off|
00017770  65 72 2e 22 3b 0a 20 20  20 20 20 20 20 20 20 20  |er.";.          |
00017780  20 20 20 20 22 55 68 2d  6f 68 20 2d 2d 20 79 6f  |    "Uh-oh -- yo|
00017790  75 72 20 6f 66 66 65 72  20 6f 6e 6c 79 20 6d 61  |ur offer only ma|
000177a0  6b 65 73 20 74 68 65 20  62 65 61 72 20 61 6e 67  |kes the bear ang|
000177b0  72 69 65 72 21 22 3b 0a  20 20 20 20 20 20 20 20  |rier!";.        |
000177c0  20 20 4f 72 64 65 72 2c  20 41 73 6b 2c 20 41 6e  |  Order, Ask, An|
000177d0  73 77 65 72 3a 20 22 54  68 69 73 20 69 73 20 61  |swer: "This is a|
000177e0  20 42 65 61 72 20 6f 66  20 76 65 72 79 20 6c 69  | Bear of very li|
000177f0  74 74 6c 65 20 62 72 61  69 6e 2e 22 3b 0a 20 20  |ttle brain.";.  |
00017800  20 20 20 20 20 5d 2c 0a  20 20 20 20 20 20 20 62  |     ],.       b|
00017810  65 66 6f 72 65 0a 20 20  20 20 20 20 20 5b 3b 20  |efore.       [; |
00017820  45 78 61 6d 69 6e 65 3a  0a 20 20 20 20 20 20 20  |Examine:.       |
00017830  20 20 20 20 20 20 20 70  72 69 6e 74 20 22 54 68  |       print "Th|
00017840  65 20 62 65 61 72 20 69  73 20 65 78 74 72 65 6d  |e bear is extrem|
00017850  65 6c 79 20 6c 61 72 67  65 2c 20 22 3b 0a 20 20  |ely large, ";.  |
00017860  20 20 20 20 20 20 20 20  20 20 20 20 69 66 20 28  |            if (|
00017870  42 65 61 72 20 68 61 73  20 73 63 6f 72 65 64 29  |Bear has scored)|
00017880  20 22 62 75 74 20 61 70  70 65 61 72 73 20 74 6f  | "but appears to|
00017890  20 62 65 20 66 72 69 65  6e 64 6c 79 2e 22 3b 0a  | be friendly.";.|
000178a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 22 61  |              "a|
000178b0  6e 64 20 73 65 65 6d 73  20 71 75 69 74 65 20 66  |nd seems quite f|
000178c0  65 72 6f 63 69 6f 75 73  21 22 3b 0a 20 20 20 20  |erocious!";.    |
000178d0  20 20 20 20 20 20 54 61  6b 65 2c 20 43 61 74 63  |      Take, Catc|
000178e0  68 3a 20 69 66 20 28 42  65 61 72 20 68 61 73 6e  |h: if (Bear hasn|
000178f0  74 20 73 63 6f 72 65 64  29 20 22 53 75 72 65 6c  |t scored) "Surel|
00017900  79 20 79 6f 75 27 72 65  20 6a 6f 6b 69 6e 67 21  |y you're joking!|
00017910  22 3b 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |";.             |
00017920  20 69 66 20 28 67 6f 6c  64 65 6e 5f 63 68 61 69  | if (golden_chai|
00017930  6e 20 68 61 73 20 6c 6f  63 6b 65 64 29 0a 20 20  |n has locked).  |
00017940  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00017950  22 54 68 65 20 62 65 61  72 20 69 73 20 73 74 69  |"The bear is sti|
00017960  6c 6c 20 63 68 61 69 6e  65 64 20 74 6f 20 74 68  |ll chained to th|
00017970  65 20 77 61 6c 6c 2e 22  3b 0a 20 20 20 20 20 20  |e wall.";.      |
00017980  20 20 20 20 20 20 20 20  67 69 76 65 20 42 65 61  |        give Bea|
00017990  72 20 67 65 6e 65 72 61  6c 3b 20 53 74 61 72 74  |r general; Start|
000179a0  44 61 65 6d 6f 6e 28 42  65 61 72 29 3b 0a 20 20  |Daemon(Bear);.  |
000179b0  20 20 20 20 20 20 20 20  20 20 20 20 22 4f 6b 2c  |            "Ok,|
000179c0  20 74 68 65 20 62 65 61  72 27 73 20 6e 6f 77 20  | the bear's now |
000179d0  66 6f 6c 6c 6f 77 69 6e  67 20 79 6f 75 20 61 72  |following you ar|
000179e0  6f 75 6e 64 2e 22 3b 0a  20 20 20 20 20 20 20 20  |ound.";.        |
000179f0  20 20 44 72 6f 70 2c 20  52 65 6c 65 61 73 65 3a  |  Drop, Release:|
00017a00  20 69 66 20 28 42 65 61  72 20 68 61 73 6e 74 20  | if (Bear hasnt |
00017a10  67 65 6e 65 72 61 6c 29  20 22 57 68 61 74 3f 22  |general) "What?"|
00017a20  3b 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |;.              |
00017a30  67 69 76 65 20 42 65 61  72 20 7e 67 65 6e 65 72  |give Bear ~gener|
00017a40  61 6c 3b 20 53 74 6f 70  44 61 65 6d 6f 6e 28 42  |al; StopDaemon(B|
00017a50  65 61 72 29 3b 0a 20 20  20 20 20 20 20 20 20 20  |ear);.          |
00017a60  20 20 20 20 69 66 20 28  54 72 6f 6c 6c 20 69 6e  |    if (Troll in|
00017a70  20 6c 6f 63 61 74 69 6f  6e 29 0a 20 20 20 20 20  | location).     |
00017a80  20 20 20 20 20 20 20 20  20 7b 20 20 20 72 65 6d  |         {   rem|
00017a90  6f 76 65 20 54 72 6f 6c  6c 3b 0a 20 20 20 20 20  |ove Troll;.     |
00017aa0  20 20 20 20 20 20 20 20  20 20 20 20 20 22 54 68  |             "Th|
00017ab0  65 20 62 65 61 72 20 6c  75 6d 62 65 72 73 20 74  |e bear lumbers t|
00017ac0  6f 77 61 72 64 20 74 68  65 20 74 72 6f 6c 6c 2c  |oward the troll,|
00017ad0  20 77 68 6f 20 6c 65 74  73 20 5c 0a 20 20 20 20  | who lets \.    |
00017ae0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 6f  |               o|
00017af0  75 74 20 61 20 73 74 61  72 74 6c 65 64 20 73 68  |ut a startled sh|
00017b00  72 69 65 6b 20 61 6e 64  20 73 63 75 72 72 69 65  |riek and scurrie|
00017b10  73 20 61 77 61 79 2e 20  20 54 68 65 20 5c 0a 20  |s away.  The \. |
00017b20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00017b30  20 20 62 65 61 72 20 73  6f 6f 6e 20 67 69 76 65  |  bear soon give|
00017b40  73 20 75 70 20 74 68 65  20 70 75 72 73 75 69 74  |s up the pursuit|
00017b50  20 61 6e 64 20 77 61 6e  64 65 72 73 20 5c 0a 20  | and wanders \. |
00017b60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00017b70  20 20 62 61 63 6b 2e 22  3b 0a 20 20 20 20 20 20  |  back.";.      |
00017b80  20 20 20 20 20 20 20 20  7d 0a 20 20 20 20 20 20  |        }.      |
00017b90  20 20 20 20 20 20 20 20  22 54 68 65 20 62 65 61  |        "The bea|
00017ba0  72 20 77 61 6e 64 65 72  73 20 61 77 61 79 20 66  |r wanders away f|
00017bb0  72 6f 6d 20 79 6f 75 2e  22 3b 0a 20 20 20 20 20  |rom you.";.     |
00017bc0  20 20 5d 2c 0a 20 20 20  20 20 20 20 74 69 6d 65  |  ],.       time|
00017bd0  5f 6c 65 66 74 20 30 2c  0a 20 20 20 20 20 20 20  |_left 0,.       |
00017be0  64 61 65 6d 6f 6e 0a 20  20 20 20 20 20 20 5b 3b  |daemon.       [;|
00017bf0  20 69 66 20 28 6c 6f 63  61 74 69 6f 6e 3d 3d 74  | if (location==t|
00017c00  68 65 64 61 72 6b 29 20  72 66 61 6c 73 65 3b 0a  |hedark) rfalse;.|
00017c10  20 20 20 20 20 20 20 20  20 20 69 66 20 28 6c 6f  |          if (lo|
00017c20  63 61 74 69 6f 6e 3d 3d  70 61 72 65 6e 74 28 42  |cation==parent(B|
00017c30  65 61 72 29 29 0a 20 20  20 20 20 20 20 20 20 20  |ear)).          |
00017c40  7b 20 20 20 69 66 20 28  6c 6f 63 61 74 69 6f 6e  |{   if (location|
00017c50  3d 3d 41 74 5f 42 72 65  61 74 68 5f 54 61 6b 69  |==At_Breath_Taki|
00017c60  6e 67 5f 56 69 65 77 29  0a 20 20 20 20 20 20 20  |ng_View).       |
00017c70  20 20 20 20 20 20 20 20  20 20 20 22 5e 54 68 65  |           "^The|
00017c80  20 62 65 61 72 20 72 6f  61 72 73 20 77 69 74 68  | bear roars with|
00017c90  20 64 65 6c 69 67 68 74  2e 22 3b 0a 20 20 20 20  | delight.";.    |
00017ca0  20 20 20 20 20 20 20 20  20 20 72 66 61 6c 73 65  |          rfalse|
00017cb0  3b 0a 20 20 20 20 20 20  20 20 20 20 7d 0a 20 20  |;.          }.  |
00017cc0  20 20 20 20 20 20 20 20  6d 6f 76 65 20 42 65 61  |        move Bea|
00017cd0  72 20 74 6f 20 6c 6f 63  61 74 69 6f 6e 3b 0a 20  |r to location;. |
00017ce0  20 20 20 20 20 20 20 20  20 22 5e 54 68 65 20 62  |         "^The b|
00017cf0  65 61 72 20 6c 75 6d 62  65 72 73 20 61 6c 6f 6e  |ear lumbers alon|
00017d00  67 20 62 65 68 69 6e 64  20 79 6f 75 2e 22 3b 0a  |g behind you.";.|
00017d10  20 20 20 20 20 20 20 5d  2c 0a 20 20 68 61 73 20  |       ],.  has |
00017d20  20 61 6e 69 6d 61 74 65  3b 0a 0a 4e 65 61 72 62  | animate;..Nearb|
00017d30  79 20 67 6f 6c 64 65 6e  5f 63 68 61 69 6e 20 22  |y golden_chain "|
00017d40  67 6f 6c 64 65 6e 20 63  68 61 69 6e 22 0a 20 63  |golden chain". c|
00017d50  6c 61 73 73 20 54 72 65  61 73 75 72 65 0a 20 20  |lass Treasure.  |
00017d60  77 69 74 68 20 64 65 70  6f 73 69 74 70 6f 69 6e  |with depositpoin|
00017d70  74 73 20 31 34 2c 0a 20  20 20 20 20 20 20 64 65  |ts 14,.       de|
00017d80  73 63 72 69 62 65 0a 20  20 20 20 20 20 20 5b 3b  |scribe.       [;|
00017d90  20 69 66 20 28 73 65 6c  66 20 68 61 73 20 6c 6f  | if (self has lo|
00017da0  63 6b 65 64 29 20 22 54  68 65 20 62 65 61 72 20  |cked) "The bear |
00017db0  69 73 20 68 65 6c 64 20  62 61 63 6b 20 62 79 20  |is held back by |
00017dc0  61 20 73 6f 6c 69 64 20  67 6f 6c 64 20 63 68 61  |a solid gold cha|
00017dd0  69 6e 2e 22 3b 0a 20 20  20 20 20 20 20 20 20 20  |in.";.          |
00017de0  22 41 20 73 6f 6c 69 64  20 67 6f 6c 64 65 6e 20  |"A solid golden |
00017df0  63 68 61 69 6e 20 6c 69  65 73 20 69 6e 20 63 6f  |chain lies in co|
00017e00  69 6c 73 20 6f 6e 20 74  68 65 20 67 72 6f 75 6e  |ils on the groun|
00017e10  64 21 22 3b 0a 20 20 20  20 20 20 20 5d 2c 0a 20  |d!";.       ],. |
00017e20  20 20 20 20 20 20 64 65  73 63 72 69 70 74 69 6f  |      descriptio|
00017e30  6e 20 22 54 68 65 20 63  68 61 69 6e 20 68 61 73  |n "The chain has|
00017e40  20 74 68 69 63 6b 20 6c  69 6e 6b 73 20 6f 66 20  | thick links of |
00017e50  73 6f 6c 69 64 20 67 6f  6c 64 21 22 2c 0a 20 20  |solid gold!",.  |
00017e60  20 20 20 20 20 6e 61 6d  65 20 22 63 68 61 69 6e  |     name "chain|
00017e70  22 20 22 6c 69 6e 6b 73  22 20 22 73 68 61 63 6b  |" "links" "shack|
00017e80  6c 65 73 22 20 22 73 6f  6c 69 64 22 0a 20 20 20  |les" "solid".   |
00017e90  20 20 20 20 20 20 20 20  20 22 67 6f 6c 64 22 20  |         "gold" |
00017ea0  22 67 6f 6c 64 65 6e 22  20 22 74 68 69 63 6b 22  |"golden" "thick"|
00017eb0  20 22 63 68 61 69 6e 73  22 2c 0a 20 20 20 20 20  | "chains",.     |
00017ec0  20 20 77 69 74 68 5f 6b  65 79 20 73 65 74 5f 6f  |  with_key set_o|
00017ed0  66 5f 6b 65 79 73 2c 0a  20 20 20 20 20 20 20 62  |f_keys,.       b|
00017ee0  65 66 6f 72 65 0a 20 20  20 20 20 20 20 5b 3b 20  |efore.       [; |
00017ef0  54 61 6b 65 3a 20 69 66  20 28 73 65 6c 66 20 68  |Take: if (self h|
00017f00  61 73 20 6c 6f 63 6b 65  64 29 0a 20 20 20 20 20  |as locked).     |
00017f10  20 20 20 20 20 7b 20 20  20 69 66 20 28 42 65 61  |     {   if (Bea|
00017f20  72 20 68 61 73 20 73 63  6f 72 65 64 29 20 22 49  |r has scored) "I|
00017f30  74 27 73 20 6c 6f 63 6b  65 64 20 74 6f 20 74 68  |t's locked to th|
00017f40  65 20 66 72 69 65 6e 64  6c 79 20 62 65 61 72 2e  |e friendly bear.|
00017f50  22 3b 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |";.             |
00017f60  20 22 49 74 27 73 20 6c  6f 63 6b 65 64 20 74 6f  | "It's locked to|
00017f70  20 74 68 65 20 66 65 72  6f 63 69 6f 75 73 20 62  | the ferocious b|
00017f80  65 61 72 21 22 3b 0a 20  20 20 20 20 20 20 20 20  |ear!";.         |
00017f90  20 7d 0a 20 20 20 20 20  20 20 20 20 20 55 6e 6c  | }.          Unl|
00017fa0  6f 63 6b 3a 20 69 66 20  28 42 65 61 72 20 68 61  |ock: if (Bear ha|
00017fb0  73 6e 74 20 73 63 6f 72  65 64 29 0a 20 20 20 20  |snt scored).    |
00017fc0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00017fd0  20 20 22 54 68 65 72 65  20 69 73 20 6e 6f 20 77  |  "There is no w|
00017fe0  61 79 20 74 6f 20 67 65  74 20 70 61 73 74 20 74  |ay to get past t|
00017ff0  68 65 20 62 65 61 72 20  74 6f 20 5c 0a 20 20 20  |he bear to \.   |
00018000  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00018010  20 20 20 20 75 6e 6c 6f  63 6b 20 74 68 65 20 63  |    unlock the c|
00018020  68 61 69 6e 2c 20 77 68  69 63 68 20 69 73 20 70  |hain, which is p|
00018030  72 6f 62 61 62 6c 79 20  6a 75 73 74 20 61 73 20  |robably just as |
00018040  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
00018050  20 20 20 20 20 20 20 20  20 77 65 6c 6c 2e 22 3b  |         well.";|
00018060  0a 20 20 20 20 20 20 20  20 20 20 4c 6f 63 6b 3a  |.          Lock:|
00018070  20 22 54 68 65 20 6d 65  63 68 61 6e 69 73 6d 20  | "The mechanism |
00018080  77 6f 6e 27 74 20 6c 6f  63 6b 20 61 67 61 69 6e  |won't lock again|
00018090  2e 22 3b 0a 20 20 20 20  20 20 20 5d 2c 0a 20 20  |.";.       ],.  |
000180a0  20 20 20 20 20 61 66 74  65 72 0a 20 20 20 20 20  |     after.     |
000180b0  20 20 5b 3b 20 55 6e 6c  6f 63 6b 3a 20 22 59 6f  |  [; Unlock: "Yo|
000180c0  75 20 75 6e 6c 6f 63 6b  20 74 68 65 20 63 68 61  |u unlock the cha|
000180d0  69 6e 2c 20 61 6e 64 20  73 65 74 20 74 68 65 20  |in, and set the |
000180e0  74 61 6d 65 20 62 65 61  72 20 66 72 65 65 2e 22  |tame bear free."|
000180f0  3b 0a 20 20 20 20 20 20  20 5d 2c 0a 20 20 68 61  |;.       ],.  ha|
00018100  73 20 20 6c 6f 63 6b 61  62 6c 65 20 6c 6f 63 6b  |s  lockable lock|
00018110  65 64 3b 0a 0a 21 20 2d  2d 2d 2d 2d 2d 2d 2d 2d  |ed;..! ---------|
00018120  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00018160  2d 2d 2d 0a 21 20 20 20  54 68 65 20 44 69 66 66  |---.!   The Diff|
00018170  65 72 65 6e 74 20 4d 61  7a 65 0a 21 20 2d 2d 2d  |erent Maze.! ---|
00018180  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000181c0  2d 2d 2d 2d 2d 2d 2d 2d  2d 0a 0a 43 6c 61 73 73  |---------..Class|
000181d0  20 20 44 69 66 66 4d 61  7a 65 0a 20 20 77 69 74  |  DiffMaze.  wit|
000181e0  68 20 64 65 73 63 72 69  70 74 69 6f 6e 20 22 59  |h description "Y|
000181f0  6f 75 20 61 72 65 20 69  6e 20 61 20 6d 61 7a 65  |ou are in a maze|
00018200  20 6f 66 20 74 77 69 73  74 79 20 6c 69 74 74 6c  | of twisty littl|
00018210  65 20 70 61 73 73 61 67  65 73 2c 20 5c 0a 20 20  |e passages, \.  |
00018220  20 20 20 20 20 20 20 20  20 61 6c 6c 20 64 69 66  |         all dif|
00018230  66 65 72 65 6e 74 2e 22  3b 0a 0a 4f 62 6a 65 63  |ferent.";..Objec|
00018240  74 20 44 69 66 66 65 72  65 6e 74 5f 4d 61 7a 65  |t Different_Maze|
00018250  5f 31 20 22 4d 61 7a 65  22 0a 20 63 6c 61 73 73  |_1 "Maze". class|
00018260  20 44 69 66 66 4d 61 7a  65 0a 20 20 77 69 74 68  | DiffMaze.  with|
00018270  20 73 5f 74 6f 20 20 44  69 66 66 65 72 65 6e 74  | s_to  Different|
00018280  5f 4d 61 7a 65 5f 33 2c  0a 20 20 20 20 20 20 20  |_Maze_3,.       |
00018290  73 77 5f 74 6f 20 44 69  66 66 65 72 65 6e 74 5f  |sw_to Different_|
000182a0  4d 61 7a 65 5f 34 2c 0a  20 20 20 20 20 20 20 6e  |Maze_4,.       n|
000182b0  65 5f 74 6f 20 44 69 66  66 65 72 65 6e 74 5f 4d  |e_to Different_M|
000182c0  61 7a 65 5f 35 2c 0a 20  20 20 20 20 20 20 73 65  |aze_5,.       se|
000182d0  5f 74 6f 20 44 69 66 66  65 72 65 6e 74 5f 4d 61  |_to Different_Ma|
000182e0  7a 65 5f 36 2c 0a 20 20  20 20 20 20 20 75 5f 74  |ze_6,.       u_t|
000182f0  6f 20 20 44 69 66 66 65  72 65 6e 74 5f 4d 61 7a  |o  Different_Maz|
00018300  65 5f 37 2c 0a 20 20 20  20 20 20 20 6e 77 5f 74  |e_7,.       nw_t|
00018310  6f 20 44 69 66 66 65 72  65 6e 74 5f 4d 61 7a 65  |o Different_Maze|
00018320  5f 38 2c 0a 20 20 20 20  20 20 20 65 5f 74 6f 20  |_8,.       e_to |
00018330  20 44 69 66 66 65 72 65  6e 74 5f 4d 61 7a 65 5f  | Different_Maze_|
00018340  39 2c 0a 20 20 20 20 20  20 20 77 5f 74 6f 20 20  |9,.       w_to  |
00018350  44 69 66 66 65 72 65 6e  74 5f 4d 61 7a 65 5f 31  |Different_Maze_1|
00018360  30 2c 0a 20 20 20 20 20  20 20 6e 5f 74 6f 20 20  |0,.       n_to  |
00018370  44 69 66 66 65 72 65 6e  74 5f 4d 61 7a 65 5f 31  |Different_Maze_1|
00018380  31 2c 0a 20 20 20 20 20  20 20 64 5f 74 6f 20 20  |1,.       d_to  |
00018390  41 74 5f 57 65 73 74 5f  45 6e 64 5f 4f 66 5f 4c  |At_West_End_Of_L|
000183a0  6f 6e 67 5f 48 61 6c 6c  3b 0a 0a 0a 4f 62 6a 65  |ong_Hall;...Obje|
000183b0  63 74 20 44 69 66 66 65  72 65 6e 74 5f 4d 61 7a  |ct Different_Maz|
000183c0  65 5f 32 20 22 4d 61 7a  65 22 0a 20 63 6c 61 73  |e_2 "Maze". clas|
000183d0  73 20 44 69 66 66 4d 61  7a 65 0a 20 20 77 69 74  |s DiffMaze.  wit|
000183e0  68 0a 20 20 20 20 20 20  20 73 77 5f 74 6f 20 44  |h.       sw_to D|
000183f0  69 66 66 65 72 65 6e 74  5f 4d 61 7a 65 5f 33 2c  |ifferent_Maze_3,|
00018400  0a 20 20 20 20 20 20 20  6e 5f 74 6f 20 44 69 66  |.       n_to Dif|
00018410  66 65 72 65 6e 74 5f 4d  61 7a 65 5f 34 2c 0a 20  |ferent_Maze_4,. |
00018420  20 20 20 20 20 20 65 5f  74 6f 20 44 69 66 66 65  |      e_to Diffe|
00018430  72 65 6e 74 5f 4d 61 7a  65 5f 35 2c 0a 20 20 20  |rent_Maze_5,.   |
00018440  20 20 20 20 6e 77 5f 74  6f 20 44 69 66 66 65 72  |    nw_to Differ|
00018450  65 6e 74 5f 4d 61 7a 65  5f 36 2c 0a 20 20 20 20  |ent_Maze_6,.    |
00018460  20 20 20 73 65 5f 74 6f  20 44 69 66 66 65 72 65  |   se_to Differe|
00018470  6e 74 5f 4d 61 7a 65 5f  37 2c 0a 20 20 20 20 20  |nt_Maze_7,.     |
00018480  20 20 6e 65 5f 74 6f 20  44 69 66 66 65 72 65 6e  |  ne_to Differen|
00018490  74 5f 4d 61 7a 65 5f 38  2c 0a 20 20 20 20 20 20  |t_Maze_8,.      |
000184a0  20 77 5f 74 6f 20 44 69  66 66 65 72 65 6e 74 5f  | w_to Different_|
000184b0  4d 61 7a 65 5f 39 2c 0a  20 20 20 20 20 20 20 64  |Maze_9,.       d|
000184c0  5f 74 6f 20 44 69 66 66  65 72 65 6e 74 5f 4d 61  |_to Different_Ma|
000184d0  7a 65 5f 31 30 2c 0a 20  20 20 20 20 20 20 75 5f  |ze_10,.       u_|
000184e0  74 6f 20 44 69 66 66 65  72 65 6e 74 5f 4d 61 7a  |to Different_Maz|
000184f0  65 5f 31 31 2c 0a 20 20  20 20 20 20 20 73 5f 74  |e_11,.       s_t|
00018500  6f 20 44 65 61 64 5f 45  6e 64 5f 31 34 3b 0a 0a  |o Dead_End_14;..|
00018510  4f 62 6a 65 63 74 20 44  69 66 66 65 72 65 6e 74  |Object Different|
00018520  5f 4d 61 7a 65 5f 33 20  22 4d 61 7a 65 22 0a 20  |_Maze_3 "Maze". |
00018530  63 6c 61 73 73 20 44 69  66 66 4d 61 7a 65 0a 20  |class DiffMaze. |
00018540  20 77 69 74 68 0a 20 20  20 20 20 20 20 77 5f 74  | with.       w_t|
00018550  6f 20 44 69 66 66 65 72  65 6e 74 5f 4d 61 7a 65  |o Different_Maze|
00018560  5f 31 2c 0a 20 20 20 20  20 20 20 73 65 5f 74 6f  |_1,.       se_to|
00018570  20 44 69 66 66 65 72 65  6e 74 5f 4d 61 7a 65 5f  | Different_Maze_|
00018580  34 2c 0a 20 20 20 20 20  20 20 6e 77 5f 74 6f 20  |4,.       nw_to |
00018590  44 69 66 66 65 72 65 6e  74 5f 4d 61 7a 65 5f 35  |Different_Maze_5|
000185a0  2c 0a 20 20 20 20 20 20  20 73 77 5f 74 6f 20 44  |,.       sw_to D|
000185b0  69 66 66 65 72 65 6e 74  5f 4d 61 7a 65 5f 36 2c  |ifferent_Maze_6,|
000185c0  0a 20 20 20 20 20 20 20  6e 65 5f 74 6f 20 44 69  |.       ne_to Di|
000185d0  66 66 65 72 65 6e 74 5f  4d 61 7a 65 5f 37 2c 0a  |fferent_Maze_7,.|
000185e0  20 20 20 20 20 20 20 75  5f 74 6f 20 44 69 66 66  |       u_to Diff|
000185f0  65 72 65 6e 74 5f 4d 61  7a 65 5f 38 2c 0a 20 20  |erent_Maze_8,.  |
00018600  20 20 20 20 20 64 5f 74  6f 20 44 69 66 66 65 72  |     d_to Differ|
00018610  65 6e 74 5f 4d 61 7a 65  5f 39 2c 0a 20 20 20 20  |ent_Maze_9,.    |
00018620  20 20 20 6e 5f 74 6f 20  44 69 66 66 65 72 65 6e  |   n_to Differen|
00018630  74 5f 4d 61 7a 65 5f 31  30 2c 0a 20 20 20 20 20  |t_Maze_10,.     |
00018640  20 20 73 5f 74 6f 20 44  69 66 66 65 72 65 6e 74  |  s_to Different|
00018650  5f 4d 61 7a 65 5f 31 31  2c 0a 20 20 20 20 20 20  |_Maze_11,.      |
00018660  20 65 5f 74 6f 20 44 69  66 66 65 72 65 6e 74 5f  | e_to Different_|
00018670  4d 61 7a 65 5f 32 3b 0a  0a 4f 62 6a 65 63 74 20  |Maze_2;..Object |
00018680  44 69 66 66 65 72 65 6e  74 5f 4d 61 7a 65 5f 34  |Different_Maze_4|
00018690  20 22 4d 61 7a 65 22 0a  20 63 6c 61 73 73 20 44  | "Maze". class D|
000186a0  69 66 66 4d 61 7a 65 0a  20 20 77 69 74 68 0a 20  |iffMaze.  with. |
000186b0  20 20 20 20 20 20 6e 77  5f 74 6f 20 44 69 66 66  |      nw_to Diff|
000186c0  65 72 65 6e 74 5f 4d 61  7a 65 5f 31 2c 0a 20 20  |erent_Maze_1,.  |
000186d0  20 20 20 20 20 75 5f 74  6f 20 44 69 66 66 65 72  |     u_to Differ|
000186e0  65 6e 74 5f 4d 61 7a 65  5f 33 2c 0a 20 20 20 20  |ent_Maze_3,.    |
000186f0  20 20 20 6e 5f 74 6f 20  44 69 66 66 65 72 65 6e  |   n_to Differen|
00018700  74 5f 4d 61 7a 65 5f 35  2c 0a 20 20 20 20 20 20  |t_Maze_5,.      |
00018710  20 73 5f 74 6f 20 44 69  66 66 65 72 65 6e 74 5f  | s_to Different_|
00018720  4d 61 7a 65 5f 36 2c 0a  20 20 20 20 20 20 20 77  |Maze_6,.       w|
00018730  5f 74 6f 20 44 69 66 66  65 72 65 6e 74 5f 4d 61  |_to Different_Ma|
00018740  7a 65 5f 37 2c 0a 20 20  20 20 20 20 20 73 77 5f  |ze_7,.       sw_|
00018750  74 6f 20 44 69 66 66 65  72 65 6e 74 5f 4d 61 7a  |to Different_Maz|
00018760  65 5f 38 2c 0a 20 20 20  20 20 20 20 6e 65 5f 74  |e_8,.       ne_t|
00018770  6f 20 44 69 66 66 65 72  65 6e 74 5f 4d 61 7a 65  |o Different_Maze|
00018780  5f 39 2c 0a 20 20 20 20  20 20 20 65 5f 74 6f 20  |_9,.       e_to |
00018790  44 69 66 66 65 72 65 6e  74 5f 4d 61 7a 65 5f 31  |Different_Maze_1|
000187a0  30 2c 0a 20 20 20 20 20  20 20 64 5f 74 6f 20 44  |0,.       d_to D|
000187b0  69 66 66 65 72 65 6e 74  5f 4d 61 7a 65 5f 31 31  |ifferent_Maze_11|
000187c0  2c 0a 20 20 20 20 20 20  20 73 65 5f 74 6f 20 44  |,.       se_to D|
000187d0  69 66 66 65 72 65 6e 74  5f 4d 61 7a 65 5f 32 3b  |ifferent_Maze_2;|
000187e0  0a 0a 4f 62 6a 65 63 74  20 44 69 66 66 65 72 65  |..Object Differe|
000187f0  6e 74 5f 4d 61 7a 65 5f  35 20 22 4d 61 7a 65 22  |nt_Maze_5 "Maze"|
00018800  0a 20 63 6c 61 73 73 20  44 69 66 66 4d 61 7a 65  |. class DiffMaze|
00018810  0a 20 20 77 69 74 68 0a  20 20 20 20 20 20 20 75  |.  with.       u|
00018820  5f 74 6f 20 44 69 66 66  65 72 65 6e 74 5f 4d 61  |_to Different_Ma|
00018830  7a 65 5f 31 2c 0a 20 20  20 20 20 20 20 64 5f 74  |ze_1,.       d_t|
00018840  6f 20 44 69 66 66 65 72  65 6e 74 5f 4d 61 7a 65  |o Different_Maze|
00018850  5f 33 2c 0a 20 20 20 20  20 20 20 77 5f 74 6f 20  |_3,.       w_to |
00018860  44 69 66 66 65 72 65 6e  74 5f 4d 61 7a 65 5f 34  |Different_Maze_4|
00018870  2c 0a 20 20 20 20 20 20  20 6e 65 5f 74 6f 20 44  |,.       ne_to D|
00018880  69 66 66 65 72 65 6e 74  5f 4d 61 7a 65 5f 36 2c  |ifferent_Maze_6,|
00018890  0a 20 20 20 20 20 20 20  73 77 5f 74 6f 20 44 69  |.       sw_to Di|
000188a0  66 66 65 72 65 6e 74 5f  4d 61 7a 65 5f 37 2c 0a  |fferent_Maze_7,.|
000188b0  20 20 20 20 20 20 20 65  5f 74 6f 20 44 69 66 66  |       e_to Diff|
000188c0  65 72 65 6e 74 5f 4d 61  7a 65 5f 38 2c 0a 20 20  |erent_Maze_8,.  |
000188d0  20 20 20 20 20 6e 5f 74  6f 20 44 69 66 66 65 72  |     n_to Differ|
000188e0  65 6e 74 5f 4d 61 7a 65  5f 39 2c 0a 20 20 20 20  |ent_Maze_9,.    |
000188f0  20 20 20 6e 77 5f 74 6f  20 44 69 66 66 65 72 65  |   nw_to Differe|
00018900  6e 74 5f 4d 61 7a 65 5f  31 30 2c 0a 20 20 20 20  |nt_Maze_10,.    |
00018910  20 20 20 73 65 5f 74 6f  20 44 69 66 66 65 72 65  |   se_to Differe|
00018920  6e 74 5f 4d 61 7a 65 5f  31 31 2c 0a 20 20 20 20  |nt_Maze_11,.    |
00018930  20 20 20 73 5f 74 6f 20  44 69 66 66 65 72 65 6e  |   s_to Differen|
00018940  74 5f 4d 61 7a 65 5f 32  3b 0a 0a 4f 62 6a 65 63  |t_Maze_2;..Objec|
00018950  74 20 44 69 66 66 65 72  65 6e 74 5f 4d 61 7a 65  |t Different_Maze|
00018960  5f 36 20 22 4d 61 7a 65  22 0a 20 63 6c 61 73 73  |_6 "Maze". class|
00018970  20 44 69 66 66 4d 61 7a  65 0a 20 20 77 69 74 68  | DiffMaze.  with|
00018980  0a 20 20 20 20 20 20 20  6e 65 5f 74 6f 20 44 69  |.       ne_to Di|
00018990  66 66 65 72 65 6e 74 5f  4d 61 7a 65 5f 31 2c 0a  |fferent_Maze_1,.|
000189a0  20 20 20 20 20 20 20 6e  5f 74 6f 20 44 69 66 66  |       n_to Diff|
000189b0  65 72 65 6e 74 5f 4d 61  7a 65 5f 33 2c 0a 20 20  |erent_Maze_3,.  |
000189c0  20 20 20 20 20 6e 77 5f  74 6f 20 44 69 66 66 65  |     nw_to Diffe|
000189d0  72 65 6e 74 5f 4d 61 7a  65 5f 34 2c 0a 20 20 20  |rent_Maze_4,.   |
000189e0  20 20 20 20 73 65 5f 74  6f 20 44 69 66 66 65 72  |    se_to Differ|
000189f0  65 6e 74 5f 4d 61 7a 65  5f 35 2c 0a 20 20 20 20  |ent_Maze_5,.    |
00018a00  20 20 20 65 5f 74 6f 20  44 69 66 66 65 72 65 6e  |   e_to Differen|
00018a10  74 5f 4d 61 7a 65 5f 37  2c 0a 20 20 20 20 20 20  |t_Maze_7,.      |
00018a20  20 64 5f 74 6f 20 44 69  66 66 65 72 65 6e 74 5f  | d_to Different_|
00018a30  4d 61 7a 65 5f 38 2c 0a  20 20 20 20 20 20 20 73  |Maze_8,.       s|
00018a40  5f 74 6f 20 44 69 66 66  65 72 65 6e 74 5f 4d 61  |_to Different_Ma|
00018a50  7a 65 5f 39 2c 0a 20 20  20 20 20 20 20 75 5f 74  |ze_9,.       u_t|
00018a60  6f 20 44 69 66 66 65 72  65 6e 74 5f 4d 61 7a 65  |o Different_Maze|
00018a70  5f 31 30 2c 0a 20 20 20  20 20 20 20 77 5f 74 6f  |_10,.       w_to|
00018a80  20 44 69 66 66 65 72 65  6e 74 5f 4d 61 7a 65 5f  | Different_Maze_|
00018a90  31 31 2c 0a 20 20 20 20  20 20 20 73 77 5f 74 6f  |11,.       sw_to|
00018aa0  20 44 69 66 66 65 72 65  6e 74 5f 4d 61 7a 65 5f  | Different_Maze_|
00018ab0  32 3b 0a 0a 4f 62 6a 65  63 74 20 44 69 66 66 65  |2;..Object Diffe|
00018ac0  72 65 6e 74 5f 4d 61 7a  65 5f 37 20 22 4d 61 7a  |rent_Maze_7 "Maz|
00018ad0  65 22 0a 20 63 6c 61 73  73 20 44 69 66 66 4d 61  |e". class DiffMa|
00018ae0  7a 65 0a 20 20 77 69 74  68 0a 20 20 20 20 20 20  |ze.  with.      |
00018af0  20 6e 5f 74 6f 20 44 69  66 66 65 72 65 6e 74 5f  | n_to Different_|
00018b00  4d 61 7a 65 5f 31 2c 0a  20 20 20 20 20 20 20 73  |Maze_1,.       s|
00018b10  65 5f 74 6f 20 44 69 66  66 65 72 65 6e 74 5f 4d  |e_to Different_M|
00018b20  61 7a 65 5f 33 2c 0a 20  20 20 20 20 20 20 64 5f  |aze_3,.       d_|
00018b30  74 6f 20 44 69 66 66 65  72 65 6e 74 5f 4d 61 7a  |to Different_Maz|
00018b40  65 5f 34 2c 0a 20 20 20  20 20 20 20 73 5f 74 6f  |e_4,.       s_to|
00018b50  20 44 69 66 66 65 72 65  6e 74 5f 4d 61 7a 65 5f  | Different_Maze_|
00018b60  35 2c 0a 20 20 20 20 20  20 20 65 5f 74 6f 20 44  |5,.       e_to D|
00018b70  69 66 66 65 72 65 6e 74  5f 4d 61 7a 65 5f 36 2c  |ifferent_Maze_6,|
00018b80  0a 20 20 20 20 20 20 20  77 5f 74 6f 20 44 69 66  |.       w_to Dif|
00018b90  66 65 72 65 6e 74 5f 4d  61 7a 65 5f 38 2c 0a 20  |ferent_Maze_8,. |
00018ba0  20 20 20 20 20 20 73 77  5f 74 6f 20 44 69 66 66  |      sw_to Diff|
00018bb0  65 72 65 6e 74 5f 4d 61  7a 65 5f 39 2c 0a 20 20  |erent_Maze_9,.  |
00018bc0  20 20 20 20 20 6e 65 5f  74 6f 20 44 69 66 66 65  |     ne_to Diffe|
00018bd0  72 65 6e 74 5f 4d 61 7a  65 5f 31 30 2c 0a 20 20  |rent_Maze_10,.  |
00018be0  20 20 20 20 20 6e 77 5f  74 6f 20 44 69 66 66 65  |     nw_to Diffe|
00018bf0  72 65 6e 74 5f 4d 61 7a  65 5f 31 31 2c 0a 20 20  |rent_Maze_11,.  |
00018c00  20 20 20 20 20 75 5f 74  6f 20 44 69 66 66 65 72  |     u_to Differ|
00018c10  65 6e 74 5f 4d 61 7a 65  5f 32 3b 0a 0a 4f 62 6a  |ent_Maze_2;..Obj|
00018c20  65 63 74 20 44 69 66 66  65 72 65 6e 74 5f 4d 61  |ect Different_Ma|
00018c30  7a 65 5f 38 20 22 4d 61  7a 65 22 0a 20 63 6c 61  |ze_8 "Maze". cla|
00018c40  73 73 20 44 69 66 66 4d  61 7a 65 0a 20 20 77 69  |ss DiffMaze.  wi|
00018c50  74 68 0a 20 20 20 20 20  20 20 65 5f 74 6f 20 44  |th.       e_to D|
00018c60  69 66 66 65 72 65 6e 74  5f 4d 61 7a 65 5f 31 2c  |ifferent_Maze_1,|
00018c70  0a 20 20 20 20 20 20 20  77 5f 74 6f 20 44 69 66  |.       w_to Dif|
00018c80  66 65 72 65 6e 74 5f 4d  61 7a 65 5f 33 2c 0a 20  |ferent_Maze_3,. |
00018c90  20 20 20 20 20 20 75 5f  74 6f 20 44 69 66 66 65  |      u_to Diffe|
00018ca0  72 65 6e 74 5f 4d 61 7a  65 5f 34 2c 0a 20 20 20  |rent_Maze_4,.   |
00018cb0  20 20 20 20 73 77 5f 74  6f 20 44 69 66 66 65 72  |    sw_to Differ|
00018cc0  65 6e 74 5f 4d 61 7a 65  5f 35 2c 0a 20 20 20 20  |ent_Maze_5,.    |
00018cd0  20 20 20 64 5f 74 6f 20  44 69 66 66 65 72 65 6e  |   d_to Differen|
00018ce0  74 5f 4d 61 7a 65 5f 36  2c 0a 20 20 20 20 20 20  |t_Maze_6,.      |
00018cf0  20 73 5f 74 6f 20 44 69  66 66 65 72 65 6e 74 5f  | s_to Different_|
00018d00  4d 61 7a 65 5f 37 2c 0a  20 20 20 20 20 20 20 6e  |Maze_7,.       n|
00018d10  77 5f 74 6f 20 44 69 66  66 65 72 65 6e 74 5f 4d  |w_to Different_M|
00018d20  61 7a 65 5f 39 2c 0a 20  20 20 20 20 20 20 73 65  |aze_9,.       se|
00018d30  5f 74 6f 20 44 69 66 66  65 72 65 6e 74 5f 4d 61  |_to Different_Ma|
00018d40  7a 65 5f 31 30 2c 0a 20  20 20 20 20 20 20 6e 65  |ze_10,.       ne|
00018d50  5f 74 6f 20 44 69 66 66  65 72 65 6e 74 5f 4d 61  |_to Different_Ma|
00018d60  7a 65 5f 31 31 2c 0a 20  20 20 20 20 20 20 6e 5f  |ze_11,.       n_|
00018d70  74 6f 20 44 69 66 66 65  72 65 6e 74 5f 4d 61 7a  |to Different_Maz|
00018d80  65 5f 32 3b 0a 0a 4f 62  6a 65 63 74 20 44 69 66  |e_2;..Object Dif|
00018d90  66 65 72 65 6e 74 5f 4d  61 7a 65 5f 39 20 22 4d  |ferent_Maze_9 "M|
00018da0  61 7a 65 22 0a 20 63 6c  61 73 73 20 44 69 66 66  |aze". class Diff|
00018db0  4d 61 7a 65 0a 20 20 77  69 74 68 0a 20 20 20 20  |Maze.  with.    |
00018dc0  20 20 20 73 65 5f 74 6f  20 44 69 66 66 65 72 65  |   se_to Differe|
00018dd0  6e 74 5f 4d 61 7a 65 5f  31 2c 0a 20 20 20 20 20  |nt_Maze_1,.     |
00018de0  20 20 6e 65 5f 74 6f 20  44 69 66 66 65 72 65 6e  |  ne_to Differen|
00018df0  74 5f 4d 61 7a 65 5f 33  2c 0a 20 20 20 20 20 20  |t_Maze_3,.      |
00018e00  20 73 5f 74 6f 20 44 69  66 66 65 72 65 6e 74 5f  | s_to Different_|
00018e10  4d 61 7a 65 5f 34 2c 0a  20 20 20 20 20 20 20 64  |Maze_4,.       d|
00018e20  5f 74 6f 20 44 69 66 66  65 72 65 6e 74 5f 4d 61  |_to Different_Ma|
00018e30  7a 65 5f 35 2c 0a 20 20  20 20 20 20 20 75 5f 74  |ze_5,.       u_t|
00018e40  6f 20 44 69 66 66 65 72  65 6e 74 5f 4d 61 7a 65  |o Different_Maze|
00018e50  5f 36 2c 0a 20 20 20 20  20 20 20 6e 77 5f 74 6f  |_6,.       nw_to|
00018e60  20 44 69 66 66 65 72 65  6e 74 5f 4d 61 7a 65 5f  | Different_Maze_|
00018e70  37 2c 0a 20 20 20 20 20  20 20 6e 5f 74 6f 20 44  |7,.       n_to D|
00018e80  69 66 66 65 72 65 6e 74  5f 4d 61 7a 65 5f 38 2c  |ifferent_Maze_8,|
00018e90  0a 20 20 20 20 20 20 20  73 77 5f 74 6f 20 44 69  |.       sw_to Di|
00018ea0  66 66 65 72 65 6e 74 5f  4d 61 7a 65 5f 31 30 2c  |fferent_Maze_10,|
00018eb0  0a 20 20 20 20 20 20 20  65 5f 74 6f 20 44 69 66  |.       e_to Dif|
00018ec0  66 65 72 65 6e 74 5f 4d  61 7a 65 5f 31 31 2c 0a  |ferent_Maze_11,.|
00018ed0  20 20 20 20 20 20 20 77  5f 74 6f 20 44 69 66 66  |       w_to Diff|
00018ee0  65 72 65 6e 74 5f 4d 61  7a 65 5f 32 3b 0a 0a 0a  |erent_Maze_2;...|
00018ef0  4f 62 6a 65 63 74 20 44  69 66 66 65 72 65 6e 74  |Object Different|
00018f00  5f 4d 61 7a 65 5f 31 30  20 22 4d 61 7a 65 22 0a  |_Maze_10 "Maze".|
00018f10  20 63 6c 61 73 73 20 44  69 66 66 4d 61 7a 65 0a  | class DiffMaze.|
00018f20  20 20 77 69 74 68 0a 20  20 20 20 20 20 20 64 5f  |  with.       d_|
00018f30  74 6f 20 44 69 66 66 65  72 65 6e 74 5f 4d 61 7a  |to Different_Maz|
00018f40  65 5f 31 2c 0a 20 20 20  20 20 20 20 65 5f 74 6f  |e_1,.       e_to|
00018f50  20 44 69 66 66 65 72 65  6e 74 5f 4d 61 7a 65 5f  | Different_Maze_|
00018f60  33 2c 0a 20 20 20 20 20  20 20 6e 65 5f 74 6f 20  |3,.       ne_to |
00018f70  44 69 66 66 65 72 65 6e  74 5f 4d 61 7a 65 5f 34  |Different_Maze_4|
00018f80  2c 0a 20 20 20 20 20 20  20 75 5f 74 6f 20 44 69  |,.       u_to Di|
00018f90  66 66 65 72 65 6e 74 5f  4d 61 7a 65 5f 35 2c 0a  |fferent_Maze_5,.|
00018fa0  20 20 20 20 20 20 20 77  5f 74 6f 20 44 69 66 66  |       w_to Diff|
00018fb0  65 72 65 6e 74 5f 4d 61  7a 65 5f 36 2c 0a 20 20  |erent_Maze_6,.  |
00018fc0  20 20 20 20 20 6e 5f 74  6f 20 44 69 66 66 65 72  |     n_to Differ|
00018fd0  65 6e 74 5f 4d 61 7a 65  5f 37 2c 0a 20 20 20 20  |ent_Maze_7,.    |
00018fe0  20 20 20 73 5f 74 6f 20  44 69 66 66 65 72 65 6e  |   s_to Differen|
00018ff0  74 5f 4d 61 7a 65 5f 38  2c 0a 20 20 20 20 20 20  |t_Maze_8,.      |
00019000  20 73 65 5f 74 6f 20 44  69 66 66 65 72 65 6e 74  | se_to Different|
00019010  5f 4d 61 7a 65 5f 39 2c  0a 20 20 20 20 20 20 20  |_Maze_9,.       |
00019020  73 77 5f 74 6f 20 44 69  66 66 65 72 65 6e 74 5f  |sw_to Different_|
00019030  4d 61 7a 65 5f 31 31 2c  0a 20 20 20 20 20 20 20  |Maze_11,.       |
00019040  6e 77 5f 74 6f 20 44 69  66 66 65 72 65 6e 74 5f  |nw_to Different_|
00019050  4d 61 7a 65 5f 32 3b 0a  0a 4f 62 6a 65 63 74 20  |Maze_2;..Object |
00019060  44 69 66 66 65 72 65 6e  74 5f 4d 61 7a 65 5f 31  |Different_Maze_1|
00019070  31 20 22 4d 61 7a 65 22  0a 20 63 6c 61 73 73 20  |1 "Maze". class |
00019080  44 69 66 66 4d 61 7a 65  0a 20 20 77 69 74 68 0a  |DiffMaze.  with.|
00019090  20 20 20 20 20 20 20 73  77 5f 74 6f 20 44 69 66  |       sw_to Dif|
000190a0  66 65 72 65 6e 74 5f 4d  61 7a 65 5f 31 2c 0a 20  |ferent_Maze_1,. |
000190b0  20 20 20 20 20 20 6e 77  5f 74 6f 20 44 69 66 66  |      nw_to Diff|
000190c0  65 72 65 6e 74 5f 4d 61  7a 65 5f 33 2c 0a 20 20  |erent_Maze_3,.  |
000190d0  20 20 20 20 20 65 5f 74  6f 20 44 69 66 66 65 72  |     e_to Differ|
000190e0  65 6e 74 5f 4d 61 7a 65  5f 34 2c 0a 20 20 20 20  |ent_Maze_4,.    |
000190f0  20 20 20 77 5f 74 6f 20  44 69 66 66 65 72 65 6e  |   w_to Differen|
00019100  74 5f 4d 61 7a 65 5f 35  2c 0a 20 20 20 20 20 20  |t_Maze_5,.      |
00019110  20 6e 5f 74 6f 20 44 69  66 66 65 72 65 6e 74 5f  | n_to Different_|
00019120  4d 61 7a 65 5f 36 2c 0a  20 20 20 20 20 20 20 64  |Maze_6,.       d|
00019130  5f 74 6f 20 44 69 66 66  65 72 65 6e 74 5f 4d 61  |_to Different_Ma|
00019140  7a 65 5f 37 2c 0a 20 20  20 20 20 20 20 73 65 5f  |ze_7,.       se_|
00019150  74 6f 20 44 69 66 66 65  72 65 6e 74 5f 4d 61 7a  |to Different_Maz|
00019160  65 5f 38 2c 0a 20 20 20  20 20 20 20 75 5f 74 6f  |e_8,.       u_to|
00019170  20 44 69 66 66 65 72 65  6e 74 5f 4d 61 7a 65 5f  | Different_Maze_|
00019180  39 2c 0a 20 20 20 20 20  20 20 73 5f 74 6f 20 44  |9,.       s_to D|
00019190  69 66 66 65 72 65 6e 74  5f 4d 61 7a 65 5f 31 30  |ifferent_Maze_10|
000191a0  2c 0a 20 20 20 20 20 20  20 6e 65 5f 74 6f 20 44  |,.       ne_to D|
000191b0  69 66 66 65 72 65 6e 74  5f 4d 61 7a 65 5f 32 3b  |ifferent_Maze_2;|
000191c0  0a 0a 0a 4f 62 6a 65 63  74 20 44 65 61 64 5f 45  |...Object Dead_E|
000191d0  6e 64 5f 31 34 20 22 44  65 61 64 20 45 6e 64 2c  |nd_14 "Dead End,|
000191e0  20 6e 65 61 72 20 56 65  6e 64 69 6e 67 20 4d 61  | near Vending Ma|
000191f0  63 68 69 6e 65 22 0a 20  63 6c 61 73 73 20 44 65  |chine". class De|
00019200  61 64 45 6e 64 52 6f 6f  6d 0a 20 20 77 69 74 68  |adEndRoom.  with|
00019210  20 64 65 73 63 72 69 70  74 69 6f 6e 0a 20 20 20  | description.   |
00019220  20 20 20 20 20 20 20 20  20 20 20 20 22 59 6f 75  |            "You|
00019230  20 68 61 76 65 20 72 65  61 63 68 65 64 20 61 20  | have reached a |
00019240  64 65 61 64 20 65 6e 64  2e 20 54 68 65 72 65 20  |dead end. There |
00019250  69 73 20 61 20 6d 61 73  73 69 76 65 20 5c 0a 20  |is a massive \. |
00019260  20 20 20 20 20 20 20 20  20 20 20 20 20 20 76 65  |              ve|
00019270  6e 64 69 6e 67 20 6d 61  63 68 69 6e 65 20 68 65  |nding machine he|
00019280  72 65 2e 22 2c 0a 20 20  20 20 20 20 20 6e 5f 74  |re.",.       n_t|
00019290  6f 20 44 69 66 66 65 72  65 6e 74 5f 4d 61 7a 65  |o Different_Maze|
000192a0  5f 32 2c 0a 20 20 20 20  20 20 20 6f 75 74 5f 74  |_2,.       out_t|
000192b0  6f 20 44 69 66 66 65 72  65 6e 74 5f 4d 61 7a 65  |o Different_Maze|
000192c0  5f 32 0a 20 20 68 61 73  20 20 6e 6f 64 77 61 72  |_2.  has  nodwar|
000192d0  66 3b 0a 0a 4e 65 61 72  62 79 20 50 69 72 61 74  |f;..Nearby Pirat|
000192e0  65 4d 65 73 73 61 67 65  20 22 6d 65 73 73 61 67  |eMessage "messag|
000192f0  65 20 69 6e 20 74 68 65  20 64 75 73 74 22 0a 20  |e in the dust". |
00019300  20 77 69 74 68 20 64 65  73 63 72 69 70 74 69 6f  | with descriptio|
00019310  6e 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |n.              |
00019320  20 22 54 68 65 20 6d 65  73 73 61 67 65 20 72 65  | "The message re|
00019330  61 64 73 2c 20 7e 54 68  69 73 20 69 73 20 6e 6f  |ads, ~This is no|
00019340  74 20 74 68 65 20 6d 61  7a 65 20 77 68 65 72 65  |t the maze where|
00019350  20 74 68 65 20 5c 0a 20  20 20 20 20 20 20 20 20  | the \.         |
00019360  20 20 20 20 20 20 70 69  72 61 74 65 20 6c 65 61  |      pirate lea|
00019370  76 65 73 20 68 69 73 20  74 72 65 61 73 75 72 65  |ves his treasure|
00019380  20 63 68 65 73 74 2e 7e  22 2c 0a 20 20 20 20 20  | chest.~",.     |
00019390  20 20 6e 61 6d 65 20 22  6d 65 73 73 61 67 65 22  |  name "message"|
000193a0  20 22 73 63 72 61 77 6c  22 20 22 77 72 69 74 69  | "scrawl" "writi|
000193b0  6e 67 22 20 22 73 63 72  69 70 74 22 20 22 73 63  |ng" "script" "sc|
000193c0  72 61 77 6c 65 64 22 20  22 66 6c 6f 77 65 72 79  |rawled" "flowery|
000193d0  22 2c 0a 20 20 20 20 20  20 20 69 6e 69 74 69 61  |",.       initia|
000193e0  6c 20 22 48 6d 6d 6d 2e  2e 2e 20 20 54 68 65 72  |l "Hmmm...  Ther|
000193f0  65 20 69 73 20 61 20 6d  65 73 73 61 67 65 20 68  |e is a message h|
00019400  65 72 65 20 5c 0a 20 20  20 20 20 20 20 20 20 20  |ere \.          |
00019410  20 20 20 20 20 20 73 63  72 61 77 6c 65 64 20 69  |      scrawled i|
00019420  6e 20 74 68 65 20 64 75  73 74 20 69 6e 20 61 20  |n the dust in a |
00019430  66 6c 6f 77 65 72 79 20  73 63 72 69 70 74 2e 22  |flowery script."|
00019440  0a 20 20 68 61 73 20 20  73 63 65 6e 65 72 79 3b  |.  has  scenery;|
00019450  0a 0a 0a 4e 65 61 72 62  79 20 56 65 6e 64 69 6e  |...Nearby Vendin|
00019460  67 4d 61 63 68 69 6e 65  20 22 76 65 6e 64 69 6e  |gMachine "vendin|
00019470  67 20 6d 61 63 68 69 6e  65 22 0a 20 20 77 69 74  |g machine".  wit|
00019480  68 20 64 65 73 63 72 69  70 74 69 6f 6e 0a 20 20  |h description.  |
00019490  20 20 20 20 20 20 20 20  20 20 20 20 20 22 54 68  |             "Th|
000194a0  65 20 69 6e 73 74 72 75  63 74 69 6f 6e 73 20 6f  |e instructions o|
000194b0  6e 20 74 68 65 20 76 65  6e 64 69 6e 67 20 6d 61  |n the vending ma|
000194c0  63 68 69 6e 65 20 72 65  61 64 2c 20 5c 0a 20 20  |chine read, \.  |
000194d0  20 20 20 20 20 20 20 20  20 20 20 20 20 7e 49 6e  |             ~In|
000194e0  73 65 72 74 20 63 6f 69  6e 73 20 74 6f 20 72 65  |sert coins to re|
000194f0  63 65 69 76 65 20 66 72  65 73 68 20 62 61 74 74  |ceive fresh batt|
00019500  65 72 69 65 73 2e 7e 22  2c 0a 20 20 20 20 20 20  |eries.~",.      |
00019510  20 6e 61 6d 65 20 22 6d  61 63 68 69 6e 65 22 20  | name "machine" |
00019520  22 73 6c 6f 74 22 20 22  76 65 6e 64 69 6e 67 22  |"slot" "vending"|
00019530  20 22 6d 61 73 73 69 76  65 22 20 22 62 61 74 74  | "massive" "batt|
00019540  65 72 79 22 20 22 63 6f  69 6e 22 2c 0a 20 20 20  |ery" "coin",.   |
00019550  20 20 20 20 62 65 66 6f  72 65 0a 20 20 20 20 20  |    before.     |
00019560  20 20 5b 3b 20 52 65 63  65 69 76 65 3a 0a 20 20  |  [; Receive:.  |
00019570  20 20 20 20 20 20 20 20  20 20 20 69 66 20 28 6e  |           if (n|
00019580  6f 75 6e 3d 3d 72 61 72  65 5f 63 6f 69 6e 73 29  |oun==rare_coins)|
00019590  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 7b 20  |.             { |
000195a0  20 20 6d 6f 76 65 20 66  72 65 73 68 5f 62 61 74  |  move fresh_bat|
000195b0  74 65 72 69 65 73 20 74  6f 20 6c 6f 63 61 74 69  |teries to locati|
000195c0  6f 6e 3b 0a 20 20 20 20  20 20 20 20 20 20 20 20  |on;.            |
000195d0  20 20 20 20 20 72 65 6d  6f 76 65 20 72 61 72 65  |     remove rare|
000195e0  5f 63 6f 69 6e 73 3b 0a  20 20 20 20 20 20 20 20  |_coins;.        |
000195f0  20 20 20 20 20 20 20 20  20 22 53 6f 6f 6e 20 61  |         "Soon a|
00019600  66 74 65 72 20 79 6f 75  20 69 6e 73 65 72 74 20  |fter you insert |
00019610  74 68 65 20 63 6f 69 6e  73 20 69 6e 20 74 68 65  |the coins in the|
00019620  20 63 6f 69 6e 20 5c 0a  20 20 20 20 20 20 20 20  | coin \.        |
00019630  20 20 20 20 20 20 20 20  20 20 73 6c 6f 74 2c 20  |          slot, |
00019640  74 68 65 20 76 65 6e 64  69 6e 67 20 6d 61 63 68  |the vending mach|
00019650  69 6e 65 73 20 6d 61 6b  65 73 20 61 20 67 72 69  |ines makes a gri|
00019660  6e 64 69 6e 67 20 5c 0a  20 20 20 20 20 20 20 20  |nding \.        |
00019670  20 20 20 20 20 20 20 20  20 20 73 6f 75 6e 64 2c  |          sound,|
00019680  20 61 6e 64 20 61 20 73  65 74 20 6f 66 20 66 72  | and a set of fr|
00019690  65 73 68 20 62 61 74 74  65 72 69 65 73 20 66 61  |esh batteries fa|
000196a0  6c 6c 73 20 61 74 20 79  6f 75 72 20 66 65 65 74  |lls at your feet|
000196b0  2e 22 3b 0a 20 20 20 20  20 20 20 20 20 20 20 20  |.";.            |
000196c0  20 7d 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  | }.             |
000196d0  22 54 68 65 20 6d 61 63  68 69 6e 65 20 73 65 65  |"The machine see|
000196e0  6d 73 20 74 6f 20 62 65  20 64 65 73 69 67 6e 65  |ms to be designe|
000196f0  64 20 74 6f 20 74 61 6b  65 20 63 6f 69 6e 73 2e  |d to take coins.|
00019700  22 3b 0a 20 20 20 20 20  20 20 20 20 20 41 74 74  |";.          Att|
00019710  61 63 6b 3a 0a 20 20 20  20 20 20 20 20 20 20 20  |ack:.           |
00019720  20 20 22 54 68 65 20 6d  61 63 68 69 6e 65 20 69  |  "The machine i|
00019730  73 20 71 75 69 74 65 20  73 74 75 72 64 79 20 61  |s quite sturdy a|
00019740  6e 64 20 73 75 72 76 69  76 65 73 20 79 6f 75 72  |nd survives your|
00019750  20 61 74 74 61 63 6b 20  5c 0a 20 20 20 20 20 20  | attack \.      |
00019760  20 20 20 20 20 20 20 20  77 69 74 68 6f 75 74 20  |        without |
00019770  67 65 74 74 69 6e 67 20  73 6f 20 6d 75 63 68 20  |getting so much |
00019780  61 73 20 61 20 73 63 72  61 74 63 68 2e 22 3b 0a  |as a scratch.";.|
00019790  20 20 20 20 20 20 20 20  20 20 4c 6f 6f 6b 55 6e  |          LookUn|
000197a0  64 65 72 3a 0a 20 20 20  20 20 20 20 20 20 20 20  |der:.           |
000197b0  20 20 20 20 22 59 6f 75  20 64 6f 6e 27 74 20 66  |    "You don't f|
000197c0  69 6e 64 20 61 6e 79 74  68 69 6e 67 20 75 6e 64  |ind anything und|
000197d0  65 72 20 74 68 65 20 6d  61 63 68 69 6e 65 2e 22  |er the machine."|
000197e0  3b 0a 20 20 20 20 20 20  20 20 20 20 53 65 61 72  |;.          Sear|
000197f0  63 68 3a 0a 20 20 20 20  20 20 20 20 20 20 20 20  |ch:.            |
00019800  20 20 20 22 59 6f 75 20  63 61 6e 27 74 20 67 65  |   "You can't ge|
00019810  74 20 69 6e 73 69 64 65  20 74 68 65 20 6d 61 63  |t inside the mac|
00019820  68 69 6e 65 2e 22 3b 0a  20 20 20 20 20 20 20 20  |hine.";.        |
00019830  20 20 54 61 6b 65 3a 20  22 54 68 65 20 76 65 6e  |  Take: "The ven|
00019840  64 69 6e 67 20 6d 61 63  68 69 6e 65 20 69 73 20  |ding machine is |
00019850  66 61 72 20 74 6f 6f 20  68 65 61 76 79 20 74 6f  |far too heavy to|
00019860  20 6d 6f 76 65 2e 22 3b  0a 20 20 20 20 20 20 20  | move.";.       |
00019870  5d 2c 0a 20 20 68 61 73  20 20 73 63 65 6e 65 72  |],.  has  scener|
00019880  79 3b 0a 0a 4f 62 6a 65  63 74 20 66 72 65 73 68  |y;..Object fresh|
00019890  5f 62 61 74 74 65 72 69  65 73 20 22 66 72 65 73  |_batteries "fres|
000198a0  68 20 62 61 74 74 65 72  69 65 73 22 20 56 65 6e  |h batteries" Ven|
000198b0  64 69 6e 67 4d 61 63 68  69 6e 65 0a 20 20 77 69  |dingMachine.  wi|
000198c0  74 68 20 64 65 73 63 72  69 70 74 69 6f 6e 20 22  |th description "|
000198d0  54 68 65 79 20 6c 6f 6f  6b 20 6c 69 6b 65 20 6f  |They look like o|
000198e0  72 64 69 6e 61 72 79 20  62 61 74 74 65 72 69 65  |rdinary batterie|
000198f0  73 2e 20 20 28 41 20 73  65 70 75 6c 63 68 72 61  |s.  (A sepulchra|
00019900  6c 20 5c 0a 20 20 20 20  20 20 20 20 20 20 20 20  |l \.            |
00019910  20 20 20 20 20 20 20 20  76 6f 69 63 65 20 73 61  |        voice sa|
00019920  79 73 2c 20 7e 53 74 69  6c 6c 20 67 6f 69 6e 67  |ys, ~Still going|
00019930  21 7e 29 22 2c 0a 20 20  20 20 20 20 20 69 6e 69  |!~)",.       ini|
00019940  74 69 61 6c 20 22 54 68  65 72 65 20 61 72 65 20  |tial "There are |
00019950  66 72 65 73 68 20 62 61  74 74 65 72 69 65 73 20  |fresh batteries |
00019960  68 65 72 65 2e 22 2c 0a  20 20 20 20 20 20 20 6e  |here.",.       n|
00019970  61 6d 65 20 22 62 61 74  74 65 72 69 65 73 22 20  |ame "batteries" |
00019980  22 62 61 74 74 65 72 79  22 20 22 66 72 65 73 68  |"battery" "fresh|
00019990  22 3b 0a 0a 4f 62 6a 65  63 74 20 6f 6c 64 5f 62  |";..Object old_b|
000199a0  61 74 74 65 72 69 65 73  20 22 77 6f 72 6e 2d 6f  |atteries "worn-o|
000199b0  75 74 20 62 61 74 74 65  72 69 65 73 22 0a 20 20  |ut batteries".  |
000199c0  77 69 74 68 20 64 65 73  63 72 69 70 74 69 6f 6e  |with description|
000199d0  20 22 54 68 65 79 20 6c  6f 6f 6b 20 6c 69 6b 65  | "They look like|
000199e0  20 6f 72 64 69 6e 61 72  79 20 62 61 74 74 65 72  | ordinary batter|
000199f0  69 65 73 2e 22 2c 0a 20  20 20 20 20 20 20 69 6e  |ies.",.       in|
00019a00  69 74 69 61 6c 20 22 53  6f 6d 65 20 77 6f 72 6e  |itial "Some worn|
00019a10  2d 6f 75 74 20 62 61 74  74 65 72 69 65 73 20 68  |-out batteries h|
00019a20  61 76 65 20 62 65 65 6e  20 64 69 73 63 61 72 64  |ave been discard|
00019a30  65 64 20 6e 65 61 72 62  79 2e 22 2c 0a 20 20 20  |ed nearby.",.   |
00019a40  20 20 20 20 6e 61 6d 65  20 22 62 61 74 74 65 72  |    name "batter|
00019a50  69 65 73 22 20 22 62 61  74 74 65 72 79 22 20 22  |ies" "battery" "|
00019a60  77 6f 72 6e 22 20 22 6f  75 74 22 20 22 77 6f 72  |worn" "out" "wor|
00019a70  6e 2d 6f 75 74 22 3b 0a  0a 21 20 2d 2d 2d 2d 2d  |n-out";..! -----|
00019a80  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00019ac0  2d 2d 2d 2d 2d 2d 2d 0a  21 20 20 20 44 77 61 72  |-------.!   Dwar|
00019ad0  76 65 73 21 0a 21 20 2d  2d 2d 2d 2d 2d 2d 2d 2d  |ves!.! ---------|
00019ae0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00019b20  2d 2d 2d 0a 0a 4f 62 6a  65 63 74 20 64 77 61 72  |---..Object dwar|
00019b30  66 20 22 74 68 72 65 61  74 65 6e 69 6e 67 20 6c  |f "threatening l|
00019b40  69 74 74 6c 65 20 64 77  61 72 66 22 0a 20 20 77  |ittle dwarf".  w|
00019b50  69 74 68 20 6e 61 6d 65  20 22 64 77 61 72 66 22  |ith name "dwarf"|
00019b60  20 22 74 68 72 65 61 74  65 6e 69 6e 67 22 20 22  | "threatening" "|
00019b70  6e 61 73 74 79 22 20 22  6c 69 74 74 6c 65 22 20  |nasty" "little" |
00019b80  22 6d 65 61 6e 22 2c 0a  20 20 20 20 20 20 20 64  |"mean",.       d|
00019b90  65 73 63 72 69 70 74 69  6f 6e 20 22 49 74 27 73  |escription "It's|
00019ba0  20 70 72 6f 62 61 62 6c  79 20 6e 6f 74 20 61 20  | probably not a |
00019bb0  67 6f 6f 64 20 69 64 65  61 20 74 6f 20 67 65 74  |good idea to get|
00019bc0  20 74 6f 6f 20 63 6c 6f  73 65 2e 20 20 53 75 66  | too close.  Suf|
00019bd0  66 69 63 65 20 5c 0a 20  20 20 20 20 20 20 20 20  |fice \.         |
00019be0  20 20 20 20 20 20 20 20  20 20 20 69 74 20 74 6f  |           it to|
00019bf0  20 73 61 79 20 74 68 65  20 6c 69 74 74 6c 65 20  | say the little |
00019c00  67 75 79 27 73 20 70 72  65 74 74 79 20 61 67 67  |guy's pretty agg|
00019c10  72 65 73 73 69 76 65 2e  22 2c 0a 20 20 20 20 20  |ressive.",.     |
00019c20  20 20 69 6e 69 74 69 61  6c 20 22 41 20 74 68 72  |  initial "A thr|
00019c30  65 61 74 65 6e 69 6e 67  20 6c 69 74 74 6c 65 20  |eatening little |
00019c40  64 77 61 72 66 20 68 69  64 65 73 20 69 6e 20 74  |dwarf hides in t|
00019c50  68 65 20 73 68 61 64 6f  77 73 2e 22 2c 0a 20 20  |he shadows.",.  |
00019c60  20 20 20 20 20 6e 75 6d  62 65 72 20 35 2c 0a 20  |     number 5,. |
00019c70  20 20 20 20 20 20 74 69  6d 65 5f 6c 65 66 74 20  |      time_left |
00019c80  30 2c 0a 20 20 20 20 20  20 20 64 61 65 6d 6f 6e  |0,.       daemon|
00019c90  0a 20 20 20 20 20 20 20  5b 3b 20 69 66 20 28 6c  |.       [; if (l|
00019ca0  6f 63 61 74 69 6f 6e 3d  3d 74 68 65 64 61 72 6b  |ocation==thedark|
00019cb0  29 20 72 74 72 75 65 3b  0a 20 20 20 20 20 20 20  |) rtrue;.       |
00019cc0  20 20 20 69 66 20 28 73  65 6c 66 2e 6e 75 6d 62  |   if (self.numb|
00019cd0  65 72 3d 3d 30 29 20 7b  20 53 74 6f 70 44 61 65  |er==0) { StopDae|
00019ce0  6d 6f 6e 28 73 65 6c 66  29 3b 20 72 74 72 75 65  |mon(self); rtrue|
00019cf0  3b 20 7d 0a 20 20 20 20  20 20 20 20 20 20 69 66  |; }.          if|
00019d00  20 28 70 61 72 65 6e 74  28 64 77 61 72 66 29 3d  | (parent(dwarf)=|
00019d10  3d 30 29 0a 20 20 20 20  20 20 20 20 20 20 7b 20  |=0).          { |
00019d20  20 20 69 66 20 28 6c 6f  63 61 74 69 6f 6e 20 68  |  if (location h|
00019d30  61 73 20 6e 6f 64 77 61  72 66 20 7c 7c 20 6c 6f  |as nodwarf || lo|
00019d40  63 61 74 69 6f 6e 20 68  61 73 20 6c 69 67 68 74  |cation has light|
00019d50  29 20 72 74 72 75 65 3b  0a 20 20 20 20 20 20 20  |) rtrue;.       |
00019d60  20 20 20 20 20 20 20 69  66 20 28 72 61 6e 64 6f  |       if (rando|
00019d70  6d 28 31 30 30 29 3c 3d  73 65 6c 66 2e 6e 75 6d  |m(100)<=self.num|
00019d80  62 65 72 29 0a 20 20 20  20 20 20 20 20 20 20 20  |ber).           |
00019d90  20 20 20 7b 20 20 20 69  66 20 28 42 65 61 72 20  |   {   if (Bear |
00019da0  69 6e 20 6c 6f 63 61 74  69 6f 6e 20 7c 7c 20 54  |in location || T|
00019db0  72 6f 6c 6c 20 69 6e 20  6c 6f 63 61 74 69 6f 6e  |roll in location|
00019dc0  29 20 72 74 72 75 65 3b  0a 20 20 20 20 20 20 20  |) rtrue;.       |
00019dd0  20 20 20 20 20 20 20 20  20 20 20 6e 65 77 5f 6c  |           new_l|
00019de0  69 6e 65 3b 0a 20 20 20  20 20 20 20 20 20 20 20  |ine;.           |
00019df0  20 20 20 20 20 20 20 69  66 20 28 44 72 61 67 6f  |       if (Drago|
00019e00  6e 20 69 6e 20 6c 6f 63  61 74 69 6f 6e 29 0a 20  |n in location). |
00019e10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00019e20  20 7b 20 20 20 73 65 6c  66 2e 6e 75 6d 62 65 72  | {   self.number|
00019e30  3d 73 65 6c 66 2e 6e 75  6d 62 65 72 2d 31 3b 0a  |=self.number-1;.|
00019e40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00019e50  20 20 20 20 20 20 22 41  20 64 77 61 72 66 20 61  |      "A dwarf a|
00019e60  70 70 65 61 72 73 2c 20  62 75 74 20 77 69 74 68  |ppears, but with|
00019e70  20 6f 6e 65 20 63 61 73  75 61 6c 20 62 6c 61 73  | one casual blas|
00019e80  74 20 74 68 65 20 64 72  61 67 6f 6e 20 5c 0a 20  |t the dragon \. |
00019e90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00019ea0  20 20 20 20 20 20 76 61  70 6f 75 72 69 73 65 73  |      vapourises|
00019eb0  20 68 69 6d 21 22 3b 0a  20 20 20 20 20 20 20 20  | him!";.        |
00019ec0  20 20 20 20 20 20 20 20  20 20 7d 0a 20 20 20 20  |          }.    |
00019ed0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 6d 6f  |              mo|
00019ee0  76 65 20 64 77 61 72 66  20 74 6f 20 6c 6f 63 61  |ve dwarf to loca|
00019ef0  74 69 6f 6e 3b 0a 20 20  20 20 20 20 20 20 20 20  |tion;.          |
00019f00  20 20 20 20 20 20 20 20  22 41 20 74 68 72 65 61  |        "A threa|
00019f10  74 65 6e 69 6e 67 20 6c  69 74 74 6c 65 20 64 77  |tening little dw|
00019f20  61 72 66 20 63 6f 6d 65  73 20 6f 75 74 20 6f 66  |arf comes out of|
00019f30  20 74 68 65 20 73 68 61  64 6f 77 73 21 22 3b 0a  | the shadows!";.|
00019f40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 7d 0a  |              }.|
00019f50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 72 74  |              rt|
00019f60  72 75 65 3b 0a 20 20 20  20 20 20 20 20 20 20 7d  |rue;.          }|
00019f70  0a 20 20 20 20 20 20 20  20 20 20 69 66 20 28 70  |.          if (p|
00019f80  61 72 65 6e 74 28 64 77  61 72 66 29 7e 3d 6c 6f  |arent(dwarf)~=lo|
00019f90  63 61 74 69 6f 6e 29 0a  20 20 20 20 20 20 20 20  |cation).        |
00019fa0  20 20 7b 20 20 20 69 66  20 28 6c 6f 63 61 74 69  |  {   if (locati|
00019fb0  6f 6e 3d 3d 74 68 65 64  61 72 6b 29 20 72 74 72  |on==thedark) rtr|
00019fc0  75 65 3b 0a 20 20 20 20  20 20 20 20 20 20 20 20  |ue;.            |
00019fd0  20 20 69 66 20 28 6c 6f  63 61 74 69 6f 6e 20 68  |  if (location h|
00019fe0  61 73 20 6e 6f 64 77 61  72 66 20 7c 7c 20 6c 6f  |as nodwarf || lo|
00019ff0  63 61 74 69 6f 6e 20 68  61 73 20 6c 69 67 68 74  |cation has light|
0001a000  29 20 72 74 72 75 65 3b  0a 20 20 20 20 20 20 20  |) rtrue;.       |
0001a010  20 20 20 20 20 20 20 69  66 20 28 72 61 6e 64 6f  |       if (rando|
0001a020  6d 28 31 30 30 29 3c 3d  39 36 20 26 26 20 70 61  |m(100)<=96 && pa|
0001a030  72 65 6e 74 28 64 77 61  72 66 29 7e 3d 49 6e 5f  |rent(dwarf)~=In_|
0001a040  4d 69 72 72 6f 72 5f 43  61 6e 79 6f 6e 29 0a 20  |Mirror_Canyon). |
0001a050  20 20 20 20 20 20 20 20  20 20 20 20 20 7b 20 20  |             {  |
0001a060  20 6d 6f 76 65 20 64 77  61 72 66 20 74 6f 20 6c  | move dwarf to l|
0001a070  6f 63 61 74 69 6f 6e 3b  0a 20 20 20 20 20 20 20  |ocation;.       |
0001a080  20 20 20 20 20 20 20 20  20 20 20 70 72 69 6e 74  |           print|
0001a090  20 22 5e 54 68 65 20 64  77 61 72 66 20 73 74 61  | "^The dwarf sta|
0001a0a0  6c 6b 73 20 61 66 74 65  72 20 79 6f 75 2e 2e 2e  |lks after you...|
0001a0b0  5e 22 3b 0a 20 20 20 20  20 20 20 20 20 20 20 20  |^";.            |
0001a0c0  20 20 7d 0a 20 20 20 20  20 20 20 20 20 20 20 20  |  }.            |
0001a0d0  20 20 65 6c 73 65 20 7b  20 72 65 6d 6f 76 65 20  |  else { remove |
0001a0e0  64 77 61 72 66 3b 20 72  74 72 75 65 3b 20 7d 0a  |dwarf; rtrue; }.|
0001a0f0  20 20 20 20 20 20 20 20  20 20 7d 0a 20 20 20 20  |          }.    |
0001a100  20 20 20 20 20 20 69 66  20 28 72 61 6e 64 6f 6d  |      if (random|
0001a110  28 31 30 30 29 3c 3d 37  35 29 0a 20 20 20 20 20  |(100)<=75).     |
0001a120  20 20 20 20 20 7b 20 20  20 6e 65 77 5f 6c 69 6e  |     {   new_lin|
0001a130  65 3b 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |e;.             |
0001a140  20 69 66 20 28 73 65 6c  66 20 68 61 73 6e 74 20  | if (self hasnt |
0001a150  67 65 6e 65 72 61 6c 29  0a 20 20 20 20 20 20 20  |general).       |
0001a160  20 20 20 20 20 20 20 7b  20 20 20 6d 6f 76 65 20  |       {   move |
0001a170  61 78 65 20 74 6f 20 6c  6f 63 61 74 69 6f 6e 3b  |axe to location;|
0001a180  20 67 69 76 65 20 73 65  6c 66 20 67 65 6e 65 72  | give self gener|
0001a190  61 6c 3b 20 72 65 6d 6f  76 65 20 73 65 6c 66 3b  |al; remove self;|
0001a1a0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0001a1b0  20 20 20 22 54 68 65 20  64 77 61 72 66 20 74 68  |   "The dwarf th|
0001a1c0  72 6f 77 73 20 61 20 6e  61 73 74 79 20 6c 69 74  |rows a nasty lit|
0001a1d0  74 6c 65 20 61 78 65 20  61 74 20 79 6f 75 2c 20  |tle axe at you, |
0001a1e0  6d 69 73 73 65 73 2c 20  5c 0a 20 20 20 20 20 20  |misses, \.      |
0001a1f0  20 20 20 20 20 20 20 20  20 20 20 20 63 75 72 73  |            curs|
0001a200  65 73 2c 20 61 6e 64 20  72 75 6e 73 20 61 77 61  |es, and runs awa|
0001a210  79 2e 22 3b 0a 20 20 20  20 20 20 20 20 20 20 20  |y.";.           |
0001a220  20 20 20 7d 0a 20 20 20  20 20 20 20 20 20 20 20  |   }.           |
0001a230  20 20 20 69 66 20 28 6c  6f 63 61 74 69 6f 6e 3d  |   if (location=|
0001a240  3d 49 6e 5f 4d 69 72 72  6f 72 5f 43 61 6e 79 6f  |=In_Mirror_Canyo|
0001a250  6e 29 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |n).             |
0001a260  20 20 20 20 20 22 54 68  65 20 64 77 61 72 66 20  |     "The dwarf |
0001a270  61 64 6d 69 72 65 73 20  68 69 6d 73 65 6c 66 20  |admires himself |
0001a280  69 6e 20 74 68 65 20 6d  69 72 72 6f 72 2e 22 3b  |in the mirror.";|
0001a290  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 70  |.              p|
0001a2a0  72 69 6e 74 20 22 54 68  65 20 64 77 61 72 66 20  |rint "The dwarf |
0001a2b0  74 68 72 6f 77 73 20 61  20 6e 61 73 74 79 20 6c  |throws a nasty l|
0001a2c0  69 74 74 6c 65 20 6b 6e  69 66 65 20 61 74 20 79  |ittle knife at y|
0001a2d0  6f 75 2c 20 22 3b 0a 20  20 20 20 20 20 20 20 20  |ou, ";.         |
0001a2e0  20 20 20 20 20 69 66 20  28 72 61 6e 64 6f 6d 28  |     if (random(|
0001a2f0  31 30 30 30 29 3c 3d 39  35 29 20 7b 20 64 65 61  |1000)<=95) { dea|
0001a300  64 66 6c 61 67 3d 31 3b  20 22 61 6e 64 20 68 69  |dflag=1; "and hi|
0001a310  74 73 21 22 3b 20 7d 0a  20 20 20 20 20 20 20 20  |ts!"; }.        |
0001a320  20 20 20 20 20 20 22 62  75 74 20 6d 69 73 73 65  |      "but misse|
0001a330  73 21 22 3b 0a 20 20 20  20 20 20 20 20 20 20 7d  |s!";.          }|
0001a340  0a 20 20 20 20 20 20 20  20 20 20 69 66 20 28 72  |.          if (r|
0001a350  61 6e 64 6f 6d 28 33 29  3d 3d 31 29 0a 20 20 20  |andom(3)==1).   |
0001a360  20 20 20 20 20 20 20 7b  20 72 65 6d 6f 76 65 20  |       { remove |
0001a370  64 77 61 72 66 3b 20 22  5e 54 69 72 69 6e 67 20  |dwarf; "^Tiring |
0001a380  6f 66 20 74 68 69 73 2c  20 74 68 65 20 64 77 61  |of this, the dwa|
0001a390  72 66 20 73 6c 69 70 73  20 61 77 61 79 2e 22 3b  |rf slips away.";|
0001a3a0  20 7d 0a 20 20 20 20 20  20 20 5d 2c 0a 20 20 20  | }.       ],.   |
0001a3b0  20 20 20 20 62 65 66 6f  72 65 0a 20 20 20 20 20  |    before.     |
0001a3c0  20 20 5b 3b 20 4b 69 63  6b 3a 20 22 59 6f 75 20  |  [; Kick: "You |
0001a3d0  62 6f 6f 74 20 74 68 65  20 64 77 61 72 66 20 61  |boot the dwarf a|
0001a3e0  63 72 6f 73 73 20 74 68  65 20 72 6f 6f 6d 2e 20  |cross the room. |
0001a3f0  20 48 65 20 63 75 72 73  65 73 2c 20 74 68 65 6e  | He curses, then|
0001a400  20 5c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  | \.             |
0001a410  20 20 20 20 67 65 74 73  20 75 70 20 61 6e 64 20  |    gets up and |
0001a420  62 72 75 73 68 65 73 20  68 69 6d 73 65 6c 66 20  |brushes himself |
0001a430  6f 66 66 2e 20 20 4e 6f  77 20 68 65 27 73 20 6d  |off.  Now he's m|
0001a440  61 64 64 65 72 20 5c 0a  20 20 20 20 20 20 20 20  |adder \.        |
0001a450  20 20 20 20 20 20 20 20  20 74 68 61 6e 20 65 76  |         than ev|
0001a460  65 72 21 22 3b 0a 20 20  20 20 20 20 20 5d 2c 0a  |er!";.       ],.|
0001a470  20 20 20 20 20 20 20 6c  69 66 65 0a 20 20 20 20  |       life.    |
0001a480  20 20 20 5b 3b 20 54 68  72 6f 77 41 74 3a 0a 20  |   [; ThrowAt:. |
0001a490  20 20 20 20 20 20 20 20  20 20 69 66 20 28 6e 6f  |          if (no|
0001a4a0  75 6e 3d 3d 61 78 65 29  0a 20 20 20 20 20 20 20  |un==axe).       |
0001a4b0  20 20 20 20 7b 20 20 20  69 66 20 28 72 61 6e 64  |    {   if (rand|
0001a4c0  6f 6d 28 33 29 7e 3d 31  29 0a 20 20 20 20 20 20  |om(3)~=1).      |
0001a4d0  20 20 20 20 20 20 20 20  20 7b 20 20 20 72 65 6d  |         {   rem|
0001a4e0  6f 76 65 20 73 65 6c 66  3b 20 6d 6f 76 65 20 61  |ove self; move a|
0001a4f0  78 65 20 74 6f 20 6c 6f  63 61 74 69 6f 6e 3b 0a  |xe to location;.|
0001a500  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0001a510  20 20 20 73 65 6c 66 2e  6e 75 6d 62 65 72 3d 73  |   self.number=s|
0001a520  65 6c 66 2e 6e 75 6d 62  65 72 2d 31 3b 0a 20 20  |elf.number-1;.  |
0001a530  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0001a540  20 22 59 6f 75 20 6b 69  6c 6c 65 64 20 61 20 6c  | "You killed a l|
0001a550  69 74 74 6c 65 20 64 77  61 72 66 21 20 20 54 68  |ittle dwarf!  Th|
0001a560  65 20 62 6f 64 79 20 76  61 6e 69 73 68 65 73 20  |e body vanishes |
0001a570  69 6e 20 61 20 63 6c 6f  75 64 20 5c 0a 20 20 20  |in a cloud \.   |
0001a580  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0001a590  20 6f 66 20 67 72 65 61  73 79 20 62 6c 61 63 6b  | of greasy black|
0001a5a0  20 73 6d 6f 6b 65 2e 22  3b 0a 20 20 20 20 20 20  | smoke.";.      |
0001a5b0  20 20 20 20 20 20 20 20  20 7d 0a 20 20 20 20 20  |         }.     |
0001a5c0  20 20 20 20 20 20 20 20  20 20 6d 6f 76 65 20 61  |          move a|
0001a5d0  78 65 20 74 6f 20 6c 6f  63 61 74 69 6f 6e 3b 0a  |xe to location;.|
0001a5e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 22  |               "|
0001a5f0  4d 69 73 73 65 64 21 20  20 54 68 65 20 6c 69 74  |Missed!  The lit|
0001a600  74 6c 65 20 64 77 61 72  66 20 64 6f 64 67 65 73  |tle dwarf dodges|
0001a610  20 6f 75 74 20 6f 66 20  74 68 65 20 77 61 79 20  | out of the way |
0001a620  6f 66 20 74 68 65 20 61  78 65 2e 22 3b 0a 20 20  |of the axe.";.  |
0001a630  20 20 20 20 20 20 20 20  20 7d 0a 20 20 20 20 20  |         }.     |
0001a640  20 20 20 20 20 20 3c 3c  47 69 76 65 20 6e 6f 75  |      <<Give nou|
0001a650  6e 20 73 65 63 6f 6e 64  3e 3e 3b 0a 20 20 20 20  |n second>>;.    |
0001a660  20 20 20 20 20 20 47 69  76 65 3a 0a 20 20 20 20  |      Give:.    |
0001a670  20 20 20 20 20 20 20 69  66 20 28 6e 6f 75 6e 3d  |       if (noun=|
0001a680  3d 74 61 73 74 79 5f 66  6f 6f 64 29 20 22 59 6f  |=tasty_food) "Yo|
0001a690  75 20 66 6f 6f 6c 2c 20  64 77 61 72 76 65 73 20  |u fool, dwarves |
0001a6a0  65 61 74 20 6f 6e 6c 79  20 63 6f 61 6c 21 20 20  |eat only coal!  |
0001a6b0  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
0001a6c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0001a6d0  20 20 20 20 4e 6f 77 20  79 6f 75 27 76 65 20 6d  |    Now you've m|
0001a6e0  61 64 65 20 68 69 6d 20  2a 72 65 61 6c 6c 79 2a  |ade him *really*|
0001a6f0  20 6d 61 64 21 22 3b 0a  20 20 20 20 20 20 20 20  | mad!";.        |
0001a700  20 20 20 22 54 68 65 20  64 77 61 72 66 20 69 73  |   "The dwarf is|
0001a710  20 6e 6f 74 20 61 74 20  61 6c 6c 20 69 6e 74 65  | not at all inte|
0001a720  72 65 73 74 65 64 20 69  6e 20 79 6f 75 72 20 5c  |rested in your \|
0001a730  0a 20 20 20 20 20 20 20  20 20 20 20 20 6f 66 66  |.            off|
0001a740  65 72 2e 20 20 28 54 68  65 20 72 65 61 73 6f 6e  |er.  (The reason|
0001a750  20 62 65 69 6e 67 2c 20  70 65 72 68 61 70 73 2c  | being, perhaps,|
0001a760  20 74 68 61 74 20 69 66  20 5c 0a 20 20 20 20 20  | that if \.     |
0001a770  20 20 20 20 20 20 20 68  65 20 6b 69 6c 6c 73 20  |       he kills |
0001a780  79 6f 75 20 68 65 20 67  65 74 73 20 65 76 65 72  |you he gets ever|
0001a790  79 74 68 69 6e 67 20 79  6f 75 20 68 61 76 65 20  |ything you have |
0001a7a0  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 61 6e  |\.            an|
0001a7b0  79 77 61 79 2e 29 22 3b  0a 20 20 20 20 20 20 20  |yway.)";.       |
0001a7c0  20 20 20 41 74 74 61 63  6b 3a 20 22 4e 6f 74 20  |   Attack: "Not |
0001a7d0  77 69 74 68 20 79 6f 75  72 20 62 61 72 65 20 68  |with your bare h|
0001a7e0  61 6e 64 73 2e 20 20 4e  6f 20 77 61 79 2e 22 3b  |ands.  No way.";|
0001a7f0  0a 20 20 20 20 20 20 20  5d 2c 0a 20 20 68 61 73  |.       ],.  has|
0001a800  20 20 61 6e 69 6d 61 74  65 3b 0a 0a 4f 62 6a 65  |  animate;..Obje|
0001a810  63 74 20 61 78 65 20 22  64 77 61 72 76 69 73 68  |ct axe "dwarvish|
0001a820  20 61 78 65 22 0a 20 20  77 69 74 68 20 6e 61 6d  | axe".  with nam|
0001a830  65 20 22 61 78 65 22 20  22 6c 69 74 74 6c 65 22  |e "axe" "little"|
0001a840  20 22 64 77 61 72 76 69  73 68 22 20 22 64 77 61  | "dwarvish" "dwa|
0001a850  72 76 65 6e 22 2c 0a 20  20 20 20 20 20 20 69 6e  |rven",.       in|
0001a860  69 74 69 61 6c 20 22 54  68 65 72 65 20 69 73 20  |itial "There is |
0001a870  61 20 6c 69 74 74 6c 65  20 61 78 65 20 68 65 72  |a little axe her|
0001a880  65 2e 22 2c 0a 20 20 20  20 20 20 20 64 65 73 63  |e.",.       desc|
0001a890  72 69 70 74 69 6f 6e 20  22 49 74 27 73 20 6a 75  |ription "It's ju|
0001a8a0  73 74 20 61 20 6c 69 74  74 6c 65 20 61 78 65 2e  |st a little axe.|
0001a8b0  22 2c 0a 20 20 20 20 20  20 20 62 65 66 6f 72 65  |",.       before|
0001a8c0  0a 20 20 20 20 20 20 20  5b 3b 20 69 66 20 28 61  |.       [; if (a|
0001a8d0  78 65 20 68 61 73 6e 74  20 67 65 6e 65 72 61 6c  |xe hasnt general|
0001a8e0  29 20 72 66 61 6c 73 65  3b 0a 20 20 20 20 20 20  |) rfalse;.      |
0001a8f0  20 20 20 20 45 78 61 6d  69 6e 65 3a 20 22 49 74  |    Examine: "It|
0001a900  27 73 20 6c 79 69 6e 67  20 62 65 73 69 64 65 20  |'s lying beside |
0001a910  74 68 65 20 62 65 61 72  2e 22 3b 0a 20 20 20 20  |the bear.";.    |
0001a920  20 20 20 20 20 20 54 61  6b 65 3a 20 20 20 20 22  |      Take:    "|
0001a930  4e 6f 20 63 68 61 6e 63  65 2e 20 20 49 74 27 73  |No chance.  It's|
0001a940  20 6c 79 69 6e 67 20 62  65 73 69 64 65 20 74 68  | lying beside th|
0001a950  65 20 66 65 72 6f 63 69  6f 75 73 20 5c 0a 20 20  |e ferocious \.  |
0001a960  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0001a970  20 20 62 65 61 72 2c 20  71 75 69 74 65 20 77 69  |  bear, quite wi|
0001a980  74 68 69 6e 20 68 61 72  6d 27 73 20 77 61 79 2e  |thin harm's way.|
0001a990  22 3b 0a 20 20 20 20 20  20 20 5d 3b 0a 0a 21 20  |";.       ];..! |
0001a9a0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0001a9e0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 0a 21 20 20  |------------.!  |
0001a9f0  20 50 69 72 61 63 79 2c  20 74 77 69 63 65 20 6f  | Piracy, twice o|
0001aa00  76 65 72 0a 21 20 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |ver.! ----------|
0001aa10  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0001aa50  2d 2d 0a 0a 4f 62 6a 65  63 74 20 70 69 72 61 74  |--..Object pirat|
0001aa60  65 20 22 70 69 72 61 74  65 22 0a 20 20 77 69 74  |e "pirate".  wit|
0001aa70  68 20 74 69 6d 65 5f 6c  65 66 74 20 30 2c 0a 20  |h time_left 0,. |
0001aa80  20 20 20 20 20 20 64 61  65 6d 6f 6e 0a 20 20 20  |      daemon.   |
0001aa90  20 20 20 20 5b 20 63 20  69 20 6a 3b 0a 20 20 20  |    [ c i j;.   |
0001aaa0  20 20 20 20 20 20 20 69  66 20 28 70 69 72 61 74  |       if (pirat|
0001aab0  65 20 68 61 73 20 67 65  6e 65 72 61 6c 20 26 26  |e has general &&|
0001aac0  20 70 69 72 61 74 65 20  68 61 73 20 73 63 6f 72  | pirate has scor|
0001aad0  65 64 29 0a 20 20 20 20  20 20 20 20 20 20 7b 20  |ed).          { |
0001aae0  20 20 53 74 6f 70 44 61  65 6d 6f 6e 28 70 69 72  |  StopDaemon(pir|
0001aaf0  61 74 65 29 3b 20 72 74  72 75 65 3b 0a 20 20 20  |ate); rtrue;.   |
0001ab00  20 20 20 20 20 20 20 7d  0a 20 20 20 20 20 20 20  |       }.       |
0001ab10  20 20 20 69 66 20 28 6c  6f 63 61 74 69 6f 6e 3d  |   if (location=|
0001ab20  3d 74 68 65 64 61 72 6b  20 7c 7c 20 6c 6f 63 61  |=thedark || loca|
0001ab30  74 69 6f 6e 20 68 61 73  20 6c 69 67 68 74 20 7c  |tion has light ||
0001ab40  7c 20 6c 6f 63 61 74 69  6f 6e 20 68 61 73 20 6e  || location has n|
0001ab50  6f 64 77 61 72 66 0a 20  20 20 20 20 20 20 20 20  |odwarf.         |
0001ab60  20 20 20 20 20 7c 7c 20  72 61 6e 64 6f 6d 28 31  |     || random(1|
0001ab70  30 30 29 3e 32 20 7c 7c  20 6c 6f 63 61 74 69 6f  |00)>2 || locatio|
0001ab80  6e 3d 3d 49 6e 5f 53 65  63 72 65 74 5f 43 61 6e  |n==In_Secret_Can|
0001ab90  79 6f 6e 29 20 72 74 72  75 65 3b 0a 0a 20 20 20  |yon) rtrue;..   |
0001aba0  20 20 20 20 20 20 20 69  66 20 28 70 61 72 65 6e  |       if (paren|
0001abb0  74 28 64 77 61 72 66 29  3d 3d 6c 6f 63 61 74 69  |t(dwarf)==locati|
0001abc0  6f 6e 29 0a 20 20 20 20  20 20 20 20 20 20 20 20  |on).            |
0001abd0  20 22 5e 41 20 62 65 61  72 64 65 64 20 70 69 72  | "^A bearded pir|
0001abe0  61 74 65 20 61 70 70 65  61 72 73 2c 20 63 61 74  |ate appears, cat|
0001abf0  63 68 65 73 20 73 69 67  68 74 20 6f 66 20 74 68  |ches sight of th|
0001ac00  65 20 64 77 61 72 66 20  61 6e 64 20 72 75 6e 73  |e dwarf and runs|
0001ac10  20 5c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  | \.             |
0001ac20  20 61 77 61 79 2e 22 3b  0a 0a 20 20 20 20 20 20  | away.";..      |
0001ac30  20 20 20 20 6f 62 6a 65  63 74 6c 6f 6f 70 20 28  |    objectloop (|
0001ac40  69 20 69 6e 20 70 6c 61  79 65 72 29 20 20 20 69  |i in player)   i|
0001ac50  66 20 28 69 20 68 61 73  20 76 61 6c 75 61 62 6c  |f (i has valuabl|
0001ac60  65 29 20 63 2b 2b 3b 0a  20 20 20 20 20 20 20 20  |e) c++;.        |
0001ac70  20 20 6f 62 6a 65 63 74  6c 6f 6f 70 20 28 69 20  |  objectloop (i |
0001ac80  69 6e 20 6c 6f 63 61 74  69 6f 6e 29 20 69 66 20  |in location) if |
0001ac90  28 69 20 68 61 73 20 76  61 6c 75 61 62 6c 65 29  |(i has valuable)|
0001aca0  20 63 2b 2b 3b 0a 20 20  20 20 20 20 20 20 20 20  | c++;.          |
0001acb0  69 66 20 28 63 3d 3d 30  29 0a 20 20 20 20 20 20  |if (c==0).      |
0001acc0  20 20 20 20 7b 20 20 20  69 66 20 28 70 69 72 61  |    {   if (pira|
0001acd0  74 65 20 68 61 73 20 67  65 6e 65 72 61 6c 29 20  |te has general) |
0001ace0  72 66 61 6c 73 65 3b 0a  20 20 20 20 20 20 20 20  |rfalse;.        |
0001acf0  20 20 20 20 20 20 67 69  76 65 20 70 69 72 61 74  |      give pirat|
0001ad00  65 20 67 65 6e 65 72 61  6c 3b 0a 20 20 20 20 20  |e general;.     |
0001ad10  20 20 20 20 20 20 20 20  20 22 5e 54 68 65 72 65  |         "^There|
0001ad20  20 61 72 65 20 66 61 69  6e 74 20 72 75 73 74 6c  | are faint rustl|
0001ad30  69 6e 67 20 6e 6f 69 73  65 73 20 5c 0a 20 20 20  |ing noises \.   |
0001ad40  20 20 20 20 20 20 20 20  20 20 20 20 66 72 6f 6d  |            from|
0001ad50  20 74 68 65 20 64 61 72  6b 6e 65 73 73 20 62 65  | the darkness be|
0001ad60  68 69 6e 64 20 79 6f 75  2e 20 20 41 73 20 79 6f  |hind you.  As yo|
0001ad70  75 20 5c 0a 20 20 20 20  20 20 20 20 20 20 20 20  |u \.            |
0001ad80  20 20 20 74 75 72 6e 20  74 6f 77 61 72 64 20 74  |   turn toward t|
0001ad90  68 65 6d 2c 20 79 6f 75  20 73 70 6f 74 20 5c 0a  |hem, you spot \.|
0001ada0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 61  |               a|
0001adb0  20 62 65 61 72 64 65 64  20 70 69 72 61 74 65 2e  | bearded pirate.|
0001adc0  20 48 65 20 69 73 20 63  61 72 72 79 69 6e 67 20  | He is carrying |
0001add0  61 20 5c 0a 20 20 20 20  20 20 20 20 20 20 20 20  |a \.            |
0001ade0  20 20 20 6c 61 72 67 65  20 63 68 65 73 74 2e 5e  |   large chest.^|
0001adf0  5e 7e 53 68 69 76 65 72  20 6d 65 20 74 69 6d 62  |^~Shiver me timb|
0001ae00  65 72 73 21 7e 20 5c 20  0a 20 20 20 20 20 20 20  |ers!~ \ .       |
0001ae10  20 20 20 20 20 20 20 20  68 65 20 63 72 69 65 73  |        he cries|
0001ae20  2c 20 7e 49 27 76 65 20  62 65 65 6e 20 73 70 6f  |, ~I've been spo|
0001ae30  74 74 65 64 21 20 20 49  27 64 20 5c 0a 20 20 20  |tted!  I'd \.   |
0001ae40  20 20 20 20 20 20 20 20  20 20 20 20 62 65 73 74  |            best|
0001ae50  20 68 69 65 20 6d 65 73  65 6c 66 20 6f 66 66 20  | hie meself off |
0001ae60  74 6f 20 74 68 65 20 6d  61 7a 65 20 74 6f 20 5c  |to the maze to \|
0001ae70  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0001ae80  68 69 64 65 20 6d 65 20  63 68 65 73 74 21 7e 5e  |hide me chest!~^|
0001ae90  5e 57 69 74 68 20 74 68  61 74 2c 20 68 65 20 5c  |^With that, he \|
0001aea0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0001aeb0  76 61 6e 69 73 68 65 73  20 69 6e 74 6f 20 74 68  |vanishes into th|
0001aec0  65 20 67 6c 6f 6f 6d 2e  22 3b 0a 20 20 20 20 20  |e gloom.";.     |
0001aed0  20 20 20 20 20 7d 0a 20  20 20 20 20 20 20 20 20  |     }.         |
0001aee0  20 69 66 20 28 70 69 72  61 74 65 20 68 61 73 20  | if (pirate has |
0001aef0  73 63 6f 72 65 64 29 20  72 66 61 6c 73 65 3b 20  |scored) rfalse; |
0001af00  67 69 76 65 20 70 69 72  61 74 65 20 73 63 6f 72  |give pirate scor|
0001af10  65 64 3b 0a 20 20 20 20  20 20 20 20 20 20 77 68  |ed;.          wh|
0001af20  69 6c 65 20 28 63 3e 30  29 0a 20 20 20 20 20 20  |ile (c>0).      |
0001af30  20 20 20 20 7b 20 20 20  6f 62 6a 65 63 74 6c 6f  |    {   objectlo|
0001af40  6f 70 20 28 69 20 69 6e  20 70 6c 61 79 65 72 29  |op (i in player)|
0001af50  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0001af60  20 20 20 69 66 20 28 69  20 68 61 73 20 76 61 6c  |   if (i has val|
0001af70  75 61 62 6c 65 29 20 7b  20 6a 3d 69 3b 20 73 63  |uable) { j=i; sc|
0001af80  6f 72 65 3d 73 63 6f 72  65 2d 35 3b 20 7d 0a 20  |ore=score-5; }. |
0001af90  20 20 20 20 20 20 20 20  20 20 20 20 20 6f 62 6a  |             obj|
0001afa0  65 63 74 6c 6f 6f 70 20  28 69 20 69 6e 20 6c 6f  |ectloop (i in lo|
0001afb0  63 61 74 69 6f 6e 29 20  69 66 20 28 69 20 68 61  |cation) if (i ha|
0001afc0  73 20 76 61 6c 75 61 62  6c 65 29 20 6a 3d 69 3b  |s valuable) j=i;|
0001afd0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 6d  |.              m|
0001afe0  6f 76 65 20 6a 20 74 6f  20 44 65 61 64 5f 45 6e  |ove j to Dead_En|
0001aff0  64 5f 31 33 3b 20 63 2d  2d 3b 0a 20 20 20 20 20  |d_13; c--;.     |
0001b000  20 20 20 20 20 7d 0a 20  20 20 20 20 20 20 20 20  |     }.         |
0001b010  20 22 5e 4f 75 74 20 66  72 6f 6d 20 74 68 65 20  | "^Out from the |
0001b020  73 68 61 64 6f 77 73 20  62 65 68 69 6e 64 20 79  |shadows behind y|
0001b030  6f 75 20 5c 0a 20 20 20  20 20 20 20 20 20 20 20  |ou \.           |
0001b040  70 6f 75 6e 63 65 73 20  61 20 62 65 61 72 64 65  |pounces a bearde|
0001b050  64 20 70 69 72 61 74 65  21 20 20 7e 48 61 72 2c  |d pirate!  ~Har,|
0001b060  20 5c 0a 20 20 20 20 20  20 20 20 20 20 20 68 61  | \.           ha|
0001b070  72 2c 7e 20 68 65 20 63  68 6f 72 74 6c 65 73 2e  |r,~ he chortles.|
0001b080  20 20 7e 49 27 6c 6c 20  6a 75 73 74 20 74 61 6b  |  ~I'll just tak|
0001b090  65 20 5c 0a 20 20 20 20  20 20 20 20 20 20 20 61  |e \.           a|
0001b0a0  6c 6c 20 74 68 69 73 20  62 6f 6f 74 79 20 61 6e  |ll this booty an|
0001b0b0  64 20 68 69 64 65 20 69  74 20 61 77 61 79 20 77  |d hide it away w|
0001b0c0  69 74 68 20 5c 0a 20 20  20 20 20 20 20 20 20 20  |ith \.          |
0001b0d0  20 6d 65 20 63 68 65 73  74 20 64 65 65 70 20 69  | me chest deep i|
0001b0e0  6e 20 74 68 65 20 6d 61  7a 65 21 7e 20 20 48 65  |n the maze!~  He|
0001b0f0  20 5c 0a 20 20 20 20 20  20 20 20 20 20 20 73 6e  | \.           sn|
0001b100  61 74 63 68 65 73 20 79  6f 75 72 20 74 72 65 61  |atches your trea|
0001b110  73 75 72 65 20 61 6e 64  20 76 61 6e 69 73 68 65  |sure and vanishe|
0001b120  73 20 5c 0a 20 20 20 20  20 20 20 20 20 20 20 69  |s \.           i|
0001b130  6e 74 6f 20 74 68 65 20  67 6c 6f 6f 6d 2e 22 3b  |nto the gloom.";|
0001b140  0a 20 20 20 20 20 20 20  5d 3b 0a 0a 21 20 2d 2d  |.       ];..! --|
0001b150  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0001b190  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0a 21 20 20 20 54  |----------.!   T|
0001b1a0  68 65 20 63 61 76 65 20  69 73 20 63 6c 6f 73 69  |he cave is closi|
0001b1b0  6e 67 20 6e 6f 77 2e 2e  2e 0a 21 20 2d 2d 2d 2d  |ng now....! ----|
0001b1c0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0001b200  2d 2d 2d 2d 2d 2d 2d 2d  0a 0a 4f 62 6a 65 63 74  |--------..Object|
0001b210  20 63 61 76 65 5f 63 6c  6f 73 65 72 20 22 63 61  | cave_closer "ca|
0001b220  76 65 20 63 6c 6f 73 65  72 22 0a 20 20 77 69 74  |ve closer".  wit|
0001b230  68 20 74 69 6d 65 5f 6c  65 66 74 20 30 2c 0a 20  |h time_left 0,. |
0001b240  20 20 20 20 20 20 64 61  65 6d 6f 6e 0a 20 20 20  |      daemon.   |
0001b250  20 20 20 20 5b 3b 20 69  66 20 28 74 72 65 61 73  |    [; if (treas|
0001b260  75 72 65 73 5f 66 6f 75  6e 64 20 3c 20 4d 41 58  |ures_found < MAX|
0001b270  5f 54 52 45 41 53 55 52  45 53 29 20 72 74 72 75  |_TREASURES) rtru|
0001b280  65 3b 0a 20 20 20 20 20  20 20 20 20 20 53 74 6f  |e;.          Sto|
0001b290  70 44 61 65 6d 6f 6e 28  73 65 6c 66 29 3b 0a 20  |pDaemon(self);. |
0001b2a0  20 20 20 20 20 20 20 20  20 63 61 76 65 73 5f 63  |         caves_c|
0001b2b0  6c 6f 73 65 64 3d 31 3b  0a 0a 20 20 20 20 20 20  |losed=1;..      |
0001b2c0  20 20 20 20 73 63 6f 72  65 3d 73 63 6f 72 65 20  |    score=score |
0001b2d0  2b 20 32 35 3b 0a 0a 20  20 20 20 20 20 20 20 20  |+ 25;..         |
0001b2e0  20 72 65 6d 6f 76 65 20  43 72 79 73 74 61 6c 42  | remove CrystalB|
0001b2f0  72 69 64 67 65 3b 0a 20  20 20 20 20 20 20 20 20  |ridge;.         |
0001b300  20 67 69 76 65 20 47 72  61 74 65 20 6c 6f 63 6b  | give Grate lock|
0001b310  65 64 20 7e 6f 70 65 6e  3b 20 72 65 6d 6f 76 65  |ed ~open; remove|
0001b320  20 73 65 74 5f 6f 66 5f  6b 65 79 73 3b 0a 0a 20  | set_of_keys;.. |
0001b330  20 20 20 20 20 20 20 20  20 53 74 6f 70 44 61 65  |         StopDae|
0001b340  6d 6f 6e 28 64 77 61 72  66 29 3b 20 53 74 6f 70  |mon(dwarf); Stop|
0001b350  44 61 65 6d 6f 6e 28 70  69 72 61 74 65 29 3b 0a  |Daemon(pirate);.|
0001b360  20 20 20 20 20 20 20 20  20 20 72 65 6d 6f 76 65  |          remove|
0001b370  20 54 72 6f 6c 6c 3b 20  72 65 6d 6f 76 65 20 42  | Troll; remove B|
0001b380  65 61 72 3b 20 72 65 6d  6f 76 65 20 44 72 61 67  |ear; remove Drag|
0001b390  6f 6e 3b 0a 0a 20 20 20  20 20 20 20 20 20 20 53  |on;..          S|
0001b3a0  74 61 72 74 54 69 6d 65  72 28 65 6e 64 67 61 6d  |tartTimer(endgam|
0001b3b0  65 5f 74 69 6d 65 72 2c  20 32 35 29 3b 0a 0a 20  |e_timer, 25);.. |
0001b3c0  20 20 20 20 20 20 20 20  20 22 5e 41 20 73 65 70  |         "^A sep|
0001b3d0  75 6c 63 68 72 61 6c 20  76 6f 69 63 65 20 72 65  |ulchral voice re|
0001b3e0  76 65 72 62 65 72 61 74  69 6e 67 20 74 68 72 6f  |verberating thro|
0001b3f0  75 67 68 20 74 68 65 20  63 61 76 65 20 73 61 79  |ugh the cave say|
0001b400  73 2c 20 5c 0a 20 20 20  20 20 20 20 20 20 20 20  |s, \.           |
0001b410  7e 43 61 76 65 20 63 6c  6f 73 69 6e 67 20 73 6f  |~Cave closing so|
0001b420  6f 6e 2e 20 20 41 6c 6c  20 61 64 76 65 6e 74 75  |on.  All adventu|
0001b430  72 65 72 73 20 65 78 69  74 20 69 6d 6d 65 64 69  |rers exit immedi|
0001b440  61 74 65 6c 79 20 5c 0a  20 20 20 20 20 20 20 20  |ately \.        |
0001b450  20 20 20 74 68 72 6f 75  67 68 20 6d 61 69 6e 20  |   through main |
0001b460  6f 66 66 69 63 65 2e 7e  22 3b 0a 20 20 20 20 20  |office.~";.     |
0001b470  20 20 5d 3b 0a 0a 4f 62  6a 65 63 74 20 65 6e 64  |  ];..Object end|
0001b480  67 61 6d 65 5f 74 69 6d  65 72 20 22 65 6e 64 67  |game_timer "endg|
0001b490  61 6d 65 20 74 69 6d 65  72 22 0a 20 20 77 69 74  |ame timer".  wit|
0001b4a0  68 20 74 69 6d 65 5f 6c  65 66 74 20 30 2c 0a 20  |h time_left 0,. |
0001b4b0  20 20 20 20 20 20 74 69  6d 65 5f 6f 75 74 0a 20  |      time_out. |
0001b4c0  20 20 20 20 20 20 5b 3b  20 73 63 6f 72 65 3d 73  |      [; score=s|
0001b4d0  63 6f 72 65 20 2b 20 31  30 3b 0a 0a 20 20 20 20  |core + 10;..    |
0001b4e0  20 20 20 20 20 20 77 68  69 6c 65 20 28 63 68 69  |      while (chi|
0001b4f0  6c 64 28 70 6c 61 79 65  72 29 7e 3d 30 29 20 72  |ld(player)~=0) r|
0001b500  65 6d 6f 76 65 20 63 68  69 6c 64 28 70 6c 61 79  |emove child(play|
0001b510  65 72 29 3b 0a 0a 20 20  20 20 20 20 20 20 20 20  |er);..          |
0001b520  6d 6f 76 65 20 62 6f 74  74 6c 65 20 74 6f 20 41  |move bottle to A|
0001b530  74 5f 4e 65 5f 45 6e 64  3b 0a 20 20 20 20 20 20  |t_Ne_End;.      |
0001b540  20 20 20 20 69 66 20 28  63 68 69 6c 64 28 62 6f  |    if (child(bo|
0001b550  74 74 6c 65 29 7e 3d 30  29 20 72 65 6d 6f 76 65  |ttle)~=0) remove|
0001b560  20 63 68 69 6c 64 28 62  6f 74 74 6c 65 29 3b 0a  | child(bottle);.|
0001b570  0a 20 20 20 20 20 20 20  20 20 20 6d 6f 76 65 20  |.          move |
0001b580  67 69 61 6e 74 5f 62 69  76 61 6c 76 65 20 74 6f  |giant_bivalve to|
0001b590  20 41 74 5f 4e 65 5f 45  6e 64 3b 0a 20 20 20 20  | At_Ne_End;.    |
0001b5a0  20 20 20 20 20 20 6d 6f  76 65 20 62 72 61 73 73  |      move brass|
0001b5b0  5f 6c 61 6e 74 65 72 6e  20 74 6f 20 41 74 5f 4e  |_lantern to At_N|
0001b5c0  65 5f 45 6e 64 3b 0a 20  20 20 20 20 20 20 20 20  |e_End;.         |
0001b5d0  20 6d 6f 76 65 20 62 6c  61 63 6b 5f 72 6f 64 20  | move black_rod |
0001b5e0  74 6f 20 41 74 5f 4e 65  5f 45 6e 64 3b 0a 20 20  |to At_Ne_End;.  |
0001b5f0  20 20 20 20 20 20 20 20  6d 6f 76 65 20 6c 69 74  |        move lit|
0001b600  74 6c 65 5f 62 69 72 64  20 74 6f 20 41 74 5f 53  |tle_bird to At_S|
0001b610  77 5f 45 6e 64 3b 0a 20  20 20 20 20 20 20 20 20  |w_End;.         |
0001b620  20 6d 6f 76 65 20 76 65  6c 76 65 74 5f 70 69 6c  | move velvet_pil|
0001b630  6c 6f 77 20 74 6f 20 41  74 5f 53 77 5f 45 6e 64  |low to At_Sw_End|
0001b640  3b 0a 0a 20 20 20 20 20  20 20 20 20 70 72 69 6e  |;..         prin|
0001b650  74 20 22 5e 54 68 65 20  73 65 70 75 6c 63 68 72  |t "^The sepulchr|
0001b660  61 6c 20 76 6f 69 63 65  20 69 6e 74 6f 6e 65 73  |al voice intones|
0001b670  2c 20 7e 54 68 65 20 63  61 76 65 20 69 73 20 6e  |, ~The cave is n|
0001b680  6f 77 20 5c 0a 20 20 20  20 20 20 20 20 20 20 63  |ow \.          c|
0001b690  6c 6f 73 65 64 2e 7e 20  41 73 20 74 68 65 20 65  |losed.~ As the e|
0001b6a0  63 68 6f 65 73 20 66 61  64 65 2c 20 74 68 65 72  |choes fade, ther|
0001b6b0  65 20 69 73 20 61 20 62  6c 69 6e 64 69 6e 67 20  |e is a blinding |
0001b6c0  66 6c 61 73 68 20 6f 66  20 5c 0a 20 20 20 20 20  |flash of \.     |
0001b6d0  20 20 20 20 20 6c 69 67  68 74 20 28 61 6e 64 20  |     light (and |
0001b6e0  61 20 73 6d 61 6c 6c 20  70 75 66 66 20 6f 66 20  |a small puff of |
0001b6f0  6f 72 61 6e 67 65 20 73  6d 6f 6b 65 29 2e 20 2e  |orange smoke). .|
0001b700  20 2e 5e 5e 5c 0a 20 20  20 20 20 20 20 20 20 20  | .^^\.          |
0001b710  41 73 20 79 6f 75 72 20  65 79 65 73 20 72 65 66  |As your eyes ref|
0001b720  6f 63 75 73 2c 20 79 6f  75 20 6c 6f 6f 6b 20 61  |ocus, you look a|
0001b730  72 6f 75 6e 64 2e 2e 2e  5e 22 3b 0a 20 20 20 20  |round...^";.    |
0001b740  20 20 20 20 20 20 50 6c  61 79 65 72 54 6f 28 41  |      PlayerTo(A|
0001b750  74 5f 4e 65 5f 45 6e 64  29 3b 0a 20 20 20 20 20  |t_Ne_End);.     |
0001b760  20 20 5d 3b 0a 0a 21 20  2d 2d 2d 2d 2d 2d 2d 2d  |  ];..! --------|
0001b770  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0001b7b0  2d 2d 2d 2d 0a 21 20 20  20 54 68 65 20 45 6e 64  |----.!   The End|
0001b7c0  20 47 61 6d 65 0a 21 20  2d 2d 2d 2d 2d 2d 2d 2d  | Game.! --------|
0001b7d0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0001b810  2d 2d 2d 2d 0a 0a 4f 62  6a 65 63 74 20 41 74 5f  |----..Object At_|
0001b820  4e 65 5f 45 6e 64 20 22  4e 45 20 45 6e 64 20 6f  |Ne_End "NE End o|
0001b830  66 20 52 65 70 6f 73 69  74 6f 72 79 22 0a 20 20  |f Repository".  |
0001b840  77 69 74 68 20 64 65 73  63 72 69 70 74 69 6f 6e  |with description|
0001b850  20 22 59 6f 75 20 61 72  65 20 61 74 20 74 68 65  | "You are at the|
0001b860  20 6e 6f 72 74 68 65 61  73 74 20 65 6e 64 20 6f  | northeast end o|
0001b870  66 20 61 6e 20 69 6d 6d  65 6e 73 65 20 5c 0a 20  |f an immense \. |
0001b880  20 20 20 20 20 20 20 20  20 20 20 20 20 20 72 6f  |              ro|
0001b890  6f 6d 2c 20 65 76 65 6e  20 6c 61 72 67 65 72 20  |om, even larger |
0001b8a0  74 68 61 6e 20 74 68 65  20 67 69 61 6e 74 20 72  |than the giant r|
0001b8b0  6f 6f 6d 2e 20 20 49 74  20 61 70 70 65 61 72 73  |oom.  It appears|
0001b8c0  20 74 6f 20 5c 0a 20 20  20 20 20 20 20 20 20 20  | to \.          |
0001b8d0  20 20 20 20 20 62 65 20  61 20 72 65 70 6f 73 69  |     be a reposi|
0001b8e0  74 6f 72 79 20 66 6f 72  20 74 68 65 20 7e 41 64  |tory for the ~Ad|
0001b8f0  76 65 6e 74 75 72 65 7e  20 70 72 6f 67 72 61 6d  |venture~ program|
0001b900  2e 20 20 5c 0a 20 20 20  20 20 20 20 20 20 20 20  |.  \.           |
0001b910  20 20 20 20 4d 61 73 73  69 76 65 20 74 6f 72 63  |    Massive torc|
0001b920  68 65 73 20 66 61 72 20  6f 76 65 72 68 65 61 64  |hes far overhead|
0001b930  20 62 61 74 68 65 20 74  68 65 20 72 6f 6f 6d 20  | bathe the room |
0001b940  77 69 74 68 20 5c 0a 20  20 20 20 20 20 20 20 20  |with \.         |
0001b950  20 20 20 20 20 20 73 6d  6f 6b 79 20 79 65 6c 6c  |      smoky yell|
0001b960  6f 77 20 6c 69 67 68 74  2e 20 20 53 63 61 74 74  |ow light.  Scatt|
0001b970  65 72 65 64 20 61 62 6f  75 74 20 79 6f 75 20 63  |ered about you c|
0001b980  61 6e 20 62 65 20 73 65  65 6e 20 5c 0a 20 20 20  |an be seen \.   |
0001b990  20 20 20 20 20 20 20 20  20 20 20 20 61 20 70 69  |            a pi|
0001b9a0  6c 65 20 6f 66 20 62 6f  74 74 6c 65 73 20 28 61  |le of bottles (a|
0001b9b0  6c 6c 20 6f 66 20 74 68  65 6d 20 65 6d 70 74 79  |ll of them empty|
0001b9c0  29 2c 20 61 20 6e 75 72  73 65 72 79 20 6f 66 20  |), a nursery of |
0001b9d0  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
0001b9e0  20 79 6f 75 6e 67 20 62  65 61 6e 73 74 61 6c 6b  | young beanstalk|
0001b9f0  73 20 6d 75 72 6d 75 72  69 6e 67 20 71 75 69 65  |s murmuring quie|
0001ba00  74 6c 79 2c 20 61 20 62  65 64 20 6f 66 20 6f 79  |tly, a bed of oy|
0001ba10  73 74 65 72 73 2c 20 5c  0a 20 20 20 20 20 20 20  |sters, \.       |
0001ba20  20 20 20 20 20 20 20 20  61 20 62 75 6e 64 6c 65  |        a bundle|
0001ba30  20 6f 66 20 62 6c 61 63  6b 20 72 6f 64 73 20 77  | of black rods w|
0001ba40  69 74 68 20 72 75 73 74  79 20 73 74 61 72 73 20  |ith rusty stars |
0001ba50  6f 6e 20 74 68 65 69 72  20 5c 0a 20 20 20 20 20  |on their \.     |
0001ba60  20 20 20 20 20 20 20 20  20 20 65 6e 64 73 2c 20  |          ends, |
0001ba70  61 6e 64 20 61 20 63 6f  6c 6c 65 63 74 69 6f 6e  |and a collection|
0001ba80  20 6f 66 20 62 72 61 73  73 20 6c 61 6e 74 65 72  | of brass lanter|
0001ba90  6e 73 2e 20 20 4f 66 66  20 74 6f 20 6f 6e 65 20  |ns.  Off to one |
0001baa0  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
0001bab0  20 73 69 64 65 20 61 20  67 72 65 61 74 20 6d 61  | side a great ma|
0001bac0  6e 79 20 64 77 61 72 76  65 73 20 61 72 65 20 73  |ny dwarves are s|
0001bad0  6c 65 65 70 69 6e 67 20  6f 6e 20 74 68 65 20 66  |leeping on the f|
0001bae0  6c 6f 6f 72 2c 20 5c 0a  20 20 20 20 20 20 20 20  |loor, \.        |
0001baf0  20 20 20 20 20 20 20 73  6e 6f 72 69 6e 67 20 6c  |       snoring l|
0001bb00  6f 75 64 6c 79 2e 20 20  41 20 73 69 67 6e 20 6e  |oudly.  A sign n|
0001bb10  65 61 72 62 79 20 72 65  61 64 73 3a 20 7e 44 6f  |earby reads: ~Do|
0001bb20  20 6e 6f 74 20 5c 0a 20  20 20 20 20 20 20 20 20  | not \.         |
0001bb30  20 20 20 20 20 20 64 69  73 74 75 72 62 20 74 68  |      disturb th|
0001bb40  65 20 64 77 61 72 76 65  73 21 7e 22 2c 0a 20 20  |e dwarves!~",.  |
0001bb50  20 20 20 20 20 73 77 5f  74 6f 20 41 74 5f 53 77  |     sw_to At_Sw|
0001bb60  5f 45 6e 64 0a 20 20 68  61 73 20 20 6c 69 67 68  |_End.  has  ligh|
0001bb70  74 3b 0a 0a 0a 4e 65 61  72 62 79 20 4d 69 72 72  |t;...Nearby Mirr|
0001bb80  6f 72 5f 32 20 22 65 6e  6f 72 6d 6f 75 73 20 6d  |or_2 "enormous m|
0001bb90  69 72 72 6f 72 22 0a 20  20 77 69 74 68 20 64 65  |irror".  with de|
0001bba0  73 63 72 69 70 74 69 6f  6e 20 22 49 74 20 6c 6f  |scription "It lo|
0001bbb0  6f 6b 73 20 6c 69 6b 65  20 61 6e 20 6f 72 64 69  |oks like an ordi|
0001bbc0  6e 61 72 79 2c 20 61 6c  62 65 69 74 20 65 6e 6f  |nary, albeit eno|
0001bbd0  72 6d 6f 75 73 2c 20 6d  69 72 72 6f 72 2e 22 2c  |rmous, mirror.",|
0001bbe0  0a 20 20 20 20 20 20 20  6e 61 6d 65 20 22 6d 69  |.       name "mi|
0001bbf0  72 72 6f 72 22 20 22 65  6e 6f 72 6d 6f 75 73 22  |rror" "enormous"|
0001bc00  20 22 68 75 67 65 22 20  22 62 69 67 22 20 22 6c  | "huge" "big" "l|
0001bc10  61 72 67 65 22 20 22 73  75 73 70 65 6e 64 65 64  |arge" "suspended|
0001bc20  22 0a 20 20 20 20 20 20  20 20 20 20 20 20 22 68  |".            "h|
0001bc30  61 6e 67 69 6e 67 22 20  22 76 61 6e 69 74 79 22  |anging" "vanity"|
0001bc40  20 22 64 77 61 72 76 69  73 68 22 2c 0a 20 20 20  | "dwarvish",.   |
0001bc50  20 20 20 20 69 6e 69 74  69 61 6c 20 22 41 6e 20  |    initial "An |
0001bc60  69 6d 6d 65 6e 73 65 20  6d 69 72 72 6f 72 20 69  |immense mirror i|
0001bc70  73 20 68 61 6e 67 69 6e  67 20 61 67 61 69 6e 73  |s hanging agains|
0001bc80  74 20 6f 6e 65 20 77 61  6c 6c 2c 20 5c 0a 20 20  |t one wall, \.  |
0001bc90  20 20 20 20 20 20 20 20  20 20 20 20 20 61 6e 64  |             and|
0001bca0  20 73 74 72 65 74 63 68  65 73 20 74 6f 20 74 68  | stretches to th|
0001bcb0  65 20 6f 74 68 65 72 20  65 6e 64 20 6f 66 20 74  |e other end of t|
0001bcc0  68 65 20 72 6f 6f 6d 2c  20 77 68 65 72 65 20 5c  |he room, where \|
0001bcd0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
0001bce0  76 61 72 69 6f 75 73 20  6f 74 68 65 72 20 73 75  |various other su|
0001bcf0  6e 64 72 79 20 6f 62 6a  65 63 74 73 20 63 61 6e  |ndry objects can|
0001bd00  20 62 65 20 67 6c 69 6d  70 73 65 64 20 64 69 6d  | be glimpsed dim|
0001bd10  6c 79 20 69 6e 20 5c 0a  20 20 20 20 20 20 20 20  |ly in \.        |
0001bd20  20 20 20 20 20 20 20 74  68 65 20 64 69 73 74 61  |       the dista|
0001bd30  6e 63 65 2e 22 2c 0a 20  20 20 20 20 20 20 66 6f  |nce.",.       fo|
0001bd40  75 6e 64 5f 69 6e 20 41  74 5f 4e 65 5f 45 6e 64  |und_in At_Ne_End|
0001bd50  20 41 74 5f 53 77 5f 45  6e 64 2c 0a 20 20 20 20  | At_Sw_End,.    |
0001bd60  20 20 20 62 65 66 6f 72  65 0a 20 20 20 20 20 20  |   before.      |
0001bd70  20 5b 3b 0a 20 20 20 20  20 20 20 20 20 20 41 74  | [;.          At|
0001bd80  74 61 63 6b 3a 0a 20 20  20 20 20 20 20 20 20 20  |tack:.          |
0001bd90  20 20 20 70 72 69 6e 74  20 22 59 6f 75 20 73 74  |   print "You st|
0001bda0  72 69 6b 65 20 74 68 65  20 6d 69 72 72 6f 72 20  |rike the mirror |
0001bdb0  61 20 72 65 73 6f 75 6e  64 69 6e 67 20 62 6c 6f  |a resounding blo|
0001bdc0  77 2c 20 77 68 65 72 65  75 70 6f 6e 20 5c 0a 20  |w, whereupon \. |
0001bdd0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0001bde0  20 20 20 69 74 20 73 68  61 74 74 65 72 73 20 69  |   it shatters i|
0001bdf0  6e 74 6f 20 61 20 6d 79  72 69 61 64 20 74 69 6e  |nto a myriad tin|
0001be00  79 20 66 72 61 67 6d 65  6e 74 73 2e 5e 5e 22 3b  |y fragments.^^";|
0001be10  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 44 77  |.             Dw|
0001be20  61 72 76 65 73 57 61 6b  65 28 29 3b 20 72 74 72  |arvesWake(); rtr|
0001be30  75 65 3b 0a 20 20 20 20  20 20 20 5d 2c 0a 20 20  |ue;.       ],.  |
0001be40  68 61 73 20 20 73 74 61  74 69 63 3b 0a 0a 0a 4e  |has  static;...N|
0001be50  65 61 72 62 79 20 52 65  70 6f 73 69 74 6f 72 79  |earby Repository|
0001be60  53 74 75 66 66 5f 31 20  22 63 6f 6c 6c 65 63 74  |Stuff_1 "collect|
0001be70  69 6f 6e 20 6f 66 20 61  64 76 65 6e 74 75 72 65  |ion of adventure|
0001be80  20 67 61 6d 65 20 6d 61  74 65 72 69 61 6c 73 22  | game materials"|
0001be90  0a 20 20 77 69 74 68 20  64 65 73 63 72 69 70 74  |.  with descript|
0001bea0  69 6f 6e 0a 20 20 20 20  20 20 20 20 20 20 20 20  |ion.            |
0001beb0  20 20 20 22 59 6f 75 27  76 65 20 73 65 65 6e 20  |   "You've seen |
0001bec0  65 76 65 72 79 74 68 69  6e 67 20 69 6e 20 68 65  |everything in he|
0001bed0  72 65 20 61 6c 72 65 61  64 79 2c 20 61 6c 62 65  |re already, albe|
0001bee0  69 74 20 5c 0a 20 20 20  20 20 20 20 20 20 20 20  |it \.           |
0001bef0  20 20 20 20 69 6e 20 73  6f 6d 65 77 68 61 74 20  |    in somewhat |
0001bf00  64 69 66 66 65 72 65 6e  74 20 63 6f 6e 74 65 78  |different contex|
0001bf10  74 73 2e 22 2c 0a 20 20  20 20 20 20 20 6e 61 6d  |ts.",.       nam|
0001bf20  65 20 22 73 74 75 66 66  22 20 22 6a 75 6e 6b 22  |e "stuff" "junk"|
0001bf30  20 22 6d 61 74 65 72 69  61 6c 73 22 20 22 74 6f  | "materials" "to|
0001bf40  72 63 68 65 73 22 20 22  6f 62 6a 65 63 74 73 22  |rches" "objects"|
0001bf50  0a 20 20 20 20 20 20 20  22 61 64 76 65 6e 74 75  |.       "adventu|
0001bf60  72 65 22 20 22 72 65 70  6f 73 69 74 6f 72 79 22  |re" "repository"|
0001bf70  20 22 6d 61 73 73 69 76  65 22 20 22 73 75 6e 64  | "massive" "sund|
0001bf80  72 79 22 2c 0a 20 20 20  20 20 20 20 62 65 66 6f  |ry",.       befo|
0001bf90  72 65 0a 20 20 20 20 20  20 20 5b 3b 20 54 61 6b  |re.       [; Tak|
0001bfa0  65 3a 20 22 52 65 61 6c  69 7a 69 6e 67 20 74 68  |e: "Realizing th|
0001bfb0  61 74 20 62 79 20 72 65  6d 6f 76 69 6e 67 20 74  |at by removing t|
0001bfc0  68 65 20 6c 6f 6f 74 20  68 65 72 65 20 79 6f 75  |he loot here you|
0001bfd0  27 64 20 62 65 20 5c 0a  20 20 20 20 20 20 20 20  |'d be \.        |
0001bfe0  20 20 20 20 20 20 20 20  20 72 75 69 6e 69 6e 67  |         ruining|
0001bff0  20 74 68 65 20 67 61 6d  65 20 66 6f 72 20 66 75  | the game for fu|
0001c000  74 75 72 65 20 70 6c 61  79 65 72 73 2c 20 79 6f  |ture players, yo|
0001c010  75 20 6c 65 61 76 65 20  74 68 65 20 5c 0a 20 20  |u leave the \.  |
0001c020  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 7e  |               ~|
0001c030  41 64 76 65 6e 74 75 72  65 7e 20 6d 61 74 65 72  |Adventure~ mater|
0001c040  69 61 6c 73 20 77 68 65  72 65 20 74 68 65 79 20  |ials where they |
0001c050  61 72 65 2e 22 3b 0a 20  20 20 20 20 20 20 5d 2c  |are.";.       ],|
0001c060  0a 20 20 68 61 73 20 20  73 63 65 6e 65 72 79 3b  |.  has  scenery;|
0001c070  0a 0a 0a 4e 65 61 72 62  79 20 52 65 70 6f 73 69  |...Nearby Reposi|
0001c080  74 6f 72 79 44 77 61 72  76 65 73 20 22 73 6c 65  |toryDwarves "sle|
0001c090  65 70 69 6e 67 20 64 77  61 72 76 65 73 22 0a 20  |eping dwarves". |
0001c0a0  20 77 69 74 68 20 64 65  73 63 72 69 70 74 69 6f  | with descriptio|
0001c0b0  6e 20 22 49 20 77 6f 75  6c 64 6e 27 74 20 62 6f  |n "I wouldn't bo|
0001c0c0  74 68 65 72 20 74 68 65  20 64 77 61 72 76 65 73  |ther the dwarves|
0001c0d0  20 69 66 20 49 20 77 65  72 65 20 79 6f 75 2e 22  | if I were you."|
0001c0e0  2c 0a 20 20 20 20 20 20  20 6e 61 6d 65 20 22 64  |,.       name "d|
0001c0f0  77 61 72 66 22 20 22 64  77 61 72 76 65 73 22 20  |warf" "dwarves" |
0001c100  22 73 6c 65 65 70 69 6e  67 22 20 22 73 6e 6f 72  |"sleeping" "snor|
0001c110  69 6e 67 22 20 22 64 6f  7a 69 6e 67 22 20 22 73  |ing" "dozing" "s|
0001c120  6e 6f 6f 7a 69 6e 67 22  2c 0a 20 20 20 20 20 20  |noozing",.      |
0001c130  20 61 72 74 69 63 6c 65  20 22 68 75 6e 64 72 65  | article "hundre|
0001c140  64 73 20 6f 66 20 61 6e  67 72 79 22 2c 0a 20 20  |ds of angry",.  |
0001c150  20 20 20 20 20 62 65 66  6f 72 65 0a 20 20 20 20  |     before.    |
0001c160  20 20 20 5b 3b 20 0a 20  20 20 20 20 20 20 20 20  |   [; .         |
0001c170  20 54 61 6b 65 3a 20 22  57 68 61 74 2c 20 61 6c  | Take: "What, al|
0001c180  6c 20 6f 66 20 74 68 65  6d 3f 22 3b 0a 20 20 20  |l of them?";.   |
0001c190  20 20 20 20 5d 2c 0a 20  20 20 20 20 20 20 6c 69  |    ],.       li|
0001c1a0  66 65 0a 20 20 20 20 20  20 20 5b 3b 20 57 61 6b  |fe.       [; Wak|
0001c1b0  65 4f 74 68 65 72 3a 0a  20 20 20 20 20 20 20 20  |eOther:.        |
0001c1c0  20 20 20 20 20 20 70 72  69 6e 74 20 22 59 6f 75  |      print "You|
0001c1d0  20 70 72 6f 64 20 74 68  65 20 6e 65 61 72 65 73  | prod the neares|
0001c1e0  74 20 64 77 61 72 66 2c  20 77 68 6f 20 77 61 6b  |t dwarf, who wak|
0001c1f0  65 73 20 75 70 20 67 72  75 6d 70 69 6c 79 2c 20  |es up grumpily, |
0001c200  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
0001c210  20 20 20 20 20 20 20 74  61 6b 65 73 20 6f 6e 65  |       takes one|
0001c220  20 6c 6f 6f 6b 20 61 74  20 79 6f 75 2c 20 63 75  | look at you, cu|
0001c230  72 73 65 73 2c 20 61 6e  64 20 67 72 61 62 73 20  |rses, and grabs |
0001c240  66 6f 72 20 68 69 73 20  5c 0a 20 20 20 20 20 20  |for his \.      |
0001c250  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 61  |               a|
0001c260  78 65 2e 5e 5e 22 3b 0a  20 20 20 20 20 20 20 20  |xe.^^";.        |
0001c270  20 20 20 20 20 20 44 77  61 72 76 65 73 57 61 6b  |      DwarvesWak|
0001c280  65 28 29 3b 20 72 74 72  75 65 3b 0a 20 20 20 20  |e(); rtrue;.    |
0001c290  20 20 20 20 20 20 41 74  74 61 63 6b 3a 20 44 77  |      Attack: Dw|
0001c2a0  61 72 76 65 73 57 61 6b  65 28 29 3b 20 72 74 72  |arvesWake(); rtr|
0001c2b0  75 65 3b 0a 20 20 20 20  20 20 20 5d 2c 0a 20 20  |ue;.       ],.  |
0001c2c0  68 61 73 20 20 61 6e 69  6d 61 74 65 20 73 63 65  |has  animate sce|
0001c2d0  6e 65 72 79 3b 0a 0a 0a  4f 62 6a 65 63 74 20 41  |nery;...Object A|
0001c2e0  74 5f 53 77 5f 45 6e 64  20 22 53 57 20 45 6e 64  |t_Sw_End "SW End|
0001c2f0  20 6f 66 20 52 65 70 6f  73 69 74 6f 72 79 22 0a  | of Repository".|
0001c300  20 20 77 69 74 68 20 64  65 73 63 72 69 70 74 69  |  with descripti|
0001c310  6f 6e 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |on.             |
0001c320  20 20 22 59 6f 75 20 61  72 65 20 61 74 20 74 68  |  "You are at th|
0001c330  65 20 73 6f 75 74 68 77  65 73 74 20 65 6e 64 20  |e southwest end |
0001c340  6f 66 20 74 68 65 20 72  65 70 6f 73 69 74 6f 72  |of the repositor|
0001c350  79 2e 20 5c 0a 20 20 20  20 20 20 20 20 20 20 20  |y. \.           |
0001c360  20 20 20 20 54 6f 20 6f  6e 65 20 73 69 64 65 20  |    To one side |
0001c370  69 73 20 61 20 70 69 74  20 66 75 6c 6c 20 6f 66  |is a pit full of|
0001c380  20 66 69 65 72 63 65 20  67 72 65 65 6e 20 73 6e  | fierce green sn|
0001c390  61 6b 65 73 2e 20 4f 6e  20 5c 0a 20 20 20 20 20  |akes. On \.     |
0001c3a0  20 20 20 20 20 20 20 20  20 20 74 68 65 20 6f 74  |          the ot|
0001c3b0  68 65 72 20 73 69 64 65  20 69 73 20 61 20 72 6f  |her side is a ro|
0001c3c0  77 20 6f 66 20 73 6d 61  6c 6c 20 77 69 63 6b 65  |w of small wicke|
0001c3d0  72 20 63 61 67 65 73 2c  20 65 61 63 68 20 5c 0a  |r cages, each \.|
0001c3e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 6f  |               o|
0001c3f0  66 20 77 68 69 63 68 20  63 6f 6e 74 61 69 6e 73  |f which contains|
0001c400  20 61 20 6c 69 74 74 6c  65 20 73 75 6c 6b 69 6e  | a little sulkin|
0001c410  67 20 62 69 72 64 2e 20  20 49 6e 20 6f 6e 65 20  |g bird.  In one |
0001c420  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
0001c430  20 63 6f 72 6e 65 72 20  69 73 20 61 20 62 75 6e  | corner is a bun|
0001c440  64 6c 65 20 6f 66 20 62  6c 61 63 6b 20 72 6f 64  |dle of black rod|
0001c450  73 20 77 69 74 68 20 72  75 73 74 79 20 6d 61 72  |s with rusty mar|
0001c460  6b 73 20 6f 6e 20 5c 0a  20 20 20 20 20 20 20 20  |ks on \.        |
0001c470  20 20 20 20 20 20 20 74  68 65 69 72 20 65 6e 64  |       their end|
0001c480  73 2e 20 20 41 20 6c 61  72 67 65 20 6e 75 6d 62  |s.  A large numb|
0001c490  65 72 20 6f 66 20 76 65  6c 76 65 74 20 70 69 6c  |er of velvet pil|
0001c4a0  6c 6f 77 73 20 61 72 65  20 5c 0a 20 20 20 20 20  |lows are \.     |
0001c4b0  20 20 20 20 20 20 20 20  20 20 73 63 61 74 74 65  |          scatte|
0001c4c0  72 65 64 20 61 62 6f 75  74 20 6f 6e 20 74 68 65  |red about on the|
0001c4d0  20 66 6c 6f 6f 72 2e 20  41 20 76 61 73 74 20 6d  | floor. A vast m|
0001c4e0  69 72 72 6f 72 20 73 74  72 65 74 63 68 65 73 20  |irror stretches |
0001c4f0  5c 0a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |\.              |
0001c500  20 6f 66 66 20 74 6f 20  74 68 65 20 6e 6f 72 74  | off to the nort|
0001c510  68 65 61 73 74 2e 20 41  74 20 79 6f 75 72 20 66  |heast. At your f|
0001c520  65 65 74 20 69 73 20 61  20 6c 61 72 67 65 20 73  |eet is a large s|
0001c530  74 65 65 6c 20 5c 0a 20  20 20 20 20 20 20 20 20  |teel \.         |
0001c540  20 20 20 20 20 20 67 72  61 74 65 2c 20 6e 65 78  |      grate, nex|
0001c550  74 20 74 6f 20 77 68 69  63 68 20 69 73 20 61 20  |t to which is a |
0001c560  73 69 67 6e 20 77 68 69  63 68 20 72 65 61 64 73  |sign which reads|
0001c570  2c 20 5c 0a 20 20 20 20  20 20 20 20 20 20 20 20  |, \.            |
0001c580  20 20 20 7e 54 52 45 41  53 55 52 45 20 56 41 55  |   ~TREASURE VAU|
0001c590  4c 54 2e 20 4b 65 79 73  20 69 6e 20 6d 61 69 6e  |LT. Keys in main|
0001c5a0  20 6f 66 66 69 63 65 2e  7e 22 2c 0a 20 20 20 20  | office.~",.    |
0001c5b0  20 20 20 64 5f 74 6f 20  52 65 70 6f 73 69 74 6f  |   d_to Reposito|
0001c5c0  72 79 47 72 61 74 65 2c  0a 20 20 20 20 20 20 20  |ryGrate,.       |
0001c5d0  6e 65 5f 74 6f 20 41 74  5f 4e 65 5f 45 6e 64 0a  |ne_to At_Ne_End.|
0001c5e0  20 20 68 61 73 20 20 6c  69 67 68 74 3b 0a 0a 0a  |  has  light;...|
0001c5f0  4e 65 61 72 62 79 20 52  65 70 6f 73 69 74 6f 72  |Nearby Repositor|
0001c600  79 47 72 61 74 65 20 22  73 74 65 65 6c 20 67 72  |yGrate "steel gr|
0001c610  61 74 65 22 0a 20 20 77  69 74 68 20 6e 61 6d 65  |ate".  with name|
0001c620  20 22 6f 72 64 69 6e 61  72 79 22 20 22 73 74 65  | "ordinary" "ste|
0001c630  65 6c 22 20 22 67 72 61  74 65 22 20 22 67 72 61  |el" "grate" "gra|
0001c640  74 69 6e 67 22 2c 0a 20  20 20 20 20 20 20 64 65  |ting",.       de|
0001c650  73 63 72 69 70 74 69 6f  6e 0a 20 20 20 20 20 20  |scription.      |
0001c660  20 20 20 20 20 20 20 20  20 22 49 74 20 6a 75 73  |         "It jus|
0001c670  74 20 6c 6f 6f 6b 73 20  6c 69 6b 65 20 61 6e 20  |t looks like an |
0001c680  6f 72 64 69 6e 61 72 79  20 73 74 65 65 6c 20 67  |ordinary steel g|
0001c690  72 61 74 65 2e 22 2c 0a  20 20 20 20 20 20 20 77  |rate.",.       w|
0001c6a0  68 65 6e 5f 6f 70 65 6e  20 22 54 68 65 20 67 72  |hen_open "The gr|
0001c6b0  61 74 65 20 69 73 20 6f  70 65 6e 2e 22 2c 0a 20  |ate is open.",. |
0001c6c0  20 20 20 20 20 20 77 68  65 6e 5f 63 6c 6f 73 65  |      when_close|
0001c6d0  64 20 22 54 68 65 20 67  72 61 74 65 20 69 73 20  |d "The grate is |
0001c6e0  63 6c 6f 73 65 64 2e 22  2c 0a 20 20 20 20 20 20  |closed.",.      |
0001c6f0  20 64 6f 6f 72 5f 64 69  72 20 64 5f 74 6f 2c 20  | door_dir d_to, |
0001c700  64 6f 6f 72 5f 74 6f 20  4f 75 74 73 69 64 65 5f  |door_to Outside_|
0001c710  47 72 61 74 65 2c 20 77  69 74 68 5f 6b 65 79 20  |Grate, with_key |
0001c720  30 0a 20 20 68 61 73 20  20 73 74 61 74 69 63 20  |0.  has  static |
0001c730  64 6f 6f 72 20 6c 6f 63  6b 65 64 20 6f 70 65 6e  |door locked open|
0001c740  61 62 6c 65 3b 0a 0a 0a  4e 65 61 72 62 79 20 52  |able;...Nearby R|
0001c750  65 70 6f 73 69 74 6f 72  79 53 74 75 66 66 5f 32  |epositoryStuff_2|
0001c760  20 22 63 6f 6c 6c 65 63  74 69 6f 6e 20 6f 66 20  | "collection of |
0001c770  61 64 76 65 6e 74 75 72  65 20 67 61 6d 65 20 6d  |adventure game m|
0001c780  61 74 65 72 69 61 6c 73  22 0a 20 20 77 69 74 68  |aterials".  with|
0001c790  20 64 65 73 63 72 69 70  74 69 6f 6e 0a 20 20 20  | description.   |
0001c7a0  20 20 20 20 20 20 20 20  20 20 20 20 22 59 6f 75  |            "You|
0001c7b0  27 76 65 20 73 65 65 6e  20 65 76 65 72 79 74 68  |'ve seen everyth|
0001c7c0  69 6e 67 20 69 6e 20 68  65 72 65 20 61 6c 72 65  |ing in here alre|
0001c7d0  61 64 79 2c 20 61 6c 62  65 69 74 20 5c 0a 20 20  |ady, albeit \.  |
0001c7e0  20 20 20 20 20 20 20 20  20 20 20 20 20 69 6e 20  |             in |
0001c7f0  73 6f 6d 65 77 68 61 74  20 64 69 66 66 65 72 65  |somewhat differe|
0001c800  6e 74 20 63 6f 6e 74 65  78 74 73 2e 22 2c 0a 20  |nt contexts.",. |
0001c810  20 20 20 20 20 20 6e 61  6d 65 20 22 70 69 74 22  |      name "pit"|
0001c820  20 22 73 6e 61 6b 65 22  20 22 73 6e 61 6b 65 73  | "snake" "snakes|
0001c830  22 20 22 66 69 65 72 63  65 22 20 22 67 72 65 65  |" "fierce" "gree|
0001c840  6e 22 0a 20 20 20 20 20  20 20 20 20 20 20 20 22  |n".            "|
0001c850  73 74 75 66 66 22 20 22  6a 75 6e 6b 22 20 22 6d  |stuff" "junk" "m|
0001c860  61 74 65 72 69 61 6c 73  22 0a 20 20 20 20 20 20  |aterials".      |
0001c870  20 20 20 20 20 20 22 61  64 76 65 6e 74 75 72 65  |      "adventure|
0001c880  22 20 22 72 65 70 6f 73  69 74 6f 72 79 22 20 22  |" "repository" "|
0001c890  6d 61 73 73 69 76 65 22  20 22 73 75 6e 64 72 79  |massive" "sundry|
0001c8a0  22 2c 0a 20 20 20 20 20  20 20 62 65 66 6f 72 65  |",.       before|
0001c8b0  0a 20 20 20 20 20 20 20  5b 3b 20 54 61 6b 65 3a  |.       [; Take:|
0001c8c0  20 22 52 65 61 6c 69 7a  69 6e 67 20 74 68 61 74  | "Realizing that|
0001c8d0  20 62 79 20 72 65 6d 6f  76 69 6e 67 20 74 68 65  | by removing the|
0001c8e0  20 6c 6f 6f 74 20 68 65  72 65 20 79 6f 75 27 64  | loot here you'd|
0001c8f0  20 62 65 20 5c 0a 20 20  20 20 20 20 20 20 20 20  | be \.          |
0001c900  20 20 20 20 20 20 20 72  75 69 6e 69 6e 67 20 74  |       ruining t|
0001c910  68 65 20 67 61 6d 65 20  66 6f 72 20 66 75 74 75  |he game for futu|
0001c920  72 65 20 70 6c 61 79 65  72 73 2c 20 79 6f 75 20  |re players, you |
0001c930  6c 65 61 76 65 20 74 68  65 20 5c 0a 20 20 20 20  |leave the \.    |
0001c940  20 20 20 20 20 20 20 20  20 20 20 20 20 7e 41 64  |             ~Ad|
0001c950  76 65 6e 74 75 72 65 7e  20 6d 61 74 65 72 69 61  |venture~ materia|
0001c960  6c 73 20 77 68 65 72 65  20 74 68 65 79 20 61 72  |ls where they ar|
0001c970  65 2e 22 3b 0a 20 20 20  20 20 20 20 5d 2c 0a 20  |e.";.       ],. |
0001c980  20 68 61 73 20 20 73 63  65 6e 65 72 79 3b 0a 0a  | has  scenery;..|
0001c990  4e 65 61 72 62 79 20 62  6c 61 63 6b 5f 6d 61 72  |Nearby black_mar|
0001c9a0  6b 5f 72 6f 64 20 22 62  6c 61 63 6b 20 72 6f 64  |k_rod "black rod|
0001c9b0  20 77 69 74 68 20 61 20  72 75 73 74 79 20 6d 61  | with a rusty ma|
0001c9c0  72 6b 20 6f 6e 20 74 68  65 20 65 6e 64 22 0a 20  |rk on the end". |
0001c9d0  20 77 69 74 68 20 64 65  73 63 72 69 70 74 69 6f  | with descriptio|
0001c9e0  6e 20 22 49 74 27 73 20  61 20 74 68 72 65 65 20  |n "It's a three |
0001c9f0  66 6f 6f 74 20 62 6c 61  63 6b 20 72 6f 64 20 77  |foot black rod w|
0001ca00  69 74 68 20 61 20 72 75  73 74 79 20 6d 61 72 6b  |ith a rusty mark|
0001ca10  20 6f 6e 20 61 6e 20 65  6e 64 2e 22 2c 0a 20 20  | on an end.",.  |
0001ca20  20 20 20 20 20 69 6e 69  74 69 61 6c 20 20 22 41  |     initial  "A|
0001ca30  20 74 68 72 65 65 20 66  6f 6f 74 20 62 6c 61 63  | three foot blac|
0001ca40  6b 20 72 6f 64 20 5c 0a  20 20 20 20 20 20 20 20  |k rod \.        |
0001ca50  20 20 20 20 20 20 20 20  20 77 69 74 68 20 61 20  |         with a |
0001ca60  72 75 73 74 79 20 6d 61  72 6b 20 6f 6e 20 6f 6e  |rusty mark on on|
0001ca70  65 20 65 6e 64 20 6c 69  65 73 20 6e 65 61 72 62  |e end lies nearb|
0001ca80  79 2e 22 2c 0a 20 20 20  20 20 20 20 6e 61 6d 65  |y.",.       name|
0001ca90  20 22 72 6f 64 22 20 22  62 6c 61 63 6b 22 20 22  | "rod" "black" "|
0001caa0  72 75 73 74 79 22 20 22  6d 61 72 6b 22 20 22 74  |rusty" "mark" "t|
0001cab0  68 72 65 65 22 20 22 66  6f 6f 74 22 20 22 69 72  |hree" "foot" "ir|
0001cac0  6f 6e 22 20 22 65 78 70  6c 6f 73 69 76 65 22 0a  |on" "explosive".|
0001cad0  20 20 20 20 20 20 20 20  20 20 20 20 22 64 79 6e  |            "dyn|
0001cae0  61 6d 69 74 65 22 20 22  62 6c 61 73 74 22 2c 0a  |amite" "blast",.|
0001caf0  20 20 20 20 20 20 20 62  65 66 6f 72 65 20 5b 3b  |       before [;|
0001cb00  20 57 61 76 65 3a 20 22  4e 6f 74 68 69 6e 67 20  | Wave: "Nothing |
0001cb10  68 61 70 70 65 6e 73 2e  22 3b 20 5d 3b 0a 0a 5b  |happens."; ];..[|
0001cb20  20 44 77 61 72 76 65 73  57 61 6b 65 3b 0a 20 20  | DwarvesWake;.  |
0001cb30  64 65 61 64 66 6c 61 67  3d 31 3b 0a 20 20 22 54  |deadflag=1;.  "T|
0001cb40  68 65 20 72 65 73 75 6c  74 69 6e 67 20 72 75 63  |he resulting ruc|
0001cb50  6b 75 73 20 68 61 73 20  61 77 61 6b 65 6e 65 64  |kus has awakened|
0001cb60  20 74 68 65 20 64 77 61  72 76 65 73 2e 20 20 54  | the dwarves.  T|
0001cb70  68 65 72 65 20 5c 0a 20  20 20 61 72 65 20 6e 6f  |here \.   are no|
0001cb80  77 20 64 6f 7a 65 6e 73  20 6f 66 20 74 68 72 65  |w dozens of thre|
0001cb90  61 74 65 6e 69 6e 67 20  6c 69 74 74 6c 65 20 64  |atening little d|
0001cba0  77 61 72 76 65 73 20 69  6e 20 74 68 65 20 72 6f  |warves in the ro|
0001cbb0  6f 6d 20 77 69 74 68 20  5c 0a 20 20 20 79 6f 75  |om with \.   you|
0001cbc0  21 20 20 4d 6f 73 74 20  6f 66 20 74 68 65 6d 20  |!  Most of them |
0001cbd0  74 68 72 6f 77 20 6b 6e  69 76 65 73 20 61 74 20  |throw knives at |
0001cbe0  79 6f 75 21 20 20 41 6c  6c 20 6f 66 20 74 68 65  |you!  All of the|
0001cbf0  6d 20 67 65 74 20 5c 0a  20 20 20 79 6f 75 21 22  |m get \.   you!"|
0001cc00  3b 0a 5d 3b 0a 0a 21 20  2d 2d 2d 2d 2d 2d 2d 2d  |;.];..! --------|
0001cc10  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0001cc50  2d 2d 2d 2d 0a 21 20 20  20 53 6f 6d 65 20 65 6e  |----.!   Some en|
0001cc60  74 72 79 20 70 6f 69 6e  74 73 0a 21 20 2d 2d 2d  |try points.! ---|
0001cc70  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0001ccb0  2d 2d 2d 2d 2d 2d 2d 2d  2d 0a 0a 5b 20 49 6e 69  |---------..[ Ini|
0001ccc0  74 69 61 6c 69 73 65 3b  0a 20 20 6c 6f 63 61 74  |tialise;.  locat|
0001ccd0  69 6f 6e 3d 41 74 5f 45  6e 64 5f 4f 66 5f 52 6f  |ion=At_End_Of_Ro|
0001cce0  61 64 3b 20 73 63 6f 72  65 20 3d 20 33 36 3b 0a  |ad; score = 36;.|
0001ccf0  0a 20 20 70 72 65 74 74  79 5f 66 6c 61 67 20 3d  |.  pretty_flag =|
0001cd00  20 30 3b 0a 0a 20 20 53  74 61 72 74 44 61 65 6d  | 0;..  StartDaem|
0001cd10  6f 6e 28 64 77 61 72 66  29 3b 20 53 74 61 72 74  |on(dwarf); Start|
0001cd20  44 61 65 6d 6f 6e 28 70  69 72 61 74 65 29 3b 20  |Daemon(pirate); |
0001cd30  53 74 61 72 74 44 61 65  6d 6f 6e 28 63 61 76 65  |StartDaemon(cave|
0001cd40  5f 63 6c 6f 73 65 72 29  3b 0a 0a 20 20 70 72 69  |_closer);..  pri|
0001cd50  6e 74 20 22 5e 5e 5e 5e  5e 57 65 6c 63 6f 6d 65  |nt "^^^^^Welcome|
0001cd60  20 74 6f 20 41 64 76 65  6e 74 75 72 65 21 5e 5e  | to Adventure!^^|
0001cd70  22 3b 0a 5d 3b 0a 0a 5b  20 50 72 69 6e 74 52 61  |";.];..[ PrintRa|
0001cd80  6e 6b 3b 0a 20 20 70 72  69 6e 74 20 22 2c 20 65  |nk;.  print ", e|
0001cd90  61 72 6e 69 6e 67 20 79  6f 75 20 74 68 65 20 72  |arning you the r|
0001cda0  61 6e 6b 20 6f 66 20 22  3b 0a 20 20 69 66 20 28  |ank of ";.  if (|
0001cdb0  73 63 6f 72 65 20 3e 3d  20 33 34 38 29 20 22 47  |score >= 348) "G|
0001cdc0  72 61 6e 64 6d 61 73 74  65 72 20 41 64 76 65 6e  |randmaster Adven|
0001cdd0  74 75 72 65 72 21 22 3b  0a 20 20 69 66 20 28 73  |turer!";.  if (s|
0001cde0  63 6f 72 65 20 3e 3d 20  33 33 30 29 20 22 4d 61  |core >= 330) "Ma|
0001cdf0  73 74 65 72 2c 20 66 69  72 73 74 20 63 6c 61 73  |ster, first clas|
0001ce00  73 2e 22 3b 0a 20 20 69  66 20 28 73 63 6f 72 65  |s.";.  if (score|
0001ce10  20 3e 3d 20 33 30 30 29  20 22 4d 61 73 74 65 72  | >= 300) "Master|
0001ce20  2c 20 73 65 63 6f 6e 64  20 63 6c 61 73 73 2e 22  |, second class."|
0001ce30  3b 0a 20 20 69 66 20 28  73 63 6f 72 65 20 3e 3d  |;.  if (score >=|
0001ce40  20 32 30 30 29 20 22 4a  75 6e 69 6f 72 20 4d 61  | 200) "Junior Ma|
0001ce50  73 74 65 72 2e 22 3b 0a  20 20 69 66 20 28 73 63  |ster.";.  if (sc|
0001ce60  6f 72 65 20 3e 3d 20 31  33 30 29 20 22 53 65 61  |ore >= 130) "Sea|
0001ce70  73 6f 6e 65 64 20 41 64  76 65 6e 74 75 72 65 72  |soned Adventurer|
0001ce80  2e 22 3b 0a 20 20 69 66  20 28 73 63 6f 72 65 20  |.";.  if (score |
0001ce90  3e 3d 20 31 30 30 29 20  22 45 78 70 65 72 69 65  |>= 100) "Experie|
0001cea0  6e 63 65 64 20 41 64 76  65 6e 74 75 72 65 72 2e  |nced Adventurer.|
0001ceb0  22 3b 0a 20 20 69 66 20  28 73 63 6f 72 65 20 3e  |";.  if (score >|
0001cec0  3d 20 33 35 29 20 22 41  64 76 65 6e 74 75 72 65  |= 35) "Adventure|
0001ced0  72 2e 22 3b 0a 20 20 69  66 20 28 73 63 6f 72 65  |r.";.  if (score|
0001cee0  20 3e 3d 20 31 30 29 20  22 4e 6f 76 69 63 65 2e  | >= 10) "Novice.|
0001cef0  22 3b 0a 20 20 22 41 6d  61 74 65 75 72 2e 22 3b  |";.  "Amateur.";|
0001cf00  0a 5d 3b 0a 0a 47 6c 6f  62 61 6c 20 64 61 72 6b  |.];..Global dark|
0001cf10  5f 77 61 72 6e 69 6e 67  20 3d 20 30 3b 0a 5b 20  |_warning = 0;.[ |
0001cf20  44 61 72 6b 54 6f 44 61  72 6b 3b 0a 20 20 69 66  |DarkToDark;.  if|
0001cf30  20 28 64 61 72 6b 5f 77  61 72 6e 69 6e 67 3d 3d  | (dark_warning==|
0001cf40  30 29 0a 20 20 7b 20 20  20 64 61 72 6b 5f 77 61  |0).  {   dark_wa|
0001cf50  72 6e 69 6e 67 3d 31 3b  20 22 49 74 20 69 73 20  |rning=1; "It is |
0001cf60  6e 6f 77 20 70 69 74 63  68 20 64 61 72 6b 2e 20  |now pitch dark. |
0001cf70  20 5c 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  | \.             |
0001cf80  20 20 20 20 20 20 20 20  20 20 49 66 20 79 6f 75  |          If you|
0001cf90  20 70 72 6f 63 65 65 64  20 79 6f 75 20 77 69 6c  | proceed you wil|
0001cfa0  6c 20 6c 69 6b 65 6c 79  20 66 61 6c 6c 20 69 6e  |l likely fall in|
0001cfb0  74 6f 20 61 20 70 69 74  2e 22 3b 0a 20 20 7d 0a  |to a pit.";.  }.|
0001cfc0  20 20 69 66 20 28 72 61  6e 64 6f 6d 28 34 29 20  |  if (random(4) |
0001cfd0  3d 3d 20 31 29 0a 20 20  7b 20 20 20 64 65 61 64  |== 1).  {   dead|
0001cfe0  66 6c 61 67 3d 31 3b 0a  20 20 20 20 20 20 22 59  |flag=1;.      "Y|
0001cff0  6f 75 20 66 65 6c 6c 20  69 6e 74 6f 20 61 20 70  |ou fell into a p|
0001d000  69 74 20 61 6e 64 20 62  72 6f 6b 65 20 65 76 65  |it and broke eve|
0001d010  72 79 20 62 6f 6e 65 20  69 6e 20 79 6f 75 72 20  |ry bone in your |
0001d020  62 6f 64 79 21 22 3b 0a  20 20 7d 0a 20 20 72 66  |body!";.  }.  rf|
0001d030  61 6c 73 65 3b 0a 5d 3b  0a 0a 21 20 2d 2d 2d 2d  |alse;.];..! ----|
0001d040  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0001d080  2d 2d 2d 2d 2d 2d 2d 2d  0a 21 20 20 20 4d 65 6e  |--------.!   Men|
0001d090  75 2d 64 72 69 76 65 6e  20 68 65 6c 70 0a 21 20  |u-driven help.! |
0001d0a0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0001d0e0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 0a 0a 5b 20  |------------..[ |
0001d0f0  48 65 6c 70 4d 65 6e 75  3b 0a 20 20 69 66 20 28  |HelpMenu;.  if (|
0001d100  6d 65 6e 75 5f 69 74 65  6d 3d 3d 30 29 20 20 7b  |menu_item==0)  {|
0001d110  20 69 74 65 6d 5f 77 69  64 74 68 3d 38 3b 20 69  | item_width=8; i|
0001d120  74 65 6d 5f 6e 61 6d 65  3d 22 41 62 6f 75 74 20  |tem_name="About |
0001d130  41 64 76 65 6e 74 75 72  65 22 3b 0a 20 20 20 20  |Adventure";.    |
0001d140  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0001d150  20 20 20 69 66 20 28 64  65 61 64 66 6c 61 67 3d  |   if (deadflag=|
0001d160  3d 32 29 20 72 65 74 75  72 6e 20 34 3b 20 65 6c  |=2) return 4; el|
0001d170  73 65 20 72 65 74 75 72  6e 20 33 3b 0a 20 20 20  |se return 3;.   |
0001d180  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
0001d190  20 20 7d 0a 20 20 69 66  20 28 6d 65 6e 75 5f 69  |  }.  if (menu_i|
0001d1a0  74 65 6d 3d 3d 31 29 20  20 7b 20 69 74 65 6d 5f  |tem==1)  { item_|
0001d1b0  77 69 64 74 68 3d 36 3b  20 69 74 65 6d 5f 6e 61  |width=6; item_na|
0001d1c0  6d 65 3d 22 49 6e 73 74  72 75 63 74 69 6f 6e 73  |me="Instructions|
0001d1d0  22 3b 20 7d 0a 20 20 69  66 20 28 6d 65 6e 75 5f  |"; }.  if (menu_|
0001d1e0  69 74 65 6d 3d 3d 32 29  20 20 7b 20 69 74 65 6d  |item==2)  { item|
0001d1f0  5f 77 69 64 74 68 3d 34  3b 20 69 74 65 6d 5f 6e  |_width=4; item_n|
0001d200  61 6d 65 3d 22 48 69 73  74 6f 72 79 22 3b 20 20  |ame="History";  |
0001d210  20 20 20 20 7d 0a 20 20  69 66 20 28 6d 65 6e 75  |    }.  if (menu|
0001d220  5f 69 74 65 6d 3d 3d 33  29 20 20 7b 20 69 74 65  |_item==3)  { ite|
0001d230  6d 5f 77 69 64 74 68 3d  36 3b 20 69 74 65 6d 5f  |m_width=6; item_|
0001d240  6e 61 6d 65 3d 22 41 75  74 68 65 6e 74 69 63 69  |name="Authentici|
0001d250  74 79 22 3b 20 7d 0a 20  20 69 66 20 28 6d 65 6e  |ty"; }.  if (men|
0001d260  75 5f 69 74 65 6d 3d 3d  34 29 20 20 7b 20 69 74  |u_item==4)  { it|
0001d270  65 6d 5f 77 69 64 74 68  3d 37 3b 20 69 74 65 6d  |em_width=7; item|
0001d280  5f 6e 61 6d 65 3d 22 44  69 64 20 79 6f 75 20 6b  |_name="Did you k|
0001d290  6e 6f 77 2e 2e 2e 22 3b  20 7d 0a 5d 3b 0a 0a 5b  |now..."; }.];..[|
0001d2a0  20 48 65 6c 70 49 6e 66  6f 3b 0a 20 69 66 20 28  | HelpInfo;. if (|
0001d2b0  6d 65 6e 75 5f 69 74 65  6d 3d 3d 31 29 0a 20 7b  |menu_item==1). {|
0001d2c0  0a 20 70 72 69 6e 74 20  22 49 20 6b 6e 6f 77 20  |. print "I know |
0001d2d0  6f 66 20 70 6c 61 63 65  73 2c 20 61 63 74 69 6f  |of places, actio|
0001d2e0  6e 73 2c 20 61 6e 64 20  74 68 69 6e 67 73 2e 20  |ns, and things. |
0001d2f0  20 59 6f 75 20 63 61 6e  20 67 75 69 64 65 20 5c  | You can guide \|
0001d300  0a 20 20 20 20 20 20 20  20 6d 65 20 75 73 69 6e  |.        me usin|
0001d310  67 20 63 6f 6d 6d 61 6e  64 73 20 74 68 61 74 20  |g commands that |
0001d320  61 72 65 20 63 6f 6d 70  6c 65 74 65 20 73 65 6e  |are complete sen|
0001d330  74 65 6e 63 65 73 2e 20  54 6f 20 6d 6f 76 65 2c  |tences. To move,|
0001d340  20 74 72 79 20 5c 0a 20  20 20 20 20 20 20 20 63  | try \.        c|
0001d350  6f 6d 6d 61 6e 64 73 20  6c 69 6b 65 20 7e 65 6e  |ommands like ~en|
0001d360  74 65 72 2c 7e 20 7e 65  61 73 74 2c 7e 20 7e 77  |ter,~ ~east,~ ~w|
0001d370  65 73 74 2c 7e 20 7e 6e  6f 72 74 68 2c 7e 20 7e  |est,~ ~north,~ ~|
0001d380  73 6f 75 74 68 2c 7e 20  7e 75 70 2c 7e 20 5c 0a  |south,~ ~up,~ \.|
0001d390  20 20 20 20 20 20 20 20  7e 64 6f 77 6e 2c 7e 20  |        ~down,~ |
0001d3a0  7e 65 6e 74 65 72 20 62  75 69 6c 64 69 6e 67 2c  |~enter building,|
0001d3b0  7e 20 7e 63 6c 69 6d 62  20 70 6f 6c 65 2c 7e 20  |~ ~climb pole,~ |
0001d3c0  65 74 63 2e 5e 5e 22 3b  0a 0a 20 70 72 69 6e 74  |etc.^^";.. print|
0001d3d0  20 22 49 20 6b 6e 6f 77  20 61 62 6f 75 74 20 61  | "I know about a|
0001d3e0  20 66 65 77 20 73 70 65  63 69 61 6c 20 6f 62 6a  | few special obj|
0001d3f0  65 63 74 73 2c 20 6c 69  6b 65 20 61 20 62 6c 61  |ects, like a bla|
0001d400  63 6b 20 72 6f 64 20 5c  0a 20 20 20 20 20 20 20  |ck rod \.       |
0001d410  20 68 69 64 64 65 6e 20  69 6e 20 74 68 65 20 63  | hidden in the c|
0001d420  61 76 65 2e 20 20 54 68  65 73 65 20 6f 62 6a 65  |ave.  These obje|
0001d430  63 74 73 20 63 61 6e 20  62 65 20 6d 61 6e 69 70  |cts can be manip|
0001d440  75 6c 61 74 65 64 20 75  73 69 6e 67 20 5c 0a 20  |ulated using \. |
0001d450  20 20 20 20 20 20 20 73  6f 6d 65 20 6f 66 20 74  |       some of t|
0001d460  68 65 20 61 63 74 69 6f  6e 20 77 6f 72 64 73 20  |he action words |
0001d470  74 68 61 74 20 49 20 6b  6e 6f 77 2e 20 20 55 73  |that I know.  Us|
0001d480  75 61 6c 6c 79 20 79 6f  75 20 77 69 6c 6c 20 6e  |ually you will n|
0001d490  65 65 64 20 5c 0a 20 20  20 20 20 20 20 20 74 6f  |eed \.        to|
0001d4a0  20 67 69 76 65 20 61 20  76 65 72 62 20 66 6f 6c  | give a verb fol|
0001d4b0  6c 6f 77 65 64 20 62 79  20 61 6e 20 6f 62 6a 65  |lowed by an obje|
0001d4c0  63 74 20 28 61 6c 6f 6e  67 20 77 69 74 68 20 64  |ct (along with d|
0001d4d0  65 73 63 72 69 70 74 69  76 65 20 5c 0a 20 20 20  |escriptive \.   |
0001d4e0  20 20 20 20 20 61 64 6a  65 63 74 69 76 65 73 20  |     adjectives |
0001d4f0  77 68 65 6e 20 64 65 73  69 72 65 64 29 2c 20 62  |when desired), b|
0001d500  75 74 20 73 6f 6d 65 74  69 6d 65 73 20 49 20 63  |ut sometimes I c|
0001d510  61 6e 20 69 6e 66 65 72  20 74 68 65 20 5c 0a 20  |an infer the \. |
0001d520  20 20 20 20 20 20 20 6f  62 6a 65 63 74 20 66 72  |       object fr|
0001d530  6f 6d 20 74 68 65 20 76  65 72 62 20 61 6c 6f 6e  |om the verb alon|
0001d540  65 2e 20 20 53 6f 6d 65  20 6f 62 6a 65 63 74 73  |e.  Some objects|
0001d550  20 61 6c 73 6f 20 69 6d  70 6c 79 20 76 65 72 62  | also imply verb|
0001d560  73 3b 20 5c 0a 20 20 20  20 20 20 20 20 69 6e 20  |s; \.        in |
0001d570  70 61 72 74 69 63 75 6c  61 72 2c 20 7e 69 6e 76  |particular, ~inv|
0001d580  65 6e 74 6f 72 79 7e 20  69 6d 70 6c 69 65 73 20  |entory~ implies |
0001d590  7e 74 61 6b 65 20 69 6e  76 65 6e 74 6f 72 79 7e  |~take inventory~|
0001d5a0  2c 20 5c 0a 20 20 20 20  20 20 20 20 77 68 69 63  |, \.        whic|
0001d5b0  68 20 63 61 75 73 65 73  20 6d 65 20 74 6f 20 67  |h causes me to g|
0001d5c0  69 76 65 20 79 6f 75 20  61 20 6c 69 73 74 20 6f  |ive you a list o|
0001d5d0  66 20 77 68 61 74 20 79  6f 75 27 72 65 20 63 61  |f what you're ca|
0001d5e0  72 72 79 69 6e 67 2e 20  5c 0a 20 20 20 20 20 20  |rrying. \.      |
0001d5f0  20 20 54 68 65 20 6f 62  6a 65 63 74 73 20 68 61  |  The objects ha|
0001d600  76 65 20 73 69 64 65 20  65 66 66 65 63 74 73 3b  |ve side effects;|
0001d610  20 66 6f 72 20 69 6e 73  74 61 6e 63 65 2c 20 74  | for instance, t|
0001d620  68 65 20 72 6f 64 20 73  63 61 72 65 73 20 5c 0a  |he rod scares \.|
0001d630  20 20 20 20 20 20 20 20  74 68 65 20 62 69 72 64  |        the bird|
0001d640  2e 5e 5e 22 3b 0a 0a 20  70 72 69 6e 74 20 22 4d  |.^^";.. print "M|
0001d650  61 6e 79 20 63 6f 6d 6d  61 6e 64 73 20 68 61 76  |any commands hav|
0001d660  65 20 61 62 62 72 65 76  69 61 74 69 6f 6e 73 2e  |e abbreviations.|
0001d670  20 20 46 6f 72 20 65 78  61 6d 70 6c 65 2c 20 79  |  For example, y|
0001d680  6f 75 20 63 61 6e 20 5c  0a 20 20 20 20 20 20 20  |ou can \.       |
0001d690  20 74 79 70 65 20 7e 69  7e 20 69 6e 20 70 6c 61  | type ~i~ in pla|
0001d6a0  63 65 20 6f 66 20 7e 69  6e 76 65 6e 74 6f 72 79  |ce of ~inventory|
0001d6b0  2c 7e 20 7e 78 20 6f 62  6a 65 63 74 7e 20 69 6e  |,~ ~x object~ in|
0001d6c0  73 74 65 61 64 20 6f 66  20 5c 0a 20 20 20 20 20  |stead of \.     |
0001d6d0  20 20 20 7e 65 78 61 6d  69 6e 65 20 6f 62 6a 65  |   ~examine obje|
0001d6e0  63 74 2c 7e 20 65 74 63  2e 5e 5e 22 3b 0a 0a 20  |ct,~ etc.^^";.. |
0001d6f0  70 72 69 6e 74 20 22 55  73 75 61 6c 6c 79 20 70  |print "Usually p|
0001d700  65 6f 70 6c 65 20 68 61  76 69 6e 67 20 74 72 6f  |eople having tro|
0001d710  75 62 6c 65 20 6d 6f 76  69 6e 67 20 6a 75 73 74  |uble moving just|
0001d720  20 6e 65 65 64 20 74 6f  20 74 72 79 20 61 20 5c  | need to try a \|
0001d730  0a 20 20 20 20 20 20 20  20 66 65 77 20 6d 6f 72  |.        few mor|
0001d740  65 20 77 6f 72 64 73 2e  20 20 55 73 75 61 6c 6c  |e words.  Usuall|
0001d750  79 20 70 65 6f 70 6c 65  20 74 72 79 69 6e 67 20  |y people trying |
0001d760  75 6e 73 75 63 63 65 73  73 66 75 6c 6c 79 20 74  |unsuccessfully t|
0001d770  6f 20 5c 0a 20 20 20 20  20 20 20 20 6d 61 6e 69  |o \.        mani|
0001d780  70 75 6c 61 74 65 20 61  6e 20 6f 62 6a 65 63 74  |pulate an object|
0001d790  20 61 72 65 20 61 74 74  65 6d 70 74 69 6e 67 20  | are attempting |
0001d7a0  73 6f 6d 65 74 68 69 6e  67 20 62 65 79 6f 6e 64  |something beyond|
0001d7b0  20 74 68 65 69 72 20 5c  0a 20 20 20 20 20 20 20  | their \.       |
0001d7c0  20 28 6f 72 20 6d 79 21  29 20 63 61 70 61 62 69  | (or my!) capabi|
0001d7d0  6c 69 74 69 65 73 20 61  6e 64 20 73 68 6f 75 6c  |lities and shoul|
0001d7e0  64 20 74 72 79 20 61 20  63 6f 6d 70 6c 65 74 65  |d try a complete|
0001d7f0  6c 79 20 64 69 66 66 65  72 65 6e 74 20 5c 0a 20  |ly different \. |
0001d800  20 20 20 20 20 20 20 74  61 63 6b 2e 5e 5e 22 3b  |       tack.^^";|
0001d810  0a 0a 20 70 72 69 6e 74  20 22 4e 6f 74 65 20 74  |.. print "Note t|
0001d820  68 61 74 20 63 61 76 65  20 70 61 73 73 61 67 65  |hat cave passage|
0001d830  73 20 74 75 72 6e 20 61  20 6c 6f 74 2c 20 61 6e  |s turn a lot, an|
0001d840  64 20 74 68 61 74 20 6c  65 61 76 69 6e 67 20 61  |d that leaving a|
0001d850  20 72 6f 6f 6d 20 5c 0a  20 20 20 20 20 20 20 20  | room \.        |
0001d860  74 6f 20 74 68 65 20 6e  6f 72 74 68 20 64 6f 65  |to the north doe|
0001d870  73 20 6e 6f 74 20 67 75  61 72 61 6e 74 65 65 20  |s not guarantee |
0001d880  5c 0a 20 20 20 20 20 20  20 20 65 6e 74 65 72 69  |\.        enteri|
0001d890  6e 67 20 74 68 65 20 6e  65 78 74 20 66 72 6f 6d  |ng the next from|
0001d8a0  20 74 68 65 20 73 6f 75  74 68 2e 5e 5e 22 3b 0a  | the south.^^";.|
0001d8b0  0a 20 70 72 69 6e 74 20  22 49 66 20 79 6f 75 20  |. print "If you |
0001d8c0  77 61 6e 74 20 74 6f 20  65 6e 64 20 79 6f 75 72  |want to end your|
0001d8d0  20 61 64 76 65 6e 74 75  72 65 20 65 61 72 6c 79  | adventure early|
0001d8e0  2c 20 74 79 70 65 20 7e  71 75 69 74 7e 2e 20 5c  |, type ~quit~. \|
0001d8f0  0a 20 20 20 20 20 20 20  20 54 6f 20 73 75 73 70  |.        To susp|
0001d900  65 6e 64 20 79 6f 75 72  20 61 64 76 65 6e 74 75  |end your adventu|
0001d910  72 65 20 73 75 63 68 20  74 68 61 74 20 79 6f 75  |re such that you|
0001d920  20 63 61 6e 20 63 6f 6e  74 69 6e 75 65 20 6c 61  | can continue la|
0001d930  74 65 72 2c 20 5c 0a 20  20 20 20 20 20 20 20 74  |ter, \.        t|
0001d940  79 70 65 20 7e 73 61 76  65 2c 7e 20 61 6e 64 20  |ype ~save,~ and |
0001d950  74 6f 20 72 65 73 75 6d  65 20 61 20 73 61 76 65  |to resume a save|
0001d960  64 20 67 61 6d 65 2c 20  74 79 70 65 20 7e 72 65  |d game, type ~re|
0001d970  73 74 6f 72 65 2e 7e 20  5c 0a 20 20 20 20 20 20  |store.~ \.      |
0001d980  20 20 54 6f 20 73 65 65  20 68 6f 77 20 77 65 6c  |  To see how wel|
0001d990  6c 20 79 6f 75 27 72 65  20 64 6f 69 6e 67 2c 20  |l you're doing, |
0001d9a0  74 79 70 65 20 7e 73 63  6f 72 65 7e 2e 20 20 54  |type ~score~.  T|
0001d9b0  6f 20 67 65 74 20 66 75  6c 6c 20 5c 0a 20 20 20  |o get full \.   |
0001d9c0  20 20 20 20 20 63 72 65  64 69 74 20 66 6f 72 20  |     credit for |
0001d9d0  61 20 74 72 65 61 73 75  72 65 2c 20 79 6f 75 20  |a treasure, you |
0001d9e0  6d 75 73 74 20 68 61 76  65 20 6c 65 66 74 20 69  |must have left i|
0001d9f0  74 20 73 61 66 65 6c 79  20 69 6e 20 74 68 65 20  |t safely in the |
0001da00  5c 0a 20 20 20 20 20 20  20 20 62 75 69 6c 64 69  |\.        buildi|
0001da10  6e 67 2c 20 74 68 6f 75  67 68 20 79 6f 75 20 67  |ng, though you g|
0001da20  65 74 20 70 61 72 74 69  61 6c 20 63 72 65 64 69  |et partial credi|
0001da30  74 20 6a 75 73 74 20 66  6f 72 20 6c 6f 63 61 74  |t just for locat|
0001da40  69 6e 67 20 69 74 2e 20  5c 0a 20 20 20 20 20 20  |ing it. \.      |
0001da50  20 20 59 6f 75 20 6c 6f  73 65 20 70 6f 69 6e 74  |  You lose point|
0001da60  73 20 66 6f 72 20 67 65  74 74 69 6e 67 20 6b 69  |s for getting ki|
0001da70  6c 6c 65 64 2c 20 6f 72  20 66 6f 72 20 71 75 69  |lled, or for qui|
0001da80  74 74 69 6e 67 2c 20 74  68 6f 75 67 68 20 5c 0a  |tting, though \.|
0001da90  20 20 20 20 20 20 20 20  74 68 65 20 66 6f 72 6d  |        the form|
0001daa0  65 72 20 63 6f 73 74 73  20 79 6f 75 20 6d 6f 72  |er costs you mor|
0001dab0  65 2e 20 54 68 65 72 65  20 61 72 65 20 61 6c 73  |e. There are als|
0001dac0  6f 20 70 6f 69 6e 74 73  20 62 61 73 65 64 20 6f  |o points based o|
0001dad0  6e 20 68 6f 77 20 5c 0a  20 20 20 20 20 20 20 20  |n how \.        |
0001dae0  6d 75 63 68 20 28 69 66  20 61 6e 79 29 20 6f 66  |much (if any) of|
0001daf0  20 74 68 65 20 63 61 76  65 20 79 6f 75 27 76 65  | the cave you've|
0001db00  20 6d 61 6e 61 67 65 64  20 74 6f 20 65 78 70 6c  | managed to expl|
0001db10  6f 72 65 3b 20 69 6e 20  5c 0a 20 20 20 20 20 20  |ore; in \.      |
0001db20  20 20 70 61 72 74 69 63  75 6c 61 72 2c 20 74 68  |  particular, th|
0001db30  65 72 65 20 69 73 20 61  20 6c 61 72 67 65 20 62  |ere is a large b|
0001db40  6f 6e 75 73 20 6a 75 73  74 20 66 6f 72 20 67 65  |onus just for ge|
0001db50  74 74 69 6e 67 20 69 6e  20 28 74 6f 20 5c 0a 20  |tting in (to \. |
0001db60  20 20 20 20 20 20 20 64  69 73 74 69 6e 67 75 69  |       distingui|
0001db70  73 68 20 74 68 65 20 62  65 67 69 6e 6e 65 72 73  |sh the beginners|
0001db80  20 66 72 6f 6d 20 74 68  65 20 72 65 73 74 20 6f  | from the rest o|
0001db90  66 20 74 68 65 20 70 61  63 6b 29 2c 20 61 6e 64  |f the pack), and|
0001dba0  20 5c 0a 20 20 20 20 20  20 20 20 74 68 65 72 65  | \.        there|
0001dbb0  20 61 72 65 20 6f 74 68  65 72 20 77 61 79 73 20  | are other ways |
0001dbc0  74 6f 20 64 65 74 65 72  6d 69 6e 65 20 77 68 65  |to determine whe|
0001dbd0  74 68 65 72 20 79 6f 75  27 76 65 20 62 65 65 6e  |ther you've been|
0001dbe0  20 74 68 72 6f 75 67 68  20 5c 0a 20 20 20 20 20  | through \.     |
0001dbf0  20 20 20 73 6f 6d 65 20  6f 66 20 74 68 65 20 6d  |   some of the m|
0001dc00  6f 72 65 20 68 61 72 72  6f 77 69 6e 67 20 73 65  |ore harrowing se|
0001dc10  63 74 69 6f 6e 73 2e 5e  5e 22 3b 0a 0a 20 70 72  |ctions.^^";.. pr|
0001dc20  69 6e 74 20 22 49 66 20  79 6f 75 20 74 68 69 6e  |int "If you thin|
0001dc30  6b 20 79 6f 75 27 76 65  20 66 6f 75 6e 64 20 61  |k you've found a|
0001dc40  6c 6c 20 74 68 65 20 74  72 65 61 73 75 72 65 73  |ll the treasures|
0001dc50  2c 20 6a 75 73 74 20 6b  65 65 70 20 5c 0a 20 20  |, just keep \.  |
0001dc60  20 20 20 20 20 20 65 78  70 6c 6f 72 69 6e 67 20  |      exploring |
0001dc70  66 6f 72 20 61 20 77 68  69 6c 65 2e 20 20 49 66  |for a while.  If|
0001dc80  20 6e 6f 74 68 69 6e 67  20 69 6e 74 65 72 65 73  | nothing interes|
0001dc90  74 69 6e 67 20 68 61 70  70 65 6e 73 2c 20 79 6f  |ting happens, yo|
0001dca0  75 20 5c 0a 20 20 20 20  20 20 20 20 68 61 76 65  |u \.        have|
0001dcb0  6e 27 74 20 66 6f 75 6e  64 20 74 68 65 6d 20 61  |n't found them a|
0001dcc0  6c 6c 20 79 65 74 2e 20  49 66 20 73 6f 6d 65 74  |ll yet. If somet|
0001dcd0  68 69 6e 67 20 69 6e 74  65 72 65 73 74 69 6e 67  |hing interesting|
0001dce0  20 2a 64 6f 65 73 2a 20  5c 0a 20 20 20 20 20 20  | *does* \.      |
0001dcf0  20 20 68 61 70 70 65 6e  2c 20 69 74 20 6d 65 61  |  happen, it mea|
0001dd00  6e 73 20 79 6f 75 27 72  65 20 67 65 74 74 69 6e  |ns you're gettin|
0001dd10  67 20 61 20 62 6f 6e 75  73 20 61 6e 64 20 68 61  |g a bonus and ha|
0001dd20  76 65 20 61 6e 20 5c 0a  20 20 20 20 20 20 20 20  |ve an \.        |
0001dd30  6f 70 70 6f 72 74 75 6e  69 74 79 20 74 6f 20 67  |opportunity to g|
0001dd40  61 72 6e 65 72 20 6d 61  6e 79 20 6d 6f 72 65 20  |arner many more |
0001dd50  70 6f 69 6e 74 73 20 69  6e 20 74 68 65 20 6d 61  |points in the ma|
0001dd60  73 74 65 72 27 73 20 5c  0a 20 20 20 20 20 20 20  |ster's \.       |
0001dd70  20 73 65 63 74 69 6f 6e  2e 5e 5e 22 3b 0a 0a 20  | section.^^";.. |
0001dd80  20 20 20 20 20 20 20 22  47 6f 6f 64 20 6c 75 63  |       "Good luc|
0001dd90  6b 21 22 3b 0a 20 7d 0a  20 69 66 20 28 6d 65 6e  |k!";. }. if (men|
0001dda0  75 5f 69 74 65 6d 3d 3d  32 29 0a 20 7b 0a 20 70  |u_item==2). {. p|
0001ddb0  72 69 6e 74 20 22 54 68  69 73 20 77 61 73 20 74  |rint "This was t|
0001ddc0  68 65 20 66 69 72 73 74  20 61 64 76 65 6e 74 75  |he first adventu|
0001ddd0  72 65 20 67 61 6d 65 20  65 76 65 72 20 77 72 69  |re game ever wri|
0001dde0  74 74 65 6e 2c 20 62 61  73 65 64 20 6f 6e 20 61  |tten, based on a|
0001ddf0  20 46 4f 52 54 52 41 4e  20 5c 0a 20 20 20 20 20  | FORTRAN \.     |
0001de00  20 20 20 73 69 6d 75 6c  61 74 69 6f 6e 20 6f 66  |   simulation of|
0001de10  20 74 68 65 20 4d 61 6d  6d 6f 74 68 20 61 6e 64  | the Mammoth and|
0001de20  20 46 6c 69 6e 74 20 52  69 64 67 65 20 63 61 76  | Flint Ridge cav|
0001de30  65 20 73 79 73 74 65 6d  20 62 79 20 57 69 6c 6c  |e system by Will|
0001de40  69 65 20 5c 0a 20 20 20  20 20 20 20 20 43 72 6f  |ie \.        Cro|
0001de50  77 74 68 65 72 2e 20 20  43 72 6f 77 74 68 65 72  |wther.  Crowther|
0001de60  20 77 61 73 20 6f 6e 65  20 6f 66 20 69 74 73 20  | was one of its |
0001de70  65 78 70 6c 6f 72 65 72  73 3a 20 73 6f 6d 65 20  |explorers: some |
0001de80  6f 66 20 74 68 65 20 67  61 6d 65 27 73 20 5c 0a  |of the game's \.|
0001de90  20 20 20 20 20 20 20 20  6c 6f 63 61 74 69 6f 6e  |        location|
0001dea0  73 20 61 72 65 20 72 65  61 6c 2c 20 42 65 64 71  |s are real, Bedq|
0001deb0  75 69 6c 74 20 66 6f 72  20 69 6e 73 74 61 6e 63  |uilt for instanc|
0001dec0  65 2e 20 20 28 41 6e 64  20 7e 59 32 7e 20 69 73  |e.  (And ~Y2~ is|
0001ded0  20 61 20 72 65 66 65 72  65 6e 63 65 20 5c 0a 20  | a reference \. |
0001dee0  20 20 20 20 20 20 20 74  6f 20 74 68 65 20 63 61  |       to the ca|
0001def0  76 65 2d 6d 61 70 20 6e  6f 74 61 74 69 6f 6e 20  |ve-map notation |
0001df00  66 6f 72 20 7e 61 6c 74  65 72 6e 61 74 69 76 65  |for ~alternative|
0001df10  20 65 6e 74 72 61 6e 63  65 20 74 6f 20 63 61 76  | entrance to cav|
0001df20  65 73 7e 2e 29 5e 5e 22  3b 0a 0a 20 70 72 69 6e  |es~.)^^";.. prin|
0001df30  74 20 22 41 64 76 65 6e  74 75 72 65 20 28 73 6f  |t "Adventure (so|
0001df40  6d 65 74 69 6d 65 73 20  63 61 6c 6c 65 64 20 7e  |metimes called ~|
0001df50  43 6f 6c 6f 73 73 61 6c  20 43 61 76 65 7e 2c 20  |Colossal Cave~, |
0001df60  61 6e 6f 74 68 65 72 20  72 65 61 6c 20 70 6c 61  |another real pla|
0001df70  63 65 29 20 5c 0a 20 20  20 20 20 20 20 20 77 61  |ce) \.        wa|
0001df80  73 20 61 6e 20 65 78 74  65 6e 73 69 6f 6e 20 6c  |s an extension l|
0001df90  61 72 67 65 6c 79 20 62  79 20 44 6f 6e 20 57 6f  |argely by Don Wo|
0001dfa0  6f 64 73 2c 20 61 20 63  6f 6c 6c 65 61 67 75 65  |ods, a colleague|
0001dfb0  20 6f 66 20 43 72 6f 77  74 68 65 72 27 73 20 5c  | of Crowther's \|
0001dfc0  0a 20 20 20 20 20 20 20  20 61 74 20 61 20 4d 61  |.        at a Ma|
0001dfd0  73 73 61 63 68 75 73 65  74 74 73 20 63 6f 6d 70  |ssachusetts comp|
0001dfe0  75 74 69 6e 67 20 66 69  72 6d 2e 20 20 49 6e 73  |uting firm.  Ins|
0001dff0  70 69 72 65 64 20 62 79  20 28 61 20 76 61 72 69  |pired by (a vari|
0001e000  61 6e 74 20 6f 66 29 20  74 68 65 20 5c 0a 20 20  |ant of) the \.  |
0001e010  20 20 20 20 20 20 72 6f  6c 65 2d 70 6c 61 79 69  |      role-playi|
0001e020  6e 67 20 67 61 6d 65 20  7e 44 75 6e 67 65 6f 6e  |ng game ~Dungeon|
0001e030  73 20 61 6e 64 20 44 72  61 67 6f 6e 73 7e 2c 20  |s and Dragons~, |
0001e040  74 68 65 79 20 61 64 64  65 64 20 70 75 7a 7a 6c  |they added puzzl|
0001e050  65 73 20 61 6e 64 20 5c  0a 20 20 20 20 20 20 20  |es and \.       |
0001e060  20 6d 61 67 69 63 20 74  6f 20 74 68 65 20 63 61  | magic to the ca|
0001e070  76 65 73 2e 5e 5e 22 3b  0a 0a 20 70 72 69 6e 74  |ves.^^";.. print|
0001e080  20 22 54 68 65 20 67 61  6d 65 20 77 61 73 20 73  | "The game was s|
0001e090  70 72 65 61 64 20 66 72  6f 6d 20 6d 61 63 68 69  |pread from machi|
0001e0a0  6e 65 20 74 6f 20 6d 61  63 68 69 6e 65 2c 20 61  |ne to machine, a|
0001e0b0  6e 64 20 28 61 6d 6f 6e  67 20 6f 74 68 65 72 73  |nd (among others|
0001e0c0  29 20 5c 0a 20 20 20 20  20 20 20 20 44 45 43 55  |) \.        DECU|
0001e0d0  53 2c 20 74 68 65 20 44  69 67 69 74 61 6c 20 75  |S, the Digital u|
0001e0e0  73 65 72 20 67 72 6f 75  70 2c 20 69 73 73 75 65  |ser group, issue|
0001e0f0  64 20 74 61 70 65 73 20  6f 66 20 69 74 2e 20 20  |d tapes of it.  |
0001e100  45 76 65 72 20 73 69 6e  63 65 2c 20 5c 0a 20 20  |Ever since, \.  |
0001e110  20 20 20 20 20 20 74 68  65 20 67 61 6d 65 20 68  |      the game h|
0001e120  61 73 20 62 65 65 6e 20  6d 6f 64 69 66 69 65 64  |as been modified|
0001e130  2c 20 70 6f 72 74 65 64  2c 20 69 6d 70 72 6f 76  |, ported, improv|
0001e140  65 64 2c 20 65 78 74 65  6e 64 65 64 20 61 6e 64  |ed, extended and|
0001e150  20 67 65 6e 65 72 61 6c  6c 79 20 5c 0a 20 20 20  | generally \.   |
0001e160  20 20 20 20 20 63 6f 72  72 75 70 74 65 64 2e 20  |     corrupted. |
0001e170  20 54 68 65 20 6f 72 69  67 69 6e 61 6c 20 69 73  | The original is|
0001e180  20 68 61 72 64 20 74 6f  20 66 69 6e 64 2e 20 20  | hard to find.  |
0001e190  4d 6f 73 74 20 6f 66 20  74 68 65 20 65 78 74 72  |Most of the extr|
0001e1a0  61 73 20 74 61 63 6b 65  64 20 5c 0a 20 20 20 20  |as tacked \.    |
0001e1b0  20 20 20 20 6f 6e 20 61  72 65 20 63 6c 65 61 72  |    on are clear|
0001e1c0  6c 79 20 69 6e 66 65 72  69 6f 72 2c 20 61 6e 64  |ly inferior, and|
0001e1d0  20 6c 6f 73 65 20 74 68  65 20 73 70 69 72 69 74  | lose the spirit|
0001e1e0  20 6f 66 20 74 68 65 20  28 63 65 72 74 61 69 6e  | of the (certain|
0001e1f0  6c 79 20 5c 0a 20 20 20  20 20 20 20 20 69 6d 70  |ly \.        imp|
0001e200  65 72 66 65 63 74 2c 20  62 75 74 20 61 74 6d 6f  |erfect, but atmo|
0001e210  73 70 68 65 72 69 63 20  61 6e 64 20 77 65 6c 6c  |spheric and well|
0001e220  2d 64 65 73 69 67 6e 65  64 29 20 6f 72 69 67 69  |-designed) origi|
0001e230  6e 61 6c 2e 5e 5e 22 3b  0a 0a 20 70 72 69 6e 74  |nal.^^";.. print|
0001e240  20 22 54 68 69 73 20 69  73 20 61 20 63 6f 70 79  | "This is a copy|
0001e250  20 61 74 20 74 68 69 72  64 20 68 61 6e 64 2e 20  | at third hand. |
0001e260  20 49 74 20 69 73 20 61  20 73 6c 69 67 68 74 20  | It is a slight |
0001e270  73 69 6d 70 6c 69 66 69  63 61 74 69 6f 6e 20 6f  |simplification o|
0001e280  66 20 44 61 76 69 64 20  5c 0a 20 20 20 20 20 20  |f David \.      |
0001e290  20 20 4d 2e 20 42 61 67  67 65 74 74 27 73 20 65  |  M. Baggett's e|
0001e2a0  78 63 65 6c 6c 65 6e 74  20 31 39 39 33 20 76 65  |xcellent 1993 ve|
0001e2b0  72 73 69 6f 6e 20 66 6f  72 20 41 64 76 65 6e 74  |rsion for Advent|
0001e2c0  69 6f 6e 73 2c 20 77 72  69 74 74 65 6e 20 69 6e  |ions, written in|
0001e2d0  20 54 41 44 53 3a 20 5c  0a 20 20 20 20 20 20 20  | TADS: \.       |
0001e2e0  20 77 68 69 63 68 20 69  6e 20 74 75 72 6e 20 64  | which in turn d|
0001e2f0  65 72 69 76 65 64 20 66  72 6f 6d 20 44 6f 6e 61  |erived from Dona|
0001e300  6c 64 20 45 6b 6d 61 6e  27 73 20 50 43 20 70 6f  |ld Ekman's PC po|
0001e310  72 74 20 6f 66 20 74 68  65 20 6f 72 69 67 69 6e  |rt of the origin|
0001e320  61 6c 20 5c 0a 20 20 20  20 20 20 20 20 46 4f 52  |al \.        FOR|
0001e330  54 52 41 4e 20 73 6f 75  72 63 65 20 63 6f 64 65  |TRAN source code|
0001e340  2e 5e 5e 22 3b 0a 0a 20  20 20 20 20 20 20 22 41  |.^^";..       "A|
0001e350  6e 64 2c 20 65 76 65 6e  20 62 79 20 6d 6f 64 65  |nd, even by mode|
0001e360  72 6e 20 73 74 61 6e 64  61 72 64 73 2c 20 69 74  |rn standards, it|
0001e370  20 69 73 20 73 74 69 6c  6c 20 61 20 67 6f 6f 64  | is still a good|
0001e380  20 67 61 6d 65 21 22 3b  0a 20 7d 0a 0a 20 69 66  | game!";. }.. if|
0001e390  20 28 6d 65 6e 75 5f 69  74 65 6d 3d 3d 33 29 0a  | (menu_item==3).|
0001e3a0  20 7b 0a 20 70 72 69 6e  74 20 22 54 68 69 73 20  | {. print "This |
0001e3b0  70 6f 72 74 20 69 73 20  66 61 69 72 6c 79 20 63  |port is fairly c|
0001e3c0  6c 6f 73 65 20 74 6f 20  74 68 65 20 6f 72 69 67  |lose to the orig|
0001e3d0  69 6e 61 6c 2e 20 20 54  68 65 20 70 75 7a 7a 6c  |inal.  The puzzl|
0001e3e0  65 73 2c 20 69 74 65 6d  73 20 61 6e 64 20 70 6c  |es, items and pl|
0001e3f0  61 63 65 73 20 5c 0a 20  20 20 20 20 20 20 20 6f  |aces \.        o|
0001e400  66 20 74 68 65 20 31 39  37 37 20 76 65 72 73 69  |f the 1977 versi|
0001e410  6f 6e 20 61 72 65 20 65  78 61 63 74 6c 79 20 74  |on are exactly t|
0001e420  68 6f 73 65 20 68 65 72  65 2e 5e 5e 22 3b 0a 0a  |hose here.^^";..|
0001e430  20 70 72 69 6e 74 20 22  49 20 68 61 76 65 20 61  | print "I have a|
0001e440  64 64 65 64 20 61 20 66  65 77 20 68 65 6c 70 66  |dded a few helpf|
0001e450  75 6c 20 6d 65 73 73 61  67 65 73 2c 20 73 75 63  |ul messages, suc|
0001e460  68 20 61 73 20 7e 54 68  69 73 20 69 73 20 61 20  |h as ~This is a |
0001e470  64 65 61 64 20 65 6e 64  2e 7e 2c 20 5c 0a 20 20  |dead end.~, \.  |
0001e480  20 20 20 20 20 20 68 65  72 65 20 61 6e 64 20 74  |      here and t|
0001e490  68 65 72 65 3a 20 61 6e  64 20 72 65 73 74 6f 72  |here: and restor|
0001e4a0  65 64 20 73 6f 6d 65 20  7e 69 6e 69 74 69 61 6c  |ed some ~initial|
0001e4b0  20 70 6f 73 69 74 69 6f  6e 7e 20 6d 65 73 73 61  | position~ messa|
0001e4c0  67 65 73 20 66 72 6f 6d  20 5c 0a 20 20 20 20 20  |ges from \.     |
0001e4d0  20 20 20 6f 62 6a 65 63  74 73 2c 20 73 75 63 68  |   objects, such|
0001e4e0  20 61 73 20 74 68 65 20  28 72 61 74 68 65 72 20  | as the (rather |
0001e4f0  6c 61 6d 65 29 5e 5c 0a  20 20 20 20 20 20 20 20  |lame)^\.        |
0001e500  5e 20 20 54 68 65 72 65  20 69 73 20 74 61 73 74  |^  There is tast|
0001e510  79 20 66 6f 6f 64 20 68  65 72 65 2e 5e 5e 5c 0a  |y food here.^^\.|
0001e520  20 20 20 20 20 20 20 20  66 72 6f 6d 20 73 6f 75  |        from sou|
0001e530  72 63 65 20 66 69 6c 65  73 20 77 68 69 63 68 20  |rce files which |
0001e540  61 72 65 20 63 65 72 74  61 69 6e 6c 79 20 65 61  |are certainly ea|
0001e550  72 6c 79 20 62 75 74 20  6f 66 20 64 6f 75 62 74  |rly but of doubt|
0001e560  66 75 6c 20 5c 0a 20 20  20 20 20 20 20 20 70 72  |ful \.        pr|
0001e570  6f 76 65 6e 61 6e 63 65  2e 20 20 54 68 65 79 20  |ovenance.  They |
0001e580  73 65 65 6d 20 74 6f 20  73 69 74 20 77 65 6c 6c  |seem to sit well|
0001e590  20 77 69 74 68 20 74 68  65 20 72 65 73 74 20 6f  | with the rest o|
0001e5a0  66 20 74 68 65 20 74 65  78 74 2e 5e 5e 22 3b 0a  |f the text.^^";.|
0001e5b0  0a 20 70 72 69 6e 74 20  22 54 68 65 20 73 63 6f  |. print "The sco|
0001e5c0  72 69 6e 67 20 73 79 73  74 65 6d 20 69 73 20 74  |ring system is t|
0001e5d0  68 65 20 6f 72 69 67 69  6e 61 6c 2c 20 65 78 63  |he original, exc|
0001e5e0  65 70 74 20 74 68 61 74  20 79 6f 75 20 6e 6f 20  |ept that you no |
0001e5f0  6c 6f 6e 67 65 72 20 6c  6f 73 65 20 34 20 5c 0a  |longer lose 4 \.|
0001e600  20 20 20 20 20 20 20 20  70 6f 69 6e 74 73 20 66  |        points f|
0001e610  6f 72 20 71 75 69 74 74  69 6e 67 20 28 73 69 6e  |or quitting (sin|
0001e620  63 65 20 79 6f 75 20 64  6f 6e 27 74 20 67 65 74  |ce you don't get|
0001e630  20 74 68 65 20 73 63 6f  72 65 20 69 66 20 79 6f  | the score if yo|
0001e640  75 20 71 75 69 74 20 61  6e 20 5c 0a 20 20 20 20  |u quit an \.    |
0001e650  20 20 20 20 49 6e 66 6f  72 6d 20 67 61 6d 65 2c  |    Inform game,|
0001e660  20 74 68 69 73 20 6d 61  6b 65 73 20 6e 6f 20 64  | this makes no d|
0001e670  69 66 66 65 72 65 6e 63  65 29 20 61 6e 64 2c 20  |ifference) and, |
0001e680  63 6f 6e 74 72 6f 76 65  72 73 69 61 6c 6c 79 2c  |controversially,|
0001e690  20 49 20 61 77 61 72 64  20 5c 0a 20 20 20 20 20  | I award \.     |
0001e6a0  20 20 20 35 20 70 6f 69  6e 74 73 20 66 6f 72 20  |   5 points for |
0001e6b0  63 75 72 72 65 6e 74 6c  79 20 63 61 72 72 79 69  |currently carryi|
0001e6c0  6e 67 20 61 20 74 72 65  61 73 75 72 65 2c 20 61  |ng a treasure, a|
0001e6d0  73 20 73 6f 6d 65 20 65  61 72 6c 79 20 31 39 38  |s some early 198|
0001e6e0  30 73 20 5c 0a 20 20 20  20 20 20 20 20 70 6f 72  |0s \.        por|
0001e6f0  74 73 20 64 69 64 2e 20  20 54 68 65 20 72 61 6e  |ts did.  The ran|
0001e700  6b 20 6e 61 6d 65 73 20  61 72 65 20 74 69 64 69  |k names are tidi|
0001e710  65 64 20 75 70 20 61 20  6c 69 74 74 6c 65 2e 20  |ed up a little. |
0001e720  20 54 68 65 20 6f 6e 6c  79 20 5c 0a 20 20 20 20  | The only \.    |
0001e730  20 20 20 20 73 69 67 6e  69 66 69 63 61 6e 74 20  |    significant |
0001e740  72 75 6c 65 20 63 68 61  6e 67 65 20 69 73 20 74  |rule change is t|
0001e750  68 61 74 20 6f 6e 65 20  63 61 6e 6e 6f 74 20 75  |hat one cannot u|
0001e760  73 65 20 5c 0a 20 20 20  20 20 20 20 20 6d 61 67  |se \.        mag|
0001e770  69 63 20 77 6f 72 64 73  20 75 6e 74 69 6c 20 74  |ic words until t|
0001e780  68 65 69 72 20 64 65 73  74 69 6e 61 74 69 6f 6e  |heir destination|
0001e790  73 20 68 61 76 65 20 62  65 65 6e 20 76 69 73 69  |s have been visi|
0001e7a0  74 65 64 2e 5e 5e 22 3b  0a 0a 20 70 72 69 6e 74  |ted.^^";.. print|
0001e7b0  20 22 54 68 65 20 64 77  61 72 76 65 73 20 61 72  | "The dwarves ar|
0001e7c0  65 20 73 69 6d 70 6c 65  72 20 69 6e 20 74 68 65  |e simpler in the|
0001e7d0  69 72 20 6d 6f 76 65 6d  65 6e 74 73 2c 20 62 75  |ir movements, bu|
0001e7e0  74 20 6f 6e 20 74 68 65  20 6f 74 68 65 72 20 68  |t on the other h|
0001e7f0  61 6e 64 20 49 20 5c 0a  20 20 20 20 20 20 20 20  |and I \.        |
0001e800  68 61 76 65 20 61 64 64  65 64 20 61 20 76 65 72  |have added a ver|
0001e810  79 20 66 65 77 20 6d 65  73 73 61 67 65 73 20 74  |y few messages t|
0001e820  6f 20 6d 61 6b 65 20 74  68 65 6d 20 69 6e 74 65  |o make them inte|
0001e830  72 61 63 74 20 62 65 74  74 65 72 20 77 69 74 68  |ract better with|
0001e840  20 74 68 65 20 5c 0a 20  20 20 20 20 20 20 20 72  | the \.        r|
0001e850  65 73 74 20 6f 66 20 74  68 65 20 67 61 6d 65 2e  |est of the game.|
0001e860  20 20 54 68 65 20 70 72  6f 62 61 62 69 6c 69 74  |  The probabilit|
0001e870  69 65 73 20 61 72 65 20  61 73 20 69 6e 20 74 68  |ies are as in th|
0001e880  65 20 6f 72 69 67 69 6e  61 6c 20 67 61 6d 65 2e  |e original game.|
0001e890  5e 5e 22 3b 0a 0a 20 70  72 69 6e 74 20 22 49 6e  |^^";.. print "In|
0001e8a0  20 74 68 65 20 6f 72 69  67 69 6e 61 6c 20 6f 6e  | the original on|
0001e8b0  65 20 63 6f 75 6c 64 20  74 79 70 65 20 74 68 65  |e could type the|
0001e8c0  20 6e 61 6d 65 20 6f 66  20 61 20 72 6f 6f 6d 20  | name of a room |
0001e8d0  74 6f 20 76 69 73 69 74  20 69 74 3a 20 66 6f 72  |to visit it: for|
0001e8e0  20 5c 0a 20 20 20 20 20  20 20 20 74 68 65 20 73  | \.        the s|
0001e8f0  61 6b 65 20 6f 66 20 6b  65 65 70 69 6e 67 20 74  |ake of keeping t|
0001e900  68 65 20 63 6f 64 65 20  73 6d 61 6c 6c 2c 20 49  |he code small, I|
0001e910  20 68 61 76 65 20 6f 6d  69 74 74 65 64 20 74 68  | have omitted th|
0001e920  69 73 20 66 65 61 74 75  72 65 2c 20 62 75 74 20  |is feature, but |
0001e930  5c 0a 20 20 20 20 20 20  20 20 77 69 74 68 20 73  |\.        with s|
0001e940  6f 6d 65 20 72 65 67 72  65 74 73 2e 5e 5e 22 3b  |ome regrets.^^";|
0001e950  0a 0a 20 70 72 69 6e 74  20 22 54 68 65 20 74 65  |.. print "The te|
0001e960  78 74 20 69 74 73 65 6c  66 20 69 73 20 61 6c 6d  |xt itself is alm|
0001e970  6f 73 74 20 65 76 65 72  79 77 68 65 72 65 20 70  |ost everywhere p|
0001e980  72 65 73 65 72 76 65 64  20 69 6e 74 61 63 74 2c  |reserved intact,|
0001e990  20 62 75 74 20 49 27 76  65 20 5c 0a 20 20 20 20  | but I've \.    |
0001e9a0  20 20 20 20 63 6f 72 72  65 63 74 65 64 20 73 6f  |    corrected so|
0001e9b0  6d 65 20 73 70 65 6c 6c  69 6e 67 20 61 6e 64 20  |me spelling and |
0001e9c0  67 72 61 6d 6d 61 74 69  63 61 6c 20 6d 69 73 74  |grammatical mist|
0001e9d0  61 6b 65 73 20 28 61 6e  64 20 61 6c 74 65 72 65  |akes (and altere|
0001e9e0  64 20 61 20 5c 0a 20 20  20 20 20 20 20 20 63 6f  |d a \.        co|
0001e9f0  75 70 6c 65 20 6f 66 20  75 74 74 65 72 6c 79 20  |uple of utterly |
0001ea00  6d 69 73 6c 65 61 64 69  6e 67 20 61 6e 64 20 67  |misleading and g|
0001ea10  6e 6f 6d 69 63 20 72 65  6d 61 72 6b 73 29 2e 20  |nomic remarks). |
0001ea20  20 54 68 65 20 69 6e 73  74 72 75 63 74 69 6f 6e  | The instruction|
0001ea30  73 20 5c 0a 20 20 20 20  20 20 20 20 68 61 76 65  |s \.        have|
0001ea40  20 62 65 65 6e 20 73 6c  69 67 68 74 6c 79 20 61  | been slightly a|
0001ea50  6c 74 65 72 65 64 20 28  66 6f 72 20 6f 62 76 69  |ltered (for obvi|
0001ea60  6f 75 73 20 72 65 61 73  6f 6e 73 29 20 62 75 74  |ous reasons) but|
0001ea70  20 61 72 65 20 62 61 73  69 63 61 6c 6c 79 20 5c  | are basically \|
0001ea80  0a 20 20 20 20 20 20 20  20 61 73 20 77 72 69 74  |.        as writ|
0001ea90  74 65 6e 2e 5e 5e 22 3b  0a 0a 20 20 20 20 20 20  |ten.^^";..      |
0001eaa0  20 22 41 20 67 6f 6f 64  20 73 6f 75 72 63 65 20  | "A good source |
0001eab0  66 6f 72 20 64 65 74 61  69 6c 73 20 69 73 20 44  |for details is D|
0001eac0  61 76 69 64 20 42 61 67  67 65 74 74 27 73 20 73  |avid Baggett's s|
0001ead0  6f 75 72 63 65 20 63 6f  64 65 2c 20 77 68 69 63  |ource code, whic|
0001eae0  68 20 69 73 20 5c 0a 20  20 20 20 20 20 20 20 63  |h is \.        c|
0001eaf0  69 72 63 75 6c 61 74 65  64 20 6f 6e 20 74 68 65  |irculated on the|
0001eb00  20 49 6e 74 65 72 6e 65  74 2e 22 3b 0a 20 7d 0a  | Internet.";. }.|
0001eb10  0a 20 70 72 69 6e 74 20  22 44 69 64 20 79 6f 75  |. print "Did you|
0001eb20  20 6b 6e 6f 77 20 74 68  61 74 2e 2e 2e 5e 5e 22  | know that...^^"|
0001eb30  3b 0a 0a 20 70 72 69 6e  74 20 22 54 68 65 20 66  |;.. print "The f|
0001eb40  69 76 65 20 64 77 61 72  76 65 73 20 68 61 76 65  |ive dwarves have|
0001eb50  20 61 20 39 36 25 20 63  68 61 6e 63 65 20 6f 66  | a 96% chance of|
0001eb60  20 66 6f 6c 6c 6f 77 69  6e 67 20 79 6f 75 2c 20  | following you, |
0001eb70  65 78 63 65 70 74 20 69  6e 74 6f 20 5c 0a 20 20  |except into \.  |
0001eb80  20 20 20 20 20 20 6c 69  67 68 74 2c 20 64 6f 77  |      light, dow|
0001eb90  6e 20 70 69 74 73 20 6f  72 20 77 68 65 6e 20 61  |n pits or when a|
0001eba0  64 6d 69 72 69 6e 67 20  74 68 65 6d 73 65 6c 76  |dmiring themselv|
0001ebb0  65 73 3a 20 61 6e 64 20  74 68 65 20 6e 61 73 74  |es: and the nast|
0001ebc0  79 20 6c 69 74 74 6c 65  20 5c 0a 20 20 20 20 20  |y little \.     |
0001ebd0  20 20 20 6b 6e 69 76 65  73 20 61 72 65 20 39 2e  |   knives are 9.|
0001ebe0  35 25 20 61 63 63 75 72  61 74 65 2e 5e 5e 22 3b  |5% accurate.^^";|
0001ebf0  0a 0a 20 70 72 69 6e 74  20 22 44 72 61 67 6f 6e  |.. print "Dragon|
0001ec00  73 20 62 75 72 6e 20 75  70 20 64 77 61 72 76 65  |s burn up dwarve|
0001ec10  73 20 28 70 65 72 68 61  70 73 20 62 65 63 61 75  |s (perhaps becau|
0001ec20  73 65 20 64 77 61 72 76  65 73 20 65 61 74 20 6f  |se dwarves eat o|
0001ec30  6e 6c 79 20 63 6f 61 6c  29 2e 5e 5e 22 3b 0a 0a  |nly coal).^^";..|
0001ec40  20 70 72 69 6e 74 20 22  54 68 65 20 62 65 61 72  | print "The bear|
0001ec50  20 28 77 68 6f 20 6c 69  6b 65 73 20 74 68 65 20  | (who likes the |
0001ec60  76 6f 6c 63 61 6e 6f 29  20 69 73 20 74 6f 6f 20  |volcano) is too |
0001ec70  68 65 61 76 79 20 66 6f  72 20 74 68 65 20 62 72  |heavy for the br|
0001ec80  69 64 67 65 2e 2e 2e 20  5c 0a 20 20 20 20 20 20  |idge... \.      |
0001ec90  20 20 61 6e 64 20 79 6f  75 20 63 61 6e 20 67 6f  |  and you can go|
0001eca0  20 62 61 63 6b 20 74 6f  20 74 68 65 20 73 63 65  | back to the sce|
0001ecb0  6e 65 20 61 66 74 65 72  20 62 65 69 6e 67 20 72  |ne after being r|
0001ecc0  65 73 75 72 72 65 63 74  65 64 2e 5e 5e 22 3b 0a  |esurrected.^^";.|
0001ecd0  0a 20 70 72 69 6e 74 20  22 59 6f 75 20 63 61 6e  |. print "You can|
0001ece0  20 73 6c 69 70 20 70 61  73 74 20 74 68 65 20 73  | slip past the s|
0001ecf0  6e 61 6b 65 20 69 6e 74  6f 20 74 68 65 20 73 65  |nake into the se|
0001ed00  63 72 65 74 20 45 2f 57  20 63 61 6e 79 6f 6e 2c  |cret E/W canyon,|
0001ed10  20 5c 0a 20 20 20 20 20  20 20 20 33 35 25 20 6f  | \.        35% o|
0001ed20  66 20 74 68 65 20 74 69  6d 65 20 61 74 20 61 6e  |f the time at an|
0001ed30  79 20 72 61 74 65 2e 20  20 41 6e 64 20 77 61 6c  |y rate.  And wal|
0001ed40  6b 69 6e 67 20 61 62 6f  75 74 20 69 6e 20 74 68  |king about in th|
0001ed50  65 20 64 61 72 6b 20 5c  0a 20 20 20 20 20 20 20  |e dark \.       |
0001ed60  20 69 73 20 6e 6f 74 20  61 6c 6c 20 74 68 61 74  | is not all that|
0001ed70  20 67 72 75 65 73 6f 6d  65 3a 20 69 74 20 63 61  | gruesome: it ca|
0001ed80  72 72 69 65 73 20 6f 6e  6c 79 20 61 20 32 35 25  |rries only a 25%|
0001ed90  20 72 69 73 6b 20 6f 66  20 66 61 6c 6c 69 6e 67  | risk of falling|
0001eda0  20 5c 0a 20 20 20 20 20  20 20 20 64 6f 77 6e 20  | \.        down |
0001edb0  61 20 70 69 74 2e 5e 5e  22 3b 0a 0a 20 70 72 69  |a pit.^^";.. pri|
0001edc0  6e 74 20 22 54 68 65 20  76 61 73 65 20 64 6f 65  |nt "The vase doe|
0001edd0  73 20 6e 6f 74 20 6c 69  6b 65 20 62 65 69 6e 67  |s not like being|
0001ede0  20 69 6d 6d 65 72 73 65  64 2e 5e 5e 22 3b 0a 0a  | immersed.^^";..|
0001edf0  20 70 72 69 6e 74 20 22  53 68 61 64 6f 77 79 20  | print "Shadowy |
0001ee00  66 69 67 75 72 65 73 20  63 61 6e 20 77 61 76 65  |figures can wave|
0001ee10  20 74 6f 20 65 61 63 68  20 6f 74 68 65 72 2e 5e  | to each other.^|
0001ee20  5e 22 3b 0a 0a 20 70 72  69 6e 74 20 22 57 61 74  |^";.. print "Wat|
0001ee30  65 72 69 6e 67 20 74 68  65 20 68 69 6e 67 65 73  |ering the hinges|
0001ee40  20 6f 66 20 74 68 65 20  64 6f 6f 72 20 72 75 73  | of the door rus|
0001ee50  74 73 20 74 68 65 6d 20  75 70 20 61 67 61 69 6e  |ts them up again|
0001ee60  2e 5e 5e 22 3b 0a 0a 20  70 72 69 6e 74 20 22 57  |.^^";.. print "W|
0001ee70  68 65 6e 20 74 68 65 20  63 61 76 65 20 63 6c 6f  |hen the cave clo|
0001ee80  73 65 73 2c 20 74 68 65  20 67 72 61 74 65 20 69  |ses, the grate i|
0001ee90  73 20 6c 6f 63 6b 65 64  20 61 6e 64 20 74 68 65  |s locked and the|
0001eea0  20 6b 65 79 73 20 61 72  65 20 74 68 72 6f 77 6e  | keys are thrown|
0001eeb0  20 5c 0a 20 20 20 20 20  20 20 20 61 77 61 79 2c  | \.        away,|
0001eec0  20 63 72 65 61 74 75 72  65 73 20 72 75 6e 20 6f  | creatures run o|
0001eed0  66 66 20 61 6e 64 20 74  68 65 20 63 72 79 73 74  |ff and the cryst|
0001eee0  61 6c 20 62 72 69 64 67  65 20 76 61 6e 69 73 68  |al bridge vanish|
0001eef0  65 73 2e 2e 2e 5e 5e 22  3b 0a 0a 20 70 72 69 6e  |es...^^";.. prin|
0001ef00  74 20 22 2e 2e 2e 61 6e  64 20 61 20 63 6f 6d 70  |t "...and a comp|
0001ef10  6c 65 74 65 6c 79 20 75  73 65 6c 65 73 73 20 68  |letely useless h|
0001ef20  69 6e 74 20 69 73 20 77  72 69 74 74 65 6e 20 6f  |int is written o|
0001ef30  6e 20 74 68 65 20 67 69  61 6e 74 20 6f 79 73 74  |n the giant oyst|
0001ef40  65 72 27 73 20 5c 0a 20  20 20 20 20 20 20 20 73  |er's \.        s|
0001ef50  68 65 6c 6c 20 69 6e 20  74 68 65 20 65 6e 64 20  |hell in the end |
0001ef60  67 61 6d 65 2e 5e 5e 22  3b 0a 0a 20 20 20 20 20  |game.^^";..     |
0001ef70  20 20 22 54 68 65 20 6c  61 73 74 20 6c 6f 75 73  |  "The last lous|
0001ef80  79 20 70 6f 69 6e 74 20  63 61 6e 20 62 65 20 77  |y point can be w|
0001ef90  6f 6e 20 62 79 2e 2e 2e  20 62 75 74 20 6e 6f 2e  |on by... but no.|
0001efa0  20 20 54 68 61 74 20 77  6f 75 6c 64 20 62 65 20  |  That would be |
0001efb0  74 65 6c 6c 69 6e 67 2e  22 3b 0a 0a 5d 3b 0a 0a  |telling.";..];..|
0001efc0  5b 20 48 65 6c 70 53 75  62 3b 0a 0a 20 69 66 20  |[ HelpSub;.. if |
0001efd0  28 64 65 61 64 66 6c 61  67 7e 3d 32 29 0a 20 44  |(deadflag~=2). D|
0001efe0  6f 4d 65 6e 75 28 22 54  68 65 72 65 20 69 73 20  |oMenu("There is |
0001eff0  69 6e 66 6f 72 6d 61 74  69 6f 6e 20 70 72 6f 76  |information prov|
0001f000  69 64 65 64 20 6f 6e 20  74 68 65 20 66 6f 6c 6c  |ided on the foll|
0001f010  6f 77 69 6e 67 3a 5e 5c  0a 20 20 20 20 20 20 20  |owing:^\.       |
0001f020  20 20 5e 20 20 20 20 20  49 6e 73 74 72 75 63 74  |  ^     Instruct|
0001f030  69 6f 6e 73 20 66 6f 72  20 70 6c 61 79 69 6e 67  |ions for playing|
0001f040  5c 0a 20 20 20 20 20 20  20 20 20 5e 20 20 20 20  |\.         ^    |
0001f050  20 54 68 65 20 68 69 73  74 6f 72 79 20 6f 66 20  | The history of |
0001f060  74 68 69 73 20 67 61 6d  65 5c 0a 20 20 20 20 20  |this game\.     |
0001f070  20 20 20 20 5e 20 20 20  20 20 48 6f 77 20 61 75  |    ^     How au|
0001f080  74 68 65 6e 74 69 63 20  69 73 20 74 68 69 73 20  |thentic is this |
0001f090  65 64 69 74 69 6f 6e 3f  5e 22 2c 0a 20 20 20 20  |edition?^",.    |
0001f0a0  20 20 20 20 20 23 72 24  48 65 6c 70 4d 65 6e 75  |     #r$HelpMenu|
0001f0b0  2c 20 23 72 24 48 65 6c  70 49 6e 66 6f 29 3b 0a  |, #r$HelpInfo);.|
0001f0c0  20 65 6c 73 65 0a 20 44  6f 4d 65 6e 75 28 22 54  | else. DoMenu("T|
0001f0d0  68 65 72 65 20 69 73 20  69 6e 66 6f 72 6d 61 74  |here is informat|
0001f0e0  69 6f 6e 20 70 72 6f 76  69 64 65 64 20 6f 6e 20  |ion provided on |
0001f0f0  74 68 65 20 66 6f 6c 6c  6f 77 69 6e 67 3a 5e 5c  |the following:^\|
0001f100  0a 20 20 20 20 20 20 20  20 20 5e 20 20 20 20 20  |.         ^     |
0001f110  49 6e 73 74 72 75 63 74  69 6f 6e 73 20 66 6f 72  |Instructions for|
0001f120  20 70 6c 61 79 69 6e 67  5c 0a 20 20 20 20 20 20  | playing\.      |
0001f130  20 20 20 5e 20 20 20 20  20 54 68 65 20 68 69 73  |   ^     The his|
0001f140  74 6f 72 79 20 6f 66 20  74 68 69 73 20 67 61 6d  |tory of this gam|
0001f150  65 5c 0a 20 20 20 20 20  20 20 20 20 5e 20 20 20  |e\.         ^   |
0001f160  20 20 48 6f 77 20 61 75  74 68 65 6e 74 69 63 20  |  How authentic |
0001f170  69 73 20 74 68 69 73 20  65 64 69 74 69 6f 6e 3f  |is this edition?|
0001f180  5c 0a 20 20 20 20 20 20  20 20 20 5e 20 20 20 20  |\.         ^    |
0001f190  20 44 69 64 20 79 6f 75  20 6b 6e 6f 77 2e 2e 2e  | Did you know...|
0001f1a0  5e 22 2c 0a 20 20 20 20  20 20 20 20 20 23 72 24  |^",.         #r$|
0001f1b0  48 65 6c 70 4d 65 6e 75  2c 20 23 72 24 48 65 6c  |HelpMenu, #r$Hel|
0001f1c0  70 49 6e 66 6f 29 3b 0a  0a 5d 3b 0a 0a 5b 20 41  |pInfo);..];..[ A|
0001f1d0  6d 75 73 69 6e 67 3b 20  48 65 6c 70 53 75 62 28  |musing; HelpSub(|
0001f1e0  29 3b 20 5d 3b 0a 0a 21  20 2d 2d 2d 2d 2d 2d 2d  |); ];..! -------|
0001f1f0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0001f230  2d 2d 2d 2d 2d 0a 21 20  20 20 4e 65 77 20 76 65  |-----.!   New ve|
0001f240  72 62 73 20 28 74 6f 20  61 64 64 20 74 6f 20 74  |rbs (to add to t|
0001f250  68 65 20 6c 69 62 72 61  72 79 20 73 74 6f 63 6b  |he library stock|
0001f260  29 0a 21 20 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |).! ------------|
0001f270  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0001f2b0  0a 0a 5b 20 43 61 74 63  68 53 75 62 3b 0a 20 20  |..[ CatchSub;.  |
0001f2c0  70 72 69 6e 74 20 22 59  6f 75 20 63 61 6e 27 74  |print "You can't|
0001f2d0  20 63 61 74 63 68 20 22  3b 20 44 65 66 41 72 74  | catch "; DefArt|
0001f2e0  28 6e 6f 75 6e 29 3b 20  22 2e 22 3b 0a 5d 3b 0a  |(noun); ".";.];.|
0001f2f0  0a 5b 20 52 65 6c 65 61  73 65 53 75 62 3b 0a 20  |.[ ReleaseSub;. |
0001f300  20 70 72 69 6e 74 20 22  59 6f 75 20 63 61 6e 27  | print "You can'|
0001f310  74 20 72 65 6c 65 61 73  65 20 22 3b 20 44 65 66  |t release "; Def|
0001f320  41 72 74 28 6e 6f 75 6e  29 3b 20 22 2e 22 3b 0a  |Art(noun); ".";.|
0001f330  5d 3b 0a 0a 5b 20 57 61  74 65 72 53 75 62 3b 0a  |];..[ WaterSub;.|
0001f340  20 20 69 66 20 28 62 6f  74 74 6c 65 20 69 6e 20  |  if (bottle in |
0001f350  70 6c 61 79 65 72 29 20  3c 3c 45 6d 70 74 79 20  |player) <<Empty |
0001f360  62 6f 74 74 6c 65 3e 3e  3b 0a 20 20 22 57 61 74  |bottle>>;.  "Wat|
0001f370  65 72 3f 20 20 57 68 61  74 20 77 61 74 65 72 3f  |er?  What water?|
0001f380  22 3b 0a 5d 3b 0a 0a 5b  20 4f 69 6c 53 75 62 3b  |";.];..[ OilSub;|
0001f390  0a 20 20 69 66 20 28 62  6f 74 74 6c 65 20 69 6e  |.  if (bottle in|
0001f3a0  20 70 6c 61 79 65 72 29  20 3c 3c 45 6d 70 74 79  | player) <<Empty|
0001f3b0  20 62 6f 74 74 6c 65 3e  3e 3b 0a 20 20 22 4f 69  | bottle>>;.  "Oi|
0001f3c0  6c 3f 20 20 57 68 61 74  20 6f 69 6c 3f 22 3b 0a  |l?  What oil?";.|
0001f3d0  5d 3b 0a 0a 5b 20 4f 6e  53 75 62 3b 20 69 66 20  |];..[ OnSub; if |
0001f3e0  28 62 72 61 73 73 5f 6c  61 6e 74 65 72 6e 20 6e  |(brass_lantern n|
0001f3f0  6f 74 69 6e 20 70 6c 61  79 65 72 29 20 22 59 6f  |otin player) "Yo|
0001f400  75 20 68 61 76 65 20 6e  6f 20 6c 61 6d 70 2e 22  |u have no lamp."|
0001f410  3b 0a 20 20 3c 3c 53 77  69 74 63 68 4f 6e 20 62  |;.  <<SwitchOn b|
0001f420  72 61 73 73 5f 6c 61 6e  74 65 72 6e 3e 3e 3b 0a  |rass_lantern>>;.|
0001f430  5d 3b 0a 0a 5b 20 4f 66  66 53 75 62 3b 20 69 66  |];..[ OffSub; if|
0001f440  20 28 62 72 61 73 73 5f  6c 61 6e 74 65 72 6e 20  | (brass_lantern |
0001f450  6e 6f 74 69 6e 20 70 6c  61 79 65 72 29 20 22 59  |notin player) "Y|
0001f460  6f 75 20 68 61 76 65 20  6e 6f 20 6c 61 6d 70 2e  |ou have no lamp.|
0001f470  22 3b 0a 20 20 3c 3c 53  77 69 74 63 68 4f 66 66  |";.  <<SwitchOff|
0001f480  20 62 72 61 73 73 5f 6c  61 6e 74 65 72 6e 3e 3e  | brass_lantern>>|
0001f490  3b 0a 5d 3b 0a 0a 5b 20  58 79 7a 7a 79 53 75 62  |;.];..[ XyzzySub|
0001f4a0  3b 20 22 4e 6f 74 68 69  6e 67 20 68 61 70 70 65  |; "Nothing happe|
0001f4b0  6e 73 2e 22 3b 20 5d 3b  0a 5b 20 50 6c 75 67 68  |ns."; ];.[ Plugh|
0001f4c0  53 75 62 3b 20 22 4e 6f  74 68 69 6e 67 20 68 61  |Sub; "Nothing ha|
0001f4d0  70 70 65 6e 73 2e 22 3b  20 5d 3b 0a 5b 20 50 6c  |ppens."; ];.[ Pl|
0001f4e0  6f 76 65 72 53 75 62 3b  20 22 4e 6f 74 68 69 6e  |overSub; "Nothin|
0001f4f0  67 20 68 61 70 70 65 6e  73 2e 22 3b 20 5d 3b 0a  |g happens."; ];.|
0001f500  5b 20 46 65 65 53 75 62  3b 20 46 74 68 69 6e 67  |[ FeeSub; Fthing|
0001f510  53 75 62 28 30 29 3b 20  5d 3b 0a 5b 20 46 69 65  |Sub(0); ];.[ Fie|
0001f520  53 75 62 3b 20 46 74 68  69 6e 67 53 75 62 28 31  |Sub; FthingSub(1|
0001f530  29 3b 20 5d 3b 0a 5b 20  46 6f 65 53 75 62 3b 20  |); ];.[ FoeSub; |
0001f540  46 74 68 69 6e 67 53 75  62 28 32 29 3b 20 5d 3b  |FthingSub(2); ];|
0001f550  0a 5b 20 46 6f 6f 53 75  62 3b 20 46 74 68 69 6e  |.[ FooSub; Fthin|
0001f560  67 53 75 62 28 33 29 3b  20 5d 3b 0a 0a 67 6c 6f  |gSub(3); ];..glo|
0001f570  62 61 6c 20 66 63 6f 75  6e 74 20 3d 20 30 3b 0a  |bal fcount = 0;.|
0001f580  0a 5b 20 46 74 68 69 6e  67 53 75 62 20 69 3b 0a  |.[ FthingSub i;.|
0001f590  20 20 69 66 20 28 66 63  6f 75 6e 74 7e 3d 69 29  |  if (fcount~=i)|
0001f5a0  20 7b 20 66 63 6f 75 6e  74 3d 30 3b 20 22 47 65  | { fcount=0; "Ge|
0001f5b0  74 20 69 74 20 72 69 67  68 74 2c 20 64 75 6d 6d  |t it right, dumm|
0001f5c0  79 21 22 3b 20 7d 0a 20  20 66 63 6f 75 6e 74 2b  |y!"; }.  fcount+|
0001f5d0  2b 3b 0a 20 20 69 66 20  28 66 63 6f 75 6e 74 3d  |+;.  if (fcount=|
0001f5e0  3d 34 29 0a 20 20 7b 20  20 20 66 63 6f 75 6e 74  |=4).  {   fcount|
0001f5f0  3d 30 3b 0a 20 20 20 20  20 20 69 66 20 28 67 6f  |=0;.      if (go|
0001f600  6c 64 65 6e 5f 65 67 67  73 20 69 6e 20 49 6e 5f  |lden_eggs in In_|
0001f610  47 69 61 6e 74 5f 52 6f  6f 6d 29 20 22 4e 6f 74  |Giant_Room) "Not|
0001f620  68 69 6e 67 20 68 61 70  70 65 6e 73 2e 22 3b 0a  |hing happens.";.|
0001f630  20 20 20 20 20 20 69 66  20 28 28 67 6f 6c 64 65  |      if ((golde|
0001f640  6e 5f 65 67 67 73 20 69  6e 20 70 6c 61 79 65 72  |n_eggs in player|
0001f650  29 20 7c 7c 20 28 67 6f  6c 64 65 6e 5f 65 67 67  |) || (golden_egg|
0001f660  73 20 69 6e 20 6c 6f 63  61 74 69 6f 6e 29 29 0a  |s in location)).|
0001f670  20 20 20 20 20 20 20 20  20 20 70 72 69 6e 74 20  |          print |
0001f680  22 54 68 65 20 6e 65 73  74 20 6f 66 20 67 6f 6c  |"The nest of gol|
0001f690  64 65 6e 20 65 67 67 73  20 68 61 73 20 76 61 6e  |den eggs has van|
0001f6a0  69 73 68 65 64 21 5e 22  3b 0a 20 20 20 20 20 20  |ished!^";.      |
0001f6b0  65 6c 73 65 20 70 72 69  6e 74 20 22 44 6f 6e 65  |else print "Done|
0001f6c0  21 22 3b 0a 20 20 20 20  20 20 69 66 20 28 67 6f  |!";.      if (go|
0001f6d0  6c 64 65 6e 5f 65 67 67  73 20 69 6e 20 70 6c 61  |lden_eggs in pla|
0001f6e0  79 65 72 29 20 73 63 6f  72 65 3d 73 63 6f 72 65  |yer) score=score|
0001f6f0  2d 35 3b 0a 20 20 20 20  20 20 69 66 20 28 67 6f  |-5;.      if (go|
0001f700  6c 64 65 6e 5f 65 67 67  73 20 69 6e 20 49 6e 73  |lden_eggs in Ins|
0001f710  69 64 65 5f 42 75 69 6c  64 69 6e 67 29 0a 20 20  |ide_Building).  |
0001f720  20 20 20 20 20 20 20 20  73 63 6f 72 65 3d 73 63  |        score=sc|
0001f730  6f 72 65 2d 67 6f 6c 64  65 6e 5f 65 67 67 73 2e  |ore-golden_eggs.|
0001f740  64 65 70 6f 73 69 74 70  6f 69 6e 74 73 3b 0a 20  |depositpoints;. |
0001f750  20 20 20 20 20 6d 6f 76  65 20 67 6f 6c 64 65 6e  |     move golden|
0001f760  5f 65 67 67 73 20 74 6f  20 49 6e 5f 47 69 61 6e  |_eggs to In_Gian|
0001f770  74 5f 52 6f 6f 6d 3b 0a  20 20 20 20 20 20 69 66  |t_Room;.      if|
0001f780  20 28 6c 6f 63 61 74 69  6f 6e 3d 3d 49 6e 5f 47  | (location==In_G|
0001f790  69 61 6e 74 5f 52 6f 6f  6d 29 0a 20 20 20 20 20  |iant_Room).     |
0001f7a0  20 20 20 20 20 22 5e 5e  41 20 6c 61 72 67 65 20  |     "^^A large |
0001f7b0  6e 65 73 74 20 66 75 6c  6c 20 6f 66 20 67 6f 6c  |nest full of gol|
0001f7c0  64 65 6e 20 65 67 67 73  20 73 75 64 64 65 6e 6c  |den eggs suddenl|
0001f7d0  79 20 61 70 70 65 61 72  73 20 6f 75 74 20 6f 66  |y appears out of|
0001f7e0  20 6e 6f 77 68 65 72 65  21 22 3b 0a 20 20 7d 0a  | nowhere!";.  }.|
0001f7f0  20 20 65 6c 73 65 20 22  4f 6b 2e 22 3b 0a 5d 3b  |  else "Ok.";.];|
0001f800  0a 0a 5b 20 43 6f 75 6e  74 53 75 62 3b 20 70 72  |..[ CountSub; pr|
0001f810  69 6e 74 5f 72 65 74 20  22 49 20 73 65 65 20 6f  |int_ret "I see o|
0001f820  6e 65 20 28 31 29 20 22  2c 20 6f 62 6a 65 63 74  |ne (1) ", object|
0001f830  20 6e 6f 75 6e 2c 20 22  2e 22 3b 20 5d 3b 0a 5b  | noun, "."; ];.[|
0001f840  20 55 73 65 53 75 62 3b  20 22 59 6f 75 27 6c 6c  | UseSub; "You'll|
0001f850  20 68 61 76 65 20 74 6f  20 62 65 20 61 20 62 69  | have to be a bi|
0001f860  74 20 6d 6f 72 65 20 65  78 70 6c 69 63 69 74 20  |t more explicit |
0001f870  74 68 61 6e 20 74 68 61  74 2e 22 3b 20 5d 3b 0a  |than that."; ];.|
0001f880  5b 20 42 6c 61 73 74 57  69 74 68 53 75 62 3b 0a  |[ BlastWithSub;.|
0001f890  20 20 20 20 20 69 66 20  28 73 65 63 6f 6e 64 7e  |     if (second~|
0001f8a0  3d 62 6c 61 63 6b 5f 6d  61 72 6b 5f 72 6f 64 29  |=black_mark_rod)|
0001f8b0  0a 20 20 20 20 20 20 20  20 20 22 42 6c 61 73 74  |.         "Blast|
0001f8c0  69 6e 67 20 72 65 71 75  69 72 65 73 20 64 79 6e  |ing requires dyn|
0001f8d0  61 6d 69 74 65 2e 22 3b  0a 20 20 20 20 20 22 42  |amite.";.     "B|
0001f8e0  65 65 6e 20 65 61 74 69  6e 67 20 74 68 6f 73 65  |een eating those|
0001f8f0  20 66 75 6e 6e 79 20 62  72 6f 77 6e 69 65 73 20  | funny brownies |
0001f900  61 67 61 69 6e 3f 22 3b  0a 5d 3b 0a 5b 20 4f 6c  |again?";.];.[ Ol|
0001f910  64 4d 61 67 69 63 53 75  62 3b 20 22 47 6f 6f 64  |dMagicSub; "Good|
0001f920  20 74 72 79 2c 20 62 75  74 20 74 68 61 74 20 69  | try, but that i|
0001f930  73 20 61 6e 20 6f 6c 64  20 77 6f 72 6e 2d 6f 75  |s an old worn-ou|
0001f940  74 20 6d 61 67 69 63 20  77 6f 72 64 2e 22 3b 20  |t magic word."; |
0001f950  5d 3b 0a 5b 20 4b 69 63  6b 53 75 62 3b 20 3c 3c  |];.[ KickSub; <<|
0001f960  41 74 74 61 63 6b 20 6e  6f 75 6e 3e 3e 3b 20 5d  |Attack noun>>; ]|
0001f970  3b 20 21 20 46 6f 72 20  6b 69 63 6b 69 6e 67 20  |; ! For kicking |
0001f980  64 77 61 72 76 65 73 0a  0a 5b 20 42 6c 61 73 74  |dwarves..[ Blast|
0001f990  53 75 62 3b 0a 20 20 69  66 20 28 6c 6f 63 61 74  |Sub;.  if (locat|
0001f9a0  69 6f 6e 7e 3d 41 74 5f  53 77 5f 45 6e 64 20 6f  |ion~=At_Sw_End o|
0001f9b0  72 20 41 74 5f 4e 65 5f  45 6e 64 29 20 22 46 72  |r At_Ne_End) "Fr|
0001f9c0  75 73 74 72 61 74 69 6e  67 2c 20 69 73 6e 27 74  |ustrating, isn't|
0001f9d0  20 69 74 3f 22 3b 0a 20  20 69 66 20 28 6c 6f 63  | it?";.  if (loc|
0001f9e0  61 74 69 6f 6e 3d 3d 41  74 5f 53 77 5f 45 6e 64  |ation==At_Sw_End|
0001f9f0  20 26 26 20 70 61 72 65  6e 74 28 62 6c 61 63 6b  | && parent(black|
0001fa00  5f 6d 61 72 6b 5f 72 6f  64 29 3d 3d 41 74 5f 4e  |_mark_rod)==At_N|
0001fa10  65 5f 45 6e 64 29 0a 20  20 7b 20 20 20 73 63 6f  |e_End).  {   sco|
0001fa20  72 65 3d 73 63 6f 72 65  2b 33 35 3b 0a 20 20 20  |re=score+35;.   |
0001fa30  20 20 20 64 65 61 64 66  6c 61 67 3d 32 3b 0a 20  |   deadflag=2;. |
0001fa40  20 20 20 20 20 22 54 68  65 72 65 20 69 73 20 61  |     "There is a|
0001fa50  20 6c 6f 75 64 20 65 78  70 6c 6f 73 69 6f 6e 2c  | loud explosion,|
0001fa60  20 61 6e 64 20 61 20 74  77 65 6e 74 79 2d 66 6f  | and a twenty-fo|
0001fa70  6f 74 20 5c 0a 20 20 20  20 20 20 20 68 6f 6c 65  |ot \.       hole|
0001fa80  20 61 70 70 65 61 72 73  20 69 6e 20 74 68 65 20  | appears in the |
0001fa90  66 61 72 20 77 61 6c 6c  2c 20 62 75 72 79 69 6e  |far wall, buryin|
0001faa0  67 20 74 68 65 20 64 77  61 72 76 65 73 20 69 6e  |g the dwarves in|
0001fab0  20 5c 0a 20 20 20 20 20  20 20 74 68 65 20 72 75  | \.       the ru|
0001fac0  62 62 6c 65 2e 20 20 59  6f 75 20 6d 61 72 63 68  |bble.  You march|
0001fad0  20 74 68 72 6f 75 67 68  20 74 68 65 20 68 6f 6c  | through the hol|
0001fae0  65 20 61 6e 64 20 66 69  6e 64 20 5c 0a 20 20 20  |e and find \.   |
0001faf0  20 20 20 20 79 6f 75 72  73 65 6c 66 20 69 6e 20  |    yourself in |
0001fb00  74 68 65 20 6d 61 69 6e  20 6f 66 66 69 63 65 2c  |the main office,|
0001fb10  20 77 68 65 72 65 20 61  20 63 68 65 65 72 69 6e  | where a cheerin|
0001fb20  67 20 62 61 6e 64 20 6f  66 20 5c 0a 20 20 20 20  |g band of \.    |
0001fb30  20 20 20 66 72 69 65 6e  64 6c 79 20 65 6c 76 65  |   friendly elve|
0001fb40  73 20 63 61 72 72 79 20  74 68 65 20 63 6f 6e 71  |s carry the conq|
0001fb50  75 65 72 69 6e 67 20 61  64 76 65 6e 74 75 72 65  |uering adventure|
0001fb60  72 20 6f 66 66 20 5c 0a  20 20 20 20 20 20 20 69  |r off \.       i|
0001fb70  6e 74 6f 20 74 68 65 20  73 75 6e 73 65 74 2e 22  |nto the sunset."|
0001fb80  3b 0a 20 20 7d 0a 20 20  69 66 20 28 6c 6f 63 61  |;.  }.  if (loca|
0001fb90  74 69 6f 6e 3d 3d 41 74  5f 4e 65 5f 45 6e 64 20  |tion==At_Ne_End |
0001fba0  26 26 20 70 61 72 65 6e  74 28 62 6c 61 63 6b 5f  |&& parent(black_|
0001fbb0  6d 61 72 6b 5f 72 6f 64  29 3d 3d 41 74 5f 53 77  |mark_rod)==At_Sw|
0001fbc0  5f 45 6e 64 29 0a 20 20  7b 20 20 20 73 63 6f 72  |_End).  {   scor|
0001fbd0  65 3d 73 63 6f 72 65 2b  32 30 3b 0a 20 20 20 20  |e=score+20;.    |
0001fbe0  20 20 64 65 61 64 66 6c  61 67 3d 31 3b 0a 20 20  |  deadflag=1;.  |
0001fbf0  20 20 20 20 22 54 68 65  72 65 20 69 73 20 61 20  |    "There is a |
0001fc00  6c 6f 75 64 20 65 78 70  6c 6f 73 69 6f 6e 2c 20  |loud explosion, |
0001fc10  61 6e 64 20 61 20 74 77  65 6e 74 79 2d 66 6f 6f  |and a twenty-foo|
0001fc20  74 20 5c 0a 20 20 20 20  20 20 20 68 6f 6c 64 20  |t \.       hold |
0001fc30  61 70 70 65 61 72 73 20  69 6e 20 74 68 65 20 66  |appears in the f|
0001fc40  61 72 20 77 61 6c 6c 2c  20 62 75 72 79 69 6e 67  |ar wall, burying|
0001fc50  20 74 68 65 20 73 6e 61  6b 65 73 20 69 6e 20 5c  | the snakes in \|
0001fc60  0a 20 20 20 20 20 20 20  74 68 65 20 72 75 62 62  |.       the rubb|
0001fc70  6c 65 2e 20 20 41 20 72  69 76 65 72 20 6f 66 20  |le.  A river of |
0001fc80  6d 6f 6c 74 65 6e 20 6c  61 76 61 20 70 6f 75 72  |molten lava pour|
0001fc90  73 20 69 6e 20 74 68 72  6f 75 67 68 20 5c 0a 20  |s in through \. |
0001fca0  20 20 20 20 20 20 74 68  65 20 68 6f 6c 65 2c 20  |      the hole, |
0001fcb0  64 65 73 74 72 6f 79 69  6e 67 20 65 76 65 72 79  |destroying every|
0001fcc0  74 68 69 6e 67 20 69 6e  20 69 74 73 20 70 61 74  |thing in its pat|
0001fcd0  68 2c 20 5c 0a 20 20 20  20 20 20 20 69 6e 63 6c  |h, \.       incl|
0001fce0  75 64 69 6e 67 20 79 6f  75 21 22 3b 0a 20 20 7d  |uding you!";.  }|
0001fcf0  0a 20 20 64 65 61 64 66  6c 61 67 3d 31 3b 0a 20  |.  deadflag=1;. |
0001fd00  20 22 54 68 65 72 65 20  69 73 20 61 20 6c 6f 75  | "There is a lou|
0001fd10  64 20 65 78 70 6c 6f 73  69 6f 6e 2c 20 61 6e 64  |d explosion, and|
0001fd20  20 79 6f 75 20 61 72 65  20 73 75 64 64 65 6e 6c  | you are suddenl|
0001fd30  79 20 5c 0a 20 20 20 73  70 6c 61 73 68 65 64 20  |y \.   splashed |
0001fd40  61 63 72 6f 73 73 20 74  68 65 20 77 61 6c 6c 73  |across the walls|
0001fd50  20 6f 66 20 74 68 65 20  72 6f 6f 6d 2e 22 3b 0a  | of the room.";.|
0001fd60  5d 3b 0a 0a 21 20 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |];..! ----------|
0001fd70  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0001fdb0  2d 2d 0a 21 20 20 20 52  65 73 75 72 72 65 63 74  |--.!   Resurrect|
0001fdc0  69 6f 6e 0a 21 20 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |ion.! ----------|
0001fdd0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
0001fe10  2d 2d 0a 0a 5b 20 41 66  74 65 72 4c 69 66 65 20  |--..[ AfterLife |
0001fe20  6f 3b 0a 20 20 69 66 20  28 64 65 61 64 66 6c 61  |o;.  if (deadfla|
0001fe30  67 3d 3d 33 29 20 7b 20  64 65 61 64 66 6c 61 67  |g==3) { deadflag|
0001fe40  3d 31 3b 20 72 66 61 6c  73 65 3b 20 7d 0a 20 20  |=1; rfalse; }.  |
0001fe50  70 72 69 6e 74 20 22 5e  5e 22 3b 0a 20 20 69 66  |print "^^";.  if|
0001fe60  20 28 63 61 76 65 73 5f  63 6c 6f 73 65 64 3d 3d  | (caves_closed==|
0001fe70  31 29 20 0a 20 20 20 20  20 20 22 49 74 20 6c 6f  |1) .      "It lo|
0001fe80  6f 6b 73 20 61 73 20 74  68 6f 75 67 68 20 79 6f  |oks as though yo|
0001fe90  75 27 72 65 20 64 65 61  64 2e 20 20 57 65 6c 6c  |u're dead.  Well|
0001fea0  2c 20 73 65 65 69 6e 67  20 61 73 20 68 6f 77 20  |, seeing as how |
0001feb0  5c 0a 20 20 20 20 20 20  20 69 74 27 73 20 73 6f  |\.       it's so|
0001fec0  20 63 6c 6f 73 65 20 74  6f 20 63 6c 6f 73 69 6e  | close to closin|
0001fed0  67 20 74 69 6d 65 20 61  6e 79 77 61 79 2c 20 49  |g time anyway, I|
0001fee0  20 74 68 69 6e 6b 20 77  65 27 6c 6c 20 5c 0a 20  | think we'll \. |
0001fef0  20 20 20 20 20 20 6a 75  73 74 20 63 61 6c 6c 20  |      just call |
0001ff00  69 74 20 61 20 64 61 79  2e 22 3b 0a 20 20 69 66  |it a day.";.  if|
0001ff10  20 28 64 65 61 74 68 73  3d 3d 30 29 0a 20 20 20  | (deaths==0).   |
0001ff20  20 70 72 69 6e 74 20 22  4f 68 20 64 65 61 72 2c  | print "Oh dear,|
0001ff30  20 79 6f 75 20 73 65 65  6d 20 74 6f 20 68 61 76  | you seem to hav|
0001ff40  65 20 67 6f 74 74 65 6e  20 79 6f 75 72 73 65 6c  |e gotten yoursel|
0001ff50  66 20 6b 69 6c 6c 65 64  2e 20 20 49 20 5c 0a 20  |f killed.  I \. |
0001ff60  20 20 20 20 20 20 6d 69  67 68 74 20 62 65 20 61  |      might be a|
0001ff70  62 6c 65 20 74 6f 20 68  65 6c 70 20 79 6f 75 20  |ble to help you |
0001ff80  6f 75 74 2c 20 62 75 74  20 49 27 76 65 20 6e 65  |out, but I've ne|
0001ff90  76 65 72 20 72 65 61 6c  6c 79 20 5c 0a 20 20 20  |ver really \.   |
0001ffa0  20 20 20 20 64 6f 6e 65  20 74 68 69 73 20 62 65  |    done this be|
0001ffb0  66 6f 72 65 2e 20 20 44  6f 20 79 6f 75 20 77 61  |fore.  Do you wa|
0001ffc0  6e 74 20 6d 65 20 74 6f  20 74 72 79 20 74 6f 20  |nt me to try to |
0001ffd0  5c 0a 20 20 20 20 20 20  20 72 65 69 6e 63 61 72  |\.       reincar|
0001ffe0  6e 61 74 65 20 79 6f 75  3f 5e 5e 22 3b 0a 20 20  |nate you?^^";.  |
0001fff0  69 66 20 28 64 65 61 74  68 73 3d 3d 31 29 0a 20  |if (deaths==1). |
00020000  20 20 20 70 72 69 6e 74  20 22 59 6f 75 20 63 6c  |   print "You cl|
00020010  75 6d 73 79 20 6f 61 66  2c 20 79 6f 75 27 76 65  |umsy oaf, you've|
00020020  20 64 6f 6e 65 20 69 74  20 61 67 61 69 6e 21 20  | done it again! |
00020030  20 49 20 64 6f 6e 27 74  20 6b 6e 6f 77 20 5c 0a  | I don't know \.|
00020040  20 20 20 20 20 20 20 68  6f 77 20 6c 6f 6e 67 20  |       how long |
00020050  49 20 63 61 6e 20 6b 65  65 70 20 74 68 69 73 20  |I can keep this |
00020060  75 70 2e 20 20 44 6f 20  79 6f 75 20 77 61 6e 74  |up.  Do you want|
00020070  20 6d 65 20 74 6f 20 74  72 79 20 5c 0a 20 20 20  | me to try \.   |
00020080  20 20 20 20 72 65 69 6e  63 61 72 6e 61 74 69 6e  |    reincarnatin|
00020090  67 20 79 6f 75 20 61 67  61 69 6e 3f 5e 5e 22 3b  |g you again?^^";|
000200a0  0a 20 20 69 66 20 28 64  65 61 74 68 73 3d 3d 32  |.  if (deaths==2|
000200b0  29 0a 20 20 20 20 70 72  69 6e 74 20 22 4e 6f 77  |).    print "Now|
000200c0  20 79 6f 75 27 76 65 20  72 65 61 6c 6c 79 20 64  | you've really d|
000200d0  6f 6e 65 20 69 74 21 20  20 49 27 6d 20 6f 75 74  |one it!  I'm out|
000200e0  20 6f 66 20 6f 72 61 6e  67 65 20 73 6d 6f 6b 65  | of orange smoke|
000200f0  21 20 5c 0a 20 20 20 20  20 20 20 59 6f 75 20 64  |! \.       You d|
00020100  6f 6e 27 74 20 65 78 70  65 63 74 20 6d 65 20 74  |on't expect me t|
00020110  6f 20 64 6f 20 61 20 64  65 63 65 6e 74 20 72 65  |o do a decent re|
00020120  69 6e 63 61 72 6e 61 74  69 6f 6e 20 5c 0a 20 20  |incarnation \.  |
00020130  20 20 20 20 20 77 69 74  68 6f 75 74 20 61 6e 79  |     without any|
00020140  20 6f 72 61 6e 67 65 20  73 6d 6f 6b 65 2c 20 64  | orange smoke, d|
00020150  6f 20 79 6f 75 3f 5e 5e  22 3b 0a 0a 20 20 70 72  |o you?^^";..  pr|
00020160  69 6e 74 20 22 3e 20 22  3b 0a 20 20 69 66 20 28  |int "> ";.  if (|
00020170  59 65 73 4f 72 4e 6f 28  29 3d 3d 30 29 0a 20 20  |YesOrNo()==0).  |
00020180  7b 20 20 20 69 66 20 28  64 65 61 74 68 73 3d 3d  |{   if (deaths==|
00020190  30 29 20 22 56 65 72 79  20 77 65 6c 6c 2e 22 3b  |0) "Very well.";|
000201a0  0a 20 20 20 20 20 20 69  66 20 28 64 65 61 74 68  |.      if (death|
000201b0  73 3d 3d 31 29 20 22 50  72 6f 62 61 62 6c 79 20  |s==1) "Probably |
000201c0  61 20 77 69 73 65 20 63  68 6f 69 63 65 2e 22 3b  |a wise choice.";|
000201d0  0a 20 20 20 20 20 20 22  49 20 74 68 6f 75 67 68  |.      "I though|
000201e0  74 20 6e 6f 74 21 22 3b  0a 20 20 7d 0a 0a 20 20  |t not!";.  }..  |
000201f0  69 66 20 28 64 65 61 74  68 73 3d 3d 30 29 0a 20  |if (deaths==0). |
00020200  20 20 20 20 20 70 72 69  6e 74 20 22 41 6c 6c 20  |     print "All |
00020210  72 69 67 68 74 2e 20 20  42 75 74 20 64 6f 6e 27  |right.  But don'|
00020220  74 20 62 6c 61 6d 65 20  6d 65 20 69 66 20 73 6f  |t blame me if so|
00020230  6d 65 74 68 69 6e 67 20  5c 0a 20 20 20 20 20 20  |mething \.      |
00020240  20 20 20 20 20 20 20 67  6f 65 73 20 77 72 2e 2e  |       goes wr..|
00020250  2e 2e 2e 2e 5e 5e 5e 5e  5c 0a 20 20 20 20 20 20  |....^^^^\.      |
00020260  20 20 20 20 20 20 20 2d  2d 2d 20 50 4f 4f 46 21  |       --- POOF!|
00020270  21 20 2d 2d 2d 5e 5e 5c  0a 20 20 20 20 20 20 20  |! ---^^\.       |
00020280  20 20 20 20 20 20 59 6f  75 20 61 72 65 20 65 6e  |      You are en|
00020290  67 75 6c 66 65 64 20 69  6e 20 61 20 63 6c 6f 75  |gulfed in a clou|
000202a0  64 20 6f 66 20 6f 72 61  6e 67 65 20 73 6d 6f 6b  |d of orange smok|
000202b0  65 2e 20 20 5c 0a 20 20  20 20 20 20 20 20 20 20  |e.  \.          |
000202c0  20 20 20 43 6f 75 67 68  69 6e 67 20 61 6e 64 20  |   Coughing and |
000202d0  67 61 73 70 69 6e 67 2c  20 79 6f 75 20 65 6d 65  |gasping, you eme|
000202e0  72 67 65 20 66 72 6f 6d  20 74 68 65 20 73 6d 6f  |rge from the smo|
000202f0  6b 65 20 61 6e 64 20 5c  0a 20 20 20 20 20 20 20  |ke and \.       |
00020300  20 20 20 20 20 20 66 69  6e 64 20 74 68 61 74 20  |      find that |
00020310  79 6f 75 27 72 65 2e 2e  2e 2e 5e 22 3b 0a 20 20  |you're....^";.  |
00020320  69 66 20 28 64 65 61 74  68 73 3d 3d 31 29 0a 20  |if (deaths==1). |
00020330  20 20 20 20 20 70 72 69  6e 74 20 22 4f 6b 61 79  |     print "Okay|
00020340  2c 20 6e 6f 77 20 77 68  65 72 65 20 64 69 64 20  |, now where did |
00020350  49 20 70 75 74 20 6d 79  20 6f 72 61 6e 67 65 20  |I put my orange |
00020360  73 6d 6f 6b 65 3f 2e 2e  2e 2e 20 20 3e 50 4f 4f  |smoke?....  >POO|
00020370  46 21 3c 5c 0a 20 20 20  20 20 20 20 20 20 20 20  |F!<\.           |
00020380  20 20 5e 5e 45 76 65 72  79 74 68 69 6e 67 20 64  |  ^^Everything d|
00020390  69 73 61 70 70 65 61 72  73 20 69 6e 20 61 20 64  |isappears in a d|
000203a0  65 6e 73 65 20 63 6c 6f  75 64 20 6f 66 20 6f 72  |ense cloud of or|
000203b0  61 6e 67 65 20 73 6d 6f  6b 65 2e 5e 22 3b 0a 20  |ange smoke.^";. |
000203c0  20 69 66 20 28 64 65 61  74 68 73 3d 3d 32 29 0a  | if (deaths==2).|
000203d0  20 20 20 20 20 20 22 4f  6b 61 79 2c 20 69 66 20  |      "Okay, if |
000203e0  79 6f 75 27 72 65 20 73  6f 20 73 6d 61 72 74 2c  |you're so smart,|
000203f0  20 64 6f 20 69 74 20 79  6f 75 72 73 65 6c 66 21  | do it yourself!|
00020400  20 20 49 27 6d 20 6c 65  61 76 69 6e 67 21 22 3b  |  I'm leaving!";|
00020410  0a 0a 20 20 64 65 61 74  68 73 2b 2b 3b 20 73 63  |..  deaths++; sc|
00020420  6f 72 65 3d 73 63 6f 72  65 2d 31 30 3b 0a 20 20  |ore=score-10;.  |
00020430  69 66 20 28 6c 6f 63 61  74 69 6f 6e 7e 3d 74 68  |if (location~=th|
00020440  65 64 61 72 6b 29 0a 20  20 7b 20 20 20 77 68 69  |edark).  {   whi|
00020450  6c 65 20 28 63 68 69 6c  64 28 70 6c 61 79 65 72  |le (child(player|
00020460  29 7e 3d 30 29 0a 20 20  20 20 20 20 7b 20 20 20  |)~=0).      {   |
00020470  6f 3d 63 68 69 6c 64 28  70 6c 61 79 65 72 29 3b  |o=child(player);|
00020480  0a 20 20 20 20 20 20 20  20 20 20 6d 6f 76 65 20  |.          move |
00020490  6f 20 74 6f 20 6c 6f 63  61 74 69 6f 6e 3b 0a 20  |o to location;. |
000204a0  20 20 20 20 20 20 20 20  20 69 66 20 28 6f 20 68  |         if (o h|
000204b0  61 73 20 76 61 6c 75 61  62 6c 65 29 20 73 63 6f  |as valuable) sco|
000204c0  72 65 3d 73 63 6f 72 65  2d 35 3b 0a 20 20 20 20  |re=score-5;.    |
000204d0  20 20 7d 0a 20 20 7d 0a  20 20 65 6c 73 65 0a 20  |  }.  }.  else. |
000204e0  20 7b 20 20 20 77 68 69  6c 65 20 28 63 68 69 6c  | {   while (chil|
000204f0  64 28 70 6c 61 79 65 72  29 7e 3d 30 29 20 6d 6f  |d(player)~=0) mo|
00020500  76 65 20 63 68 69 6c 64  28 70 6c 61 79 65 72 29  |ve child(player)|
00020510  20 74 6f 20 72 65 61 6c  5f 6c 6f 63 61 74 69 6f  | to real_locatio|
00020520  6e 3b 20 7d 0a 20 20 6d  6f 76 65 20 62 72 61 73  |n; }.  move bras|
00020530  73 5f 6c 61 6e 74 65 72  6e 20 74 6f 20 41 74 5f  |s_lantern to At_|
00020540  45 6e 64 5f 4f 66 5f 52  6f 61 64 3b 20 67 69 76  |End_Of_Road; giv|
00020550  65 20 62 72 61 73 73 5f  6c 61 6e 74 65 72 6e 20  |e brass_lantern |
00020560  7e 6f 6e 20 7e 6c 69 67  68 74 3b 0a 20 20 72 65  |~on ~light;.  re|
00020570  6d 6f 76 65 20 64 77 61  72 66 3b 0a 20 20 64 65  |move dwarf;.  de|
00020580  61 64 66 6c 61 67 3d 30  3b 0a 20 20 50 6c 61 79  |adflag=0;.  Play|
00020590  65 72 54 6f 28 49 6e 73  69 64 65 5f 42 75 69 6c  |erTo(Inside_Buil|
000205a0  64 69 6e 67 29 3b 0a 5d  3b 0a 0a 21 20 2d 2d 2d  |ding);.];..! ---|
000205b0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000205f0  2d 2d 2d 2d 2d 2d 2d 2d  2d 0a 21 20 20 20 48 6f  |---------.!   Ho|
00020600  77 20 74 6f 20 63 68 65  61 74 20 69 6e 20 74 68  |w to cheat in th|
00020610  65 20 74 65 73 74 20 76  65 72 73 69 6f 6e 3a 20  |e test version: |
00020620  6e 6f 20 64 77 61 72 76  65 73 20 6f 72 20 70 69  |no dwarves or pi|
00020630  72 61 74 65 73 2c 20 61  6e 64 20 6d 61 67 69 63  |rates, and magic|
00020640  20 77 6f 72 64 73 0a 21  20 20 20 77 6f 72 6b 69  | words.!   worki|
00020650  6e 67 20 66 72 6f 6d 20  74 68 65 20 62 65 67 69  |ng from the begi|
00020660  6e 6e 69 6e 67 0a 21 20  2d 2d 2d 2d 2d 2d 2d 2d  |nning.! --------|
00020670  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000206b0  2d 2d 2d 2d 0a 0a 23 49  46 44 45 46 20 54 45 53  |----..#IFDEF TES|
000206c0  54 5f 56 45 52 53 49 4f  4e 3b 0a 5b 20 58 64 65  |T_VERSION;.[ Xde|
000206d0  74 65 72 6d 53 75 62 3b  20 53 74 6f 70 44 61 65  |termSub; StopDae|
000206e0  6d 6f 6e 28 64 77 61 72  66 29 3b 20 53 74 6f 70  |mon(dwarf); Stop|
000206f0  44 61 65 6d 6f 6e 28 70  69 72 61 74 65 29 3b 0a  |Daemon(pirate);.|
00020700  20 20 67 69 76 65 20 49  6e 5f 44 65 62 72 69 73  |  give In_Debris|
00020710  5f 52 6f 6f 6d 20 76 69  73 69 74 65 64 3b 20 67  |_Room visited; g|
00020720  69 76 65 20 41 74 5f 59  32 20 76 69 73 69 74 65  |ive At_Y2 visite|
00020730  64 3b 20 67 69 76 65 20  49 6e 5f 50 6c 6f 76 65  |d; give In_Plove|
00020740  72 5f 52 6f 6f 6d 20 76  69 73 69 74 65 64 3b 0a  |r_Room visited;.|
00020750  5d 3b 0a 23 45 4e 44 49  46 3b 0a 0a 21 20 2d 2d  |];.#ENDIF;..! --|
00020760  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000207a0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0a 21 20 20 20 47  |----------.!   G|
000207b0  72 61 6d 6d 61 72 3a 20  74 68 65 20 75 73 75 61  |rammar: the usua|
000207c0  6c 20 67 72 61 6d 6d 61  72 20 61 6e 64 20 73 6f  |l grammar and so|
000207d0  6d 65 20 65 78 74 65 6e  73 69 6f 6e 73 0a 21 20  |me extensions.! |
000207e0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00020820  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 0a 0a 23 69  |------------..#i|
00020830  6e 63 6c 75 64 65 20 22  47 72 61 6d 6d 61 72 22  |nclude "Grammar"|
00020840  3b 0a 0a 56 65 72 62 20  22 6f 6e 22 0a 20 20 20  |;..Verb "on".   |
00020850  20 20 20 20 20 20 20 20  20 20 20 20 20 2a 20 20  |             *  |
00020860  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00020870  20 20 20 20 20 20 20 20  20 20 20 20 20 20 2d 3e  |              ->|
00020880  20 4f 6e 3b 0a 56 65 72  62 20 22 6f 66 66 22 0a  | On;.Verb "off".|
00020890  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000208a0  2a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |*               |
000208b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000208c0  20 2d 3e 20 4f 66 66 3b  0a 0a 56 65 72 62 20 22  | -> Off;..Verb "|
000208d0  63 61 74 63 68 22 20 22  63 61 70 74 75 72 65 22  |catch" "capture"|
000208e0  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000208f0  20 2a 20 63 72 65 61 74  75 72 65 20 20 20 20 20  | * creature     |
00020900  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00020910  20 20 2d 3e 20 43 61 74  63 68 0a 20 20 20 20 20  |  -> Catch.     |
00020920  20 20 20 20 20 20 20 20  20 20 20 2a 20 63 72 65  |           * cre|
00020930  61 74 75 72 65 20 22 77  69 74 68 22 20 68 65 6c  |ature "with" hel|
00020940  64 20 20 20 20 20 20 20  20 20 20 20 2d 3e 20 43  |d           -> C|
00020950  61 74 63 68 3b 0a 56 65  72 62 20 22 72 65 6c 65  |atch;.Verb "rele|
00020960  61 73 65 22 20 22 66 72  65 65 22 0a 20 20 20 20  |ase" "free".    |
00020970  20 20 20 20 20 20 20 20  20 20 20 20 2a 20 63 72  |            * cr|
00020980  65 61 74 75 72 65 20 20  20 20 20 20 20 20 20 20  |eature          |
00020990  20 20 20 20 20 20 20 20  20 20 20 20 20 2d 3e 20  |             -> |
000209a0  52 65 6c 65 61 73 65 3b  0a 56 65 72 62 20 22 70  |Release;.Verb "p|
000209b0  6f 75 72 22 20 22 64 6f  75 73 65 22 0a 20 20 20  |our" "douse".   |
000209c0  20 20 20 20 20 20 20 20  20 20 20 20 20 2a 20 6e  |             * n|
000209d0  6f 75 6e 20 20 20 20 20  20 20 20 20 20 20 20 20  |oun             |
000209e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 2d 3e  |              ->|
000209f0  20 45 6d 70 74 79 3b 0a  56 65 72 62 20 22 77 61  | Empty;.Verb "wa|
00020a00  74 65 72 22 20 20 20 20  2a 20 6e 6f 75 6e 20 20  |ter"    * noun  |
00020a10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00020a20  20 20 20 20 20 20 20 20  20 2d 3e 20 57 61 74 65  |         -> Wate|
00020a30  72 3b 0a 56 65 72 62 20  22 6f 69 6c 22 20 22 67  |r;.Verb "oil" "g|
00020a40  72 65 61 73 65 22 20 22  6c 75 62 72 69 63 61 74  |rease" "lubricat|
00020a50  65 22 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |e".             |
00020a60  20 20 20 2a 20 6e 6f 75  6e 20 20 20 20 20 20 20  |   * noun       |
00020a70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00020a80  20 20 20 20 2d 3e 20 4f  69 6c 3b 0a 56 65 72 62  |    -> Oil;.Verb|
00020a90  20 22 70 6c 75 67 68 22  20 20 20 20 2a 20 20 20  | "plugh"    *   |
00020aa0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00020ab0  20 20 20 20 20 20 20 20  20 20 20 20 20 2d 3e 20  |             -> |
00020ac0  50 6c 75 67 68 3b 0a 56  65 72 62 20 22 78 79 7a  |Plugh;.Verb "xyz|
00020ad0  7a 79 22 20 20 20 20 2a  20 20 20 20 20 20 20 20  |zy"    *        |
00020ae0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00020af0  20 20 20 20 20 20 20 20  2d 3e 20 58 79 7a 7a 79  |        -> Xyzzy|
00020b00  3b 0a 56 65 72 62 20 22  70 6c 6f 76 65 72 22 20  |;.Verb "plover" |
00020b10  20 20 2a 20 20 20 20 20  20 20 20 20 20 20 20 20  |  *             |
00020b20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00020b30  20 20 20 2d 3e 20 50 6c  6f 76 65 72 3b 0a 56 65  |   -> Plover;.Ve|
00020b40  72 62 20 22 73 65 73 61  6d 65 22 20 22 73 68 61  |rb "sesame" "sha|
00020b50  7a 61 6d 22 20 22 68 6f  63 75 73 22 20 22 61 62  |zam" "hocus" "ab|
00020b60  72 61 63 61 64 61 62 72  61 22 0a 20 20 20 20 20  |racadabra".     |
00020b70  22 66 6f 6f 62 61 72 22  20 22 6f 70 65 6e 2d 73  |"foobar" "open-s|
00020b80  65 73 61 6d 65 22 20 22  66 72 6f 74 7a 22 0a 20  |esame" "frotz". |
00020b90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 2a  |               *|
00020ba0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00020bc0  2d 3e 20 4f 6c 64 4d 61  67 69 63 3b 0a 56 65 72  |-> OldMagic;.Ver|
00020bd0  62 20 22 66 65 65 22 20  20 20 20 20 20 2a 20 20  |b "fee"      *  |
00020be0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00020bf0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 2d 3e  |              ->|
00020c00  20 46 65 65 3b 0a 56 65  72 62 20 22 66 69 65 22  | Fee;.Verb "fie"|
00020c10  20 20 20 20 20 20 2a 20  20 20 20 20 20 20 20 20  |      *         |
00020c20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00020c30  20 20 20 20 20 20 20 2d  3e 20 46 69 65 3b 0a 56  |       -> Fie;.V|
00020c40  65 72 62 20 22 66 6f 65  22 20 20 20 20 20 20 2a  |erb "foe"      *|
00020c50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00020c70  2d 3e 20 46 6f 65 3b 0a  56 65 72 62 20 22 66 6f  |-> Foe;.Verb "fo|
00020c80  6f 22 20 20 20 20 20 20  2a 20 20 20 20 20 20 20  |o"      *       |
00020c90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00020ca0  20 20 20 20 20 20 20 20  20 2d 3e 20 46 6f 6f 3b  |         -> Foo;|
00020cb0  0a 0a 56 65 72 62 20 22  68 65 6c 70 22 20 20 20  |..Verb "help"   |
00020cc0  20 20 2a 20 20 20 20 20  20 20 20 20 20 20 20 20  |  *             |
00020cd0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00020ce0  20 20 20 2d 3e 20 48 65  6c 70 3b 0a 56 65 72 62  |   -> Help;.Verb|
00020cf0  20 22 6b 69 63 6b 22 20  20 20 20 20 2a 20 6e 6f  | "kick"     * no|
00020d00  75 6e 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |un              |
00020d10  20 20 20 20 20 20 20 20  20 20 20 20 20 2d 3e 20  |             -> |
00020d20  4b 69 63 6b 3b 0a 56 65  72 62 20 22 63 6f 75 6e  |Kick;.Verb "coun|
00020d30  74 22 20 20 20 20 2a 20  20 20 20 20 20 20 20 20  |t"    *         |
00020d40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00020d50  20 20 20 20 20 20 20 2d  3e 20 43 6f 75 6e 74 3b  |       -> Count;|
00020d60  0a 56 65 72 62 20 22 75  73 65 22 20 20 20 20 20  |.Verb "use"     |
00020d70  20 2a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  | *              |
00020d80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00020d90  20 20 2d 3e 20 55 73 65  3b 0a 56 65 72 62 20 22  |  -> Use;.Verb "|
00020da0  62 6c 61 73 74 22 20 20  20 20 2a 20 20 20 20 20  |blast"    *     |
00020db0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00020dc0  20 20 20 20 20 20 20 20  20 20 20 2d 3e 20 42 6c  |           -> Bl|
00020dd0  61 73 74 0a 20 20 20 20  20 20 20 20 20 20 20 20  |ast.            |
00020de0  20 20 20 20 2a 20 6e 6f  75 6e 20 22 77 69 74 68  |    * noun "with|
00020df0  22 20 68 65 6c 64 20 20  20 20 20 20 20 20 20 20  |" held          |
00020e00  20 20 20 20 20 2d 3e 20  42 6c 61 73 74 57 69 74  |     -> BlastWit|
00020e10  68 3b 0a 0a 23 49 46 44  45 46 20 54 45 53 54 5f  |h;..#IFDEF TEST_|
00020e20  56 45 52 53 49 4f 4e 3b  0a 56 65 72 62 20 22 78  |VERSION;.Verb "x|
00020e30  64 65 74 65 72 6d 22 20  20 2a 20 20 20 20 20 20  |determ"  *      |
00020e40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00020e50  20 20 20 20 20 20 20 20  20 20 2d 3e 20 58 64 65  |          -> Xde|
00020e60  74 65 72 6d 3b 0a 23 45  4e 44 49 46 3b 0a 0a 65  |term;.#ENDIF;..e|
00020e70  6e 64 3b 0a                                       |nd;.|
00020e74