Coverage -- attack bird after game closed
[open-adventure.git] / adventure.yaml
index c94399cec75731a9c9f5038e4a66403a5fc3c149..b58e811866b50b7707cedc4e5edaa8d296bda213 100644 (file)
@@ -6,17 +6,12 @@
 #
 # We define a bunch of YAML structures:
 #
-# vocabulary: - This structure is unused, and will eventually be removed. -
-#    Almost all the words the game knows - one of them (the
-#    reservoir magic word) gets replaced with a randomly-generated
-#    cookie.  For each word there is a type (motion, action, object,
-#    or special) and a numeric value.  Multiple synonyms may have the
-#    same value.
-#
-# motions: Motion words, grouped into synonyms.
-#
+# motions: Motion words, grouped into synonyms.  The 'oldstyle'
+#    attribute, if false, means that single-letter synonyms should be
+#    accepted in oldstyle mode; it defaults to true.
+
 # actions: Action words, grouped into synonyms, and their corresponding
-#    default messages.
+#    default messages. The 'oldstyle' attribute is as for motions.
 #
 # hints: Each item contains a hint number, a hint label (used to
 #    generate the value macro for the hint) the number of turns he
@@ -61,6 +56,7 @@
 #                      [with, OBJ]    Must be carrying or in room with
 #                      [not, OBJ N]   Property of named OBJ must not be N.
 #                                     N may be numeric or a state label.
+#                      [nodwarves]    Dwarves must skip this rule.
 #    All attributes are optional except the long description and
 #    travel. Order of locations is not significant.
 #
@@ -243,6 +239,7 @@ motions: !!omap
     words: ['climb']
 - LOOK:
     words: ['l', 'x', 'look', 'exami', 'touch', 'descr']
+    oldstyle: false
 - MOT_58:
     words: ['floor']
 - MOT_59:
@@ -290,6 +287,7 @@ actions: !!omap
     message: ALREADY_CARRYING
     words: ['g', 'carry', 'take', 'keep', 'catch',
             'steal', 'captu', 'get', 'tote', 'snarf']
+    oldstyle: false
 - DROP:
     message: ARENT_CARRYING
     words: ['drop', 'relea', 'free', 'disca', 'dump']
@@ -302,6 +300,7 @@ actions: !!omap
 - NOTHING:
     message: NO_MESSAGE
     words: ['z', 'nothi']
+    oldstyle: false
 - LOCK:
     message: NOT_LOCKABLE
     words: ['lock', 'close']
@@ -348,6 +347,7 @@ actions: !!omap
 - INVENTORY:
     message: NEARBY
     words: ['i', 'inven']
+    oldstyle: false
 - FEED:
     message: NO_EDIBLES
     words: ['feed']
@@ -394,74 +394,6 @@ actions: !!omap
     message: HUH_MAN
     words: !!null
 
-specials: !!omap
-- SPC_0:
-    message: !!null
-    words: !!null
-- SPC_1:
-    message: !!null
-    words: ['fee']
-- SPC_2:
-    message: !!null
-    words: ['fie']
-- SPC_3:
-    message: !!null
-    words: ['foe']
-- SPC_4:
-    message: !!null
-    words: ['foo']
-- SPC_5:
-    message: !!null
-    words: ['fum']
-- SPC_13:
-    message: YOUR_WELCOME
-    words: ['thank']
-- SPC_50:
-    message: WORN_OUT
-    words: ['sesam', 'opens', 'abra', 'abrac', 'shaza', 'hocus', 'pocus']
-- SPC_51:
-    message: VOCAB_DESCRIPTION
-    words: ['help', '?']
-- SPC_54:
-    message: OK_MAN
-    words: ['no']
-- SPC_64:
-    message: FOREST_LOOK
-    words: ['tree', 'trees']
-- SPC_66:
-    message: DIGGING_FUTILE
-    words: ['dig', 'excav']
-- SPC_68:
-    message: IM_CONFUSED
-    words: ['lost']
-- SPC_69:
-    message: EXPLAIN_MIST
-    words: ['mist']
-- SPC_79:
-    message: WATCH_IT
-    words: ['fuck']
-- SPC_139:
-    message: STOP_UNKNOWN
-    words: ['stop']
-- SPC_142:
-    message: QUICK_START
-    words: ['info', 'infor']
-- SPC_147:
-    message: NOT_KNOWHOW
-    words: ['swim']
-- SPC_246:
-    message: WIZARDS_NODISTURB
-    words: ['wizar']
-- SPC_271:
-    message: GUESS_AGAIN
-    words: ['yes']
-- SPC_275:
-    message: ADVENTURE_NEWS
-    words: ['news']
-- SPC_276:
-    message: ADVENTURE_VERSION
-    words: ['versi']
-
 hints:
   - hint: &grate
       name: CAVE
@@ -469,7 +401,7 @@ hints:
       turns: 4
       penalty: 2
       question: 'Are you trying to get into the cave?'
-      hint: |
+      hint: |-
           The grate is very solid and has a hardened steel lock.  You cannot
           enter without a key, and there are no keys nearby.  I would recommend
           looking elsewhere for the keys.
@@ -479,7 +411,7 @@ hints:
       turns: 5
       penalty: 2
       question: 'Are you trying to catch the bird?'
-      hint: |
+      hint: |-
           Something about you seems to be frightening the bird.  Perhaps you
           might figure out what it is.
   - hint: &snake
@@ -488,7 +420,7 @@ hints:
       turns: 8
       penalty: 2
       question: 'Are you trying to somehow deal with the snake?'
-      hint: |
+      hint: |-
           You can't kill the snake, or drive it away, or avoid it, or anything
           like that.  There is a way to get by, but you don't have the necessary
           resources right now.
@@ -505,7 +437,7 @@ hints:
       turns: 25
       penalty: 5
       question: 'Are you trying to explore beyond the plover room?'
-      hint: |
+      hint: |-
           There is a way to explore that region without having to worry about
           falling into a pit.  None of the objects available is immediately
           useful in discovering the secret.
@@ -529,7 +461,7 @@ hints:
       turns: 25
       penalty: 2
       question: 'Would you like to be shown out of the forest?'
-      hint: |
+      hint: |-
           Go east ten times.  If that doesn't get you out, then go south, then
           west twice, then south.
   - hint: &ogre
@@ -538,7 +470,7 @@ hints:
       turns: 10
       penalty: 4
       question: 'Do you need help dealing with the ogre?'
-      hint: |
+      hint: |-
           There is nothing the presence of which will prevent you from defeating
           him; thus it can't hurt to fetch everything you possibly can.
   - hint: &jade
@@ -547,7 +479,7 @@ hints:
       turns: 1
       penalty: 4
       question: 'You''re missing only one other treasure.  Do you need help finding it?'
-      hint: |
+      hint: |-
         Once you''ve found all the other treasures, it is no longer possible to
         locate the one you''re now missing.'
 locations: !!omap
@@ -560,7 +492,7 @@ locations: !!omap
     ]
 - LOC_START:
     description:
-      long: |
+      long: |-
           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.
@@ -577,7 +509,7 @@ locations: !!omap
     ]
 - LOC_HILL:
     description:
-      long: |
+      long: |-
           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.
       short: 'You''re at hill in road.'
@@ -603,7 +535,7 @@ locations: !!omap
     ]
 - LOC_VALLEY:
     description:
-      long: |
+      long: |-
           You are in a valley in the forest beside a stream tumbling along a
           rocky bed.
       short: 'You''re in valley.'
@@ -631,7 +563,7 @@ locations: !!omap
     ]
 - LOC_CLIFF:
     description:
-      long: |
+      long: |-
           The forest thins out here to reveal a steep cliff.  There is no way
           down, but a small ledge can be seen to the west across the chasm.
       short: 'You''re at cliff.'
@@ -644,7 +576,7 @@ locations: !!omap
     ]
 - LOC_SLIT:
     description:
-      long: |
+      long: |-
           At your feet all the water of the stream splashes into a 2-inch slit
           in the rock.  Downstream the streambed is bare rock.
       short: 'You''re at slit in streambed.'
@@ -661,7 +593,7 @@ locations: !!omap
     ]
 - LOC_GRATE:
     description:
-      long: |
+      long: |-
           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.
@@ -681,7 +613,7 @@ locations: !!omap
     ]
 - LOC_BELOWGRATE:
     description:
-      long: |
+      long: |-
           You are in a small chamber beneath a 3x3 steel grate to the surface.
           A low crawl over cobbles leads inward to the west.
       short: 'You''re below the grate.'
@@ -695,7 +627,7 @@ locations: !!omap
     ]
 - LOC_COBBLE:
     description:
-      long: |
+      long: |-
           You are crawling over cobbles in a low passage.  There is a dim light
           at the east end of the passage.
       short: 'You''re in cobble crawl.'
@@ -707,7 +639,7 @@ locations: !!omap
     ]
 - LOC_DEBRIS:
     description:
-      long: |
+      long: |-
           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.  In the mud someone
@@ -737,7 +669,7 @@ locations: !!omap
     ]
 - LOC_BIRD:
     description:
-      long: |
+      long: |-
           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.
@@ -753,7 +685,7 @@ locations: !!omap
     ]
 - LOC_PITTOP:
     description:
-      long: |
+      long: |-
           At your feet is a small pit breathing traces of white mist.  An east
           passage ends here except for a small crack leading on.
       short: 'You''re at top of small pit.'
@@ -769,7 +701,7 @@ locations: !!omap
     ]
 - LOC_MISTHALL:
     description:
-      long: |
+      long: |-
           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
@@ -790,7 +722,7 @@ locations: !!omap
     ]
 - LOC_CRACK:
     description:
-      long: |
+      long: |-
           The crack is far too small for you to follow.  At its widest it is
           barely wide enough to admit your foot.'
       short: !!null
@@ -800,7 +732,7 @@ locations: !!omap
     ]
 - LOC_EASTBANK:
     description:
-      long: |
+      long: |-
           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.
       short: 'You''re on east bank of fissure.'
@@ -818,7 +750,7 @@ locations: !!omap
     ]
 - LOC_NUGGET:
     description:
-      long: |
+      long: |-
           This is a low room with a crude note on the wall.  The note says,
           "You won't get it up the steps".
       short: 'You''re in nugget-of-gold room.'
@@ -828,7 +760,7 @@ locations: !!omap
     ]
 - LOC_KINGHALL:
     description:
-      long: |
+      long: |-
           You are in the Hall of the Mountain King, with passages off in all
           directions.
       short: 'You''re in Hall of Mt King.'
@@ -873,7 +805,7 @@ locations: !!omap
     ]
 - LOC_WESTEND:
     description:
-      long: |
+      long: |-
           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.
       short: 'You''re at west end of Twopit Room.'
@@ -886,7 +818,7 @@ locations: !!omap
     ]
 - LOC_EASTPIT:
     description:
-      long: |
+      long: |-
           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.
       short: 'You''re in east pit.'
@@ -896,7 +828,7 @@ locations: !!omap
     ]
 - LOC_WESTPIT:
     description:
-      long: |
+      long: |-
           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.
       short: 'You''re in west pit.'
@@ -933,7 +865,7 @@ locations: !!omap
     ]
 - LOC_FLOORHOLE:
     description:
-      long: |
+      long: |-
           You are in a low n/s passage at a hole in the floor.  The hole goes
           down to an e/w passage.
       short: 'You''re in n/s passage above e/w passage.'
@@ -953,7 +885,7 @@ locations: !!omap
     ]
 - LOC_WESTSIDE:
     description:
-      long: |
+      long: |-
           You are in the west side chamber of the Hall of the Mountain King.
           A passage continues west and up here.
       short: 'You''re in the west side chamber.'
@@ -981,7 +913,7 @@ locations: !!omap
     ]
 - LOC_Y2:
     description:
-      long: |
+      long: |-
           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.
@@ -1006,7 +938,7 @@ locations: !!omap
     ]
 - LOC_WINDOW1:
     description:
-      long: |
+      long: |-
           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.
@@ -1022,7 +954,7 @@ locations: !!omap
     ]
 - LOC_BROKEN:
     description:
-      long: |
+      long: |-
           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.
       short: 'You''re in dirty passage.'
@@ -1035,7 +967,7 @@ locations: !!omap
     ]
 - LOC_SMALLPITBRINK:
     description:
-      long: |
+      long: |-
           You are on the brink of a small clean climbable pit.  A crawl leads
           west.
       short: 'You''re at brink of small pit.'
@@ -1046,7 +978,7 @@ locations: !!omap
     ]
 - LOC_SMALLPIT:
     description:
-      long: |
+      long: |-
          You are in the bottom of a small pit with a little stream, which
          enters and exits through tiny slits.
       short: 'You''re at bottom of pit with stream.'
@@ -1058,7 +990,7 @@ locations: !!omap
     ]
 - LOC_DUSTY:
     description:
-      long: |
+      long: |-
           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.
       short: 'You''re in dusty rock room.'
@@ -1070,7 +1002,7 @@ locations: !!omap
     ]
 - LOC_PARALLEL1:
     description:
-      long: |
+      long: |-
           You have crawled through a very low wide passage parallel to and north
           of the Hall of Mists.
       short: !!null
@@ -1080,7 +1012,7 @@ locations: !!omap
     ]
 - LOC_MISTWEST:
     description:
-      long: |
+      long: |-
           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.
@@ -1259,7 +1191,7 @@ locations: !!omap
     ]
 - LOC_PITBRINK:
     description:
-      long: |
+      long: |-
           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.
@@ -1282,7 +1214,7 @@ locations: !!omap
     ]
 - LOC_PARALLEL2:
     description:
-      long: |
+      long: |-
           You have crawled through a very low wide passage parallel to and north
           of the Hall of Mists.
       short: !!null
@@ -1292,7 +1224,7 @@ locations: !!omap
     ]
 - LOC_LONGEAST:
     description:
-      long: |
+      long: |-
           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.
@@ -1305,7 +1237,7 @@ locations: !!omap
     ]
 - LOC_LONGWEST:
     description:
-      long: |
+      long: |-
           You are at the west end of a very long featureless hall.  The hall
           joins up with a narrow north/south passage.
       short: 'You''re at west end of long hall.'
@@ -1313,7 +1245,7 @@ locations: !!omap
     travel: [
       {verbs: ['EAST'], action: [goto, LOC_LONGEAST]},
       {verbs: ['NORTH'], action: [goto, LOC_CROSSOVER]},
-      {verbs: ['SOUTH'], cond: [carry, OBJ_0], action: [goto, LOC_DIFFERENT1]},
+      {verbs: ['SOUTH'], cond: ["nodwarves"], action: [goto, LOC_DIFFERENT1]},
     ]
 - LOC_CROSSOVER:
     description:
@@ -1336,7 +1268,7 @@ locations: !!omap
     ]
 - LOC_COMPLEX:
     description:
-      long: |
+      long: |-
           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.
@@ -1352,7 +1284,7 @@ locations: !!omap
     ]
 - LOC_BEDQUILT:
     description:
-      long: |
+      long: |-
           You are in Bedquilt, a long east/west passage with holes everywhere.
           To explore at random select north, south, up, or down.
       short: 'You''re in Bedquilt.'
@@ -1373,7 +1305,7 @@ locations: !!omap
     ]
 - LOC_SWISSCHEESE:
     description:
-      long: |
+      long: |-
           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.
@@ -1390,7 +1322,7 @@ locations: !!omap
     ]
 - LOC_EASTEND:
     description:
-      long: |
+      long: |-
           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
@@ -1405,7 +1337,7 @@ locations: !!omap
     ]
 - LOC_SLAB:
     description:
-      long: |
+      long: |-
           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
@@ -1425,7 +1357,7 @@ locations: !!omap
     conditions: {DEEP: true}
     travel: [
       {verbs: ['D', 'SLAB'], action: [goto, LOC_SLAB]},
-      {verbs: ['SOUTH'], cond: [not, DRAGON, DRAGON_BLOCKS],
+      {verbs: ['SOUTH'], cond: [not, DRAGON, DRAGON_BARS],
                          action: [goto, LOC_SECRET5]},
       {verbs: ['SOUTH'], action: [goto, LOC_SECRET4]},
       {verbs: ['NORTH'], action: [goto, LOC_MIRRORCANYON]},
@@ -1443,7 +1375,7 @@ locations: !!omap
     ]
 - LOC_THREEJUNCTION:
     description:
-      long: |
+      long: |-
           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.
@@ -1475,7 +1407,7 @@ locations: !!omap
     ]
 - LOC_SECRET3:
     description:
-      long: |
+      long: |-
           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.
@@ -1483,7 +1415,7 @@ locations: !!omap
     conditions: {DEEP: true}
     travel: [
       {verbs: ['EAST'], action: [goto, LOC_KINGHALL]},
-      {verbs: ['WEST'], cond: [not, DRAGON, DRAGON_BLOCKS], action: [goto, LOC_SECRET5]},
+      {verbs: ['WEST'], cond: [not, DRAGON, DRAGON_BARS], action: [goto, LOC_SECRET5]},
       {verbs: ['WEST'], action: [goto, LOC_SECRET6]},
       {verbs: ['D'], action: [goto, LOC_WIDEPLACE]},
     ]
@@ -1506,7 +1438,7 @@ locations: !!omap
     ]
 - LOC_TALL:
     description:
-      long: |
+      long: |-
           You are in a tall e/w canyon.  A low tight crawl goes 3 feet north and
           seems to open up.
       short: !!null
@@ -1526,7 +1458,7 @@ locations: !!omap
     ]
 - LOC_SEWER:
     description:
-      long: |
+      long: |-
           The stream flows out through a pair of 1 foot diameter sewer pipes.
           It would be advisable to use the exit.
       short: !!null
@@ -1612,7 +1544,7 @@ locations: !!omap
     ]
 - LOC_NARROW:
     description:
-      long: |
+      long: |-
           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.
@@ -1641,7 +1573,7 @@ locations: !!omap
     ]
 - LOC_INCLINE:
     description:
-      long: |
+      long: |-
           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.
@@ -1653,7 +1585,7 @@ locations: !!omap
     ]
 - LOC_GIANTROOM:
     description:
-      long: |
+      long: |-
           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].
@@ -1686,7 +1618,7 @@ locations: !!omap
     ]
 - LOC_WATERFALL:
     description:
-      long: |
+      long: |-
           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.
@@ -1700,7 +1632,7 @@ locations: !!omap
     ]
 - LOC_SOFTROOM:
     description:
-      long: |
+      long: |-
           You are in the Soft Room.  The walls are covered with heavy curtains,
           the floor with a thick pile carpet.  Moss covers the ceiling.
       short: 'You''re in Soft Room.'
@@ -1710,7 +1642,7 @@ locations: !!omap
     ]
 - LOC_ORIENTAL:
     description:
-      long: |
+      long: |-
           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.
@@ -1723,7 +1655,7 @@ locations: !!omap
     ]
 - LOC_MISTY:
     description:
-      long: |
+      long: |-
           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
@@ -1737,7 +1669,7 @@ locations: !!omap
     ]
 - LOC_ALCOVE:
     description:
-      long: |
+      long: |-
           You are in an alcove.  A small nw 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.
@@ -1751,7 +1683,7 @@ locations: !!omap
     ]
 - LOC_PLOVER:
     description:
-      long: |
+      long: |-
           You're in a small chamber lit by an eerie green light.  An extremely
           narrow tunnel exits to the west.  A dark corridor leads ne.
       short: 'You''re in Plover Room.'
@@ -1775,7 +1707,7 @@ locations: !!omap
     ]
 - LOC_ARCHED:
     description:
-      long: |
+      long: |-
           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.
       short: 'You''re in arched hall.'
@@ -1785,7 +1717,7 @@ locations: !!omap
     ]
 - LOC_SHELLROOM:
     description:
-      long: |
+      long: |-
           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
@@ -1821,7 +1753,7 @@ locations: !!omap
     ]
 - LOC_ANTEROOM:
     description:
-      long: |
+      long: |-
           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.
           A sign in midair here says "Cave under construction beyond this point.
@@ -1863,7 +1795,7 @@ locations: !!omap
     ]
 - LOC_MIRRORCANYON:
     description:
-      long: |
+      long: |-
           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
@@ -1881,7 +1813,7 @@ locations: !!omap
     ]
 - LOC_WINDOW2:
     description:
-      long: |
+      long: |-
           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.
@@ -1897,7 +1829,7 @@ locations: !!omap
     ]
 - LOC_TOPSTALACTITE:
     description:
-      long: |
+      long: |-
           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.
@@ -1929,7 +1861,7 @@ locations: !!omap
     ]
 - LOC_RESERVOIR:
     description:
-      long: |
+      long: |-
           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
@@ -1953,7 +1885,7 @@ locations: !!omap
     ]
 - LOC_NE:
     description:
-      long: |
+      long: |-
           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
@@ -1973,7 +1905,7 @@ locations: !!omap
     ]
 - LOC_SW:
     description:
-      long: |
+      long: |-
           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
@@ -1991,7 +1923,7 @@ locations: !!omap
     ]
 - LOC_SWCHASM:
     description:
-      long: |
+      long: |-
           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 sw path leads away
           from the chasm into a winding corridor.
@@ -2010,7 +1942,7 @@ locations: !!omap
     ]
 - LOC_WINDING:
     description:
-      long: |
+      long: |-
           You are in a long winding corridor sloping out of sight in both
           directions.
       short: 'You''re in sloping corridor.'
@@ -2048,7 +1980,7 @@ locations: !!omap
     ]
 - LOC_NECHASM:
     description:
-      long: |
+      long: |-
            You are on the far side of the chasm.  A ne path leads away from the
            chasm on this side.
       short: 'You''re on ne side of chasm.'
@@ -2064,7 +1996,7 @@ locations: !!omap
     ]
 - LOC_CORRIDOR:
     description:
-      long: |
+      long: |-
           You're in a long east/west corridor.  A faint rumbling noise can be
           heard in the distance.
       short: 'You''re in corridor.'
@@ -2078,7 +2010,7 @@ locations: !!omap
     ]
 - LOC_FORK:
     description:
-      long: |
+      long: |-
           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.
@@ -2094,7 +2026,7 @@ locations: !!omap
     ]
 - LOC_WARMWALLS:
     description:
-      long: |
+      long: |-
           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.
@@ -2108,7 +2040,7 @@ locations: !!omap
     ]
 - LOC_BREATHTAKING:
     description:
-      long: |
+      long: |-
           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
@@ -2141,7 +2073,7 @@ locations: !!omap
     ]
 - LOC_BOULDERS2:
     description:
-      long: |
+      long: |-
           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
@@ -2168,7 +2100,7 @@ locations: !!omap
     ]
 - LOC_BARRENFRONT:
     description:
-      long: |
+      long: |-
           You are standing at the entrance to a large, barren room.  A notice
           above the entrance reads:  "Caution!  Bear in room!"
       short: 'You''re in front of Barren Room.'
@@ -2182,7 +2114,7 @@ locations: !!omap
     ]
 - LOC_BARRENROOM:
     description:
-      long: |
+      long: |-
           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.
@@ -2652,7 +2584,7 @@ locations: !!omap
     ]
 - LOC_LEDGE:
     description:
-      long: |
+      long: |-
           You are on a small ledge on one face of a sheer cliff.  There are no
           paths away from the ledge.  Across the chasm is a small clearing
           surrounded by forest.
@@ -2663,7 +2595,7 @@ locations: !!omap
     ]
 - LOC_RESBOTTOM:
     description:
-      long: |
+      long: |-
           You are walking across the bottom of the reservoir.  Walls of water
           rear up on either side.  The roar of the water cascading past is
           nearly deafening, and the mist is so thick you can barely see.
@@ -2677,7 +2609,7 @@ locations: !!omap
     ]
 - LOC_RESNORTH:
     description:
-      long: |
+      long: |-
           You are at the northern edge of the reservoir.  A northwest passage
           leads sharply up from here.
       short: 'You''re north of reservoir.'
@@ -2708,7 +2640,7 @@ locations: !!omap
     ]
 - LOC_CLIFFBASE:
     description:
-      long: |
+      long: |-
           You are at the base of a nearly vertical cliff.  There are some
           slim footholds which would enable you to climb up, but it looks
           extremely dangerous.  Here at the base of the cliff lie the remains
@@ -2731,7 +2663,7 @@ locations: !!omap
     ]
 - LOC_FOOTSLIP:
     description:
-      long: |
+      long: |-
           Just as you reach the top, your foot slips on a loose rock and you
           tumble several hundred feet to join the other unlucky adventurers.
       short: !!null
@@ -2741,7 +2673,7 @@ locations: !!omap
     ]
 - LOC_CLIFFTOP:
     description:
-      long: |
+      long: |-
           Just as you reach the top, your foot slips on a loose rock and you
           make one last desperate grab.  Your luck holds, as does your grip.
           With an enormous heave, you lift yourself to the ledge above.
@@ -2752,7 +2684,7 @@ locations: !!omap
     ]
 - LOC_CLIFFLEDGE:
     description:
-      long: |
+      long: |-
           You are on a small ledge at the top of a nearly vertical cliff.
           There is a low crawl leading off to the northeast.
       short: 'You''re at top of cliff.'
@@ -2828,7 +2760,7 @@ locations: !!omap
 
 arbitrary_messages:  !!omap
 - NO_MESSAGE: !!null
-- CAVE_NEARBY: |
+- CAVE_NEARBY: |-
       Somewhere nearby is Colossal Cave, where others have found fortunes in
       treasure and gold, though it is rumored that some who enter are never
       seen again.  Magic is said to work in the cave.  I will be your eyes
@@ -2841,7 +2773,7 @@ arbitrary_messages:  !!omap
       This program was originally developed by Willie Crowther.  Most of the
       features of the current program were added by Don Woods.
 - DWARF_BLOCK: 'A little dwarf with a big knife blocks your way.'
-- DWARF_RAN: |
+- DWARF_RAN: |-
       A little dwarf just walked around a corner, saw you, threw a little
       axe at you which missed, cursed, and ran away.
 - DWARF_PACK: 'There are %d threatening little dwarves in the room with you.'
@@ -2851,11 +2783,12 @@ arbitrary_messages:  !!omap
 - GETS_YOU: 'It gets you!'
 - MISSES_YOU: 'It misses!'
 - UNSURE_FACING: 'I am unsure how you are facing.  Use compass points or nearby objects.'
-- NO_INOUT_HERE: 'I don''t know in from out here.  Use compass points or name something\nin the general direction you want to go.'
+- NO_INOUT_HERE: |-
+    I don't know in from out here.  Use compass points or name something
+    in the general direction you want to go.
 - CANT_APPLY: 'I don''t know how to apply that word here.'
-- YOUR_WELCOME: 'You''re quite welcome.'
 - AM_GAME: 'I''m game.  Would you care to explain how?'
-- NO_MORE_DETAIL: |
+- NO_MORE_DETAIL: |-
       Sorry, but I am not allowed to give more detail.  I will repeat the
       long description of your location.
 - PITCH_DARK: 'It is now pitch dark.  If you proceed you will likely fall into a pit.'
@@ -2864,18 +2797,23 @@ arbitrary_messages:  !!omap
 - PIT_FALL: 'You fell into a pit and broke every bone in your body!'
 - ALREADY_CARRYING: 'You are already carrying it!'
 - YOU_JOKING: 'You can''t be serious!'
-- BIRD_EVADES: 'The bird seemed unafraid at first, but as you approach it becomes\ndisturbed and you cannot catch it.'
+- BIRD_EVADES: |-
+    The bird seemed unafraid at first, but as you approach it becomes
+    disturbed and you cannot catch it.
 - CANNOT_CARRY: 'You can catch the bird, but you cannot carry it.'
 - NOTHING_LOCKED: 'There is nothing here with a lock!'
 - ARENT_CARRYING: 'You aren''t carrying it!'
-- BIRD_ATTACKS: 'The little bird attacks the green snake, and in an astounding flurry\ndrives the snake away.'
+- BIRD_ATTACKS: |-
+    The little bird attacks the green snake, and in an astounding flurry
+    drives the snake away.
 - NO_KEYS: 'You have no keys!'
 - NO_LOCK: 'It has no lock.'
 - NOT_LOCKABLE: 'I don''t know how to lock or unlock such a thing.'
 - ALREADY_LOCKED: 'It was already locked.'
 - ALREADY_UNLOCKED: 'It was already unlocked.'
-- URN_EMPTY: 'The urn is empty and will not light.'
-- BEAR_BLOCKS: 'There is no way to get past the bear to unlock the chain, which is\nprobably just as well.'
+- BEAR_BLOCKS: |-
+    There is no way to get past the bear to unlock the chain, which is
+    probably just as well.
 - NOTHING_HAPPENS: 'Nothing happens.'
 - WHERE_QUERY: 'Where?'
 - NO_TARGET: 'There is nothing here to attack.'
@@ -2884,80 +2822,37 @@ arbitrary_messages:  !!omap
 - KILLED_DWARF: 'You killed a little dwarf.'
 - DWARF_DODGES: 'You attack a little dwarf, but he dodges out of the way.'
 - BARE_HANDS_QUERY: 'With what?  Your bare hands?'
-- WORN_OUT: 'Good try, but that is an old worn-out magic word.'
-- VOCAB_DESCRIPTION: |
-      I know of places, actions, and things.  Most of my vocabulary
-      describes places and is used to move you there.  To move, try words
-      like forest, building, downstream, enter, east, west, north, south,
-      up, or down.  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 both the
-      object and action words (in either order), 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.  Some objects have unexpected
-      effects; the effects are not always desirable!  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.  One point often confusing to beginners is that, when
-      there are several ways to go in a certain direction (e.g., if there
-      are several holes in a wall), choosing that direction in effect
-      chooses one of the ways at random; often, though, by specifying the
-      place you want to reach you can guarantee choosing the right path.
-      Also, to speed the game you can sometimes move long distances with a
-      single word.  For example, "building" usually gets you to the building
-      from anywhere above ground except when lost in the forest.  Also, note
-      that cave passages and forest paths turn a lot, so leaving one place
-      heading north doesn't guarantee entering the next from the south.
-      However (another important point), except when you've used a "long
-      distance" word such as "building", there is always a way to go back
-      where you just came from unless I warn you to the contrary, even
-      though the direction that takes you back might not be the reverse of
-      what got you here.  Good luck, and have fun!
 - BAD_DIRECTION: 'There is no way to go that direction.'
 - TWO_WORDS: 'Please stick to 1- and 2-word commands.'
-- OK_MAN: 'OK'
+- OK_MAN: &ok_man 'OK'
 - CANNOT_UNLOCK: 'You can''t unlock the keys.'
-- FUTILE_CRAWL: |
+- FUTILE_CRAWL: |-
     You have crawled around in some little holes and wound up back in the
     main passage.
-- FOLLOW_STREAM: |
+- FOLLOW_STREAM: |-
       I don't know where the cave is, but hereabouts no stream can run on
       the surface for long.  I would try the stream.
 - NEED_DETAIL: 'I need more detailed instructions to do that.'
-- NEARBY: |
+- NEARBY: |-
       I can only tell you what you see as you move about and manipulate
       things.  I cannot tell you where remote things are.
 - OGRE_SNARL: 'The ogre snarls and shoves you back.'
 - HUH_MAN: 'Huh?'
-- FOREST_LOOK: |
-      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 under-
-      growth, 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.
 - WELCOME_YOU: 'Welcome to Adventure!!  Would you like instructions?'
-- DIGGING_FUTILE: |
-      Digging without a shovel is quite impractical.  Even with a shovel
-      progress is unlikely.
 - REQUIRES_DYNAMITE: 'Blasting requires dynamite.'
-- IM_CONFUSED: 'I''m as confused as you are.'
-- EXPLAIN_MIST: |
-      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.'
 - FEET_WET: 'Your feet are now wet.'
 - LOST_APPETITE: 'I think I just lost my appetite.'
 - THANKS_DELICIOUS: 'Thank you, it was delicious!'
-- STREAM_WATER: 'You have taken a drink from the stream.  The water tastes strongly of\nminerals, but is not unpleasant.  It is extremely cold.'
+- STREAM_WATER: |-
+    You have taken a drink from the stream.  The water tastes strongly of
+    minerals, but is not unpleasant.  It is extremely cold.
 - BOTTLE_EMPTY: 'The bottle of water is now empty.'
-- RUB_NOGO: 'Rubbing the electric lamp is not particularly rewarding.  Anyway,\nnothing exciting happens.'
+- RUB_NOGO: |-
+    Rubbing the electric lamp is not particularly rewarding.  Anyway,
+    nothing exciting happens.
 - PECULIAR_NOTHING: 'Peculiar.  Nothing unexpected happens.'
 - GROUND_WET: 'Your bottle is empty and the ground is wet.'
 - CANT_POUR: 'You can''t pour that.'
-- WATCH_IT: 'Watch it!'
 - WHICH_WAY: 'Which way?'
 - FORGOT_PATH: 'Sorry, but I no longer seem to remember how it was you got here.'
 - CARRY_LIMIT: 'You can''t carry anything more.  You''ll have to drop something first.'
@@ -2968,7 +2863,9 @@ arbitrary_messages:  !!omap
 - NO_CROSS: 'There is no way across the fissure.'
 - NO_CARRY: 'You''re not carrying anything.'
 - NOW_HOLDING: 'You are currently holding the following:'
-- BIRD_PINING: 'It''s not hungry (it''s merely pinin'' for the fjords).  Besides, you\nhave no bird seed.'
+- BIRD_PINING: |-
+    It's not hungry (it's merely pinin' for the fjords).  Besides, you
+    have no bird seed.
 - BIRD_DEVOURED: 'The snake has now devoured your bird.'
 - NOTHING_EDIBLE: 'There''s nothing here it wants to eat (except perhaps you).'
 - REALLY_MAD: 'You fool, dwarves eat only coal!  Now you''ve made him *REALLY* mad!!'
@@ -2981,86 +2878,109 @@ arbitrary_messages:  !!omap
 - RIDICULOUS_ATTEMPT: 'Don''t be ridiculous!'
 - RUSTY_DOOR: 'The door is extremely rusty and refuses to open.'
 - SHAKING_LEAVES: 'The plant indignantly shakes the oil off its leaves and asks, "Water?"'
-- RUSTED_HINGES: 'The hinges are quite thoroughly rusted now and won''t budge.'
-- OILED_NINGES: 'The oil has freed up the hinges so that the door will now move,\nalthough it requires some effort.'
 - DEEP_ROOTS: 'The plant has exceptionally deep roots and cannot be pulled free.'
 - KNIVES_VANISH: 'The dwarves'' knives vanish as they strike the walls of the cave.'
-- MUST_DROP: 'Something you''re carrying won''t fit through the tunnel with you.\nYou''d best take inventory and drop something.'
+- MUST_DROP: |-
+    Something you're carrying won't fit through the tunnel with you.
+    You'd best take inventory and drop something.
 - CLAM_BLOCKER: 'You can''t fit this five-foot clam through that little passage!'
 - OYSTER_BLOCKER: 'You can''t fit this five-foot oyster through that little passage!'
 - DROP_CLAM: 'I advise you to put down the clam before opening it.  >STRAIN!<'
 - DROP_OYSTER: 'I advise you to put down the oyster before opening it.  >WRENCH!<'
 - CLAM_OPENER: 'You don''t have anything strong enough to open the clam.'
 - OYSTER_OPENER: 'You don''t have anything strong enough to open the oyster.'
-- PEARL_FALLS: 'A glistening pearl falls out of the clam and rolls away.  Goodness,\nthis must really be an oyster.  (I never was very good at identifying\nbivalves.)  Whatever it is, it has now snapped shut again.'
-- OYSTER_OPENS: 'The oyster creaks open, revealing nothing but oyster inside.  It\npromptly snaps shut again.'
-- WAY_BLOCKED: 'You have crawled around in some little holes and found your way\nblocked by a recent cave-in.  You are now back in the main passage.'
+- PEARL_FALLS: |-
+    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.
+- OYSTER_OPENS: |-
+    The oyster creaks open, revealing nothing but oyster inside.  It
+    promptly snaps shut again.
+- WAY_BLOCKED: |-
+    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.
 - PIRATE_RUSTLES: 'There are faint rustling noises from the darkness behind you.'
-- PIRATE_POUNCES: 'Out from the shadows behind you pounces a bearded pirate!  "Har, har,"\nhe chortles, "I''ll just take all this booty and hide it away with me\nchest deep in the maze!"  He snatches your treasure and vanishes into\nthe gloom.'
-- CAVE_CLOSING: 'A sepulchral voice reverberating through the cave, says, "Cave closing\nsoon.  All adventurers exit immediately through main office."'
-- EXIT_CLOSED: 'A mysterious recorded voice groans into life and announces:\n   "This exit is closed.  Please leave via main office."'
-- DEATH_CLOSING: 'It looks as though you''re dead.  Well, seeing as how it''s so close to\nclosing time anyway, I think we''ll just call it a day.'
-- CAVE_CLOSED: 'The sepulchral voice intones, "The cave is now closed."  As the echoes\nfade, there is a blinding flash of light (and a small puff of orange\nsmoke). . . .    As your eyes refocus, you look around and find...'
-- VICTORY_MESSAGE: 'There is a loud explosion, and a twenty-foot hole appears in the far\nwall, burying the dwarves in the rubble.  You march through the hole\nand find yourself in the main office, where a cheering band of\nfriendly elves carry the conquering adventurer off into the sunset.'
-- DEFEAT_MESSAGE: 'There is a loud explosion, and a twenty-foot hole appears in the far\nwall, burying the snakes in the rubble.  A river of molten lava pours\nin through the hole, destroying everything in its path, including you!'
-- SPLATTER_MESSAGE: 'There is a loud explosion, and you are suddenly splashed across the\nwalls of the room.'
-- DWARVES_AWAKEN: 'The resulting ruckus has awakened the dwarves.  There are now several\nthreatening little dwarves in the room with you!  Most of them throw\nknives at you!  All of them get you!'
+- PIRATE_POUNCES: |-
+    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.
+- CAVE_CLOSING: |-
+    A sepulchral voice reverberating through the cave, says, "Cave closing
+    soon.  All adventurers exit immediately through main office."
+- EXIT_CLOSED: |-
+    A mysterious recorded voice groans into life and announces:
+       "This exit is closed.  Please leave via main office."
+- DEATH_CLOSING: |-
+    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.
+- CAVE_CLOSED: |-
+    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 and find...
+- VICTORY_MESSAGE: |-
+    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.
+- DEFEAT_MESSAGE: |-
+    There is a loud explosion, and a twenty-foot hole 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!
+- SPLATTER_MESSAGE: |-
+    There is a loud explosion, and you are suddenly splashed across the
+    walls of the room.
+- DWARVES_AWAKEN: |-
+    The resulting ruckus has awakened the dwarves.  There are now several
+    threatening little dwarves in the room with you!  Most of them throw
+    knives at you!  All of them get you!
 - UNHAPPY_BIRD: 'Oh, leave the poor unhappy bird alone.'
 - NEEDED_NEARBY: 'I daresay whatever you want is around here somewhere.'
-- STOP_UNKNOWN: 'I don''t know the word "stop".  Use "quit" if you want to give up.'
 - NOT_CONNECTED: 'You can''t get there from here.'
 - TAME_BEAR: 'You are being followed by a very large, tame bear.'
-- QUICK_START: |
-      For a summary of the most recent changes to the game, say "news".
-      If you want to end your adventure early, say "quit".  To suspend your
-      adventure such that you can continue later, say "suspend" (or "pause"
-      or "save").  To see how well you're doing, say "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.  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 (incidentally, there *ARE* ways to hasten things along),
-      it means you're getting a bonus and have an opportunity to garner many
-      more points in the Master's section.  I may occasionally offer hints
-      if you seem to be having trouble.  If I do, I'll warn you in advance
-      how much it will affect your score to accept the hints.  Finally, to
-      save time, you may specify "brief", which tells me never to repeat the
-      full description of a place unless you explicitly ask me to.
 - WITHOUT_SUSPENDS: 'Now let''s see you do it without suspending in mid-Adventure.'
 - FILL_INVALID: 'There is nothing here with which to fill it.'
 - SHATTER_VASE: 'The sudden change in temperature has delicately shattered the vase.'
 - BEYOND_POWER: 'It is beyond your power to do that.'
-- NOT_KNOWHOW: 'I don''t know how.'
+- NOT_KNOWHOW: &not_knowhow 'I don''t know how.'
 - TOO_FAR: 'It is too far up for you to reach.'
-- DWARF_SMOKE: |
+- DWARF_SMOKE: |-
       You killed a little dwarf.  The body vanishes in a cloud of greasy
       black smoke.
 - SHELL_IMPERVIOUS: 'The shell is very strong and is impervious to attack.'
 - START_OVER: 'What''s the matter, can''t you read?  Now you''d best start over.'
 - DRAGON_SCALES: 'The axe bounces harmlessly off the dragon''s thick scales.'
 - NASTY_DRAGON: 'The dragon looks rather nasty.  You''d best not try to get by.'
-- BIRD_BURNT: 'The little bird attacks the green dragon, and in an astounding flurry\ngets burnt to a cinder.  The ashes blow away.'
+- BIRD_BURNT: |-
+    The little bird attacks the green dragon, and in an astounding flurry
+    gets burnt to a cinder.  The ashes blow away.
 - ON_WHAT: 'On what?'
-- BRIEF_CONFIRM: 'Okay, from now on I''ll only describe a place in full the first time\nyou come to it.  To get the full description, say "look".'
-- ROCKY_TROLL: 'Trolls are close relatives with the rocks and have skin as tough as\nthat of a rhinoceros.  The troll fends off your blows effortlessly.'
-- TROLL_RETURNS: 'The troll deftly catches the axe, examines it carefully, and tosses it\nback, declaring, "Good workmanship, but it''s not valuable enough."'
+- BRIEF_CONFIRM: |-
+    Okay, from now on I'll only describe a place in full the first time
+    you come to it.  To get the full description, say "look".
+- ROCKY_TROLL: |-
+    Trolls are close relatives with the rocks and have skin as tough as
+    that of a rhinoceros.  The troll fends off your blows effortlessly.
+- TROLL_RETURNS: |-
+    The troll deftly catches the axe, examines it carefully, and tosses it
+    back, declaring, "Good workmanship, but it's not valuable enough."
 - TROLL_SATISFIED: 'The troll catches your treasure and scurries away out of sight.'
 - TROLL_BLOCKS: 'The troll refuses to let you cross.'
 - BRIDGE_GONE: 'There is no longer any way across the chasm.'
-- BRIDGE_COLLAPSE: 'Just as you reach the other side, the bridge buckles beneath the\nweight of the bear, which was still following you around.  You\nscrabble desperately for support, but as the bridge collapses you\nstumble back and fall into the chasm.'
-- TROLL_SCAMPERS: 'The bear lumbers toward the troll, who lets out a startled shriek and\nscurries away.  The bear soon gives up the pursuit and wanders back.'
-- AXE_LOST: 'The axe misses and lands near the bear where you can''t get at it.'
+- BRIDGE_COLLAPSE: |-
+    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.
+- TROLL_SCAMPERS: |-
+    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.
 - BEAR_HANDS: 'With what?  Your bare hands?  Against *HIS* bear hands??'
-# The following three messages must be contiguous
 - BEAR_CONFUSED: 'The bear is confused; he only wants to be your friend.'
 - ALREADY_DEAD: 'For crying out loud, the poor thing is already dead!'
-- BEAR_TAMED: 'The bear eagerly wolfs down your food, after which he seems to calm\ndown considerably and even becomes rather friendly.'
+- BEAR_TAMED: |-
+    The bear eagerly wolfs down your food, after which he seems to calm
+    down considerably and even becomes rather friendly.
 - BEAR_CHAINED: 'The bear is still chained to the wall.'
 - STILL_LOCKED: 'The chain is still locked.'
 - CHAIN_UNLOCKED: 'The chain is now unlocked.'
@@ -3069,68 +2989,118 @@ arbitrary_messages:  !!omap
 - NO_EDIBLES: 'There is nothing here to eat.'
 - WANT_HINT: 'Do you want the hint?'
 - TROLL_VICES: 'Gluttony is not one of the troll''s vices.  Avarice, however, is.'
-- LAMP_DIM: 'Your lamp is getting dim.  You''d best start wrapping this up, unless\nyou can find some fresh batteries.  I seem to recall there''s a vending\nmachine in the maze.  Bring some coins with you.'
+- LAMP_DIM: |-
+    Your lamp is getting dim.  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.
 - LAMP_OUT: 'Your lamp has run out of power.'
 - PLEASE_ANSWER: 'Please answer the question.'
-- PIRATE_SPOTTED: 'There are faint rustling noises from the darkness behind you.  As you\nturn toward them, the beam of your lamp falls across a bearded pirate.\nHe is carrying a large chest.  "Shiver me timbers!" he cries, "I''ve\nbeen spotted!  I''d best hie meself off to the maze to hide me chest!"\nWith that, he vanishes into the gloom.'
+- PIRATE_SPOTTED: |-
+    There are faint rustling noises from the darkness behind you.  As you
+    turn toward them, the beam of your lamp falls across 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.
 - GET_BATTERIES: 'Your lamp is getting dim.  You''d best go back for those batteries.'
-- REPLACE_BATTERIES: 'Your lamp is getting dim.  I''m taking the liberty of replacing the\nbatteries.'
-- MISSING_BATTERIES: 'Your lamp is getting dim, and you''re out of spare batteries.  You''d\nbest start wrapping this up.'
-- REMOVE_MESSAGE: 'You sift your fingers through the dust, but succeed only in\nobliterating the cryptic message.'
-- CLUE_QUERY: 'Hmmm, this looks like a clue, which means it''ll cost you 10 points to\nread it.  Should I go ahead and read it anyway?'
-- WAYOUT_CLUE: 'It says, "There is a way out of this place.  Do you need any more\ninformation to escape?  Sorry, but this initial hint is all you get."'
+- REPLACE_BATTERIES: |-
+    Your lamp is getting dim.  I'm taking the liberty of replacing the
+    batteries.
+- MISSING_BATTERIES: |-
+    Your lamp is getting dim, and you're out of spare batteries.  You'd
+    best start wrapping this up.
+- REMOVE_MESSAGE: |-
+    You sift your fingers through the dust, but succeed only in
+    obliterating the cryptic message.
+- CLUE_QUERY: |-
+    Hmmm, this looks like a clue, which means it'll cost you 10 points to
+    read it.  Should I go ahead and read it anyway?
+- WAYOUT_CLUE: |-
+    It says, "There is a way out of this place.  Do you need any more
+    information to escape?  Sorry, but this initial hint is all you get."
 - DONT_UNDERSTAND: 'I''m afraid I don''t understand.'
 - HAND_PASSTHROUGH: 'Your hand passes through it as though it weren''t there.'
-- BREAK_MIRROR: 'You strike the mirror a resounding blow, whereupon it shatters into a\nmyriad tiny fragments.'
-- BREAK_VASE: 'You have taken the vase and hurled it delicately to the ground.'
-- PROD_DWARF: 'You prod the nearest dwarf, who wakes up grumpily, takes one look at\nyou, curses, and grabs for his axe.'
+- BREAK_MIRROR: |-
+    You strike the mirror a resounding blow, whereupon it shatters into a
+    myriad tiny fragments.
+- PROD_DWARF: |-
+    You prod the nearest dwarf, who wakes up grumpily, takes one look at
+    you, curses, and grabs for his axe.
 - THIS_ACCEPTABLE: 'Is this acceptable?'
 # This message is not currently used
-- ALREADY_OVER: 'This adventure is already over.  To start a new adventure, or to\nresume an earlier adventure, please run a fresh copy of the program.'
+- ALREADY_OVER: |-
+    This adventure is already over.  To start a new adventure, or to
+    resume an earlier adventure, please run a fresh copy of the program.
 - OGRE_FULL: 'The ogre doesn''t appear to be hungry.'
-- OGRE_DODGE: 'The ogre, who despite his bulk is quite agile, easily dodges your\nattack.  He seems almost amused by your puny effort.'
-- OGRE_PANIC1: 'The ogre, distracted by your rush, is struck by the knife.  With a\nblood-curdling yell he turns and bounds after the dwarves, who flee\nin panic.  You are left alone in the room.'
-- OGRE_PANIC2: 'The ogre, distracted by your rush, is struck by the knife.  With a\nblood-curdling yell he turns and bounds after the dwarf, who flees\nin panic.  You are left alone in the room.'
-# Following three messages must be contiguous
+- OGRE_DODGE: |-
+    The ogre, who despite his bulk is quite agile, easily dodges your
+    attack.  He seems almost amused by your puny effort.
+- OGRE_PANIC1: |-
+    The ogre, distracted by your rush, is struck by the knife.  With a
+    blood-curdling yell he turns and bounds after the dwarves, who flee
+    in panic.  You are left alone in the room.
+- OGRE_PANIC2: |-
+    The ogre, distracted by your rush, is struck by the knife.  With a
+    blood-curdling yell he turns and bounds after the dwarf, who flees
+    in panic.  You are left alone in the room.
 - FREE_FLY: 'The bird flies about agitatedly for a moment.'
 - CAGE_FLY: 'The bird flies agitatedly about the cage.'
-- NECKLACE_FLY: 'The bird flies about agitatedly for a moment, then disappears through\nthe crack.  It reappears shortly, carrying in its beak a jade\nnecklace, which it drops at your feet.'
-- URN_LIT: 'The urn is now lit.'
-- URN_DARK: 'The urn is now dark.'
-- WATER_URN: 'You empty the bottle into the urn, which promptly ejects the water\nwith uncanny accuracy, squirting you directly between the eyes.'
+- NECKLACE_FLY: |-
+    The bird flies about agitatedly for a moment, then disappears through
+    the crack.  It reappears shortly, carrying in its beak a jade
+    necklace, which it drops at your feet.
+- WATER_URN: |-
+    You empty the bottle into the urn, which promptly ejects the water
+    with uncanny accuracy, squirting you directly between the eyes.
 - OIL_URN: 'Your bottle is now empty and the urn is full of oil.'
 - FULL_URN: 'The urn is already full of oil.'
 - URN_NOPOUR: 'There''s no way to get the oil out of the urn.'
 - URN_NOBUDGE: 'The urn is far too firmly embedded for your puny strength to budge it.'
-- URN_GENIES: 'As you rub the urn, there is a flash of light and a genie appears.\nHis aspect is stern as he advises: "One who wouldst traffic in\nprecious stones must first learn to recognize the signals thereof."\nHe wrests the urn from the stone, leaving a small cavity.  Turning to\nface you again, he fixes you with a steely eye and intones: "Caution!"\nGenie and urn vanish in a cloud of amber smoke.  The smoke condenses\nto form a rare amber gemstone, resting in the cavity in the rock.'
+- URN_GENIES: |-
+    As you rub the urn, there is a flash of light and a genie appears.
+    His aspect is stern as he advises: "One who wouldst traffic in
+    precious stones must first learn to recognize the signals thereof."
+    He wrests the urn from the stone, leaving a small cavity.  Turning to
+    face you again, he fixes you with a steely eye and intones: "Caution!"
+    Genie and urn vanish in a cloud of amber smoke.  The smoke condenses
+    to form a rare amber gemstone, resting in the cavity in the rock.
 - DOUGHNUT_HOLES: 'I suppose you collect doughnut holes, too?'
 - GEM_FITS: 'The gem fits easily into the cavity.'
 - RUG_RISES: 'The persian rug stiffens and rises a foot or so off the ground.'
-- RUG_WIGGLES: 'The persian rug draped over your shoulder seems to wriggle for a\nmoment, but then subsides.'
+- RUG_WIGGLES: |-
+    The persian rug draped over your shoulder seems to wriggle for a
+    moment, but then subsides.
 - RUG_SETTLES: 'The persian rug settles gently to the ground.'
 - RUG_HOVERS: 'The rug hovers stubbornly where it is.'
 - RUG_NOTHING1: 'The rug does not appear inclined to cooperate.'
-- RUG_NOTHING2: 'If you mean to use the persian rug, it does not appear inclined to\ncooperate.'
+- RUG_NOTHING2: |-
+    If you mean to use the persian rug, it does not appear inclined to
+    cooperate.
 - FLAP_ARMS: 'Though you flap your arms furiously, it is to no avail.'
-- RUG_GOES: 'You board the persian rug, which promptly whisks you across the chasm.\nYou have time for a fleeting glimpse of a two thousand foot drop to a\nmighty river; then you find yourself on the other side.'
+- RUG_GOES: |-
+    You board the persian rug, which promptly whisks you across the chasm.
+    You have time for a fleeting glimpse of a two thousand foot drop to a
+    mighty river; then you find yourself on the other side.
 - RUG_RETURNS: 'The rug ferries you back across the chasm.'
 - ALL_SILENT: 'All is silent.'
 - STREAM_GURGLES: 'The stream is gurgling placidly.'
 - WIND_WHISTLES: 'The wind whistles coldly past your ears.'
 - STREAM_SPLASHES: 'The stream splashes loudly into the pool.'
 - NO_MEANING: 'You are unable to make anything of the splashing noise.'
-- MURMURING_SNORING: 'You can hear the murmuring of the beanstalks and the snoring of the\ndwarves.'
+- MURMURING_SNORING: |-
+    You can hear the murmuring of the beanstalks and the snoring of the
+    dwarves.
 - SNAKES_HISSING: 'A loud hissing emanates from the snake pit.'
 - DULL_RUMBLING: 'The air is filled with a dull rumbling sound.'
 - LOUD_ROAR: 'The roar is quite loud here.'
 - TOTAL_ROAR: 'The roaring is so loud that it drowns out all other sound.'
-- BIRD_CRAP: 'The bird eyes you suspiciously and flutters away.  A moment later you\nfeel something wet land on your head, but upon looking up you can see\nno sign of the culprit.'
+- BIRD_CRAP: |-
+    The bird eyes you suspiciously and flutters away.  A moment later you
+    feel something wet land on your head, but upon looking up you can see
+    no sign of the culprit.
 - FEW_DROPS: 'There are only a few drops--not enough to carry.'
-- HEAD_BUZZES: 'Your head buzzes strangely for a moment.'
 - NOT_BRIGHT: '(Uh, y''know, that wasn''t very bright.)'
 - TOOK_LONG: 'It''s a pity you took so long about it.'
 - UPSTREAM_DOWNSTREAM: 'Upstream or downstream?'
-- WIZARDS_NODISTURB: 'Wizards are not to be disturbed by such as you.'
 - FOREST_QUERY: !!null
 - WATERS_CRASHING: 'The waters are crashing loudly against the shore.'
 - THROWN_KNIVES: '%d of them throw knives at you!'
@@ -3143,23 +3113,44 @@ arbitrary_messages:  !!omap
 - DO_WHAT: '%C what?'
 - OKEY_DOKEY: 'Okay, "%s".'
 - GARNERED_POINTS: 'You have garnered %d out of a possible %d points, using %d turn%S.'
-- SUSPEND_WARNING: 'I can suspend your Adventure for you so that you can resume later, but\nit will cost you 5 points.'
+- SUSPEND_WARNING: |-
+    I can suspend your Adventure for you so that you can resume later, but
+    it will cost you 5 points.
 - HINT_COST: 'I am prepared to give you a hint, but it will cost you %d point%S.'
 - TOTAL_SCORE: 'You scored %d out of a possible %d, using %d turn%S.'
 - NEXT_HIGHER: 'To achieve the next higher rating, you need %d more point%S.'
-- NO_HIGHER: 'To achieve the next higher rating would be a neat trick!\nCongratulations!!'
+- NO_HIGHER: |-
+    To achieve the next higher rating would be a neat trick!
+    Congratulations!!
 - OFF_SCALE: 'You just went off my scale!!'
 - RESUME_HELP: 'To resume your Adventure, start a new game and then say "RESUME".'
-- TABLE_SPACE: 'Table space used:\n%d of %d words of messages   %d of %d travel options\n%d of %d vocabulary words    %d of %d locations\n%d of %d objects             %d of %d action verbs\n%d of %d "random" messages   %d of %d "class" messages\n%d of %d hints               %d of %d turn threshholds'
+# This message is not currently used
+- TABLE_SPACE: |-
+    Table space used:
+    %d of %d words of messages   %d of %d travel options
+    %d of %d vocabulary words    %d of %d locations
+    %d of %d objects             %d of %d action verbs
+    %d of %d "random" messages   %d of %d "class" messages
+    %d of %d hints               %d of %d turn threshholds'
 - RESUME_ABANDON: 'To resume an earlier Adventure, you must abandon the current one.'
-- VERSION_SKEW: 'I''m sorry, but that Adventure was begun using Version%d.%d of the\nprogram, and this is Version%d.%d.  You must find the other version\nin order to resume that Adventure.'
+- VERSION_SKEW: |-
+    I'm sorry, but that Adventure was begun using Version %d.%d of the
+    save file format, and this program uses Version %d.%d.  You must find an instance
+    using that other version in order to resume that Adventure.
 # This message is not currently used
-- SAVE_TAMPERING: 'A dark fog creeps in to surround you.  From somewhere in the fog you\nhear a stern voice.  "This Adventure has been tampered with!  You have\nbeen dabbling in magic, knowing not the havoc you might cause thereby.\nLeave at once, before you do irrevocable harm!"  The fog thickens,\nuntil at last you can see nothing at all.  Your vision then clears,\nand you find yourself back in The Real World.'
-- GUESS_AGAIN: 'Guess again.'
-- TWIST_TURN: 'Sorry, but the path twisted and turned so much that I can''t figure\nout which way to go to get back.'
-- ADVENTURE_NEWS: 'Open Adventure is an author-approved open-source release of\nVersion 2.5 with, as yet, no gameplay changes.\nVersion 2.5 was essentially the same as Version II; the cave and the\nhazards therein are unchanged, and top score is still 430 points.\nThere are a few more hints, especially for some of the more obscure\npuzzles.  There are a few minor bugfixes and cosmetic changes.  You\ncan now save a game and resume it at once (formerly you had to wait a\nwhile first), but it now costs you a few points each time you save the\ngame.  Saved games are now stored in much smaller files than before.'
-- GO_UNNEEDED: 'You don''t have to say "go" every time; just specify a direction or, if\nit''s nearby, name the place to which you wish to move.'
-- ADVENTURE_VERSION: 'There is a puff of orange smoke; within it, fiery runes spell out:\n\n\tOpen Adventure %V - http://www.catb.org/esr/open-adventure/'
+- SAVE_TAMPERING: |-
+    A dark fog creeps in to surround you.  From somewhere in the fog you
+    hear a stern voice.  "This Adventure has been tampered with!  You have
+    been dabbling in magic, knowing not the havoc you might cause thereby.
+    Leave at once, before you do irrevocable harm!"  The fog thickens,
+    until at last you can see nothing at all.  Your vision then clears,
+    and you find yourself back in The Real World.
+- TWIST_TURN: |-
+    Sorry, but the path twisted and turned so much that I can't figure
+    out which way to go to get back.
+- GO_UNNEEDED: |-
+    You don't have to say "go" every time; just specify a direction or, if
+    it's nearby, name the place to which you wish to move.
 
 classes: 
 - threshold: 0
@@ -3183,24 +3174,33 @@ classes:
 - threshold: 429
   message: 'All of Adventuredom gives tribute to you, Adventurer Grandmaster!'
 - threshold: 9999
-  message: 'Adventuredom stands in awe -- you have now joined the ranks of the\n       W O R L D   C H A M P I O N   A D V E N T U R E R S !\nIt may interest you to know that the Dungeon-Master himself has, to\nmy knowledge, never achieved this threshhold in fewer than 330 turns.'
+  message: |-
+    'Adventuredom stands in awe -- you have now joined the ranks of the
+           W O R L D   C H A M P I O N   A D V E N T U R E R S !
+    It may interest you to know that the Dungeon-Master himself has, to
+    my knowledge, never achieved this threshhold in fewer than 330 turns.'
 
 turn_thresholds:
 - threshold: 350
   point_loss: 2
-  message: 'Tsk!  A wizard wouldn''t have to take 350 turns.  This is going to cost\nyou a couple of points.' 
+  message: |-
+    Tsk!  A wizard wouldn't have to take 350 turns.  This is going to cost
+    you a couple of points.
 - threshold: 500
   point_loss: 3
-  message: '500 turns?  That''s another few points you''ve lost.'  
+  message: '500 turns?  That''s another few points you''ve lost.'
 - threshold: 1000
   point_loss: 5
-  message: 'Are you still at it?  Five points off for exceeding 1000 turns!'  
+  message: 'Are you still at it?  Five points off for exceeding 1000 turns!'
 - threshold: 2500
   point_loss: 10
-  message: 'Good grief, don''t you *EVER* give up?  Do you realize you''ve spent\nover 2500 turns at this?  That''s another ten points off, a total of\ntwenty points lost for taking so long.'
+  message: |-
+    Good grief, don't you *EVER* give up?  Do you realize you've spent
+    over 2500 turns at this?  That's another ten points off, a total of
+    twenty points lost for taking so long.
   
 objects: !!omap
-- OBJ_0:
+- NO_OBJECT:
     inventory: !!null
     descriptions: !!null
 - KEYS:
@@ -3268,17 +3268,29 @@ objects: !!omap
     - 'The bird''s singing is quite melodious.'
     - 'The bird does not seem inclined to sing while in the cage.'
     - 'It almost seems as though the bird is trying to tell you something.'
-    - 'To your surprise, you can understand the bird''s chirping; it is\nsinging about the joys of its forest home.'
+    - |-
+      To your surprise, you can understand the bird''s chirping; it is
+      singing about the joys of its forest home.
     - 'The bird does not seem inclined to sing while in the cage.'
-    - 'The bird is singing to you in gratitude for your having returned it to\nits home.  In return, it informs you of a magic word which it thinks\nyou may find useful somewhere near the Hall of Mists.  The magic word\nchanges frequently, but for now the bird believes it is "%s".  You\nthank the bird for this information, and it flies off into the forest.'
+    - |- 
+      The bird is singing to you in gratitude for your having returned it to
+      its home.  In return, it informs you of a magic word which it thinks
+      you may find useful somewhere near the Hall of Mists.  The magic word
+      changes frequently, but for now the bird believes it is "%s".  You
+      thank the bird for this information, and it flies off into the forest.
 - DOOR:
     words: ['door']
     inventory: '*rusty door'
     locations: LOC_IMMENSE
     immovable: true
     descriptions:
-    - 'The way north is barred by a massive, rusty, iron door.'
-    - 'The way north leads through a massive, rusty, iron door.'
+    - [DOOR_RUSTED, 'The way north is barred by a massive, rusty, iron door.']
+    - [DOOR_UNRUSTED, 'The way north leads through a massive, rusty, iron door.']
+    changes:
+    - 'The hinges are quite thoroughly rusted now and won''t budge.'
+    - |-
+      The oil has freed up the hinges so that the door will now move,
+      although it requires some effort.
 - PILLOW:
     words: ['pillo', 'velve']
     inventory: 'Velvet pillow'
@@ -3310,7 +3322,9 @@ objects: !!omap
     locations: LOC_DARKROOM
     immovable: true
     descriptions:
-    - 'A massive stone tablet imbedded in the wall reads:\n"Congratulations on bringing light into the dark-room!"'
+    - |-
+      A massive stone tablet imbedded in the wall reads:
+      "Congratulations on bringing light into the dark-room!"
     texts:
     - '"Congratulations on bringing light into the dark-room!"'
 - CLAM:
@@ -3338,7 +3352,9 @@ objects: !!omap
     descriptions:
     - 'There are a few recent issues of "Spelunker Today" magazine here.'
     texts:
-    - 'I''m afraid the magazine is written in dwarvish.  But pencilled on one\ncover you see, "Please leave the magazines at the construction site."'
+    - |-
+      I''m afraid the magazine is written in dwarvish.  But pencilled on one
+      cover you see, "Please leave the magazines at the construction site."
 - DWARF:
     words: ['dwarf', 'dwarv']
     inventory: !!null
@@ -3387,7 +3403,9 @@ objects: !!omap
     immovable: true
     descriptions:
     - 'There is a tiny little plant in the pit, murmuring "water, water, ..."'
-    - 'There is a 12-foot-tall beanstalk stretching up out of the pit,\nbellowing "WATER!! WATER!!"'
+    - |-
+      There is a 12-foot-tall beanstalk stretching up out of the pit,
+      bellowing "WATER!! WATER!!"
     - 'There is a gigantic beanstalk stretching all the way up to the hole.'
     - 'The plant spurts into furious growth for a few seconds.'
     - 'The plant grows explosively, almost filling the bottom of the pit.'
@@ -3424,8 +3442,11 @@ objects: !!omap
     inventory: 'Dwarf''s axe'
     locations: LOC_NOWHERE
     descriptions:
-    - 'There is a little axe here.'
-    - 'There is a little axe lying beside the bear.'
+    - [AXE_HERE, 'There is a little axe here.']
+    - [AXE_LOST, 'There is a little axe lying beside the bear.']
+    changes:
+    - ''
+    - 'The axe misses and lands near the bear where you can''t get at it.'
 - OBJ_29:
     words: ['drawi']
     inventory: '*cave drawings'
@@ -3444,10 +3465,15 @@ objects: !!omap
     locations: [LOC_SECRET4, LOC_SECRET6]
     immovable: true
     descriptions:
-    - [DRAGON_BLOCKS, 'A huge green fierce dragon bars the way!']
-    - 'The blood-specked body of a huge green dead dragon lies to one side.'
-    - 'The body of a huge green dead dragon is lying off to one side.'
-    - 'Congratulations!  You have just vanquished a dragon with your bare\nhands!  (Unbelievable, isn''t it?)'
+    - [DRAGON_BARS, 'A huge green fierce dragon bars the way!']
+    - [DRAGON_DEAD, 'The blood-specked body of a huge green dead dragon lies to one side.']
+    - [DRAGON_BLOODLESS, 'The body of a huge green dead dragon is lying off to one side.']
+    changes:
+    - ''
+    - |-
+        Congratulations!  You have just vanquished a dragon with your bare
+        hands!  (Unbelievable, isn't it?)
+    - 'Your head buzzes strangely for a moment.'
     sounds:
     - 'The dragon''s ominous hissing does not bode well for you.'
     - 'The dragon is, not surprisingly, silent.'
@@ -3466,11 +3492,12 @@ objects: !!omap
     locations: [LOC_SWCHASM, LOC_NECHASM]
     immovable: true
     descriptions:
-    - 'A burly troll stands by the bridge and insists you throw him a\ntreasure before you may cross.'
-    - 'The troll steps out from beneath the bridge and blocks your way.'
-    - '' # chased away
+    - [TROLL_UNPAID, 'A burly troll stands by the bridge and insists you throw him a\ntreasure before you may cross.']
+    - [TROLL_PAIDONCE, 'The troll steps out from beneath the bridge and blocks your way.']
+    - [TROLL_GONE, ''] # chased away
     sounds:
     - 'The troll sounds quite adamant in his demand for a treasure.'
+    - 'The troll sounds quite adamant in his demand for a treasure.'
 - TROLL2:
     words: ['troll']
     inventory: '*phony troll'
@@ -3494,7 +3521,9 @@ objects: !!omap
     locations: LOC_NOWHERE
     immovable: true
     descriptions:
-    - 'There is a message scrawled in the dust in a flowery script, reading:\n"This is not the maze where the pirate leaves his treasure chest."'
+    - |-
+        There is a message scrawled in the dust in a flowery script, reading:
+        "This is not the maze where the pirate leaves his treasure chest."
     texts:
     - '"This is not the maze where the pirate leaves his treasure chest."'
 - VOLCANO:
@@ -3545,9 +3574,13 @@ objects: !!omap
     locations: LOC_CLIFF
     immovable: true
     descriptions:
-    - 'A small urn is embedded in the rock.'
-    - 'A small urn full of oil is embedded in the rock.'
-    - 'A small oil flame extrudes from an urn embedded in the rock.'
+    - [URN_EMPTY, 'A small urn is embedded in the rock.']
+    - [URN_DARK, 'A small urn full of oil is embedded in the rock.']
+    - [URN_LIT, 'A small oil flame extrudes from an urn embedded in the rock.']
+    changes:
+    - 'The urn is empty and will not light.'
+    - 'The urn is now dark.'
+    - 'The urn is now lit.'
 - CAVITY:
     words: ['cavit']
     inventory: '*cavity'
@@ -3605,7 +3638,10 @@ objects: !!omap
     - [INGAME_SIGN, '']
     - [ENDGAME_SIGN, '']
     texts:
-    - 'Cave under construction beyond this point.\n           Proceed at own risk.\n       [Witt Construction Company]'
+    - |-
+      Cave under construction beyond this point.
+                 Proceed at own risk.
+             [Witt Construction Company]
     - '"Treasure Vault.  Keys in main office."'
 - NUGGET:
     words: ['gold', 'nugge']
@@ -3655,9 +3691,9 @@ objects: !!omap
     locations: LOC_GIANTROOM
     treasure: true
     descriptions:
-    - 'There is a large nest here, full of golden eggs!'
-    - 'The nest of golden eggs has vanished!'
-    - 'Done!'
+    - [EGGS_HERE, 'There is a large nest here, full of golden eggs!']
+    - [EGGS_VANISHED, 'The nest of golden eggs has vanished!']
+    - [EGGS_DONE, 'Done!']
 - TRIDENT:
     words: ['tride']
     inventory: 'Jeweled trident'
@@ -3675,6 +3711,10 @@ objects: !!omap
     - [VASE_RESTING, 'The vase is now resting, delicately, on a velvet pillow.']
     - [VASE_BROKEN, 'The floor is littered with worthless shards of pottery.']
     - [VASE_DROPS, 'The ming vase drops with a delicate crash.']
+    changes:
+    - ''
+    - ''
+    - 'You have taken the vase and hurled it delicately to the ground.'
 - EMERALD:
     words: ['emera']
     inventory: 'Egg-sized emerald'
@@ -3704,9 +3744,9 @@ objects: !!omap
     immovable: true
     treasure: true
     descriptions:
-    - 'There is a persian rug spread out on the floor!'
-    - 'The dragon is sprawled out on a persian rug!!'
-    - 'There is a persian rug here, hovering in mid-air!'
+    - [RUG_FLOOR, 'There is a persian rug spread out on the floor!']
+    - [RUG_DRAGON, 'The dragon is sprawled out on a persian rug!!']
+    - [RUG_HOVER, 'There is a persian rug here, hovering in mid-air!']
 - OBJ_63:
     words: ['spice']
     inventory: 'Rare spices'
@@ -3721,9 +3761,9 @@ objects: !!omap
     immovable: true
     treasure: true
     descriptions:
-    - 'There is a golden chain lying in a heap on the floor!'
-    - 'The bear is locked to the wall with a golden chain!'
-    - 'There is a golden chain locked to the wall!'
+    - [CHAIN_HEAP, 'There is a golden chain lying in a heap on the floor!']
+    - [CHAINING_BEAR, 'The bear is locked to the wall with a golden chain!']
+    - [CHAIN_FIXED, 'There is a golden chain locked to the wall!']
 - RUBY:
     words: ['ruby']
     inventory: 'Giant ruby'
@@ -3745,8 +3785,8 @@ objects: !!omap
     locations: LOC_NOWHERE
     treasure: true
     descriptions:
-    - 'There is a rare amber gemstone here!'
-    - 'There is an amber gemstone resting in a small cavity in the rock!'
+    - [AMBER_IN_URN, 'There is a rare amber gemstone here!']
+    - [AMBER_IN_ROCK, 'There is an amber gemstone resting in a small cavity in the rock!']
 - SAPPH:
     words: ['sapph']
     inventory: 'Star sapphire'
@@ -3764,24 +3804,165 @@ objects: !!omap
     - 'There is a richly-carved ebony statuette here!'
 
 obituaries:
-  - query: |
+  - query: |-
         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?
-    yes_response: |
+    yes_response: |-
         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....
-  - query: |
+  - query: |-
         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?
-    yes_response: |
+    yes_response: |-
         Okay, now where did I put my orange smoke?....  >POOF!<
         Everything disappears in a dense cloud of orange smoke.
-  - query: |
+  - query: |-
         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?
     yes_response: 'Okay, if you''re so smart, do it yourself!  I''m leaving!'
 
+specials: !!omap
+- SPC_0:
+    message: !!null
+    words: !!null
+- SPC_1:
+    message: !!null
+    words: ['fee']
+- SPC_2:
+    message: !!null
+    words: ['fie']
+- SPC_3:
+    message: !!null
+    words: ['foe']
+- SPC_4:
+    message: !!null
+    words: ['foo']
+- SPC_5:
+    message: !!null
+    words: ['fum']
+- SPC_13:
+    message: 'You''re quite welcome.'
+    words: ['thank']
+- SPC_50:
+    message: 'Good try, but that is an old worn-out magic word.'
+    words: ['sesam', 'opens', 'abra', 'abrac', 'shaza', 'hocus', 'pocus']
+- SPC_51:
+    message: |-
+      I know of places, actions, and things.  Most of my vocabulary
+      describes places and is used to move you there.  To move, try words
+      like forest, building, downstream, enter, east, west, north, south,
+      up, or down.  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 both the
+      object and action words (in either order), 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.  Some objects have unexpected
+      effects; the effects are not always desirable!  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.  One point often confusing to beginners is that, when
+      there are several ways to go in a certain direction (e.g., if there
+      are several holes in a wall), choosing that direction in effect
+      chooses one of the ways at random; often, though, by specifying the
+      place you want to reach you can guarantee choosing the right path.
+      Also, to speed the game you can sometimes move long distances with a
+      single word.  For example, "building" usually gets you to the building
+      from anywhere above ground except when lost in the forest.  Also, note
+      that cave passages and forest paths turn a lot, so leaving one place
+      heading north doesn't guarantee entering the next from the south.
+      However (another important point), except when you've used a "long
+      distance" word such as "building", there is always a way to go back
+      where you just came from unless I warn you to the contrary, even
+      though the direction that takes you back might not be the reverse of
+      what got you here.  Good luck, and have fun!
+    words: ['help', '?']
+- SPC_54:
+    message: *ok_man
+    words: ['no']
+- SPC_64:
+    message: |-
+      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 under-
+      growth, 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.
+    words: ['tree', 'trees']
+- SPC_66:
+    message: |-
+      Digging without a shovel is quite impractical.  Even with a shovel
+      progress is unlikely.
+    words: ['dig', 'excav']
+- SPC_68:
+    message: 'I''m as confused as you are.'
+    words: ['lost']
+- SPC_69:
+    message: |-
+      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.'
+    words: ['mist']
+- SPC_79:
+    message: 'Watch it!'
+    words: ['fuck']
+- SPC_139:
+    message: 'I don''t know the word "stop".  Use "quit" if you want to give up.'
+    words: ['stop']
+- SPC_142:
+    message: |-
+      For a summary of the most recent changes to the game, say "news".
+      If you want to end your adventure early, say "quit".  To suspend your
+      adventure such that you can continue later, say "suspend" (or "pause"
+      or "save").  To see how well you're doing, say "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.  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 (incidentally, there *ARE* ways to hasten things along),
+      it means you're getting a bonus and have an opportunity to garner many
+      more points in the Master's section.  I may occasionally offer hints
+      if you seem to be having trouble.  If I do, I'll warn you in advance
+      how much it will affect your score to accept the hints.  Finally, to
+      save time, you may specify "brief", which tells me never to repeat the
+      full description of a place unless you explicitly ask me to.
+    words: ['info', 'infor']
+- SPC_147:
+    message: *not_knowhow
+    words: ['swim']
+- SPC_246:
+    message: 'Wizards are not to be disturbed by such as you.'
+    words: ['wizar']
+- SPC_271:
+    message: 'Guess again.'
+    words: ['yes']
+- SPC_275:
+    message: |-
+      Open Adventure is an author-approved open-source release of
+      Version 2.5 with, as yet, no gameplay changes.
+      Version 2.5 was essentially the same as Version II; the cave and the
+      hazards therein are unchanged, and top score is still 430 points.
+      There are a few more hints, especially for some of the more obscure
+      puzzles.  There are a few minor bugfixes and cosmetic changes.  You
+      can now save a game and resume it at once (formerly you had to wait a
+      while first), but it now costs you a few points each time you save the
+      game.  Saved games are now stored in much smaller files than before.
+    words: ['news']
+- SPC_276:
+    message: |-
+      There is a puff of orange smoke; within it, fiery runes spell out:
+      
+      \tOpen Adventure %V - http://www.catb.org/esr/open-adventure/
+    words: ['versi']
+
 # end