Full refactor of YAML dungeon generator.
[open-adventure.git] / adventure.yaml
index 243317aa21f4d58c5d1216b8c7055c9c0c34c600..d67535ee77fb9b2ffd8840795ac5394623836805 100644 (file)
 #
 # objects: Objects have attributes as follows...
 #      inventory:    A description for use in the inventory command.
+#      states:       A list of state labels for states from 0 up. Each
+#                    becomes a #define, and is also a state label that
+#                    can be used in travel-rule 'not' clauses.
 #      descriptions: Messages describing the object in different states.
-#                    If a state message is a tuple then the first element
-#                    is made the name of a #define visible to the code for
-#                    the associated state, numbered from zero upwards; it
-#                    is also a state label that can be used in travel-rule
-#                    'not' clauses.
-#       changes:     State-change messages to be emitted whenever the obect
+#                    Must correspond 1:1 with state labels if the latter exist.
+#      changes:      State-change messages to be emitted whenever the object
 #                    *changes* to the (0-origin) state that is the index of the
-#                    message in this array.
-#       words:       The vocabulary word(s) referring to this object.
-#       treasure:    A boolean "treasure" used for point-scoring and pirate
+#                    message in this array. Must correspond 1:1 with state
+#                    labels if the latter exist.
+#      words:        The vocabulary word(s) referring to this object.
+#      treasure:     A boolean "treasure" used for point-scoring and pirate
 #                    snatches, defaulting to false.
-#       immovable:   An object may also be flagged
+#      immovable:    An object may also be flagged
 #                    immovable, meaning it cannot be carried.
-#       locations:   An object may have one or two start locations (the gate
+#      locations:    An object may have one or two start locations (the gate
 #                    is an example of a two-location object; it can be accessed
 #                    from above or below).
 #
 # Message strings may include certain special character sequences to
 # denote that the program must provide parameters to insert into a
 # message when the message is printed.  These sequences are:
-#      %S = The letter 'S' or nothing (if a given value is exactly 1)
-#      %W = A word (up to 10 characters)
-#      %L = A word mapped to lower-case letters
-#      %U = A word mapped to upper-case letters
-#      %C = A word mapped to lower-case, first letter capitalised
-#      %T = Several words of text, ending with a word of -1
-#      %1 = A 1-digit number
-#      %2 = A 2-digit number
-#      ...
-#      %9 = A 9-digit number
-#      %B = Variable number of blanks
-#      %! = The entire message should be suppressed
+#       %d = an integer
+#       %s = an ASCII string
+#      %S = The letter 's' or nothing (if a previous %d value is exactly 1)
 #      %V = substitute program version string
 
 motions: !!omap
@@ -213,9 +204,9 @@ motions: !!omap
     words: ['east', 'e']
 - WEST:
     words: ['west', 'w']
-- MOT_45:
+- NORTH:
     words: ['north', 'n']
-- MOT_46:
+- SOUTH:
     words: ['south', 's']
 - NE:
     words: ['ne']
@@ -279,121 +270,6 @@ motions: !!omap
 - FORWARD6:
     words: ['main', 'offic']
 
-actions: !!omap
-- ACT_0:
-    message: !!null
-    words: !!null
-- CARRY:
-    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']
-- SAY:
-    message: NO_MESSAGE
-    words: ['say', 'chant', 'sing', 'utter', 'mumbl']
-- UNLOCK:
-    message: NOT_LOCKABLE
-    words: ['unloc', 'open']
-- NOTHING:
-    message: NO_MESSAGE
-    words: ['z', 'nothi']
-    oldstyle: false
-- LOCK:
-    message: NOT_LOCKABLE
-    words: ['lock', 'close']
-- LIGHT:
-    message: DONT_UNDERSTAND
-    words: ['light', 'on']
-- EXTINGUISH:
-    message: DONT_UNDERSTAND
-    words: ['extin', 'off']
-- WAVE:
-    message: NOTHING_HAPPENS
-    words: ['wave', 'shake', 'swing']
-- TAME:
-    message: AM_GAME
-    words: ['calm', 'placa', 'tame']
-- GO:
-    message: WHERE_QUERY
-    words: ['walk', 'run', 'trave', 'go', 'proce',
-            'conti', 'explo', 'follo', 'turn']
-- ATTACK:
-    message: RIDICULOUS_ATTEMPT
-    words: ['attac', 'kill', 'fight', 'hit', 'strik', 'slay']
-- POUR:
-    message: ARENT_CARRYING
-    words: ['pour']
-- EAT:
-    message: RIDICULOUS_ATTEMPT
-    words: ['eat', 'devou']
-- DRINK:
-    message: STREAM_WATER
-    words: ['drink']
-- RUB:
-    message: RUB_NOGO
-    words: ['rub']
-- THROW:
-    message: ARENT_CARRYING
-    words: ['throw', 'toss']
-- QUIT:
-    message: HUH_MAN
-    words: ['quit']
-- FIND:
-    message: NEARBY
-    words: ['find', 'where']
-- INVENTORY:
-    message: NEARBY
-    words: ['i', 'inven']
-    oldstyle: false
-- FEED:
-    message: NO_EDIBLES
-    words: ['feed']
-- FILL:
-    message: CANT_FILL
-    words: ['fill']
-- BLAST:
-    message: REQUIRES_DYNAMITE
-    words: ['blast', 'deton', 'ignit', 'blowu']
-- SCORE:
-    message: HUH_MAN
-    words: ['score']
-- GIANTWORDS:
-    message: NOT_KNOWHOW
-    words: ['fee', 'fie', 'foe', 'foo', 'fum']
-- BRIEF:
-    message: ON_WHAT
-    words: ['brief']
-- READ:
-    message: DONT_UNDERSTAND
-    words: ['read', 'perus']
-- BREAK:
-    message: BEYOND_POWER
-    words: ['break', 'shatt', 'smash']
-- WAKE:
-    message: RIDICULOUS_ATTEMPT
-    words: ['wake', 'distu']
-- SAVE:
-    message: HUH_MAN
-    words: ['suspe', 'pause', 'save']
-- RESUME:
-    message: HUH_MAN
-    words: ['resum', 'resta']
-- FLY:
-    message: AM_GAME
-    words: ['fly']
-- LISTEN:
-    message: DONT_UNDERSTAND
-    words: ['liste']
-- PART:
-    message: NOTHING_HAPPENS
-    words: ['z''zzz']
-- ACT_35:
-    message: HUH_MAN
-    words: !!null
-
 hints:
   - hint: &grate
       name: CAVE
@@ -480,8 +356,9 @@ hints:
       penalty: 4
       question: 'You''re missing only one other treasure.  Do you need help finding it?'
       hint: |-
-        Once you''ve found all the other treasures, it is no longer possible to
+        Once you've found all the other treasures, it is no longer possible to
         locate the one you''re now missing.'
+
 locations: !!omap
 - LOC_NOWHERE:
     description:
@@ -500,12 +377,11 @@ locations: !!omap
     conditions: {FLUID: true, ABOVE: true, LIT: true}
     sound: STREAM_GURGLES
     travel: [
-      {verbs: ['ROAD', 'WEST', 'UPWAR'], action: [goto, LOC_HILL]},
-      {verbs: ['ENTER', 'BUILD', 'INWAR', 'EAST'], action: [goto, LOC_BUILDING]},
-      {verbs: ['DOWNS', 'GULLY', 'STREA', 'SOUTH', 'D'],
-                                                     action: [goto, LOC_VALLEY]},
-      {verbs: ['FORES', 'NORTH'], action: [goto, LOC_FOREST1]},
-      {verbs: ['DEPRE'], action: [goto, LOC_GRATE]},
+      {verbs: [ROAD, WEST, UPWAR], action: [goto, LOC_HILL]},
+      {verbs: [ENTER, BUILD, INWAR, EAST], action: [goto, LOC_BUILDING]},
+      {verbs: [DOWNS, GULLY, STREA, SOUTH, DOWN], action: [goto, LOC_VALLEY]},
+      {verbs: [FORES, NORTH], action: [goto, LOC_FOREST1]},
+      {verbs: [DEPRE], action: [goto, LOC_GRATE]},
     ]
 - LOC_HILL:
     description:
@@ -515,11 +391,11 @@ locations: !!omap
       short: 'You''re at hill in road.'
     conditions: {ABOVE: true, LIT: true}
     travel: [
-      {verbs: ['BUILD', 'EAST'], action: [goto, LOC_START]},
-      {verbs: ['WEST'], action: [goto, LOC_ROADEND]},
-      {verbs: ['NORTH'], action: [goto, LOC_FOREST20]},
-      {verbs: ['SOUTH', 'FORES'], action: [goto, LOC_FOREST13]},
-      {verbs: ['D'], action: ["speak", WHICH_WAY]},
+      {verbs: [BUILD, EAST], action: [goto, LOC_START]},
+      {verbs: [WEST], action: [goto, LOC_ROADEND]},
+      {verbs: [NORTH], action: [goto, LOC_FOREST20]},
+      {verbs: [SOUTH, FORES], action: [goto, LOC_FOREST13]},
+      {verbs: [DOWN], action: [speak, WHICH_WAY]},
     ]
 - LOC_BUILDING:
     description:
@@ -528,10 +404,10 @@ locations: !!omap
     conditions: {FLUID: true, ABOVE: true, LIT: true}
     sound: STREAM_GURGLES
     travel: [
-      {verbs: ['OUT', 'OUTDO', 'WEST'], action: [goto, LOC_START]},
-      {verbs: ['XYZZY'], action: [goto, LOC_FOOF1]},
-      {verbs: ['PLUGH'], action: [goto, LOC_FOOF3]},
-      {verbs: ['DOWNS', 'STREA'], action: [goto, LOC_SEWER]},
+      {verbs: [OUT, OUTDO, WEST], action: [goto, LOC_START]},
+      {verbs: [XYZZY], action: [goto, LOC_FOOF1]},
+      {verbs: [PLUGH], action: [goto, LOC_FOOF3]},
+      {verbs: [DOWNS, STREA], action: [goto, LOC_SEWER]},
     ]
 - LOC_VALLEY:
     description:
@@ -542,12 +418,12 @@ locations: !!omap
     conditions: {FLUID: true, ABOVE: true, LIT: true}
     sound: STREAM_GURGLES
     travel: [
-      {verbs: ['UPSTR', 'BUILD', 'NORTH'], action: [goto, LOC_START]},
-      {verbs: ['EAST', 'FORES'], action: [goto, LOC_FOREST6]},
-      {verbs: ['WEST'], action: [goto, LOC_FOREST12]},
-      {verbs: ['DOWNS', 'SOUTH', 'D'], action: [goto, LOC_SLIT]},
-      {verbs: ['DEPRE'], action: [goto, LOC_GRATE]},
-      {verbs: ['STREA'], action: ["speak", UPSTREAM_DOWNSTREAM]},
+      {verbs: [UPSTR, BUILD, NORTH], action: [goto, LOC_START]},
+      {verbs: [EAST, FORES], action: [goto, LOC_FOREST6]},
+      {verbs: [WEST], action: [goto, LOC_FOREST12]},
+      {verbs: [DOWNS, SOUTH, DOWN], action: [goto, LOC_SLIT]},
+      {verbs: [DEPRE], action: [goto, LOC_GRATE]},
+      {verbs: [STREA], action: [speak, UPSTREAM_DOWNSTREAM]},
     ]
 - LOC_ROADEND:
     description:
@@ -555,11 +431,11 @@ locations: !!omap
       short: 'You''re at end of road.'
     conditions: {ABOVE: true, LIT: true}
     travel: [
-      {verbs: ['ROAD', 'EAST', 'UPWAR'], action: [goto, LOC_HILL]},
-      {verbs: ['BUILD'], action: [goto, LOC_START]},
-      {verbs: ['SOUTH', 'FORES'], action: [goto, LOC_FOREST14]},
-      {verbs: ['WEST'], action: [goto, LOC_FOREST15]},
-      {verbs: ['NORTH'], action: [goto, LOC_FOREST21]},
+      {verbs: [ROAD, EAST, UPWAR], action: [goto, LOC_HILL]},
+      {verbs: [BUILD], action: [goto, LOC_START]},
+      {verbs: [SOUTH, FORES], action: [goto, LOC_FOREST14]},
+      {verbs: [WEST], action: [goto, LOC_FOREST15]},
+      {verbs: [NORTH], action: [goto, LOC_FOREST21]},
     ]
 - LOC_CLIFF:
     description:
@@ -570,9 +446,9 @@ locations: !!omap
     conditions: {ABOVE: true, NOBACK: true, LIT: true}
     hints: [*urn]
     travel: [
-      {verbs: ['SOUTH', 'FORES'], action: [goto, LOC_FOREST17]},
-      {verbs: ['EAST'], action: [goto, LOC_FOREST19]},
-      {verbs: ['JUMP'], action: [goto, LOC_NOMAKE]},
+      {verbs: [SOUTH, FORES], action: [goto, LOC_FOREST17]},
+      {verbs: [EAST], action: [goto, LOC_FOREST19]},
+      {verbs: [JUMP], action: [goto, LOC_NOMAKE]},
     ]
 - LOC_SLIT:
     description:
@@ -583,13 +459,12 @@ locations: !!omap
     conditions: {FLUID: true, ABOVE: true, LIT: true}
     sound: STREAM_GURGLES
     travel: [
-      {verbs: ['BUILD'], action: [goto, LOC_START]},
-      {verbs: ['UPSTR', 'NORTH'], action: [goto, LOC_VALLEY]},
-      {verbs: ['EAST', 'FORES'], action: [goto, LOC_FOREST6]},
-      {verbs: ['WEST'], action: [goto, LOC_FOREST10]},
-      {verbs: ['DOWNS', 'BED', 'SOUTH', 'DEPRE'], action: [goto, LOC_GRATE]},
-      {verbs: ['SLIT', 'STREA', 'D', 'INWAR', 'ENTER'],
-                                                action: ["speak", DONT_FIT]},
+      {verbs: [BUILD], action: [goto, LOC_START]},
+      {verbs: [UPSTR, NORTH], action: [goto, LOC_VALLEY]},
+      {verbs: [EAST, FORES], action: [goto, LOC_FOREST6]},
+      {verbs: [WEST], action: [goto, LOC_FOREST10]},
+      {verbs: [DOWNS, BED, SOUTH, DEPRE], action: [goto, LOC_GRATE]},
+      {verbs: [SLIT, STREA, DOWN, INWAR, ENTER], action: [speak, DONT_FIT]},
     ]
 - LOC_GRATE:
     description:
@@ -601,15 +476,15 @@ locations: !!omap
     conditions: {ABOVE: true, LIT: true}
     hints: [*grate, *jade]
     travel: [
-      {verbs: ['EAST', 'FORES'], action: [goto, LOC_FOREST7]},
-      {verbs: ['SOUTH'], action: [goto, LOC_FOREST10]},
-      {verbs: ['WEST'], action: [goto, LOC_FOREST9]},
-      {verbs: ['BUILD'], action: [goto, LOC_START]},
-      {verbs: ['UPSTR', 'GULLY', 'NORTH'], action: [goto, LOC_SLIT]},
-      {verbs: ['ENTER', 'INWAR', 'D'],
+      {verbs: [EAST, FORES], action: [goto, LOC_FOREST7]},
+      {verbs: [SOUTH], action: [goto, LOC_FOREST10]},
+      {verbs: [WEST], action: [goto, LOC_FOREST9]},
+      {verbs: [BUILD], action: [goto, LOC_START]},
+      {verbs: [UPSTR, GULLY, NORTH], action: [goto, LOC_SLIT]},
+      {verbs: [ENTER, INWAR, DOWN],
                              cond: [not, GRATE, GRATE_CLOSED],
                              action: [goto, LOC_BELOWGRATE]},
-      {verbs: ['ENTER'], action: ["speak", GRATE_NOWAY]},
+      {verbs: [ENTER], action: [speak, GRATE_NOWAY]},
     ]
 - LOC_BELOWGRATE:
     description:
@@ -619,11 +494,12 @@ locations: !!omap
       short: 'You''re below the grate.'
     conditions: {LIT: true}
     travel: [
-      {verbs: ['OUT', 'UPWAR'], cond: [not, GRATE, GRATE_CLOSED], action: [goto, LOC_GRATE]},
-      {verbs: ['OUT'], action: ["speak", GRATE_NOWAY]},
-      {verbs: ['CRAWL', 'COBBL', 'INWAR', 'WEST'], action: [goto, LOC_COBBLE]},
-      {verbs: ['PIT'], action: [goto, LOC_PITTOP]},
-      {verbs: ['DEBRI'], action: [goto, LOC_DEBRIS]},
+      {verbs: [OUT, UPWAR], cond: [not, GRATE, GRATE_CLOSED],
+                            action: [goto, LOC_GRATE]},
+      {verbs: [OUT], action: [speak, GRATE_NOWAY]},
+      {verbs: [CRAWL, COBBL, INWAR, WEST], action: [goto, LOC_COBBLE]},
+      {verbs: [PIT], action: [goto, LOC_PITTOP]},
+      {verbs: [DEBRI], action: [goto, LOC_DEBRIS]},
     ]
 - LOC_COBBLE:
     description:
@@ -633,9 +509,9 @@ locations: !!omap
       short: 'You''re in cobble crawl.'
     conditions: {LIT: true}
     travel: [
-      {verbs: ['OUT', 'SURFA', 'NULL', 'EAST'], action: [goto, LOC_BELOWGRATE]},
-      {verbs: ['INWAR', 'DARK', 'WEST', 'DEBRI'], action: [goto, LOC_DEBRIS]},
-      {verbs: ['PIT'], action: [goto, LOC_PITTOP]},
+      {verbs: [OUT, SURFA, EAST], action: [goto, LOC_BELOWGRATE]},
+      {verbs: [INWAR, DARK, WEST, DEBRI], action: [goto, LOC_DEBRIS]},
+      {verbs: [PIT], action: [goto, LOC_PITTOP]},
     ]
 - LOC_DEBRIS:
     description:
@@ -647,13 +523,13 @@ locations: !!omap
       short: 'You''re in debris room.'
     conditions: {}
     travel: [
-      {verbs: ['DEPRE'], cond: [not, GRATE, GRATE_CLOSED], action: [goto, LOC_GRATE]},
-      {verbs: ['ENTRA'], action: [goto, LOC_BELOWGRATE]},
-      {verbs: ['CRAWL', 'COBBL', 'PASSA', 'LOW', 'EAST'],
-                                                     action: [goto, LOC_COBBLE]},
-      {verbs: ['CANYO', 'INWAR', 'UPWAR', 'WEST'], action: [goto, LOC_AWKWARD]},
-      {verbs: ['XYZZY'], action: [goto, LOC_FOOF2]},
-      {verbs: ['PIT'], action: [goto, LOC_PITTOP]},
+      {verbs: [DEPRE], cond: [not, GRATE, GRATE_CLOSED],
+                       action: [goto, LOC_GRATE]},
+      {verbs: [ENTRA], action: [goto, LOC_BELOWGRATE]},
+      {verbs: [CRAWL, COBBL, PASSA, LOW, EAST], action: [goto, LOC_COBBLE]},
+      {verbs: [CANYO, INWAR, UPWAR, WEST], action: [goto, LOC_AWKWARD]},
+      {verbs: [XYZZY], action: [goto, LOC_FOOF2]},
+      {verbs: [PIT], action: [goto, LOC_PITTOP]},
     ]
 - LOC_AWKWARD:
     description:
@@ -661,11 +537,12 @@ locations: !!omap
       short: !!null
     conditions: {}
     travel: [
-      {verbs: ['DEPRE'], cond: [not, GRATE, GRATE_CLOSED], action: [goto, LOC_GRATE]},
-      {verbs: ['ENTRA'], action: [goto, LOC_BELOWGRATE]},
-      {verbs: ['D', 'EAST', 'DEBRI'], action: [goto, LOC_DEBRIS]},
-      {verbs: ['INWAR', 'UPWAR', 'WEST'], action: [goto, LOC_BIRD]},
-      {verbs: ['PIT'], action: [goto, LOC_PITTOP]},
+      {verbs: [DEPRE], cond: [not, GRATE, GRATE_CLOSED],
+                       action: [goto, LOC_GRATE]},
+      {verbs: [ENTRA], action: [goto, LOC_BELOWGRATE]},
+      {verbs: [DOWN, EAST, DEBRI], action: [goto, LOC_DEBRIS]},
+      {verbs: [INWAR, UPWAR, WEST], action: [goto, LOC_BIRD]},
+      {verbs: [PIT], action: [goto, LOC_PITTOP]},
     ]
 - LOC_BIRD:
     description:
@@ -677,11 +554,12 @@ locations: !!omap
     conditions: {}
     hints: [*bird] 
     travel: [
-      {verbs: ['DEPRE'], cond: [not, GRATE, GRATE_CLOSED], action: [goto, LOC_GRATE]},
-      {verbs: ['ENTRA'], action: [goto, LOC_BELOWGRATE]},
-      {verbs: ['DEBRI'], action: [goto, LOC_DEBRIS]},
-      {verbs: ['CANYO', 'EAST'], action: [goto, LOC_AWKWARD]},
-      {verbs: ['PASSA', 'PIT', 'WEST'], action: [goto, LOC_PITTOP]},
+      {verbs: [DEPRE], cond: [not, GRATE, GRATE_CLOSED],
+                       action: [goto, LOC_GRATE]},
+      {verbs: [ENTRA], action: [goto, LOC_BELOWGRATE]},
+      {verbs: [DEBRI], action: [goto, LOC_DEBRIS]},
+      {verbs: [CANYO, EAST], action: [goto, LOC_AWKWARD]},
+      {verbs: [PASSA, PIT, WEST], action: [goto, LOC_PITTOP]},
     ]
 - LOC_PITTOP:
     description:
@@ -691,13 +569,15 @@ locations: !!omap
       short: 'You''re at top of small pit.'
     conditions: {}
     travel: [
-      {verbs: ['DEPRE'], cond: [not, GRATE, GRATE_CLOSED], action: [goto, LOC_GRATE]},
-      {verbs: ['ENTRA'], action: [goto, LOC_BELOWGRATE]},
-      {verbs: ['DEBRI'], action: [goto, LOC_DEBRIS]},
-      {verbs: ['PASSA', 'EAST'], action: [goto, LOC_BIRD]},
-      {verbs: ['D', 'PIT', 'STEPS'], cond: [carry, NUGGET], action: [goto, LOC_NECKBROKE]},
-      {verbs: ['D'], action: [goto, LOC_MISTHALL]},
-      {verbs: ['CRACK', 'WEST'], action: [goto, LOC_CRACK]},
+      {verbs: [DEPRE], cond: [not, GRATE, GRATE_CLOSED],
+                       action: [goto, LOC_GRATE]},
+      {verbs: [ENTRA], action: [goto, LOC_BELOWGRATE]},
+      {verbs: [DEBRI], action: [goto, LOC_DEBRIS]},
+      {verbs: [PASSA, EAST], action: [goto, LOC_BIRD]},
+      {verbs: [DOWN, PIT, STEPS], cond: [carry, NUGGET],
+                               action: [goto, LOC_NECKBROKE]},
+      {verbs: [DOWN], action: [goto, LOC_MISTHALL]},
+      {verbs: [CRACK, WEST], action: [goto, LOC_CRACK]},
     ]
 - LOC_MISTHALL:
     description:
@@ -712,13 +592,13 @@ locations: !!omap
     hints: [*jade]
     sound: WIND_WHISTLES
     travel: [
-      {verbs: ['LEFT', 'SOUTH'], action: [goto, LOC_NUGGET]},
-      {verbs: ['FORWA', 'HALL', 'WEST'], action: [goto, LOC_EASTBANK]},
-      {verbs: ['STAIR', 'D', 'NORTH'], action: [goto, LOC_KINGHALL]},
-      {verbs: ['UPWAR', 'PIT', 'STEPS', 'DOME', 'PASSA', 'EAST'],
+      {verbs: [LEFT, SOUTH], action: [goto, LOC_NUGGET]},
+      {verbs: [FORWA, HALL, WEST], action: [goto, LOC_EASTBANK]},
+      {verbs: [STAIR, DOWN, NORTH], action: [goto, LOC_KINGHALL]},
+      {verbs: [UPWAR, PIT, STEPS, DOME, PASSA, EAST],
                               cond: [carry, NUGGET], action: [goto, LOC_DOME]},
-      {verbs: ['UPWAR'], action: [goto, LOC_PITTOP]},
-      {verbs: ['Y2'], action: [goto, LOC_JUMBLE]},
+      {verbs: [UPWAR], action: [goto, LOC_PITTOP]},
+      {verbs: [Y2], action: [goto, LOC_JUMBLE]},
     ]
 - LOC_CRACK:
     description:
@@ -738,15 +618,15 @@ locations: !!omap
       short: 'You''re on east bank of fissure.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['HALL', 'EAST'], action: [goto, LOC_MISTHALL]},
-      {verbs: ['JUMP'], cond: [not, FISSURE, UNBRIDGED],
-                                              action: ["speak", CROSS_BRIDGE]},
-      {verbs: ['FORWA'], cond: [not, FISSURE, BRIDGED],
+      {verbs: [HALL, EAST], action: [goto, LOC_MISTHALL]},
+      {verbs: [JUMP], cond: [not, FISSURE, UNBRIDGED],
+                                              action: [speak, CROSS_BRIDGE]},
+      {verbs: [FORWA], cond: [not, FISSURE, BRIDGED],
                                               action: [goto, LOC_NOMAKE]},
-      {verbs: ['OVER', 'ACROS', 'WEST', 'CROSS'],
+      {verbs: [OVER, ACROS, WEST, CROSS],
                                               cond: [not, FISSURE, BRIDGED],
-                                              action: ["speak", NO_CROSS]},
-      {verbs: ['OVER'], action: [goto, LOC_WESTBANK]},
+                                              action: [speak, NO_CROSS]},
+      {verbs: [OVER], action: [goto, LOC_WESTBANK]},
     ]
 - LOC_NUGGET:
     description:
@@ -756,7 +636,7 @@ locations: !!omap
       short: 'You''re in nugget-of-gold room.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['HALL', 'OUT', 'NORTH'], action: [goto, LOC_MISTHALL]},
+      {verbs: [HALL, OUT, NORTH], action: [goto, LOC_MISTHALL]},
     ]
 - LOC_KINGHALL:
     description:
@@ -767,17 +647,17 @@ locations: !!omap
     conditions: {DEEP: true}
     hints: [*snake]
     travel: [
-      {verbs: ['STAIR', 'UPWAR', 'EAST'], action: [goto, LOC_MISTHALL]},
-      {verbs: ['NORTH', 'RIGHT'], cond: [not, SNAKE, SNAKE_BLOCKS],
+      {verbs: [STAIR, UPWAR, EAST], action: [goto, LOC_MISTHALL]},
+      {verbs: [NORTH, RIGHT], cond: [not, SNAKE, SNAKE_BLOCKS],
                                   action: [goto, LOC_FLOORHOLE]},
-      {verbs: ['SOUTH', 'LEFT'], cond: [not, SNAKE, SNAKE_BLOCKS],
+      {verbs: [SOUTH, LEFT], cond: [not, SNAKE, SNAKE_BLOCKS],
                                   action: [goto, LOC_SOUTHSIDE]},
-      {verbs: ['WEST', 'FORWA'], cond: [not, SNAKE, SNAKE_BLOCKS],
+      {verbs: [WEST, FORWA], cond: [not, SNAKE, SNAKE_BLOCKS],
                                  action: [goto, LOC_WESTSIDE]},
-      {verbs: ['NORTH'], action: [goto, LOC_SNAKEBLOCK]},
-      {verbs: ['SW'], cond: [pct, 35], action: [goto, LOC_SECRET3]},
-      {verbs: ['SW'], cond: ["with", SNAKE], action: [goto, LOC_SNAKEBLOCK]},
-      {verbs: ['SECRE'], action: [goto, LOC_SECRET3]},
+      {verbs: [NORTH], action: [goto, LOC_SNAKEBLOCK]},
+      {verbs: [SW], cond: [pct, 35], action: [goto, LOC_SECRET3]},
+      {verbs: [SW], cond: ["with", SNAKE], action: [goto, LOC_SNAKEBLOCK]},
+      {verbs: [SECRE], action: [goto, LOC_SECRET3]},
     ]
 - LOC_NECKBROKE:
     description:
@@ -811,10 +691,10 @@ locations: !!omap
       short: 'You''re at west end of Twopit Room.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['EAST', 'ACROS'], action: [goto, LOC_EASTEND]},
-      {verbs: ['WEST', 'SLAB'], action: [goto, LOC_SLAB]},
-      {verbs: ['D', 'PIT'], action: [goto, LOC_WESTPIT]},
-      {verbs: ['HOLE'], action: ["speak", TOO_FAR]},
+      {verbs: [EAST, ACROS], action: [goto, LOC_EASTEND]},
+      {verbs: [WEST, SLAB], action: [goto, LOC_SLAB]},
+      {verbs: [DOWN, PIT], action: [goto, LOC_WESTPIT]},
+      {verbs: [HOLE], action: [speak, TOO_FAR]},
     ]
 - LOC_EASTPIT:
     description:
@@ -824,7 +704,7 @@ locations: !!omap
       short: 'You''re in east pit.'
     conditions: {FLUID: true, DEEP: true, OILY: true}
     travel: [
-      {verbs: ['UPWAR', 'OUT'], action: [goto, LOC_EASTEND]},
+      {verbs: [UPWAR, OUT], action: [goto, LOC_EASTEND]},
     ]
 - LOC_WESTPIT:
     description:
@@ -834,9 +714,10 @@ locations: !!omap
       short: 'You''re in west pit.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['UPWAR', 'OUT'], action: [goto, LOC_WESTEND]},
-      {verbs: ['CLIMB'], cond: [not, PLANT, 2], action: [goto, LOC_BUILDING1]},
-      {verbs: ['CLIMB'], action: [goto, LOC_CLIMBSTALK]},
+      {verbs: [UPWAR, OUT], action: [goto, LOC_WESTEND]},
+      {verbs: [CLIMB], cond: [not, PLANT, PLANT_GROWN],
+                       action: [goto, LOC_BUILDING1]},
+      {verbs: [CLIMB], action: [goto, LOC_CLIMBSTALK]},
     ]
 - LOC_CLIMBSTALK:
     description:
@@ -852,16 +733,16 @@ locations: !!omap
       short: 'You''re on west bank of fissure.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['JUMP'], cond: [not, FISSURE, UNBRIDGED],
-                        action: ["speak", CROSS_BRIDGE]},
-      {verbs: ['FORWA'], cond: [not, FISSURE, BRIDGED],
+      {verbs: [JUMP], cond: [not, FISSURE, UNBRIDGED],
+                        action: [speak, CROSS_BRIDGE]},
+      {verbs: [FORWA], cond: [not, FISSURE, BRIDGED],
                          action: [goto, LOC_NOMAKE]},
-      {verbs: ['OVER', 'ACROS', 'EAST', 'CROSS'],
+      {verbs: [OVER, ACROS, EAST, CROSS],
                          cond: [not, FISSURE, BRIDGED],
-                         action: ["speak", NO_CROSS]},
-      {verbs: ['OVER'], action: [goto, LOC_EASTBANK]},
-      {verbs: ['NORTH'], action: [goto, LOC_PARALLEL1]},
-      {verbs: ['WEST'], action: [goto, LOC_MISTWEST]},
+                         action: [speak, NO_CROSS]},
+      {verbs: [OVER], action: [goto, LOC_EASTBANK]},
+      {verbs: [NORTH], action: [goto, LOC_PARALLEL1]},
+      {verbs: [WEST], action: [goto, LOC_MISTWEST]},
     ]
 - LOC_FLOORHOLE:
     description:
@@ -871,9 +752,9 @@ locations: !!omap
       short: 'You''re in n/s passage above e/w passage.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['HALL', 'OUT', 'SOUTH'], action: [goto, LOC_KINGHALL]},
-      {verbs: ['NORTH', 'Y2'], action: [goto, LOC_Y2]},
-      {verbs: ['D', 'HOLE'], action: [goto, LOC_BROKEN]},
+      {verbs: [HALL, OUT, SOUTH], action: [goto, LOC_KINGHALL]},
+      {verbs: [NORTH, Y2], action: [goto, LOC_Y2]},
+      {verbs: [DOWN, HOLE], action: [goto, LOC_BROKEN]},
     ]
 - LOC_SOUTHSIDE:
     description:
@@ -881,7 +762,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['HALL', 'OUT', 'NORTH'], action: [goto, LOC_KINGHALL]},
+      {verbs: [HALL, OUT, NORTH], action: [goto, LOC_KINGHALL]},
     ]
 - LOC_WESTSIDE:
     description:
@@ -891,8 +772,8 @@ locations: !!omap
       short: 'You''re in the west side chamber.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['HALL', 'OUT', 'EAST'], action: [goto, LOC_KINGHALL]},
-      {verbs: ['WEST', 'UPWAR'], action: [goto, LOC_CROSSOVER]},
+      {verbs: [HALL, OUT, EAST], action: [goto, LOC_KINGHALL]},
+      {verbs: [WEST, UPWAR], action: [goto, LOC_CROSSOVER]},
     ]
 - LOC_BUILDING1:
     description:
@@ -900,7 +781,8 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: [], cond: [not, PLANT, 1], action: [goto, LOC_NOCLIMB]},
+      {verbs: [], cond: [not, PLANT, PLANT_BELLOWING],
+                  action: [goto, LOC_NOCLIMB]},
       {verbs: [], action: [goto, LOC_PLANTTOP]},
     ]
 - LOC_SNAKEBLOCK:
@@ -920,12 +802,12 @@ locations: !!omap
       short: 'You''re at "Y2".'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['PLUGH'], action: [goto, LOC_FOOF4]},
-      {verbs: ['SOUTH'], action: [goto, LOC_FLOORHOLE]},
-      {verbs: ['EAST', 'WALL', 'BROKE'], action: [goto, LOC_JUMBLE]},
-      {verbs: ['WEST'], action: [goto, LOC_WINDOW1]},
-      {verbs: ['PLOVE'], cond: [carry, EMERALD], action: ["special", 2]},
-      {verbs: ['PLOVE'], action: [goto, LOC_FOOF5]},
+      {verbs: [PLUGH], action: [goto, LOC_FOOF4]},
+      {verbs: [SOUTH], action: [goto, LOC_FLOORHOLE]},
+      {verbs: [EAST, WALL, BROKE], action: [goto, LOC_JUMBLE]},
+      {verbs: [WEST], action: [goto, LOC_WINDOW1]},
+      {verbs: [PLOVE], cond: [carry, EMERALD], action: ["special", 2]},
+      {verbs: [PLOVE], action: [goto, LOC_FOOF5]},
     ]
 - LOC_JUMBLE:
     description:
@@ -933,8 +815,8 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['D', 'Y2'], action: [goto, LOC_Y2]},
-      {verbs: ['UPWAR'], action: [goto, LOC_MISTHALL]},
+      {verbs: [DOWN, Y2], action: [goto, LOC_Y2]},
+      {verbs: [UPWAR], action: [goto, LOC_MISTHALL]},
     ]
 - LOC_WINDOW1:
     description:
@@ -949,8 +831,8 @@ locations: !!omap
       short: 'You''re at window on pit.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['EAST', 'Y2'], action: [goto, LOC_Y2]},
-      {verbs: ['JUMP'], action: [goto, LOC_NECKBROKE]},
+      {verbs: [EAST, Y2], action: [goto, LOC_Y2]},
+      {verbs: [JUMP], action: [goto, LOC_NECKBROKE]},
     ]
 - LOC_BROKEN:
     description:
@@ -960,10 +842,10 @@ locations: !!omap
       short: 'You''re in dirty passage.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['EAST', 'CRAWL'], action: [goto, LOC_SMALLPITBRINK]},
-      {verbs: ['UPWAR', 'HOLE'], action: [goto, LOC_FLOORHOLE]},
-      {verbs: ['WEST'], action: [goto, LOC_DUSTY]},
-      {verbs: ['BEDQU'], action: [goto, LOC_BEDQUILT]},
+      {verbs: [EAST, CRAWL], action: [goto, LOC_SMALLPITBRINK]},
+      {verbs: [UPWAR, HOLE], action: [goto, LOC_FLOORHOLE]},
+      {verbs: [WEST], action: [goto, LOC_DUSTY]},
+      {verbs: [BEDQU], action: [goto, LOC_BEDQUILT]},
     ]
 - LOC_SMALLPITBRINK:
     description:
@@ -973,8 +855,8 @@ locations: !!omap
       short: 'You''re at brink of small pit.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['WEST', 'CRAWL'], action: [goto, LOC_BROKEN]},
-      {verbs: ['D', 'PIT', 'CLIMB'], action: [goto, LOC_SMALLPIT]},
+      {verbs: [WEST, CRAWL], action: [goto, LOC_BROKEN]},
+      {verbs: [DOWN, PIT, CLIMB], action: [goto, LOC_SMALLPIT]},
     ]
 - LOC_SMALLPIT:
     description:
@@ -985,8 +867,9 @@ locations: !!omap
     conditions: {FLUID: true, DEEP: true}
     sound: STREAM_GURGLES
     travel: [
-      {verbs: ['CLIMB', 'UPWAR', 'OUT'], action: [goto, LOC_SMALLPITBRINK]},
-      {verbs: ['SLIT', 'STREA', 'D', 'UPSTR', 'DOWNS', 'ENTER', 'INWAR'], action: ["speak", DONT_FIT]},
+      {verbs: [CLIMB, UPWAR, OUT], action: [goto, LOC_SMALLPITBRINK]},
+      {verbs: [SLIT, STREA, DOWN, UPSTR, DOWNS, ENTER, INWAR],
+                                   action: [speak, DONT_FIT]},
     ]
 - LOC_DUSTY:
     description:
@@ -996,9 +879,9 @@ locations: !!omap
       short: 'You''re in dusty rock room.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['EAST', 'PASSA'], action: [goto, LOC_BROKEN]},
-      {verbs: ['D', 'HOLE', 'FLOOR'], action: [goto, LOC_COMPLEX]},
-      {verbs: ['BEDQU'], action: [goto, LOC_BEDQUILT]},
+      {verbs: [EAST, PASSA], action: [goto, LOC_BROKEN]},
+      {verbs: [DOWN, HOLE, FLOOR], action: [goto, LOC_COMPLEX]},
+      {verbs: [BEDQU], action: [goto, LOC_BEDQUILT]},
     ]
 - LOC_PARALLEL1:
     description:
@@ -1019,10 +902,10 @@ locations: !!omap
       short: 'You''re at west end of Hall of Mists.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['SOUTH', 'UPWAR', 'PASSA', 'CLIMB'], action: [goto, LOC_ALIKE1]},
-      {verbs: ['EAST'], action: [goto, LOC_WESTBANK]},
-      {verbs: ['NORTH'], action: [goto, LOC_PARALLEL2]},
-      {verbs: ['WEST', 'CRAWL'], action: [goto, LOC_LONGEAST]},
+      {verbs: [SOUTH, UPWAR, PASSA, CLIMB], action: [goto, LOC_ALIKE1]},
+      {verbs: [EAST], action: [goto, LOC_WESTBANK]},
+      {verbs: [NORTH], action: [goto, LOC_PARALLEL2]},
+      {verbs: [WEST, CRAWL], action: [goto, LOC_LONGEAST]},
     ]
 - LOC_ALIKE1:
     description:
@@ -1031,11 +914,11 @@ locations: !!omap
     conditions: {DEEP: true, NOBACK: true}
     hints: [*maze]
     travel: [
-      {verbs: ['UPWAR'], action: [goto, LOC_MISTWEST]},
-      {verbs: ['NORTH'], action: [goto, LOC_ALIKE1]},
-      {verbs: ['EAST'], action: [goto, LOC_ALIKE2]},
-      {verbs: ['SOUTH'], action: [goto, LOC_ALIKE4]},
-      {verbs: ['WEST'], action: [goto, LOC_ALIKE11]},
+      {verbs: [UPWAR], action: [goto, LOC_MISTWEST]},
+      {verbs: [NORTH], action: [goto, LOC_ALIKE1]},
+      {verbs: [EAST], action: [goto, LOC_ALIKE2]},
+      {verbs: [SOUTH], action: [goto, LOC_ALIKE4]},
+      {verbs: [WEST], action: [goto, LOC_ALIKE11]},
     ]
 - LOC_ALIKE2:
     description:
@@ -1044,9 +927,9 @@ locations: !!omap
     conditions: {DEEP: true, NOBACK: true}
     hints: [*maze]
     travel: [
-      {verbs: ['WEST'], action: [goto, LOC_ALIKE1]},
-      {verbs: ['SOUTH'], action: [goto, LOC_ALIKE3]},
-      {verbs: ['EAST'], action: [goto, LOC_ALIKE4]},
+      {verbs: [WEST], action: [goto, LOC_ALIKE1]},
+      {verbs: [SOUTH], action: [goto, LOC_ALIKE3]},
+      {verbs: [EAST], action: [goto, LOC_ALIKE4]},
     ]
 - LOC_ALIKE3:
     description:
@@ -1055,10 +938,10 @@ locations: !!omap
     conditions: {DEEP: true, NOBACK: true}
     hints: [*maze]
     travel: [
-      {verbs: ['EAST'], action: [goto, LOC_ALIKE2]},
-      {verbs: ['D'], action: [goto, LOC_DEADEND3]},
-      {verbs: ['SOUTH'], action: [goto, LOC_ALIKE6]},
-      {verbs: ['NORTH'], action: [goto, LOC_DEADEND9]},
+      {verbs: [EAST], action: [goto, LOC_ALIKE2]},
+      {verbs: [DOWN], action: [goto, LOC_DEADEND3]},
+      {verbs: [SOUTH], action: [goto, LOC_ALIKE6]},
+      {verbs: [NORTH], action: [goto, LOC_DEADEND9]},
     ]
 - LOC_ALIKE4:
     description:
@@ -1067,11 +950,11 @@ locations: !!omap
     conditions: {DEEP: true, NOBACK: true}
     hints: [*maze]
     travel: [
-      {verbs: ['WEST'], action: [goto, LOC_ALIKE1]},
-      {verbs: ['NORTH'], action: [goto, LOC_ALIKE2]},
-      {verbs: ['EAST'], action: [goto, LOC_DEADEND1]},
-      {verbs: ['SOUTH'], action: [goto, LOC_DEADEND2]},
-      {verbs: ['UPWAR', 'D'], action: [goto, LOC_ALIKE14]},
+      {verbs: [WEST], action: [goto, LOC_ALIKE1]},
+      {verbs: [NORTH], action: [goto, LOC_ALIKE2]},
+      {verbs: [EAST], action: [goto, LOC_DEADEND1]},
+      {verbs: [SOUTH], action: [goto, LOC_DEADEND2]},
+      {verbs: [UPWAR, DOWN], action: [goto, LOC_ALIKE14]},
     ]
 - LOC_DEADEND1:
     description:
@@ -1080,7 +963,7 @@ locations: !!omap
     conditions: {DEEP: true, NOARRR: true}
     hints: [*maze]
     travel: [
-      {verbs: ['WEST', 'OUT'], action: [goto, LOC_ALIKE4]},
+      {verbs: [WEST, OUT], action: [goto, LOC_ALIKE4]},
     ]
 - LOC_DEADEND2:
     description:
@@ -1089,7 +972,7 @@ locations: !!omap
     conditions: {DEEP: true, NOARRR: true}
     hints: [*maze]
     travel: [
-      {verbs: ['EAST', 'OUT'], action: [goto, LOC_ALIKE4]},
+      {verbs: [EAST, OUT], action: [goto, LOC_ALIKE4]},
     ]
 - LOC_DEADEND3:
     description:
@@ -1098,7 +981,7 @@ locations: !!omap
     conditions: {DEEP: true, NOARRR: true}
     hints: [*maze]
     travel: [
-      {verbs: ['UPWAR', 'OUT'], action: [goto, LOC_ALIKE3]},
+      {verbs: [UPWAR, OUT], action: [goto, LOC_ALIKE3]},
     ]
 - LOC_ALIKE5:
     description:
@@ -1107,8 +990,8 @@ locations: !!omap
     conditions: {DEEP: true, NOBACK: true}
     hints: [*maze]
     travel: [
-      {verbs: ['EAST'], action: [goto, LOC_ALIKE6]},
-      {verbs: ['WEST'], action: [goto, LOC_ALIKE7]},
+      {verbs: [EAST], action: [goto, LOC_ALIKE6]},
+      {verbs: [WEST], action: [goto, LOC_ALIKE7]},
     ]
 - LOC_ALIKE6:
     description:
@@ -1117,10 +1000,10 @@ locations: !!omap
     conditions: {DEEP: true, NOBACK: true}
     hints: [*maze]
     travel: [
-      {verbs: ['EAST'], action: [goto, LOC_ALIKE3]},
-      {verbs: ['WEST'], action: [goto, LOC_ALIKE5]},
-      {verbs: ['D'], action: [goto, LOC_ALIKE7]},
-      {verbs: ['SOUTH'], action: [goto, LOC_ALIKE8]},
+      {verbs: [EAST], action: [goto, LOC_ALIKE3]},
+      {verbs: [WEST], action: [goto, LOC_ALIKE5]},
+      {verbs: [DOWN], action: [goto, LOC_ALIKE7]},
+      {verbs: [SOUTH], action: [goto, LOC_ALIKE8]},
     ]
 - LOC_ALIKE7:
     description:
@@ -1129,10 +1012,10 @@ locations: !!omap
     conditions: {DEEP: true, NOBACK: true}
     hints: [*maze]
     travel: [
-      {verbs: ['WEST'], action: [goto, LOC_ALIKE5]},
-      {verbs: ['UPWAR'], action: [goto, LOC_ALIKE6]},
-      {verbs: ['EAST'], action: [goto, LOC_ALIKE8]},
-      {verbs: ['SOUTH'], action: [goto, LOC_ALIKE9]},
+      {verbs: [WEST], action: [goto, LOC_ALIKE5]},
+      {verbs: [UPWAR], action: [goto, LOC_ALIKE6]},
+      {verbs: [EAST], action: [goto, LOC_ALIKE8]},
+      {verbs: [SOUTH], action: [goto, LOC_ALIKE9]},
     ]
 - LOC_ALIKE8:
     description:
@@ -1141,12 +1024,12 @@ locations: !!omap
     conditions: {DEEP: true, NOBACK: true}
     hints: [*maze]
     travel: [
-      {verbs: ['WEST'], action: [goto, LOC_ALIKE6]},
-      {verbs: ['EAST'], action: [goto, LOC_ALIKE7]},
-      {verbs: ['SOUTH'], action: [goto, LOC_ALIKE8]},
-      {verbs: ['UPWAR'], action: [goto, LOC_ALIKE9]},
-      {verbs: ['NORTH'], action: [goto, LOC_ALIKE10]},
-      {verbs: ['D'], action: [goto, LOC_DEADEND11]},
+      {verbs: [WEST], action: [goto, LOC_ALIKE6]},
+      {verbs: [EAST], action: [goto, LOC_ALIKE7]},
+      {verbs: [SOUTH], action: [goto, LOC_ALIKE8]},
+      {verbs: [UPWAR], action: [goto, LOC_ALIKE9]},
+      {verbs: [NORTH], action: [goto, LOC_ALIKE10]},
+      {verbs: [DOWN], action: [goto, LOC_DEADEND11]},
     ]
 - LOC_ALIKE9:
     description:
@@ -1155,9 +1038,9 @@ locations: !!omap
     conditions: {DEEP: true, NOBACK: true}
     hints: [*maze]
     travel: [
-      {verbs: ['WEST'], action: [goto, LOC_ALIKE7]},
-      {verbs: ['NORTH'], action: [goto, LOC_ALIKE8]},
-      {verbs: ['SOUTH'], action: [goto, LOC_DEADEND4]},
+      {verbs: [WEST], action: [goto, LOC_ALIKE7]},
+      {verbs: [NORTH], action: [goto, LOC_ALIKE8]},
+      {verbs: [SOUTH], action: [goto, LOC_DEADEND4]},
     ]
 - LOC_DEADEND4:
     description:
@@ -1166,7 +1049,7 @@ locations: !!omap
     conditions: {DEEP: true, NOARRR: true}
     hints: [*maze]
     travel: [
-      {verbs: ['WEST', 'OUT'], action: [goto, LOC_ALIKE9]},
+      {verbs: [WEST, OUT], action: [goto, LOC_ALIKE9]},
     ]
 - LOC_ALIKE10:
     description:
@@ -1175,10 +1058,10 @@ locations: !!omap
     conditions: {DEEP: true, NOBACK: true}
     hints: [*maze]
     travel: [
-      {verbs: ['WEST'], action: [goto, LOC_ALIKE8]},
-      {verbs: ['NORTH'], action: [goto, LOC_ALIKE10]},
-      {verbs: ['D'], action: [goto, LOC_DEADEND5]},
-      {verbs: ['EAST'], action: [goto, LOC_PITBRINK]},
+      {verbs: [WEST], action: [goto, LOC_ALIKE8]},
+      {verbs: [NORTH], action: [goto, LOC_ALIKE10]},
+      {verbs: [DOWN], action: [goto, LOC_DEADEND5]},
+      {verbs: [EAST], action: [goto, LOC_PITBRINK]},
     ]
 - LOC_DEADEND5:
     description:
@@ -1187,7 +1070,7 @@ locations: !!omap
     conditions: {DEEP: true, NOARRR: true}
     hints: [*maze]
     travel: [
-      {verbs: ['UPWAR', 'OUT'], action: [goto, LOC_ALIKE10]},
+      {verbs: [UPWAR, OUT], action: [goto, LOC_ALIKE10]},
     ]
 - LOC_PITBRINK:
     description:
@@ -1198,11 +1081,11 @@ locations: !!omap
       short: 'You''re at brink of pit.'
     conditions: {DEEP: true, NOBACK: true}
     travel: [
-      {verbs: ['D', 'CLIMB'], action: [goto, LOC_BIRD]},
-      {verbs: ['WEST'], action: [goto, LOC_ALIKE10]},
-      {verbs: ['SOUTH'], action: [goto, LOC_DEADEND6]},
-      {verbs: ['NORTH'], action: [goto, LOC_ALIKE12]},
-      {verbs: ['EAST'], action: [goto, LOC_ALIKE13]},
+      {verbs: [DOWN, CLIMB], action: [goto, LOC_BIRD]},
+      {verbs: [WEST], action: [goto, LOC_ALIKE10]},
+      {verbs: [SOUTH], action: [goto, LOC_DEADEND6]},
+      {verbs: [NORTH], action: [goto, LOC_ALIKE12]},
+      {verbs: [EAST], action: [goto, LOC_ALIKE13]},
     ]
 - LOC_DEADEND6:
     description:
@@ -1210,7 +1093,7 @@ locations: !!omap
       short: !!null
     conditions: {NOARRR: true, DEEP: true}
     travel: [
-      {verbs: ['EAST', 'OUT'], action: [goto, LOC_PITBRINK]},
+      {verbs: [EAST, OUT], action: [goto, LOC_PITBRINK]},
     ]
 - LOC_PARALLEL2:
     description:
@@ -1231,9 +1114,9 @@ locations: !!omap
       short: 'You''re at east end of long hall.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['EAST', 'UPWAR', 'CRAWL'], action: [goto, LOC_MISTWEST]},
-      {verbs: ['WEST'], action: [goto, LOC_LONGWEST]},
-      {verbs: ['NORTH', 'D', 'HOLE'], action: [goto, LOC_CROSSOVER]},
+      {verbs: [EAST, UPWAR, CRAWL], action: [goto, LOC_MISTWEST]},
+      {verbs: [WEST], action: [goto, LOC_LONGWEST]},
+      {verbs: [NORTH, DOWN, HOLE], action: [goto, LOC_CROSSOVER]},
     ]
 - LOC_LONGWEST:
     description:
@@ -1243,9 +1126,9 @@ locations: !!omap
       short: 'You''re at west end of long hall.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['EAST'], action: [goto, LOC_LONGEAST]},
-      {verbs: ['NORTH'], action: [goto, LOC_CROSSOVER]},
-      {verbs: ['SOUTH'], cond: ["nodwarves"], action: [goto, LOC_DIFFERENT1]},
+      {verbs: [EAST], action: [goto, LOC_LONGEAST]},
+      {verbs: [NORTH], action: [goto, LOC_CROSSOVER]},
+      {verbs: [SOUTH], cond: ["nodwarves"], action: [goto, LOC_DIFFERENT1]},
     ]
 - LOC_CROSSOVER:
     description:
@@ -1253,10 +1136,10 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['WEST'], action: [goto, LOC_LONGEAST]},
-      {verbs: ['NORTH'], action: [goto, LOC_DEADEND7]},
-      {verbs: ['EAST'], action: [goto, LOC_WESTSIDE]},
-      {verbs: ['SOUTH'], action: [goto, LOC_LONGWEST]},
+      {verbs: [WEST], action: [goto, LOC_LONGEAST]},
+      {verbs: [NORTH], action: [goto, LOC_DEADEND7]},
+      {verbs: [EAST], action: [goto, LOC_WESTSIDE]},
+      {verbs: [SOUTH], action: [goto, LOC_LONGWEST]},
     ]
 - LOC_DEADEND7:
     description:
@@ -1264,7 +1147,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['SOUTH', 'OUT'], action: [goto, LOC_CROSSOVER]},
+      {verbs: [SOUTH, OUT], action: [goto, LOC_CROSSOVER]},
     ]
 - LOC_COMPLEX:
     description:
@@ -1277,10 +1160,10 @@ locations: !!omap
     hints: [*jade]
     sound: WIND_WHISTLES
     travel: [
-      {verbs: ['UPWAR', 'CLIMB', 'ROOM'], action: [goto, LOC_DUSTY]},
-      {verbs: ['WEST', 'BEDQU'], action: [goto, LOC_BEDQUILT]},
-      {verbs: ['NORTH', 'SHELL'], action: [goto, LOC_SHELLROOM]},
-      {verbs: ['EAST'], action: [goto, LOC_ANTEROOM]},
+      {verbs: [UPWAR, CLIMB, ROOM], action: [goto, LOC_DUSTY]},
+      {verbs: [WEST, BEDQU], action: [goto, LOC_BEDQUILT]},
+      {verbs: [NORTH, SHELL], action: [goto, LOC_SHELLROOM]},
+      {verbs: [EAST], action: [goto, LOC_ANTEROOM]},
     ]
 - LOC_BEDQUILT:
     description:
@@ -1290,18 +1173,18 @@ locations: !!omap
       short: 'You''re in Bedquilt.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['EAST'], action: [goto, LOC_COMPLEX]},
-      {verbs: ['WEST'], action: [goto, LOC_SWISSCHEESE]},
-      {verbs: ['SOUTH'], cond: [pct, 65], action: ["speak", FUTILE_CRAWL]},
-      {verbs: ['SLAB'], action: [goto, LOC_SLAB]},
-      {verbs: ['UPWAR'], cond: [pct, 60], action: ["speak", FUTILE_CRAWL]},
-      {verbs: ['UPWAR'], cond: [pct, 70], action: [goto, LOC_SECRET2]},
-      {verbs: ['UPWAR'], action: [goto, LOC_DUSTY]},
-      {verbs: ['NORTH'], cond: [pct, 50], action: ["speak", FUTILE_CRAWL]},
-      {verbs: ['NORTH'], cond: [pct, 75], action: [goto, LOC_LOWROOM]},
-      {verbs: ['NORTH'], action: [goto, LOC_THREEJUNCTION]},
-      {verbs: ['D'], cond: [pct, 65], action: ["speak", FUTILE_CRAWL]},
-      {verbs: ['D'], action: [goto, LOC_ANTEROOM]},
+      {verbs: [EAST], action: [goto, LOC_COMPLEX]},
+      {verbs: [WEST], action: [goto, LOC_SWISSCHEESE]},
+      {verbs: [SOUTH], cond: [pct, 65], action: [speak, FUTILE_CRAWL]},
+      {verbs: [SLAB], action: [goto, LOC_SLAB]},
+      {verbs: [UPWAR], cond: [pct, 60], action: [speak, FUTILE_CRAWL]},
+      {verbs: [UPWAR], cond: [pct, 70], action: [goto, LOC_SECRET2]},
+      {verbs: [UPWAR], action: [goto, LOC_DUSTY]},
+      {verbs: [NORTH], cond: [pct, 50], action: [speak, FUTILE_CRAWL]},
+      {verbs: [NORTH], cond: [pct, 75], action: [goto, LOC_LOWROOM]},
+      {verbs: [NORTH], action: [goto, LOC_THREEJUNCTION]},
+      {verbs: [DOWN], cond: [pct, 65], action: [speak, FUTILE_CRAWL]},
+      {verbs: [DOWN], action: [goto, LOC_ANTEROOM]},
     ]
 - LOC_SWISSCHEESE:
     description:
@@ -1312,13 +1195,13 @@ locations: !!omap
       short: 'You''re in Swiss Cheese Room.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['NE'], action: [goto, LOC_BEDQUILT]},
-      {verbs: ['WEST'], action: [goto, LOC_EASTEND]},
-      {verbs: ['SOUTH'], cond: [pct, 80], action: ["speak", FUTILE_CRAWL]},
-      {verbs: ['CANYO'], action: [goto, LOC_TALL]},
-      {verbs: ['EAST'], action: [goto, LOC_SOFTROOM]},
-      {verbs: ['NW'], cond: [pct, 50], action: ["speak", FUTILE_CRAWL]},
-      {verbs: ['ORIEN'], action: [goto, LOC_ORIENTAL]},
+      {verbs: [NE], action: [goto, LOC_BEDQUILT]},
+      {verbs: [WEST], action: [goto, LOC_EASTEND]},
+      {verbs: [SOUTH], cond: [pct, 80], action: [speak, FUTILE_CRAWL]},
+      {verbs: [CANYO], action: [goto, LOC_TALL]},
+      {verbs: [EAST], action: [goto, LOC_SOFTROOM]},
+      {verbs: [NW], cond: [pct, 50], action: [speak, FUTILE_CRAWL]},
+      {verbs: [ORIEN], action: [goto, LOC_ORIENTAL]},
     ]
 - LOC_EASTEND:
     description:
@@ -1331,9 +1214,9 @@ locations: !!omap
       short: 'You''re at east end of Twopit Room.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['EAST'], action: [goto, LOC_SWISSCHEESE]},
-      {verbs: ['WEST', 'ACROS'], action: [goto, LOC_WESTEND]},
-      {verbs: ['D', 'PIT'], action: [goto, LOC_EASTPIT]},
+      {verbs: [EAST], action: [goto, LOC_SWISSCHEESE]},
+      {verbs: [WEST, ACROS], action: [goto, LOC_WESTEND]},
+      {verbs: [DOWN, PIT], action: [goto, LOC_EASTPIT]},
     ]
 - LOC_SLAB:
     description:
@@ -1346,9 +1229,9 @@ locations: !!omap
       short: 'You''re in Slab Room.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['SOUTH'], action: [goto, LOC_WESTEND]},
-      {verbs: ['UPWAR', 'CLIMB'], action: [goto, LOC_SECRET1]},
-      {verbs: ['NORTH'], action: [goto, LOC_BEDQUILT]},
+      {verbs: [SOUTH], action: [goto, LOC_WESTEND]},
+      {verbs: [UPWAR, CLIMB], action: [goto, LOC_SECRET1]},
+      {verbs: [NORTH], action: [goto, LOC_BEDQUILT]},
     ]
 - LOC_SECRET1:
     description:
@@ -1356,12 +1239,12 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['D', 'SLAB'], action: [goto, LOC_SLAB]},
-      {verbs: ['SOUTH'], cond: [not, DRAGON, DRAGON_BARS],
+      {verbs: [DOWN, SLAB], action: [goto, LOC_SLAB]},
+      {verbs: [SOUTH], cond: [not, DRAGON, DRAGON_BARS],
                          action: [goto, LOC_SECRET5]},
-      {verbs: ['SOUTH'], action: [goto, LOC_SECRET4]},
-      {verbs: ['NORTH'], action: [goto, LOC_MIRRORCANYON]},
-      {verbs: ['RESER'], action: [goto, LOC_RESERVOIR]},
+      {verbs: [SOUTH], action: [goto, LOC_SECRET4]},
+      {verbs: [NORTH], action: [goto, LOC_MIRRORCANYON]},
+      {verbs: [RESER], action: [goto, LOC_RESERVOIR]},
     ]
 - LOC_SECRET2:
     description:
@@ -1369,9 +1252,9 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['NORTH'], action: [goto, LOC_THREEJUNCTION]},
-      {verbs: ['D', 'PASSA'], action: [goto, LOC_BEDQUILT]},
-      {verbs: ['SOUTH'], action: [goto, LOC_TOPSTALACTITE]},
+      {verbs: [NORTH], action: [goto, LOC_THREEJUNCTION]},
+      {verbs: [DOWN, PASSA], action: [goto, LOC_BEDQUILT]},
+      {verbs: [SOUTH], action: [goto, LOC_TOPSTALACTITE]},
     ]
 - LOC_THREEJUNCTION:
     description:
@@ -1382,9 +1265,9 @@ locations: !!omap
       short: 'You''re at junction of three secret canyons.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['SE'], action: [goto, LOC_BEDQUILT]},
-      {verbs: ['SOUTH'], action: [goto, LOC_SECRET2]},
-      {verbs: ['NORTH'], action: [goto, LOC_WINDOW2]},
+      {verbs: [SE], action: [goto, LOC_BEDQUILT]},
+      {verbs: [SOUTH], action: [goto, LOC_SECRET2]},
+      {verbs: [NORTH], action: [goto, LOC_WINDOW2]},
     ]
 - LOC_LOWROOM:
     description:
@@ -1392,10 +1275,10 @@ locations: !!omap
       short: 'You''re in large low room.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['BEDQU'], action: [goto, LOC_BEDQUILT]},
-      {verbs: ['SW'], action: [goto, LOC_WINDING]},
-      {verbs: ['NORTH'], action: [goto, LOC_DEADCRAWL]},
-      {verbs: ['SE', 'ORIEN'], action: [goto, LOC_ORIENTAL]},
+      {verbs: [BEDQU], action: [goto, LOC_BEDQUILT]},
+      {verbs: [SW], action: [goto, LOC_WINDING]},
+      {verbs: [NORTH], action: [goto, LOC_DEADCRAWL]},
+      {verbs: [SE, ORIEN], action: [goto, LOC_ORIENTAL]},
     ]
 - LOC_DEADCRAWL:
     description:
@@ -1403,7 +1286,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['SOUTH', 'CRAWL', 'OUT'], action: [goto, LOC_LOWROOM]},
+      {verbs: [SOUTH, CRAWL, OUT], action: [goto, LOC_LOWROOM]},
     ]
 - LOC_SECRET3:
     description:
@@ -1414,10 +1297,10 @@ locations: !!omap
       short: 'You''re in secret e/w canyon above tight canyon.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['EAST'], action: [goto, LOC_KINGHALL]},
-      {verbs: ['WEST'], cond: [not, DRAGON, DRAGON_BARS], action: [goto, LOC_SECRET5]},
-      {verbs: ['WEST'], action: [goto, LOC_SECRET6]},
-      {verbs: ['D'], action: [goto, LOC_WIDEPLACE]},
+      {verbs: [EAST], action: [goto, LOC_KINGHALL]},
+      {verbs: [WEST], cond: [not, DRAGON, DRAGON_BARS], action: [goto, LOC_SECRET5]},
+      {verbs: [WEST], action: [goto, LOC_SECRET6]},
+      {verbs: [DOWN], action: [goto, LOC_WIDEPLACE]},
     ]
 - LOC_WIDEPLACE:
     description:
@@ -1425,8 +1308,8 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['SOUTH'], action: [goto, LOC_TIGHTPLACE]},
-      {verbs: ['NORTH'], action: [goto, LOC_TALL]},
+      {verbs: [SOUTH], action: [goto, LOC_TIGHTPLACE]},
+      {verbs: [NORTH], action: [goto, LOC_TALL]},
     ]
 - LOC_TIGHTPLACE:
     description:
@@ -1434,7 +1317,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['NORTH'], action: [goto, LOC_WIDEPLACE]},
+      {verbs: [NORTH], action: [goto, LOC_WIDEPLACE]},
     ]
 - LOC_TALL:
     description:
@@ -1444,9 +1327,9 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['EAST'], action: [goto, LOC_WIDEPLACE]},
-      {verbs: ['WEST'], action: [goto, LOC_BOULDERS1]},
-      {verbs: ['NORTH', 'CRAWL'], action: [goto, LOC_SWISSCHEESE]},
+      {verbs: [EAST], action: [goto, LOC_WIDEPLACE]},
+      {verbs: [WEST], action: [goto, LOC_BOULDERS1]},
+      {verbs: [NORTH, CRAWL], action: [goto, LOC_SWISSCHEESE]},
     ]
 - LOC_BOULDERS1:
     description:
@@ -1454,7 +1337,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['SOUTH'], action: [goto, LOC_TALL]},
+      {verbs: [SOUTH], action: [goto, LOC_TALL]},
     ]
 - LOC_SEWER:
     description:
@@ -1473,10 +1356,10 @@ locations: !!omap
     conditions: {DEEP: true, NOBACK: true}
     hints: [*maze]
     travel: [
-      {verbs: ['NORTH'], action: [goto, LOC_ALIKE1]},
-      {verbs: ['WEST'], action: [goto, LOC_ALIKE11]},
-      {verbs: ['SOUTH'], action: [goto, LOC_ALIKE11]},
-      {verbs: ['EAST'], action: [goto, LOC_DEADEND8]},
+      {verbs: [NORTH], action: [goto, LOC_ALIKE1]},
+      {verbs: [WEST], action: [goto, LOC_ALIKE11]},
+      {verbs: [SOUTH], action: [goto, LOC_ALIKE11]},
+      {verbs: [EAST], action: [goto, LOC_DEADEND8]},
     ]
 - LOC_DEADEND8:
     description:
@@ -1485,7 +1368,7 @@ locations: !!omap
     conditions: {DEEP: true}
     hints: [*maze]
     travel: [
-      {verbs: ['WEST', 'OUT'], action: [goto, LOC_ALIKE11]},
+      {verbs: [WEST, OUT], action: [goto, LOC_ALIKE11]},
     ]
 - LOC_DEADEND9:
     description:
@@ -1494,7 +1377,7 @@ locations: !!omap
     conditions: {DEEP: true, NOARRR: true}
     hints: [*maze]
     travel: [
-      {verbs: ['SOUTH', 'OUT'], action: [goto, LOC_ALIKE3]},
+      {verbs: [SOUTH, OUT], action: [goto, LOC_ALIKE3]},
     ]
 - LOC_ALIKE12:
     description:
@@ -1502,9 +1385,9 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true, NOBACK: true}
     travel: [
-      {verbs: ['SOUTH'], action: [goto, LOC_PITBRINK]},
-      {verbs: ['EAST'], action: [goto, LOC_ALIKE13]},
-      {verbs: ['WEST'], action: [goto, LOC_DEADEND10]},
+      {verbs: [SOUTH], action: [goto, LOC_PITBRINK]},
+      {verbs: [EAST], action: [goto, LOC_ALIKE13]},
+      {verbs: [WEST], action: [goto, LOC_DEADEND10]},
     ]
 - LOC_ALIKE13:
     description:
@@ -1512,9 +1395,9 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true, NOBACK: true}
     travel: [
-      {verbs: ['NORTH'], action: [goto, LOC_PITBRINK]},
-      {verbs: ['WEST'], action: [goto, LOC_ALIKE12]},
-      {verbs: ['NW'], action: [goto, LOC_DEADEND12]},
+      {verbs: [NORTH], action: [goto, LOC_PITBRINK]},
+      {verbs: [WEST], action: [goto, LOC_ALIKE12]},
+      {verbs: [NW], action: [goto, LOC_DEADEND12]},
     ]
 - LOC_DEADEND10:
     description:
@@ -1522,7 +1405,7 @@ locations: !!omap
       short: !!null
     conditions: {NOARRR: true, DEEP: true}
     travel: [
-      {verbs: ['EAST', 'OUT'], action: [goto, LOC_ALIKE12]},
+      {verbs: [EAST, OUT], action: [goto, LOC_ALIKE12]},
     ]
 - LOC_DEADEND11:
     description:
@@ -1531,7 +1414,7 @@ locations: !!omap
     conditions: {DEEP: true, NOARRR: true}
     hints: [*maze]
     travel: [
-      {verbs: ['UPWAR', 'OUT'], action: [goto, LOC_ALIKE8]},
+      {verbs: [UPWAR, OUT], action: [goto, LOC_ALIKE8]},
     ]
 - LOC_ALIKE14:
     description:
@@ -1540,7 +1423,7 @@ locations: !!omap
     conditions: {DEEP: true, NOBACK: true}
     hints: [*maze]
     travel: [
-      {verbs: ['UPWAR', 'D'], action: [goto, LOC_ALIKE4]},
+      {verbs: [UPWAR, DOWN], action: [goto, LOC_ALIKE4]},
     ]
 - LOC_NARROW:
     description:
@@ -1551,9 +1434,9 @@ locations: !!omap
       short: 'You''re in narrow corridor.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['D', 'CLIMB', 'EAST'], action: [goto, LOC_WESTPIT]},
-      {verbs: ['JUMP'], action: [goto, LOC_NECKBROKE]},
-      {verbs: ['WEST', 'GIANT'], action: [goto, LOC_GIANTROOM]},
+      {verbs: [DOWN, CLIMB, EAST], action: [goto, LOC_WESTPIT]},
+      {verbs: [JUMP], action: [goto, LOC_NECKBROKE]},
+      {verbs: [WEST, GIANT], action: [goto, LOC_GIANTROOM]},
     ]
 - LOC_NOCLIMB:
     description:
@@ -1580,8 +1463,8 @@ locations: !!omap
       short: 'You''re at steep incline above large room.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['NORTH', 'CAVER', 'PASSA'], action: [goto, LOC_WATERFALL]},
-      {verbs: ['D', 'CLIMB'], action: [goto, LOC_LOWROOM]},
+      {verbs: [NORTH, CAVER, PASSA], action: [goto, LOC_WATERFALL]},
+      {verbs: [DOWN, CLIMB], action: [goto, LOC_LOWROOM]},
     ]
 - LOC_GIANTROOM:
     description:
@@ -1592,9 +1475,9 @@ locations: !!omap
       short: 'You''re in Giant Room.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['SOUTH'], action: [goto, LOC_NARROW]},
-      {verbs: ['EAST'], action: [goto, LOC_CAVEIN]},
-      {verbs: ['NORTH'], action: [goto, LOC_IMMENSE]},
+      {verbs: [SOUTH], action: [goto, LOC_NARROW]},
+      {verbs: [EAST], action: [goto, LOC_CAVEIN]},
+      {verbs: [NORTH], action: [goto, LOC_IMMENSE]},
     ]
 - LOC_CAVEIN:
     description:
@@ -1602,7 +1485,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['SOUTH', 'GIANT', 'OUT'], action: [goto, LOC_GIANTROOM]},
+      {verbs: [SOUTH, GIANT, OUT], action: [goto, LOC_GIANTROOM]},
     ]
 - LOC_IMMENSE:
     description:
@@ -1611,10 +1494,10 @@ locations: !!omap
     conditions: {DEEP: true}
     sound: WIND_WHISTLES
     travel: [
-      {verbs: ['SOUTH', 'GIANT', 'PASSA'], action: [goto, LOC_GIANTROOM]},
-      {verbs: ['NORTH', 'ENTER', 'CAVER'], cond: [not, DOOR, 0],
-                                           action: [goto, LOC_WATERFALL]},
-      {verbs: ['NORTH'], action: ["speak", RUSTY_DOOR]},
+      {verbs: [SOUTH, GIANT, PASSA], action: [goto, LOC_GIANTROOM]},
+      {verbs: [NORTH, ENTER, CAVER], cond: [not, DOOR, DOOR_RUSTED],
+                                     action: [goto, LOC_WATERFALL]},
+      {verbs: [NORTH], action: [speak, RUSTY_DOOR]},
     ]
 - LOC_WATERFALL:
     description:
@@ -1626,9 +1509,9 @@ locations: !!omap
     conditions: {FLUID: true, DEEP: true}
     sound: STREAM_SPLASHES
     travel: [
-      {verbs: ['SOUTH', 'OUT'], action: [goto, LOC_IMMENSE]},
-      {verbs: ['GIANT'], action: [goto, LOC_GIANTROOM]},
-      {verbs: ['WEST'], action: [goto, LOC_INCLINE]},
+      {verbs: [SOUTH, OUT], action: [goto, LOC_IMMENSE]},
+      {verbs: [GIANT], action: [goto, LOC_GIANTROOM]},
+      {verbs: [WEST], action: [goto, LOC_INCLINE]},
     ]
 - LOC_SOFTROOM:
     description:
@@ -1638,7 +1521,7 @@ locations: !!omap
       short: 'You''re in Soft Room.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['WEST', 'OUT'], action: [goto, LOC_SWISSCHEESE]},
+      {verbs: [WEST, OUT], action: [goto, LOC_SWISSCHEESE]},
     ]
 - LOC_ORIENTAL:
     description:
@@ -1649,9 +1532,9 @@ locations: !!omap
       short: 'You''re in Oriental Room.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['SE'], action: [goto, LOC_SWISSCHEESE]},
-      {verbs: ['WEST', 'CRAWL'], action: [goto, LOC_LOWROOM]},
-      {verbs: ['UPWAR', 'NORTH', 'CAVER'], action: [goto, LOC_MISTY]},
+      {verbs: [SE], action: [goto, LOC_SWISSCHEESE]},
+      {verbs: [WEST, CRAWL], action: [goto, LOC_LOWROOM]},
+      {verbs: [UPWAR, NORTH, CAVER], action: [goto, LOC_MISTY]},
     ]
 - LOC_MISTY:
     description:
@@ -1664,8 +1547,8 @@ locations: !!omap
     conditions: {DEEP: true}
     sound: NO_MEANING
     travel: [
-      {verbs: ['SOUTH', 'ORIEN'], action: [goto, LOC_ORIENTAL]},
-      {verbs: ['WEST'], action: [goto, LOC_ALCOVE]},
+      {verbs: [SOUTH, ORIEN], action: [goto, LOC_ORIENTAL]},
+      {verbs: [WEST], action: [goto, LOC_ALCOVE]},
     ]
 - LOC_ALCOVE:
     description:
@@ -1677,9 +1560,9 @@ locations: !!omap
     conditions: {DEEP: true}
     hints: [*dark]
     travel: [
-      {verbs: ['NW', 'CAVER'], action: [goto, LOC_MISTY]},
-      {verbs: ['EAST', 'PASSA'], action: ["special", 1]},
-      {verbs: ['EAST'], action: [goto, LOC_PLOVER]},
+      {verbs: [NW, CAVER], action: [goto, LOC_MISTY]},
+      {verbs: [EAST, PASSA], action: ["special", 1]},
+      {verbs: [EAST], action: [goto, LOC_PLOVER]},
     ]
 - LOC_PLOVER:
     description:
@@ -1690,11 +1573,11 @@ locations: !!omap
     conditions: {DEEP: true, LIT: true}
     hints: [*dark]
     travel: [
-      {verbs: ['WEST', 'PASSA', 'OUT'], action: ["special", 1]},
-      {verbs: ['WEST'], action: [goto, LOC_ALCOVE]},
-      {verbs: ['PLOVE'], cond: [carry, EMERALD], action: ["special", 2]},
-      {verbs: ['PLOVE'], action: [goto, LOC_FOOF6]},
-      {verbs: ['NE', 'DARK'], action: [goto, LOC_DARKROOM]},
+      {verbs: [WEST, PASSA, OUT], action: ["special", 1]},
+      {verbs: [WEST], action: [goto, LOC_ALCOVE]},
+      {verbs: [PLOVE], cond: [carry, EMERALD], action: ["special", 2]},
+      {verbs: [PLOVE], action: [goto, LOC_FOOF6]},
+      {verbs: [NE, DARK], action: [goto, LOC_DARKROOM]},
     ]
 - LOC_DARKROOM:
     description:
@@ -1703,7 +1586,7 @@ locations: !!omap
     conditions: {DEEP: true}
     hints: [*dark]
     travel: [
-      {verbs: ['SOUTH', 'PLOVE', 'OUT'], action: [goto, LOC_PLOVER]},
+      {verbs: [SOUTH, PLOVE, OUT], action: [goto, LOC_PLOVER]},
     ]
 - LOC_ARCHED:
     description:
@@ -1713,7 +1596,7 @@ locations: !!omap
       short: 'You''re in arched hall.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['D', 'SHELL', 'OUT'], action: [goto, LOC_SHELLROOM]},
+      {verbs: [DOWN, SHELL, OUT], action: [goto, LOC_SHELLROOM]},
     ]
 - LOC_SHELLROOM:
     description:
@@ -1725,13 +1608,13 @@ locations: !!omap
       short: 'You''re in Shell Room.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['UPWAR', 'HALL'], action: [goto, LOC_ARCHED]},
-      {verbs: ['D'], action: [goto, LOC_SLOPING1]},
-      {verbs: ['SOUTH'], cond: [carry, CLAM],
-                         action: ["speak", CLAM_BLOCKER]},
-      {verbs: ['SOUTH'], cond: [carry, OYSTER],
-                         action: ["speak", OYSTER_BLOCKER]},
-      {verbs: ['SOUTH'], action: [goto, LOC_COMPLEX]},
+      {verbs: [UPWAR, HALL], action: [goto, LOC_ARCHED]},
+      {verbs: [DOWN], action: [goto, LOC_SLOPING1]},
+      {verbs: [SOUTH], cond: [carry, CLAM],
+                         action: [speak, CLAM_BLOCKER]},
+      {verbs: [SOUTH], cond: [carry, OYSTER],
+                         action: [speak, OYSTER_BLOCKER]},
+      {verbs: [SOUTH], action: [goto, LOC_COMPLEX]},
     ]
 - LOC_SLOPING1:
     description:
@@ -1739,8 +1622,8 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['UPWAR', 'SHELL'], action: [goto, LOC_SHELLROOM]},
-      {verbs: ['D'], action: [goto, LOC_CULDESAC]},
+      {verbs: [UPWAR, SHELL], action: [goto, LOC_SHELLROOM]},
+      {verbs: [DOWN], action: [goto, LOC_CULDESAC]},
     ]
 - LOC_CULDESAC:
     description:
@@ -1748,8 +1631,8 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['UPWAR', 'OUT'], action: [goto, LOC_SLOPING1]},
-      {verbs: ['SHELL'], action: [goto, LOC_SHELLROOM]},
+      {verbs: [UPWAR, OUT], action: [goto, LOC_SLOPING1]},
+      {verbs: [SHELL], action: [goto, LOC_SHELLROOM]},
     ]
 - LOC_ANTEROOM:
     description:
@@ -1761,9 +1644,9 @@ locations: !!omap
       short: 'You''re in anteroom.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['UPWAR'], action: [goto, LOC_COMPLEX]},
-      {verbs: ['WEST'], action: [goto, LOC_BEDQUILT]},
-      {verbs: ['EAST'], action: [goto, LOC_WITTSEND]},
+      {verbs: [UPWAR], action: [goto, LOC_COMPLEX]},
+      {verbs: [WEST], action: [goto, LOC_BEDQUILT]},
+      {verbs: [EAST], action: [goto, LOC_WITTSEND]},
     ]
 - LOC_DIFFERENT1:
     description:
@@ -1771,16 +1654,16 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true, NOBACK: true}
     travel: [
-      {verbs: ['SOUTH'], action: [goto, LOC_DIFFERENT3]},
-      {verbs: ['SW'], action: [goto, LOC_DIFFERENT4]},
-      {verbs: ['NE'], action: [goto, LOC_DIFFERENT5]},
-      {verbs: ['SE'], action: [goto, LOC_DIFFERENT6]},
-      {verbs: ['UPWAR'], action: [goto, LOC_DIFFERENT7]},
-      {verbs: ['NW'], action: [goto, LOC_DIFFERENT8]},
-      {verbs: ['EAST'], action: [goto, LOC_DIFFERENT9]},
-      {verbs: ['WEST'], action: [goto, LOC_DIFFERENT10]},
-      {verbs: ['NORTH'], action: [goto, LOC_DIFFERENT11]},
-      {verbs: ['D'], action: [goto, LOC_LONGWEST]},
+      {verbs: [SOUTH], action: [goto, LOC_DIFFERENT3]},
+      {verbs: [SW], action: [goto, LOC_DIFFERENT4]},
+      {verbs: [NE], action: [goto, LOC_DIFFERENT5]},
+      {verbs: [SE], action: [goto, LOC_DIFFERENT6]},
+      {verbs: [UPWAR], action: [goto, LOC_DIFFERENT7]},
+      {verbs: [NW], action: [goto, LOC_DIFFERENT8]},
+      {verbs: [EAST], action: [goto, LOC_DIFFERENT9]},
+      {verbs: [WEST], action: [goto, LOC_DIFFERENT10]},
+      {verbs: [NORTH], action: [goto, LOC_DIFFERENT11]},
+      {verbs: [DOWN], action: [goto, LOC_LONGWEST]},
     ]
 - LOC_WITTSEND:
     description:
@@ -1789,9 +1672,10 @@ locations: !!omap
     conditions: {DEEP: true, NOBACK: true}
     hints: [*witt]
     travel: [
-      {verbs: ['EAST', 'NORTH', 'SOUTH', 'NE', 'SE', 'SW', 'NW', 'UPWAR', 'D'], cond: [pct, 95], action: ["speak", FUTILE_CRAWL]},
-      {verbs: ['EAST'], action: [goto, LOC_ANTEROOM]},
-      {verbs: ['WEST'], action: ["speak", WAY_BLOCKED]},
+      {verbs: [EAST, NORTH, SOUTH, NE, SE, SW, NW, UPWAR, DOWN],
+              cond: [pct, 95], action: [speak, FUTILE_CRAWL]},
+      {verbs: [EAST], action: [goto, LOC_ANTEROOM]},
+      {verbs: [WEST], action: [speak, WAY_BLOCKED]},
     ]
 - LOC_MIRRORCANYON:
     description:
@@ -1808,8 +1692,8 @@ locations: !!omap
     hints: [*jade]
     sound: WIND_WHISTLES
     travel: [
-      {verbs: ['SOUTH'], action: [goto, LOC_SECRET1]},
-      {verbs: ['NORTH', 'RESER'], action: [goto, LOC_RESERVOIR]},
+      {verbs: [SOUTH], action: [goto, LOC_SECRET1]},
+      {verbs: [NORTH, RESER], action: [goto, LOC_RESERVOIR]},
     ]
 - LOC_WINDOW2:
     description:
@@ -1824,8 +1708,8 @@ locations: !!omap
       short: 'You''re at window on pit.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['WEST'], action: [goto, LOC_THREEJUNCTION]},
-      {verbs: ['JUMP'], action: [goto, LOC_NECKBROKE]},
+      {verbs: [WEST], action: [goto, LOC_THREEJUNCTION]},
+      {verbs: [JUMP], action: [goto, LOC_NECKBROKE]},
     ]
 - LOC_TOPSTALACTITE:
     description:
@@ -1836,11 +1720,11 @@ locations: !!omap
       short: 'You''re at top of stalactite.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['NORTH'], action: [goto, LOC_SECRET2]},
-      {verbs: ['D', 'JUMP', 'CLIMB'], cond: [pct, 40],
+      {verbs: [NORTH], action: [goto, LOC_SECRET2]},
+      {verbs: [DOWN, JUMP, CLIMB], cond: [pct, 40],
                                       action: [goto, LOC_ALIKE6]},
-      {verbs: ['D'], cond: [pct, 50], action: [goto, LOC_ALIKE9]},
-      {verbs: ['D'], action: [goto, LOC_ALIKE4]},
+      {verbs: [DOWN], cond: [pct, 50], action: [goto, LOC_ALIKE9]},
+      {verbs: [DOWN], action: [goto, LOC_ALIKE4]},
     ]
 - LOC_DIFFERENT2:
     description:
@@ -1848,16 +1732,16 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true, NOBACK: true}
     travel: [
-      {verbs: ['SW'], action: [goto, LOC_DIFFERENT3]},
-      {verbs: ['NORTH'], action: [goto, LOC_DIFFERENT4]},
-      {verbs: ['EAST'], action: [goto, LOC_DIFFERENT5]},
-      {verbs: ['NW'], action: [goto, LOC_DIFFERENT6]},
-      {verbs: ['SE'], action: [goto, LOC_DIFFERENT7]},
-      {verbs: ['NE'], action: [goto, LOC_DIFFERENT8]},
-      {verbs: ['WEST'], action: [goto, LOC_DIFFERENT9]},
-      {verbs: ['D'], action: [goto, LOC_DIFFERENT10]},
-      {verbs: ['UPWAR'], action: [goto, LOC_DIFFERENT11]},
-      {verbs: ['SOUTH'], action: [goto, LOC_DEADEND13]},
+      {verbs: [SW], action: [goto, LOC_DIFFERENT3]},
+      {verbs: [NORTH], action: [goto, LOC_DIFFERENT4]},
+      {verbs: [EAST], action: [goto, LOC_DIFFERENT5]},
+      {verbs: [NW], action: [goto, LOC_DIFFERENT6]},
+      {verbs: [SE], action: [goto, LOC_DIFFERENT7]},
+      {verbs: [NE], action: [goto, LOC_DIFFERENT8]},
+      {verbs: [WEST], action: [goto, LOC_DIFFERENT9]},
+      {verbs: [DOWN], action: [goto, LOC_DIFFERENT10]},
+      {verbs: [UPWAR], action: [goto, LOC_DIFFERENT11]},
+      {verbs: [SOUTH], action: [goto, LOC_DEADEND13]},
     ]
 - LOC_RESERVOIR:
     description:
@@ -1871,9 +1755,9 @@ locations: !!omap
     conditions: {FLUID: true, DEEP: true}
     sound: STREAM_SPLASHES
     travel: [
-      {verbs: ['SOUTH', 'OUT'], action: [goto, LOC_MIRRORCANYON]},
-      {verbs: ['NORTH', 'ACROS', 'CROSS'], cond: [not, RESER, 1], action: ["speak", BAD_DIRECTION]},
-      {verbs: ['NORTH'], action: [goto, LOC_RESBOTTOM]},
+      {verbs: [SOUTH, OUT], action: [goto, LOC_MIRRORCANYON]},
+      {verbs: [NORTH, ACROS, CROSS], cond: [not, RESER, WATERS_PARTED], action: [speak, BAD_DIRECTION]},
+      {verbs: [NORTH], action: [goto, LOC_RESBOTTOM]},
     ]
 - LOC_DEADEND12:
     description:
@@ -1881,7 +1765,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['SE'], action: [goto, LOC_ALIKE13]},
+      {verbs: [SE], action: [goto, LOC_ALIKE13]},
     ]
 - LOC_NE:
     description:
@@ -1901,7 +1785,7 @@ locations: !!omap
     conditions: {DEEP: true, LIT: true}
     sound: MURMURING_SNORING
     travel: [
-      {verbs: ['SW'], action: [goto, LOC_SW]},
+      {verbs: [SW], action: [goto, LOC_SW]},
     ]
 - LOC_SW:
     description:
@@ -1918,8 +1802,8 @@ locations: !!omap
     conditions: {DEEP: true, LIT: true}
     sound: SNAKES_HISSING
     travel: [
-      {verbs: ['NE'], action: [goto, LOC_NE]},
-      {verbs: ['D'], action: ["speak", GRATE_NOWAY]},
+      {verbs: [NE], action: [goto, LOC_NE]},
+      {verbs: [DOWN], action: [speak, GRATE_NOWAY]},
     ]
 - LOC_SWCHASM:
     description:
@@ -1930,15 +1814,15 @@ locations: !!omap
       short: 'You''re on sw side of chasm.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['SW'], action: [goto, LOC_WINDING]},
-      {verbs: ['OVER', 'ACROS', 'CROSS', 'NE'], cond: [with, TROLL],
-                                                action: ["speak", TROLL_BLOCKS]},
-      {verbs: ['OVER'], cond: [not, CHASM, TROLL_BRIDGE],
-                        action: ["speak", BRIDGE_GONE]},
-      {verbs: ['OVER'], action: ["special", 3]},
-      {verbs: ['JUMP'], cond: [not, CHASM, TROLL_BRIDGE],
+      {verbs: [SW], action: [goto, LOC_WINDING]},
+      {verbs: [OVER, ACROS, CROSS, NE], cond: [with, TROLL],
+                                                action: [speak, TROLL_BLOCKS]},
+      {verbs: [OVER], cond: [not, CHASM, TROLL_BRIDGE],
+                        action: [speak, BRIDGE_GONE]},
+      {verbs: [OVER], action: ["special", 3]},
+      {verbs: [JUMP], cond: [not, CHASM, TROLL_BRIDGE],
                         action: [goto, LOC_NOMAKE]},
-      {verbs: ['JUMP'], action: ["speak", CROSS_BRIDGE]},
+      {verbs: [JUMP], action: [speak, CROSS_BRIDGE]},
     ]
 - LOC_WINDING:
     description:
@@ -1948,17 +1832,19 @@ locations: !!omap
       short: 'You''re in sloping corridor.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['D'], action: [goto, LOC_LOWROOM]},
-      {verbs: ['UPWAR'], action: [goto, LOC_SWCHASM]},
+      {verbs: [DOWN], action: [goto, LOC_LOWROOM]},
+      {verbs: [UPWAR], action: [goto, LOC_SWCHASM]},
     ]
+  # Following three rooms are where the dragon lives.  The code has a
+  # wired-in assumption that the dragon corpse goes to LOC_SECRET5,
 - LOC_SECRET4:
     description:
       long: 'You are in a secret canyon which exits to the north and east.'
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['NORTH', 'OUT'], action: [goto, LOC_SECRET1]},
-      {verbs: ['EAST', 'FORWA'], action: ["speak", NASTY_DRAGON]},
+      {verbs: [NORTH, OUT], action: [goto, LOC_SECRET1]},
+      {verbs: [EAST, FORWA], action: [speak, NASTY_DRAGON]},
     ]
 - LOC_SECRET5:
     description:
@@ -1966,8 +1852,8 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['NORTH'], action: [goto, LOC_SECRET1]},
-      {verbs: ['EAST'], action: [goto, LOC_SECRET3]},
+      {verbs: [NORTH], action: [goto, LOC_SECRET1]},
+      {verbs: [EAST], action: [goto, LOC_SECRET3]},
     ]
 - LOC_SECRET6:
     description:
@@ -1975,8 +1861,8 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['EAST', 'OUT'], action: [goto, LOC_SECRET3]},
-      {verbs: ['NORTH', 'FORWA'], action: ["speak", NASTY_DRAGON]},
+      {verbs: [EAST, OUT], action: [goto, LOC_SECRET3]},
+      {verbs: [NORTH, FORWA], action: [speak, NASTY_DRAGON]},
     ]
 - LOC_NECHASM:
     description:
@@ -1986,13 +1872,13 @@ locations: !!omap
       short: 'You''re on ne side of chasm.'
     conditions: {NOARRR: true, DEEP: true}
     travel: [
-      {verbs: ['NE'], action: [goto, LOC_CORRIDOR]},
-      {verbs: ['OVER', 'ACROS', 'CROSS', 'SW'], cond: [with, TROLL], action: ["speak", TROLL_BLOCKS]},
-      {verbs: ['OVER'], action: ["special", 3]},
-      {verbs: ['JUMP'], action: ["speak", CROSS_BRIDGE]},
-      {verbs: ['FORK'], action: [goto, LOC_FORK]},
-      {verbs: ['VIEW'], action: [goto, LOC_BREATHTAKING]},
-      {verbs: ['BARRE'], action: [goto, LOC_BARRENFRONT]},
+      {verbs: [NE], action: [goto, LOC_CORRIDOR]},
+      {verbs: [OVER, ACROS, CROSS, SW], cond: [with, TROLL], action: [speak, TROLL_BLOCKS]},
+      {verbs: [OVER], action: ["special", 3]},
+      {verbs: [JUMP], action: [speak, CROSS_BRIDGE]},
+      {verbs: [FORK], action: [goto, LOC_FORK]},
+      {verbs: [VIEW], action: [goto, LOC_BREATHTAKING]},
+      {verbs: [BARRE], action: [goto, LOC_BARRENFRONT]},
     ]
 - LOC_CORRIDOR:
     description:
@@ -2003,10 +1889,10 @@ locations: !!omap
     conditions: {NOARRR: true, DEEP: true}
     sound: DULL_RUMBLING
     travel: [
-      {verbs: ['WEST'], action: [goto, LOC_NECHASM]},
-      {verbs: ['EAST', 'FORK'], action: [goto, LOC_FORK]},
-      {verbs: ['VIEW'], action: [goto, LOC_BREATHTAKING]},
-      {verbs: ['BARRE'], action: [goto, LOC_BARRENFRONT]},
+      {verbs: [WEST], action: [goto, LOC_NECHASM]},
+      {verbs: [EAST, FORK], action: [goto, LOC_FORK]},
+      {verbs: [VIEW], action: [goto, LOC_BREATHTAKING]},
+      {verbs: [BARRE], action: [goto, LOC_BARRENFRONT]},
     ]
 - LOC_FORK:
     description:
@@ -2018,11 +1904,11 @@ locations: !!omap
     conditions: {NOARRR: true, DEEP: true}
     sound: DULL_RUMBLING
     travel: [
-      {verbs: ['WEST'], action: [goto, LOC_CORRIDOR]},
-      {verbs: ['NE', 'LEFT'], action: [goto, LOC_WARMWALLS]},
-      {verbs: ['SE', 'RIGHT', 'D'], action: [goto, LOC_LIMESTONE]},
-      {verbs: ['VIEW'], action: [goto, LOC_BREATHTAKING]},
-      {verbs: ['BARRE'], action: [goto, LOC_BARRENFRONT]},
+      {verbs: [WEST], action: [goto, LOC_CORRIDOR]},
+      {verbs: [NE, LEFT], action: [goto, LOC_WARMWALLS]},
+      {verbs: [SE, RIGHT, DOWN], action: [goto, LOC_LIMESTONE]},
+      {verbs: [VIEW], action: [goto, LOC_BREATHTAKING]},
+      {verbs: [BARRE], action: [goto, LOC_BARRENFRONT]},
     ]
 - LOC_WARMWALLS:
     description:
@@ -2034,9 +1920,9 @@ locations: !!omap
     conditions: {NOARRR: true, DEEP: true}
     sound: LOUD_ROAR
     travel: [
-      {verbs: ['SOUTH', 'FORK'], action: [goto, LOC_FORK]},
-      {verbs: ['NORTH', 'VIEW'], action: [goto, LOC_BREATHTAKING]},
-      {verbs: ['EAST', 'CRAWL'], action: [goto, LOC_BOULDERS2]},
+      {verbs: [SOUTH, FORK], action: [goto, LOC_FORK]},
+      {verbs: [NORTH, VIEW], action: [goto, LOC_BREATHTAKING]},
+      {verbs: [EAST, CRAWL], action: [goto, LOC_BOULDERS2]},
     ]
 - LOC_BREATHTAKING:
     description:
@@ -2066,10 +1952,10 @@ locations: !!omap
     sound: TOTAL_ROAR
     loud: true
     travel: [
-      {verbs: ['SOUTH', 'PASSA', 'OUT'], action: [goto, LOC_WARMWALLS]},
-      {verbs: ['FORK'], action: [goto, LOC_FORK]},
-      {verbs: ['D'], action: ["speak", RIDICULOUS_ATTEMPT]},
-      {verbs: ['JUMP'], action: [goto, LOC_GRUESOME]},
+      {verbs: [SOUTH, PASSA, OUT], action: [goto, LOC_WARMWALLS]},
+      {verbs: [FORK], action: [goto, LOC_FORK]},
+      {verbs: [DOWN], action: [speak, RIDICULOUS_ATTEMPT]},
+      {verbs: [JUMP], action: [goto, LOC_GRUESOME]},
     ]
 - LOC_BOULDERS2:
     description:
@@ -2082,9 +1968,9 @@ locations: !!omap
     conditions: {NOARRR: true, DEEP: true}
     sound: DULL_RUMBLING
     travel: [
-      {verbs: ['WEST', 'OUT', 'CRAWL'], action: [goto, LOC_WARMWALLS]},
-      {verbs: ['FORK'], action: [goto, LOC_FORK]},
-      {verbs: ['VIEW'], action: [goto, LOC_BREATHTAKING]},
+      {verbs: [WEST, OUT, CRAWL], action: [goto, LOC_WARMWALLS]},
+      {verbs: [FORK], action: [goto, LOC_FORK]},
+      {verbs: [VIEW], action: [goto, LOC_BREATHTAKING]},
     ]
 - LOC_LIMESTONE:
     description:
@@ -2094,9 +1980,9 @@ locations: !!omap
       short: 'You''re in limestone passage.'
     conditions: {NOARRR: true, DEEP: true}
     travel: [
-      {verbs: ['NORTH', 'UPWAR', 'FORK'], action: [goto, LOC_FORK]},
-      {verbs: ['SOUTH', 'D', 'BARRE'], action: [goto, LOC_BARRENFRONT]},
-      {verbs: ['VIEW'], action: [goto, LOC_BREATHTAKING]},
+      {verbs: [NORTH, UPWAR, FORK], action: [goto, LOC_FORK]},
+      {verbs: [SOUTH, DOWN, BARRE], action: [goto, LOC_BARRENFRONT]},
+      {verbs: [VIEW], action: [goto, LOC_BREATHTAKING]},
     ]
 - LOC_BARRENFRONT:
     description:
@@ -2106,11 +1992,10 @@ locations: !!omap
       short: 'You''re in front of Barren Room.'
     conditions: {NOARRR: true, DEEP: true}
     travel: [
-      {verbs: ['WEST', 'UPWAR'], action: [goto, LOC_LIMESTONE]},
-      {verbs: ['FORK'], action: [goto, LOC_FORK]},
-      {verbs: ['EAST', 'INWAR', 'BARRE', 'ENTER'],
-                                            action: [goto, LOC_BARRENROOM]},
-      {verbs: ['VIEW'], action: [goto, LOC_BREATHTAKING]},
+      {verbs: [WEST, UPWAR], action: [goto, LOC_LIMESTONE]},
+      {verbs: [FORK], action: [goto, LOC_FORK]},
+      {verbs: [EAST, INWAR, BARRE, ENTER], action: [goto, LOC_BARRENROOM]},
+      {verbs: [VIEW], action: [goto, LOC_BREATHTAKING]},
     ]
 - LOC_BARRENROOM:
     description:
@@ -2121,9 +2006,9 @@ locations: !!omap
       short: 'You''re in Barren Room.'
     conditions: {NOARRR: true, DEEP: true}
     travel: [
-      {verbs: ['WEST', 'OUT'], action: [goto, LOC_BARRENFRONT]},
-      {verbs: ['FORK'], action: [goto, LOC_FORK]},
-      {verbs: ['VIEW'], action: [goto, LOC_BREATHTAKING]},
+      {verbs: [WEST, OUT], action: [goto, LOC_BARRENFRONT]},
+      {verbs: [FORK], action: [goto, LOC_FORK]},
+      {verbs: [VIEW], action: [goto, LOC_BREATHTAKING]},
     ]
 - LOC_DIFFERENT3:
     description:
@@ -2131,16 +2016,16 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true, NOBACK: true}
     travel: [
-      {verbs: ['WEST'], action: [goto, LOC_DIFFERENT1]},
-      {verbs: ['SE'], action: [goto, LOC_DIFFERENT4]},
-      {verbs: ['NW'], action: [goto, LOC_DIFFERENT5]},
-      {verbs: ['SW'], action: [goto, LOC_DIFFERENT6]},
-      {verbs: ['NE'], action: [goto, LOC_DIFFERENT7]},
-      {verbs: ['UPWAR'], action: [goto, LOC_DIFFERENT8]},
-      {verbs: ['D'], action: [goto, LOC_DIFFERENT9]},
-      {verbs: ['NORTH'], action: [goto, LOC_DIFFERENT10]},
-      {verbs: ['SOUTH'], action: [goto, LOC_DIFFERENT11]},
-      {verbs: ['EAST'], action: [goto, LOC_DIFFERENT2]},
+      {verbs: [WEST], action: [goto, LOC_DIFFERENT1]},
+      {verbs: [SE], action: [goto, LOC_DIFFERENT4]},
+      {verbs: [NW], action: [goto, LOC_DIFFERENT5]},
+      {verbs: [SW], action: [goto, LOC_DIFFERENT6]},
+      {verbs: [NE], action: [goto, LOC_DIFFERENT7]},
+      {verbs: [UPWAR], action: [goto, LOC_DIFFERENT8]},
+      {verbs: [DOWN], action: [goto, LOC_DIFFERENT9]},
+      {verbs: [NORTH], action: [goto, LOC_DIFFERENT10]},
+      {verbs: [SOUTH], action: [goto, LOC_DIFFERENT11]},
+      {verbs: [EAST], action: [goto, LOC_DIFFERENT2]},
     ]
 - LOC_DIFFERENT4:
     description:
@@ -2148,16 +2033,16 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true, NOBACK: true}
     travel: [
-      {verbs: ['NW'], action: [goto, LOC_DIFFERENT1]},
-      {verbs: ['UPWAR'], action: [goto, LOC_DIFFERENT3]},
-      {verbs: ['NORTH'], action: [goto, LOC_DIFFERENT5]},
-      {verbs: ['SOUTH'], action: [goto, LOC_DIFFERENT6]},
-      {verbs: ['WEST'], action: [goto, LOC_DIFFERENT7]},
-      {verbs: ['SW'], action: [goto, LOC_DIFFERENT8]},
-      {verbs: ['NE'], action: [goto, LOC_DIFFERENT9]},
-      {verbs: ['EAST'], action: [goto, LOC_DIFFERENT10]},
-      {verbs: ['D'], action: [goto, LOC_DIFFERENT11]},
-      {verbs: ['SE'], action: [goto, LOC_DIFFERENT2]},
+      {verbs: [NW], action: [goto, LOC_DIFFERENT1]},
+      {verbs: [UPWAR], action: [goto, LOC_DIFFERENT3]},
+      {verbs: [NORTH], action: [goto, LOC_DIFFERENT5]},
+      {verbs: [SOUTH], action: [goto, LOC_DIFFERENT6]},
+      {verbs: [WEST], action: [goto, LOC_DIFFERENT7]},
+      {verbs: [SW], action: [goto, LOC_DIFFERENT8]},
+      {verbs: [NE], action: [goto, LOC_DIFFERENT9]},
+      {verbs: [EAST], action: [goto, LOC_DIFFERENT10]},
+      {verbs: [DOWN], action: [goto, LOC_DIFFERENT11]},
+      {verbs: [SE], action: [goto, LOC_DIFFERENT2]},
     ]
 - LOC_DIFFERENT5:
     description:
@@ -2165,16 +2050,16 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true, NOBACK: true}
     travel: [
-      {verbs: ['UPWAR'], action: [goto, LOC_DIFFERENT1]},
-      {verbs: ['D'], action: [goto, LOC_DIFFERENT3]},
-      {verbs: ['WEST'], action: [goto, LOC_DIFFERENT4]},
-      {verbs: ['NE'], action: [goto, LOC_DIFFERENT6]},
-      {verbs: ['SW'], action: [goto, LOC_DIFFERENT7]},
-      {verbs: ['EAST'], action: [goto, LOC_DIFFERENT8]},
-      {verbs: ['NORTH'], action: [goto, LOC_DIFFERENT9]},
-      {verbs: ['NW'], action: [goto, LOC_DIFFERENT10]},
-      {verbs: ['SE'], action: [goto, LOC_DIFFERENT11]},
-      {verbs: ['SOUTH'], action: [goto, LOC_DIFFERENT2]},
+      {verbs: [UPWAR], action: [goto, LOC_DIFFERENT1]},
+      {verbs: [DOWN], action: [goto, LOC_DIFFERENT3]},
+      {verbs: [WEST], action: [goto, LOC_DIFFERENT4]},
+      {verbs: [NE], action: [goto, LOC_DIFFERENT6]},
+      {verbs: [SW], action: [goto, LOC_DIFFERENT7]},
+      {verbs: [EAST], action: [goto, LOC_DIFFERENT8]},
+      {verbs: [NORTH], action: [goto, LOC_DIFFERENT9]},
+      {verbs: [NW], action: [goto, LOC_DIFFERENT10]},
+      {verbs: [SE], action: [goto, LOC_DIFFERENT11]},
+      {verbs: [SOUTH], action: [goto, LOC_DIFFERENT2]},
     ]
 - LOC_DIFFERENT6:
     description:
@@ -2182,16 +2067,16 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true, NOBACK: true}
     travel: [
-      {verbs: ['NE'], action: [goto, LOC_DIFFERENT1]},
-      {verbs: ['NORTH'], action: [goto, LOC_DIFFERENT3]},
-      {verbs: ['NW'], action: [goto, LOC_DIFFERENT4]},
-      {verbs: ['SE'], action: [goto, LOC_DIFFERENT5]},
-      {verbs: ['EAST'], action: [goto, LOC_DIFFERENT7]},
-      {verbs: ['D'], action: [goto, LOC_DIFFERENT8]},
-      {verbs: ['SOUTH'], action: [goto, LOC_DIFFERENT9]},
-      {verbs: ['UPWAR'], action: [goto, LOC_DIFFERENT10]},
-      {verbs: ['WEST'], action: [goto, LOC_DIFFERENT11]},
-      {verbs: ['SW'], action: [goto, LOC_DIFFERENT2]},
+      {verbs: [NE], action: [goto, LOC_DIFFERENT1]},
+      {verbs: [NORTH], action: [goto, LOC_DIFFERENT3]},
+      {verbs: [NW], action: [goto, LOC_DIFFERENT4]},
+      {verbs: [SE], action: [goto, LOC_DIFFERENT5]},
+      {verbs: [EAST], action: [goto, LOC_DIFFERENT7]},
+      {verbs: [DOWN], action: [goto, LOC_DIFFERENT8]},
+      {verbs: [SOUTH], action: [goto, LOC_DIFFERENT9]},
+      {verbs: [UPWAR], action: [goto, LOC_DIFFERENT10]},
+      {verbs: [WEST], action: [goto, LOC_DIFFERENT11]},
+      {verbs: [SW], action: [goto, LOC_DIFFERENT2]},
     ]
 - LOC_DIFFERENT7:
     description:
@@ -2199,16 +2084,16 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true, NOBACK: true}
     travel: [
-      {verbs: ['NORTH'], action: [goto, LOC_DIFFERENT1]},
-      {verbs: ['SE'], action: [goto, LOC_DIFFERENT3]},
-      {verbs: ['D'], action: [goto, LOC_DIFFERENT4]},
-      {verbs: ['SOUTH'], action: [goto, LOC_DIFFERENT5]},
-      {verbs: ['EAST'], action: [goto, LOC_DIFFERENT6]},
-      {verbs: ['WEST'], action: [goto, LOC_DIFFERENT8]},
-      {verbs: ['SW'], action: [goto, LOC_DIFFERENT9]},
-      {verbs: ['NE'], action: [goto, LOC_DIFFERENT10]},
-      {verbs: ['NW'], action: [goto, LOC_DIFFERENT11]},
-      {verbs: ['UPWAR'], action: [goto, LOC_DIFFERENT2]},
+      {verbs: [NORTH], action: [goto, LOC_DIFFERENT1]},
+      {verbs: [SE], action: [goto, LOC_DIFFERENT3]},
+      {verbs: [DOWN], action: [goto, LOC_DIFFERENT4]},
+      {verbs: [SOUTH], action: [goto, LOC_DIFFERENT5]},
+      {verbs: [EAST], action: [goto, LOC_DIFFERENT6]},
+      {verbs: [WEST], action: [goto, LOC_DIFFERENT8]},
+      {verbs: [SW], action: [goto, LOC_DIFFERENT9]},
+      {verbs: [NE], action: [goto, LOC_DIFFERENT10]},
+      {verbs: [NW], action: [goto, LOC_DIFFERENT11]},
+      {verbs: [UPWAR], action: [goto, LOC_DIFFERENT2]},
     ]
 - LOC_DIFFERENT8:
     description:
@@ -2216,16 +2101,16 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true, NOBACK: true}
     travel: [
-      {verbs: ['EAST'], action: [goto, LOC_DIFFERENT1]},
-      {verbs: ['WEST'], action: [goto, LOC_DIFFERENT3]},
-      {verbs: ['UPWAR'], action: [goto, LOC_DIFFERENT4]},
-      {verbs: ['SW'], action: [goto, LOC_DIFFERENT5]},
-      {verbs: ['D'], action: [goto, LOC_DIFFERENT6]},
-      {verbs: ['SOUTH'], action: [goto, LOC_DIFFERENT7]},
-      {verbs: ['NW'], action: [goto, LOC_DIFFERENT9]},
-      {verbs: ['SE'], action: [goto, LOC_DIFFERENT10]},
-      {verbs: ['NE'], action: [goto, LOC_DIFFERENT11]},
-      {verbs: ['NORTH'], action: [goto, LOC_DIFFERENT2]},
+      {verbs: [EAST], action: [goto, LOC_DIFFERENT1]},
+      {verbs: [WEST], action: [goto, LOC_DIFFERENT3]},
+      {verbs: [UPWAR], action: [goto, LOC_DIFFERENT4]},
+      {verbs: [SW], action: [goto, LOC_DIFFERENT5]},
+      {verbs: [DOWN], action: [goto, LOC_DIFFERENT6]},
+      {verbs: [SOUTH], action: [goto, LOC_DIFFERENT7]},
+      {verbs: [NW], action: [goto, LOC_DIFFERENT9]},
+      {verbs: [SE], action: [goto, LOC_DIFFERENT10]},
+      {verbs: [NE], action: [goto, LOC_DIFFERENT11]},
+      {verbs: [NORTH], action: [goto, LOC_DIFFERENT2]},
     ]
 - LOC_DIFFERENT9:
     description:
@@ -2233,16 +2118,16 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true, NOBACK: true}
     travel: [
-      {verbs: ['SE'], action: [goto, LOC_DIFFERENT1]},
-      {verbs: ['NE'], action: [goto, LOC_DIFFERENT3]},
-      {verbs: ['SOUTH'], action: [goto, LOC_DIFFERENT4]},
-      {verbs: ['D'], action: [goto, LOC_DIFFERENT5]},
-      {verbs: ['UPWAR'], action: [goto, LOC_DIFFERENT6]},
-      {verbs: ['NW'], action: [goto, LOC_DIFFERENT7]},
-      {verbs: ['NORTH'], action: [goto, LOC_DIFFERENT8]},
-      {verbs: ['SW'], action: [goto, LOC_DIFFERENT10]},
-      {verbs: ['EAST'], action: [goto, LOC_DIFFERENT11]},
-      {verbs: ['WEST'], action: [goto, LOC_DIFFERENT2]},
+      {verbs: [SE], action: [goto, LOC_DIFFERENT1]},
+      {verbs: [NE], action: [goto, LOC_DIFFERENT3]},
+      {verbs: [SOUTH], action: [goto, LOC_DIFFERENT4]},
+      {verbs: [DOWN], action: [goto, LOC_DIFFERENT5]},
+      {verbs: [UPWAR], action: [goto, LOC_DIFFERENT6]},
+      {verbs: [NW], action: [goto, LOC_DIFFERENT7]},
+      {verbs: [NORTH], action: [goto, LOC_DIFFERENT8]},
+      {verbs: [SW], action: [goto, LOC_DIFFERENT10]},
+      {verbs: [EAST], action: [goto, LOC_DIFFERENT11]},
+      {verbs: [WEST], action: [goto, LOC_DIFFERENT2]},
     ]
 - LOC_DIFFERENT10:
     description:
@@ -2250,16 +2135,16 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true, NOBACK: true}
     travel: [
-      {verbs: ['D'], action: [goto, LOC_DIFFERENT1]},
-      {verbs: ['EAST'], action: [goto, LOC_DIFFERENT3]},
-      {verbs: ['NE'], action: [goto, LOC_DIFFERENT4]},
-      {verbs: ['UPWAR'], action: [goto, LOC_DIFFERENT5]},
-      {verbs: ['WEST'], action: [goto, LOC_DIFFERENT6]},
-      {verbs: ['NORTH'], action: [goto, LOC_DIFFERENT7]},
-      {verbs: ['SOUTH'], action: [goto, LOC_DIFFERENT8]},
-      {verbs: ['SE'], action: [goto, LOC_DIFFERENT9]},
-      {verbs: ['SW'], action: [goto, LOC_DIFFERENT11]},
-      {verbs: ['NW'], action: [goto, LOC_DIFFERENT2]},
+      {verbs: [DOWN], action: [goto, LOC_DIFFERENT1]},
+      {verbs: [EAST], action: [goto, LOC_DIFFERENT3]},
+      {verbs: [NE], action: [goto, LOC_DIFFERENT4]},
+      {verbs: [UPWAR], action: [goto, LOC_DIFFERENT5]},
+      {verbs: [WEST], action: [goto, LOC_DIFFERENT6]},
+      {verbs: [NORTH], action: [goto, LOC_DIFFERENT7]},
+      {verbs: [SOUTH], action: [goto, LOC_DIFFERENT8]},
+      {verbs: [SE], action: [goto, LOC_DIFFERENT9]},
+      {verbs: [SW], action: [goto, LOC_DIFFERENT11]},
+      {verbs: [NW], action: [goto, LOC_DIFFERENT2]},
     ]
 - LOC_DIFFERENT11:
     description:
@@ -2267,16 +2152,16 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true, NOBACK: true}
     travel: [
-      {verbs: ['SW'], action: [goto, LOC_DIFFERENT1]},
-      {verbs: ['NW'], action: [goto, LOC_DIFFERENT3]},
-      {verbs: ['EAST'], action: [goto, LOC_DIFFERENT4]},
-      {verbs: ['WEST'], action: [goto, LOC_DIFFERENT5]},
-      {verbs: ['NORTH'], action: [goto, LOC_DIFFERENT6]},
-      {verbs: ['D'], action: [goto, LOC_DIFFERENT7]},
-      {verbs: ['SE'], action: [goto, LOC_DIFFERENT8]},
-      {verbs: ['UPWAR'], action: [goto, LOC_DIFFERENT9]},
-      {verbs: ['SOUTH'], action: [goto, LOC_DIFFERENT10]},
-      {verbs: ['NE'], action: [goto, LOC_DIFFERENT2]},
+      {verbs: [SW], action: [goto, LOC_DIFFERENT1]},
+      {verbs: [NW], action: [goto, LOC_DIFFERENT3]},
+      {verbs: [EAST], action: [goto, LOC_DIFFERENT4]},
+      {verbs: [WEST], action: [goto, LOC_DIFFERENT5]},
+      {verbs: [NORTH], action: [goto, LOC_DIFFERENT6]},
+      {verbs: [DOWN], action: [goto, LOC_DIFFERENT7]},
+      {verbs: [SE], action: [goto, LOC_DIFFERENT8]},
+      {verbs: [UPWAR], action: [goto, LOC_DIFFERENT9]},
+      {verbs: [SOUTH], action: [goto, LOC_DIFFERENT10]},
+      {verbs: [NE], action: [goto, LOC_DIFFERENT2]},
     ]
 - LOC_DEADEND13:
     description:
@@ -2284,9 +2169,9 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['NORTH', 'OUT'], action: [goto, LOC_DIFFERENT2]},
-      {verbs: ['SOUTH'], cond: [not, VEND, VEND_BLOCKS], action: [goto, LOC_ROUGHHEWN]},
-      {verbs: ['SOUTH'], action: [goto, LOC_BADDIRECTION]},
+      {verbs: [NORTH, OUT], action: [goto, LOC_DIFFERENT2]},
+      {verbs: [SOUTH], cond: [not, VEND, VEND_BLOCKS], action: [goto, LOC_ROUGHHEWN]},
+      {verbs: [SOUTH], action: [goto, LOC_BADDIRECTION]},
     ]
 - LOC_ROUGHHEWN:
     description:
@@ -2294,8 +2179,8 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['NORTH'], action: [goto, LOC_DEADEND13]},
-      {verbs: ['SOUTH'], action: [goto, LOC_LARGE]},
+      {verbs: [NORTH], action: [goto, LOC_DEADEND13]},
+      {verbs: [SOUTH], action: [goto, LOC_LARGE]},
     ]
 - LOC_BADDIRECTION:
     description:
@@ -2312,9 +2197,9 @@ locations: !!omap
     conditions: {DEEP: true}
     hints: [*ogre]
     travel: [
-      {verbs: ['WEST'], action: [goto, LOC_ROUGHHEWN]},
-      {verbs: ['NORTH'], cond: [with, OGRE], action: ["speak", OGRE_SNARL]},
-      {verbs: ['NORTH'], action: [goto, LOC_STOREROOM]},
+      {verbs: [WEST], action: [goto, LOC_ROUGHHEWN]},
+      {verbs: [NORTH], cond: [with, OGRE], action: [speak, OGRE_SNARL]},
+      {verbs: [NORTH], action: [goto, LOC_STOREROOM]},
     ]
 - LOC_STOREROOM:
     description:
@@ -2322,7 +2207,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['SOUTH', 'OUT'], action: [goto, LOC_LARGE]},
+      {verbs: [SOUTH, OUT], action: [goto, LOC_LARGE]},
     ]
 - LOC_FOREST1:
     description:
@@ -2331,10 +2216,10 @@ locations: !!omap
     conditions: {FOREST: true, NOBACK: true, LIT: true}
     hints: [*forest]
     travel: [
-      {verbs: ['EAST'], action: [goto, LOC_START]},
-      {verbs: ['WEST'], action: [goto, LOC_FOREST13]},
-      {verbs: ['NORTH'], action: [goto, LOC_FOREST2]},
-      {verbs: ['SOUTH'], action: [goto, LOC_FOREST3]},
+      {verbs: [EAST], action: [goto, LOC_START]},
+      {verbs: [WEST], action: [goto, LOC_FOREST13]},
+      {verbs: [NORTH], action: [goto, LOC_FOREST2]},
+      {verbs: [SOUTH], action: [goto, LOC_FOREST3]},
     ]
 - LOC_FOREST2:
     description:
@@ -2343,10 +2228,10 @@ locations: !!omap
     conditions: {FOREST: true, NOBACK: true, LIT: true}
     hints: [*forest]
     travel: [
-      {verbs: ['EAST'], action: [goto, LOC_FOREST1]},
-      {verbs: ['WEST'], action: [goto, LOC_FOREST19]},
-      {verbs: ['NORTH'], action: [goto, LOC_FOREST3]},
-      {verbs: ['SOUTH'], action: [goto, LOC_FOREST18]},
+      {verbs: [EAST], action: [goto, LOC_FOREST1]},
+      {verbs: [WEST], action: [goto, LOC_FOREST19]},
+      {verbs: [NORTH], action: [goto, LOC_FOREST3]},
+      {verbs: [SOUTH], action: [goto, LOC_FOREST18]},
     ]
 - LOC_FOREST3:
     description:
@@ -2355,9 +2240,9 @@ locations: !!omap
     conditions: {FOREST: true, NOBACK: true, LIT: true}
     hints: [*forest]
     travel: [
-      {verbs: ['EAST', 'WEST'], action: [goto, LOC_FOREST4]},
-      {verbs: ['NORTH'], action: [goto, LOC_FOREST2]},
-      {verbs: ['SOUTH'], action: [goto, LOC_FOREST1]},
+      {verbs: [EAST, WEST], action: [goto, LOC_FOREST4]},
+      {verbs: [NORTH], action: [goto, LOC_FOREST2]},
+      {verbs: [SOUTH], action: [goto, LOC_FOREST1]},
     ]
 - LOC_FOREST4:
     description:
@@ -2366,8 +2251,8 @@ locations: !!omap
     conditions: {FOREST: true, NOBACK: true, LIT: true}
     hints: [*forest]
     travel: [
-      {verbs: ['EAST', 'NORTH'], action: [goto, LOC_FOREST3]},
-      {verbs: ['WEST', 'SOUTH'], action: [goto, LOC_FOREST5]},
+      {verbs: [EAST, NORTH], action: [goto, LOC_FOREST3]},
+      {verbs: [WEST, SOUTH], action: [goto, LOC_FOREST5]},
     ]
 - LOC_FOREST5:
     description:
@@ -2376,9 +2261,9 @@ locations: !!omap
     conditions: {FOREST: true, NOBACK: true, LIT: true}
     hints: [*forest]
     travel: [
-      {verbs: ['EAST', 'NORTH'], action: [goto, LOC_FOREST4]},
-      {verbs: ['WEST'], action: [goto, LOC_FOREST7]},
-      {verbs: ['SOUTH'], action: [goto, LOC_FOREST6]},
+      {verbs: [EAST, NORTH], action: [goto, LOC_FOREST4]},
+      {verbs: [WEST], action: [goto, LOC_FOREST7]},
+      {verbs: [SOUTH], action: [goto, LOC_FOREST6]},
     ]
 - LOC_FOREST6:
     description:
@@ -2387,10 +2272,10 @@ locations: !!omap
     conditions: {FOREST: true, NOBACK: true, LIT: true}
     hints: [*forest]
     travel: [
-      {verbs: ['EAST'], action: [goto, LOC_FOREST5]},
-      {verbs: ['WEST'], action: [goto, LOC_FOREST7]},
-      {verbs: ['NORTH'], action: [goto, LOC_VALLEY]},
-      {verbs: ['SOUTH'], action: [goto, LOC_SLIT]},
+      {verbs: [EAST], action: [goto, LOC_FOREST5]},
+      {verbs: [WEST], action: [goto, LOC_FOREST7]},
+      {verbs: [NORTH], action: [goto, LOC_VALLEY]},
+      {verbs: [SOUTH], action: [goto, LOC_SLIT]},
     ]
 - LOC_FOREST7:
     description:
@@ -2399,10 +2284,10 @@ locations: !!omap
     conditions: {FOREST: true, NOBACK: true, LIT: true}
     hints: [*forest]
     travel: [
-      {verbs: ['EAST'], action: [goto, LOC_FOREST5]},
-      {verbs: ['WEST'], action: [goto, LOC_FOREST6]},
-      {verbs: ['NORTH'], action: [goto, LOC_GRATE]},
-      {verbs: ['SOUTH'], action: [goto, LOC_FOREST8]},
+      {verbs: [EAST], action: [goto, LOC_FOREST5]},
+      {verbs: [WEST], action: [goto, LOC_FOREST6]},
+      {verbs: [NORTH], action: [goto, LOC_GRATE]},
+      {verbs: [SOUTH], action: [goto, LOC_FOREST8]},
     ]
 - LOC_FOREST8:
     description:
@@ -2411,10 +2296,10 @@ locations: !!omap
     conditions: {FOREST: true, NOBACK: true, LIT: true}
     hints: [*forest]
     travel: [
-      {verbs: ['EAST'], action: [goto, LOC_FOREST9]},
-      {verbs: ['WEST'], action: [goto, LOC_FOREST11]},
-      {verbs: ['NORTH'], action: [goto, LOC_FOREST22]},
-      {verbs: ['SOUTH'], action: [goto, LOC_FOREST7]},
+      {verbs: [EAST], action: [goto, LOC_FOREST9]},
+      {verbs: [WEST], action: [goto, LOC_FOREST11]},
+      {verbs: [NORTH], action: [goto, LOC_FOREST22]},
+      {verbs: [SOUTH], action: [goto, LOC_FOREST7]},
     ]
 - LOC_FOREST9:
     description:
@@ -2423,10 +2308,10 @@ locations: !!omap
     conditions: {FOREST: true, NOBACK: true, LIT: true}
     hints: [*forest]
     travel: [
-      {verbs: ['EAST'], action: [goto, LOC_FOREST11]},
-      {verbs: ['WEST'], action: [goto, LOC_FOREST8]},
-      {verbs: ['NORTH'], action: [goto, LOC_FOREST10]},
-      {verbs: ['SOUTH'], action: [goto, LOC_GRATE]},
+      {verbs: [EAST], action: [goto, LOC_FOREST11]},
+      {verbs: [WEST], action: [goto, LOC_FOREST8]},
+      {verbs: [NORTH], action: [goto, LOC_FOREST10]},
+      {verbs: [SOUTH], action: [goto, LOC_GRATE]},
     ]
 - LOC_FOREST10:
     description:
@@ -2435,10 +2320,10 @@ locations: !!omap
     conditions: {FOREST: true, NOBACK: true, LIT: true}
     hints: [*forest]
     travel: [
-      {verbs: ['EAST'], action: [goto, LOC_SLIT]},
-      {verbs: ['WEST'], action: [goto, LOC_FOREST11]},
-      {verbs: ['NORTH'], action: [goto, LOC_FOREST9]},
-      {verbs: ['SOUTH'], action: [goto, LOC_GRATE]},
+      {verbs: [EAST], action: [goto, LOC_SLIT]},
+      {verbs: [WEST], action: [goto, LOC_FOREST11]},
+      {verbs: [NORTH], action: [goto, LOC_FOREST9]},
+      {verbs: [SOUTH], action: [goto, LOC_GRATE]},
     ]
 - LOC_FOREST11:
     description:
@@ -2447,10 +2332,10 @@ locations: !!omap
     conditions: {FOREST: true, NOBACK: true, LIT: true}
     hints: [*forest]
     travel: [
-      {verbs: ['EAST'], action: [goto, LOC_FOREST10]},
-      {verbs: ['WEST'], action: [goto, LOC_FOREST8]},
-      {verbs: ['NORTH'], action: [goto, LOC_FOREST22]},
-      {verbs: ['SOUTH'], action: [goto, LOC_FOREST9]},
+      {verbs: [EAST], action: [goto, LOC_FOREST10]},
+      {verbs: [WEST], action: [goto, LOC_FOREST8]},
+      {verbs: [NORTH], action: [goto, LOC_FOREST22]},
+      {verbs: [SOUTH], action: [goto, LOC_FOREST9]},
     ]
 - LOC_FOREST12:
     description:
@@ -2459,10 +2344,10 @@ locations: !!omap
     conditions: {FOREST: true, NOBACK: true, LIT: true}
     hints: [*forest]
     travel: [
-      {verbs: ['EAST'], action: [goto, LOC_FOREST13]},
-      {verbs: ['WEST'], action: [goto, LOC_FOREST14]},
-      {verbs: ['NORTH'], action: [goto, LOC_FOREST22]},
-      {verbs: ['SOUTH'], action: [goto, LOC_VALLEY]},
+      {verbs: [EAST], action: [goto, LOC_FOREST13]},
+      {verbs: [WEST], action: [goto, LOC_FOREST14]},
+      {verbs: [NORTH], action: [goto, LOC_FOREST22]},
+      {verbs: [SOUTH], action: [goto, LOC_VALLEY]},
     ]
 - LOC_FOREST13:
     description:
@@ -2471,10 +2356,10 @@ locations: !!omap
     conditions: {FOREST: true, NOBACK: true, LIT: true}
     hints: [*forest]
     travel: [
-      {verbs: ['EAST'], action: [goto, LOC_FOREST1]},
-      {verbs: ['WEST'], action: [goto, LOC_FOREST12]},
-      {verbs: ['NORTH'], action: [goto, LOC_FOREST20]},
-      {verbs: ['SOUTH'], action: [goto, LOC_HILL]},
+      {verbs: [EAST], action: [goto, LOC_FOREST1]},
+      {verbs: [WEST], action: [goto, LOC_FOREST12]},
+      {verbs: [NORTH], action: [goto, LOC_FOREST20]},
+      {verbs: [SOUTH], action: [goto, LOC_HILL]},
     ]
 - LOC_FOREST14:
     description:
@@ -2483,10 +2368,10 @@ locations: !!omap
     conditions: {FOREST: true, NOBACK: true, LIT: true}
     hints: [*forest]
     travel: [
-      {verbs: ['EAST'], action: [goto, LOC_ROADEND]},
-      {verbs: ['WEST'], action: [goto, LOC_FOREST16]},
-      {verbs: ['NORTH'], action: [goto, LOC_FOREST15]},
-      {verbs: ['SOUTH'], action: [goto, LOC_FOREST12]},
+      {verbs: [EAST], action: [goto, LOC_ROADEND]},
+      {verbs: [WEST], action: [goto, LOC_FOREST16]},
+      {verbs: [NORTH], action: [goto, LOC_FOREST15]},
+      {verbs: [SOUTH], action: [goto, LOC_FOREST12]},
     ]
 - LOC_FOREST15:
     description:
@@ -2495,10 +2380,10 @@ locations: !!omap
     conditions: {FOREST: true, NOBACK: true, LIT: true}
     hints: [*forest]
     travel: [
-      {verbs: ['EAST'], action: [goto, LOC_FOREST16]},
-      {verbs: ['WEST'], action: [goto, LOC_FOREST22]},
-      {verbs: ['NORTH'], action: [goto, LOC_ROADEND]},
-      {verbs: ['SOUTH'], action: [goto, LOC_FOREST14]},
+      {verbs: [EAST], action: [goto, LOC_FOREST16]},
+      {verbs: [WEST], action: [goto, LOC_FOREST22]},
+      {verbs: [NORTH], action: [goto, LOC_ROADEND]},
+      {verbs: [SOUTH], action: [goto, LOC_FOREST14]},
     ]
 - LOC_FOREST16:
     description:
@@ -2507,9 +2392,9 @@ locations: !!omap
     conditions: {FOREST: true, NOBACK: true, LIT: true}
     hints: [*forest]
     travel: [
-      {verbs: ['EAST', 'NORTH'], action: [goto, LOC_FOREST17]},
-      {verbs: ['WEST'], action: [goto, LOC_FOREST14]},
-      {verbs: ['SOUTH'], action: [goto, LOC_FOREST15]},
+      {verbs: [EAST, NORTH], action: [goto, LOC_FOREST17]},
+      {verbs: [WEST], action: [goto, LOC_FOREST14]},
+      {verbs: [SOUTH], action: [goto, LOC_FOREST15]},
     ]
 - LOC_FOREST17:
     description:
@@ -2518,9 +2403,9 @@ locations: !!omap
     conditions: {FOREST: true, NOBACK: true, LIT: true}
     hints: [*forest]
     travel: [
-      {verbs: ['EAST'], action: [goto, LOC_FOREST18]},
-      {verbs: ['WEST', 'SOUTH'], action: [goto, LOC_FOREST16]},
-      {verbs: ['NORTH'], action: [goto, LOC_CLIFF]},
+      {verbs: [EAST], action: [goto, LOC_FOREST18]},
+      {verbs: [WEST, SOUTH], action: [goto, LOC_FOREST16]},
+      {verbs: [NORTH], action: [goto, LOC_CLIFF]},
     ]
 - LOC_FOREST18:
     description:
@@ -2529,10 +2414,10 @@ locations: !!omap
     conditions: {FOREST: true, NOBACK: true, LIT: true}
     hints: [*forest]
     travel: [
-      {verbs: ['EAST'], action: [goto, LOC_FOREST19]},
-      {verbs: ['WEST'], action: [goto, LOC_FOREST17]},
-      {verbs: ['NORTH'], action: [goto, LOC_FOREST2]},
-      {verbs: ['SOUTH'], action: [goto, LOC_FOREST21]},
+      {verbs: [EAST], action: [goto, LOC_FOREST19]},
+      {verbs: [WEST], action: [goto, LOC_FOREST17]},
+      {verbs: [NORTH], action: [goto, LOC_FOREST2]},
+      {verbs: [SOUTH], action: [goto, LOC_FOREST21]},
     ]
 - LOC_FOREST19:
     description:
@@ -2541,10 +2426,10 @@ locations: !!omap
     conditions: {FOREST: true, NOBACK: true, LIT: true}
     hints: [*forest]
     travel: [
-      {verbs: ['EAST'], action: [goto, LOC_FOREST2]},
-      {verbs: ['WEST'], action: [goto, LOC_FOREST18]},
-      {verbs: ['NORTH'], action: [goto, LOC_CLIFF]},
-      {verbs: ['SOUTH'], action: [goto, LOC_FOREST20]},
+      {verbs: [EAST], action: [goto, LOC_FOREST2]},
+      {verbs: [WEST], action: [goto, LOC_FOREST18]},
+      {verbs: [NORTH], action: [goto, LOC_CLIFF]},
+      {verbs: [SOUTH], action: [goto, LOC_FOREST20]},
     ]
 - LOC_FOREST20:
     description:
@@ -2553,10 +2438,10 @@ locations: !!omap
     conditions: {FOREST: true, NOBACK: true, LIT: true}
     hints: [*forest]
     travel: [
-      {verbs: ['EAST'], action: [goto, LOC_HILL]},
-      {verbs: ['WEST'], action: [goto, LOC_FOREST21]},
-      {verbs: ['NORTH'], action: [goto, LOC_FOREST19]},
-      {verbs: ['SOUTH'], action: [goto, LOC_FOREST13]},
+      {verbs: [EAST], action: [goto, LOC_HILL]},
+      {verbs: [WEST], action: [goto, LOC_FOREST21]},
+      {verbs: [NORTH], action: [goto, LOC_FOREST19]},
+      {verbs: [SOUTH], action: [goto, LOC_FOREST13]},
     ]
 - LOC_FOREST21:
     description:
@@ -2565,10 +2450,10 @@ locations: !!omap
     conditions: {FOREST: true, NOBACK: true, LIT: true}
     hints: [*forest]
     travel: [
-      {verbs: ['EAST'], action: [goto, LOC_FOREST20]},
-      {verbs: ['WEST'], action: [goto, LOC_ROADEND]},
-      {verbs: ['NORTH'], action: [goto, LOC_FOREST18]},
-      {verbs: ['SOUTH'], action: [goto, LOC_FOREST21]},
+      {verbs: [EAST], action: [goto, LOC_FOREST20]},
+      {verbs: [WEST], action: [goto, LOC_ROADEND]},
+      {verbs: [NORTH], action: [goto, LOC_FOREST18]},
+      {verbs: [SOUTH], action: [goto, LOC_FOREST21]},
     ]
 - LOC_FOREST22:
     description:
@@ -2577,10 +2462,10 @@ locations: !!omap
     conditions: {FOREST: true, NOBACK: true, LIT: true}
     hints: [*forest]
     travel: [
-      {verbs: ['EAST'], action: [goto, LOC_FOREST8]},
-      {verbs: ['WEST'], action: [goto, LOC_FOREST11]},
-      {verbs: ['NORTH'], action: [goto, LOC_FOREST15]},
-      {verbs: ['SOUTH'], action: [goto, LOC_FOREST12]},
+      {verbs: [EAST], action: [goto, LOC_FOREST8]},
+      {verbs: [WEST], action: [goto, LOC_FOREST11]},
+      {verbs: [NORTH], action: [goto, LOC_FOREST15]},
+      {verbs: [SOUTH], action: [goto, LOC_FOREST12]},
     ]
 - LOC_LEDGE:
     description:
@@ -2591,7 +2476,7 @@ locations: !!omap
       short: 'You''re on ledge.'
     conditions: {ABOVE: true, LIT: true}
     travel: [
-      {verbs: ['JUMP'], action: [goto, LOC_NOMAKE]},
+      {verbs: [JUMP], action: [goto, LOC_NOMAKE]},
     ]
 - LOC_RESBOTTOM:
     description:
@@ -2604,8 +2489,8 @@ locations: !!omap
     sound: TOTAL_ROAR
     loud: true
     travel: [
-      {verbs: ['NORTH'], action: [goto, LOC_RESNORTH]},
-      {verbs: ['SOUTH'], action: [goto, LOC_RESERVOIR]},
+      {verbs: [NORTH], action: [goto, LOC_RESNORTH]},
+      {verbs: [SOUTH], action: [goto, LOC_RESERVOIR]},
     ]
 - LOC_RESNORTH:
     description:
@@ -2616,9 +2501,10 @@ locations: !!omap
     conditions: {FLUID: true, DEEP: true}
     sound: WATERS_CRASHING
     travel: [
-      {verbs: ['SOUTH', 'ACROS', 'CROSS'], cond: [not, RESER, WATERS_PARTED], action: ["speak", BAD_DIRECTION]},
-      {verbs: ['SOUTH'], action: [goto, LOC_RESBOTTOM]},
-      {verbs: ['NW', 'UPWAR', 'OUT'], action: [goto, LOC_TREACHEROUS]},
+      {verbs: [SOUTH, ACROS, CROSS],
+              cond: [not, RESER, WATERS_PARTED], action: [speak, BAD_DIRECTION]},
+      {verbs: [SOUTH], action: [goto, LOC_RESBOTTOM]},
+      {verbs: [NW, UPWAR, OUT], action: [goto, LOC_TREACHEROUS]},
     ]
 - LOC_TREACHEROUS:
     description:
@@ -2626,8 +2512,8 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['UPWAR', 'NW'], action: [goto, LOC_STEEP]},
-      {verbs: ['D', 'SE'], action: [goto, LOC_RESNORTH]},
+      {verbs: [UPWAR, NW], action: [goto, LOC_STEEP]},
+      {verbs: [DOWN, SE], action: [goto, LOC_RESNORTH]},
     ]
 - LOC_STEEP:
     description:
@@ -2635,8 +2521,8 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['D', 'SE'], action: [goto, LOC_TREACHEROUS]},
-      {verbs: ['UPWAR', 'NW'], action: [goto, LOC_CLIFFBASE]},
+      {verbs: [DOWN, SE], action: [goto, LOC_TREACHEROUS]},
+      {verbs: [UPWAR, NW], action: [goto, LOC_CLIFFBASE]},
     ]
 - LOC_CLIFFBASE:
     description:
@@ -2648,8 +2534,8 @@ locations: !!omap
       short: 'You''re at base of cliff.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['D', 'SE'], action: [goto, LOC_STEEP]},
-      {verbs: ['UPWAR', 'CLIMB'], action: [goto, LOC_CLIFFACE]},
+      {verbs: [DOWN, SE], action: [goto, LOC_STEEP]},
+      {verbs: [UPWAR, CLIMB], action: [goto, LOC_CLIFFACE]},
     ]
 - LOC_CLIFFACE:
     description:
@@ -2657,9 +2543,9 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['D'], action: [goto, LOC_CLIFFBASE]},
-      {verbs: ['UPWAR'], cond: [carry, OBJ_46], action: [goto, LOC_CLIFFTOP]},
-      {verbs: ['UPWAR'], action: [goto, LOC_FOOTSLIP]},
+      {verbs: [DOWN], action: [goto, LOC_CLIFFBASE]},
+      {verbs: [UPWAR], cond: [carry, OBJ_46], action: [goto, LOC_CLIFFTOP]},
+      {verbs: [UPWAR], action: [goto, LOC_FOOTSLIP]},
     ]
 - LOC_FOOTSLIP:
     description:
@@ -2690,8 +2576,8 @@ locations: !!omap
       short: 'You''re at top of cliff.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['CLIMB', 'D'], action: [goto, LOC_CLIFFACE]},
-      {verbs: ['NE', 'CRAWL'], action: [goto, LOC_REACHDEAD]},
+      {verbs: [CLIMB, DOWN], action: [goto, LOC_CLIFFACE]},
+      {verbs: [NE, CRAWL], action: [goto, LOC_REACHDEAD]},
     ]
 - LOC_REACHDEAD:
     description:
@@ -2699,7 +2585,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['SW', 'OUT', 'CRAWL'], action: [goto, LOC_CLIFFLEDGE]},
+      {verbs: [SW, OUT, CRAWL], action: [goto, LOC_CLIFFLEDGE]},
     ]
 - LOC_GRUESOME:
     description:
@@ -2780,14 +2666,14 @@ arbitrary_messages:  !!omap
 - DWARF_SINGLE: 'There is a threatening little dwarf in the room with you!'
 - KNIFE_THROWN: 'One sharp nasty knife is thrown at you!'
 - SAYS_PLUGH: 'A hollow voice says "PLUGH".'
-- GETS_YOU: 'It gets you!'
+#- 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
     in the general direction you want to go.
 - CANT_APPLY: 'I don''t know how to apply that word here.'
-- AM_GAME: 'I''m game.  Would you care to explain how?'
+- AM_GAME: &am_game 'I''m game.  Would you care to explain how?'
 - NO_MORE_DETAIL: |-
       Sorry, but I am not allowed to give more detail.  I will repeat the
       long description of your location.
@@ -2795,27 +2681,27 @@ arbitrary_messages:  !!omap
 - W_IS_WEST: 'If you prefer, simply type w rather than west.'
 - REALLY_QUIT: 'Do you really want to quit now?'
 - PIT_FALL: 'You fell into a pit and broke every bone in your body!'
-- ALREADY_CARRYING: 'You are already carrying it!'
+- ALREADY_CARRYING: &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
     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!'
+- ARENT_CARRYING: &arent_carrying 'You aren''t carrying it!'
 - 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.'
+- NOT_LOCKABLE: &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.'
 - 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?'
+- NOTHING_HAPPENS: &nothing_happens 'Nothing happens.'
+- WHERE_QUERY: &where_query 'Where?'
 - NO_TARGET: 'There is nothing here to attack.'
 - BIRD_DEAD: 'The little bird is now dead.  Its body disappears.'
 - SNAKE_WARNING: 'Attacking the snake both doesn''t work and is very dangerous.'
@@ -2833,23 +2719,16 @@ arbitrary_messages:  !!omap
       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: &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?'
+- HUH_MAN: &huh_man 'Huh?'
 - WELCOME_YOU: 'Welcome to Adventure!!  Would you like instructions?'
-- REQUIRES_DYNAMITE: 'Blasting requires dynamite.'
+- REQUIRES_DYNAMITE: &requires_dynamite 'Blasting requires dynamite.'
 - 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
-    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,
-    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.'
@@ -2872,10 +2751,7 @@ arbitrary_messages:  !!omap
 - NO_CONTAINER: 'You have nothing in which to carry it.'
 - BOTTLE_FULL: 'Your bottle is already full.'
 - NO_LIQUID: 'There is nothing here with which to fill the bottle.'
-- BOTTLED_WATER: 'Your bottle is now full of water.'
-- BOTTLED_OIL: 'Your bottle is now full of oil.'
-- CANT_FILL: 'You can''t fill that.'
-- RIDICULOUS_ATTEMPT: 'Don''t be ridiculous!'
+- RIDICULOUS_ATTEMPT: &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?"'
 - DEEP_ROOTS: 'The plant has exceptionally deep roots and cannot be pulled free.'
@@ -2885,7 +2761,7 @@ arbitrary_messages:  !!omap
     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_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.'
@@ -2941,7 +2817,7 @@ arbitrary_messages:  !!omap
 - 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.'
+- BEYOND_POWER: &beyond_power 'It is beyond your power to do that.'
 - NOT_KNOWHOW: &not_knowhow 'I don''t know how.'
 - TOO_FAR: 'It is too far up for you to reach.'
 - DWARF_SMOKE: |-
@@ -2949,12 +2825,12 @@ arbitrary_messages:  !!omap
       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.'
+- WELL_POINTLESS: 'Well, that was remarkably pointless.'
 - 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
     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
     you come to it.  To get the full description, say "look".
@@ -2967,27 +2843,14 @@ arbitrary_messages:  !!omap
 - 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
-    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.
-- AXE_LOST: 'The axe misses and lands near the bear where you can''t get at it.'
 - BEAR_HANDS: 'With what?  Your bare hands?  Against *HIS* bear hands??'
 - 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
-    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.'
 - CHAIN_LOCKED: 'The chain is now locked.'
 - NO_LOCKSITE: 'There is nothing here to which the chain can be locked.'
-- 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: |-
@@ -3018,7 +2881,7 @@ arbitrary_messages:  !!omap
 - 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.'
+- DONT_UNDERSTAND: &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
@@ -3028,9 +2891,9 @@ arbitrary_messages:  !!omap
     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
-    resume 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
@@ -3043,7 +2906,6 @@ arbitrary_messages:  !!omap
     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.
-# Following three messages must be contiguous
 - FREE_FLY: 'The bird flies about agitatedly for a moment.'
 - CAGE_FLY: 'The bird flies agitatedly about the cage.'
 - NECKLACE_FLY: |-
@@ -3110,9 +2972,9 @@ arbitrary_messages:  !!omap
 - ONE_HIT: 'One of them gets you!'
 - NONE_HIT: 'None of them hits you!'
 - DONT_KNOW: 'Sorry, I don''t know the word "%s".'
-- WHAT_DO: 'What do you want to do with the %L%L?' # FIXME: %L%L should become %L once parsing no longer depends on packed tokens
-- NO_SEE: 'I see no %L%L here.' # FIXME: %L%L should become %L once parsing no longer depends on packed tokens
-- DO_WHAT: '%C what?'
+- WHAT_DO: 'What do you want to do with the %s?'
+- NO_SEE: 'I see no %s here.'
+- DO_WHAT: '%s what?'
 - OKEY_DOKEY: 'Okay, "%s".'
 - GARNERED_POINTS: 'You have garnered %d out of a possible %d points, using %d turn%S.'
 - SUSPEND_WARNING: |-
@@ -3127,26 +2989,26 @@ arbitrary_messages:  !!omap
 - OFF_SCALE: 'You just went off my scale!!'
 - RESUME_HELP: 'To resume your Adventure, start a new game and then say "RESUME".'
 # 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'
+#- 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
     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
-    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.
+#- 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.
@@ -3202,7 +3064,7 @@ turn_thresholds:
     twenty points lost for taking so long.
   
 objects: !!omap
-- OBJ_0:
+- NO_OBJECT:
     inventory: !!null
     descriptions: !!null
 - KEYS:
@@ -3215,9 +3077,10 @@ objects: !!omap
     words: ['lamp', 'lante']
     inventory: 'Brass lantern'
     locations: LOC_BUILDING
+    states: [LAMP_DARK, LAMP_BRIGHT]
     descriptions:
-    - [LAMP_DARK, 'There is a shiny brass lamp nearby.']
-    - [LAMP_BRIGHT, 'There is a lamp shining nearby.']
+    - 'There is a shiny brass lamp nearby.'
+    - 'There is a lamp shining nearby.'
     changes:
     - 'Your lamp is now off.'
     - 'Your lamp is now on.'
@@ -3226,9 +3089,10 @@ objects: !!omap
     inventory: '*grate'
     locations: [LOC_GRATE, LOC_BELOWGRATE]
     immovable: true
+    states: [GRATE_CLOSED, GRATE_OPEN]  
     descriptions:
-    - [GRATE_CLOSED, 'The grate is locked.']
-    - [GRATE_OPEN, 'The grate is open.']
+    - 'The grate is locked.'
+    - 'The grate is open.'
     changes:
     - 'The grate is now locked.'
     - 'The grate is now unlocked.'
@@ -3255,6 +3119,7 @@ objects: !!omap
     inventory: '*steps'
     locations: [LOC_PITTOP, LOC_MISTHALL]
     immovable: true
+    states: [STEPS_DOWN, STEPS_UP]
     descriptions:
     - 'Rough stone steps lead down the pit.'
     - 'Rough stone steps lead up the dome.'
@@ -3262,10 +3127,11 @@ objects: !!omap
     words: ['bird']
     inventory: 'Little bird in cage'
     locations: LOC_BIRD
+    states: [BIRD_UNCAGED, BIRD_CAGED, BIRD_FOREST_UNCAGED]
     descriptions:
-    - [BIRD_UNCAGED, 'A cheerful little bird is sitting here singing.']
-    - [BIRD_CAGED, 'There is a little bird in the cage.']
-    - [BIRD_FOREST_UNCAGED, 'A cheerful little bird is sitting here singing.']
+    - 'A cheerful little bird is sitting here singing.'
+    - 'There is a little bird in the cage.'
+    - 'A cheerful little bird is sitting here singing.'
     sounds:
     - 'The bird''s singing is quite melodious.'
     - 'The bird does not seem inclined to sing while in the cage.'
@@ -3285,9 +3151,10 @@ objects: !!omap
     inventory: '*rusty door'
     locations: LOC_IMMENSE
     immovable: true
+    states: [DOOR_RUSTED, DOOR_UNRUSTED]
     descriptions:
-    - [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.']
+    - 'The way north is barred by a massive, rusty, iron door.'
+    - 'The way north leads through a massive, rusty, iron door.'
     changes:
     - 'The hinges are quite thoroughly rusted now and won''t budge.'
     - |-
@@ -3304,20 +3171,25 @@ objects: !!omap
     inventory: '*snake'
     locations: LOC_KINGHALL
     immovable: true
+    states: [SNAKE_BLOCKS, SNAKE_CHASED]
     descriptions:
-    - [SNAKE_BLOCKS, 'A huge green fierce snake bars the way!']
-    - [SNAKE_CHASED, ''] # chased away
+    - 'A huge green fierce snake bars the way!'
+    - '' # chased away
     sounds:
     - 'The snake is hissing venomously.'
+    - ''
 - FISSURE:
     words: ['fissu']
     inventory: '*fissure'
     locations: [LOC_EASTBANK, LOC_WESTBANK]
     immovable: true
+    states: [UNBRIDGED, BRIDGED]
     descriptions:
-    - [UNBRIDGED, '']
-    - [BRIDGED, 'A crystal bridge now spans the fissure.']
-    - [VANISHED, 'The crystal bridge has vanished!']
+    - ''
+    - 'A crystal bridge spans the fissure.'
+    changes:
+    - 'The crystal bridge has vanished!'
+    - 'A crystal bridge now spans the fissure.'
 - OBJ_13:
     words: ['table']
     inventory: '*stone tablet'
@@ -3378,10 +3250,15 @@ objects: !!omap
     words: ['bottl', 'jar']
     inventory: 'Small bottle'
     locations: LOC_BUILDING
-    descriptions:
-    - [WATER_BOTTLE, 'There is a bottle of water here.']
-    - [EMPTY_BOTTLE, 'There is an empty bottle here.']
-    - [OIL_BOTTLE, 'There is a bottle of oil here.']
+    states: [WATER_BOTTLE, EMPTY_BOTTLE, OIL_BOTTLE]
+    descriptions: 
+    - 'There is a bottle of water here.'
+    - 'There is an empty bottle here.'
+    - 'There is a bottle of oil here.'
+    changes:
+    - 'Your bottle is now full of water.'
+    - 'The bottle of water is now empty.'
+    - 'Your bottle is now full of oil.'
 - WATER:
     words: ['water', 'h2o']
     inventory: 'Water in the bottle'
@@ -3403,15 +3280,15 @@ objects: !!omap
     inventory: '*plant'
     locations: LOC_WESTPIT
     immovable: true
+    states: [PLANT_THIRSTY, PLANT_BELLOWING, PLANT_GROWN]
     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,
-      bellowing "WATER!! WATER!!"
+    - 'There is a 12-foot-tall beanstalk stretching up out of the pit,\nbellowing "WATER!! WATER!!"'
     - 'There is a gigantic beanstalk stretching all the way up to the hole.'
+    changes:
+    - 'You''ve over-watered the plant!  It''s shriveling up!  And now . . .'
     - 'The plant spurts into furious growth for a few seconds.'
     - 'The plant grows explosively, almost filling the bottom of the pit.'
-    - 'You''ve over-watered the plant!  It''s shriveling up!  And now . . .'
     sounds:
     - 'The plant continues to ask plaintively for water.'
     - 'The plant continues to demand water.'
@@ -3443,9 +3320,13 @@ objects: !!omap
     words: ['axe']
     inventory: 'Dwarf''s axe'
     locations: LOC_NOWHERE
+    states: [AXE_HERE, AXE_LOST]
     descriptions:
     - 'There is a little axe here.'
     - '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'
@@ -3463,10 +3344,11 @@ objects: !!omap
     inventory: '*dragon'
     locations: [LOC_SECRET4, LOC_SECRET6]
     immovable: true
+    states: [DRAGON_BARS, DRAGON_DEAD, DRAGON_BLOODLESS]
     descriptions:
-    - [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.']
+    - '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.'
     changes:
     - ''
     - |-
@@ -3482,21 +3364,37 @@ objects: !!omap
     inventory: '*chasm'
     locations: [LOC_SWCHASM, LOC_NECHASM]
     immovable: true
+    states: [TROLL_BRIDGE, BRIDGE_WRECKED]
     descriptions:
-    - [TROLL_BRIDGE, 'A rickety wooden bridge extends across the chasm, vanishing into the\nmist.  A notice posted on the bridge reads, "Stop! Pay troll!"']
-    - [BRIDGE_WRECKED, 'The wreckage of a bridge (and a dead bear) can be seen at the bottom\nof the chasm.']
+    - 'A rickety wooden bridge extends across the chasm, vanishing into the\nmist.  A notice posted on the bridge reads, "Stop! Pay troll!"'
+    - 'The wreckage of a bridge (and a dead bear) can be seen at the bottom\nof the chasm.'
+    changes:
+    - ''
+    - |- 
+        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:
     words: ['troll']
     inventory: '*troll'
     locations: [LOC_SWCHASM, LOC_NECHASM]
     immovable: true
-    descriptions:
-    - [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
+    states: [TROLL_UNPAID, TROLL_PAIDONCE, TROLL_GONE]
+    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
+    changes:
+    - ''
+    - ''
+    - |-
+        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.
     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'
@@ -3506,14 +3404,20 @@ objects: !!omap
     - 'The troll is nowhere to be seen.'
 - BEAR:
     words: ['bear']
-    inventory: !!null # bear uses rtext 141
+    inventory: !!null
     locations: LOC_BARRENROOM
     immovable: true
+    states: [UNTAMED_BEAR, SITTING_BEAR, CONTENTED_BEAR, BEAR_DEAD]
     descriptions:
-    - [UNTAMED_BEAR, 'There is a ferocious cave bear eying you from the far end of the room!']
-    - [SITTING_BEAR, 'There is a gentle cave bear sitting placidly in one corner.']
-    - [CONTENTED_BEAR, 'There is a contented-looking bear wandering about nearby.']
-    - [BEAR_DEAD, '']
+    - 'There is a ferocious cave bear eying you from the far end of the room!'
+    - 'There is a gentle cave bear sitting placidly in one corner.'
+    - 'There is a contented-looking bear wandering about nearby.'
+    - ''
+    changes:
+    - ''
+    - 'The bear eagerly wolfs down your food, after which he seems to calm\ndown considerably and even becomes rather friendly.'
+    - ''
+    - ''
 - MESSAG:
     words: ['messa']
     inventory: '*message in second maze'
@@ -3536,9 +3440,14 @@ objects: !!omap
     inventory: '*vending machine'
     locations: LOC_DEADEND13
     immovable: true
+    states: [VEND_BLOCKS, VEND_UNBLOCKS]
     descriptions:
-    - [VEND_BLOCKS, 'There is a massive and somewhat battered vending machine here.  The\ninstructions on it read: "Drop coins here to receive fresh batteries."']
-    - [VEND_UNBLOCKS, 'There is a massive vending machine here, swung back to reveal a\nsouthward passage.']
+    - |-
+        There is a massive and somewhat battered vending machine here.  The
+        instructions on it read: "Drop coins here to receive fresh batteries."
+    - |-
+        There is a massive vending machine here, swung back to reveal a
+        southward passage.
     changes:
     - 'The vending machine swings back to block the passage.'
     - 'As you strike the vending machine, it pivots backward along with a\nsection of wall, revealing a dark passage leading south.'
@@ -3549,9 +3458,10 @@ objects: !!omap
     words: ['batte']
     inventory: 'Batteries'
     locations: LOC_NOWHERE
+    states: [FRESH_BATTERIES, DEAD_BATTERIES]
     descriptions:
-    - [FRESH_BATTERIES, 'There are fresh batteries here.']
-    - [DEAD_BATTERIES, 'Some worn-out batteries have been discarded nearby.']
+    - 'There are fresh batteries here.'
+    - 'Some worn-out batteries have been discarded nearby.'
 - OBJ_40:
     words: ['carpe', 'moss']
     inventory: '*carpet and/or moss and/or curtains'
@@ -3572,10 +3482,11 @@ objects: !!omap
     inventory: '*urn'
     locations: LOC_CLIFF
     immovable: true
+    states: [URN_EMPTY, URN_DARK, URN_LIT]
     descriptions:
-    - [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.']
+    - '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.'
     changes:
     - 'The urn is empty and will not light.'
     - 'The urn is now dark.'
@@ -3585,9 +3496,10 @@ objects: !!omap
     inventory: '*cavity'
     locations: LOC_NOWHERE
     immovable: true
+    states: [CAVITY_FULL, CAVITY_EMPTY]
     descriptions:
-    - [CAVITY_FULL, ''] # something in it
-    - [CAVITY_EMPTY, 'There is a small urn-shaped cavity in the rock.']
+    - '' # something in it
+    - 'There is a small urn-shaped cavity in the rock.'
 - BLOOD:
     words: ['blood']
     inventory: '*blood'
@@ -3600,10 +3512,13 @@ objects: !!omap
     inventory: '*reservoir'
     locations: [LOC_RESERVOIR, LOC_RESNORTH]
     immovable: true
+    states: [WATERS_UNPARTED, WATERS_PARTED]
     descriptions:
     - ''
-    - [WATERS_PARTED, 'The waters have parted to form a narrow path across the reservoir.']
+    - 'The waters have parted to form a narrow path across the reservoir.'
+    changes:
     - 'The waters crash together again.'
+    - 'The waters have parted to form a narrow path across the reservoir.'
 - OBJ_46:
     words: ['appen', 'lepor']
     inventory: 'Leporine appendage'
@@ -3633,9 +3548,10 @@ objects: !!omap
     inventory: '*sign'
     locations: LOC_ANTEROOM
     immovable: true
+    states: [INGAME_SIGN, ENDGAME_SIGN]
     descriptions:
-    - [INGAME_SIGN, '']
-    - [ENDGAME_SIGN, '']
+    - ''
+    - ''
     texts:
     - |-
       Cave under construction beyond this point.
@@ -3689,10 +3605,11 @@ objects: !!omap
     inventory: 'Golden eggs'
     locations: LOC_GIANTROOM
     treasure: true
+    states: [EGGS_HERE, EGGS_VANISHED, EGGS_DONE]
     descriptions:
-    - [EGGS_HERE, 'There is a large nest here, full of golden eggs!']
-    - [EGGS_VANISHED, 'The nest of golden eggs has vanished!']
-    - [EGGS_DONE, 'Done!']
+    - 'There is a large nest here, full of golden eggs!'
+    - 'The nest of golden eggs has vanished!'
+    - 'Done!'
 - TRIDENT:
     words: ['tride']
     inventory: 'Jeweled trident'
@@ -3705,14 +3622,14 @@ objects: !!omap
     inventory: 'Ming vase'
     locations: LOC_ORIENTAL
     treasure: true
+    states: [VASE_WHOLE, VASE_DROPPED, VASE_BROKEN]
     descriptions:
-    - [VASE_WHOLE, 'There is a delicate, precious, ming vase here!']
-    - [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.']
+    - 'There is a delicate, precious, ming vase here!'
+    - 'The floor is littered with worthless shards of pottery.'
+    - 'The floor is littered with worthless shards of pottery.'
     changes:
-    - ''
-    - ''
+    - 'The vase is now resting, delicately, on a velvet pillow.'
+    - 'The ming vase drops with a delicate crash.'
     - 'You have taken the vase and hurled it delicately to the ground.'
 - EMERALD:
     words: ['emera']
@@ -3742,10 +3659,11 @@ objects: !!omap
     locations: [LOC_SECRET4, LOC_SECRET6]
     immovable: true
     treasure: true
+    states: [RUG_FLOOR, RUG_DRAGON, RUG_HOVER]
     descriptions:
-    - [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!']
+    - '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!'
 - OBJ_63:
     words: ['spice']
     inventory: 'Rare spices'
@@ -3759,10 +3677,11 @@ objects: !!omap
     locations: LOC_BARRENROOM
     immovable: true
     treasure: true
+    states: [CHAIN_HEAP, CHAINING_BEAR, CHAIN_FIXED]
     descriptions:
-    - [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!']
+    - '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!'
 - RUBY:
     words: ['ruby']
     inventory: 'Giant ruby'
@@ -3783,9 +3702,10 @@ objects: !!omap
     inventory: 'Amber gemstone'
     locations: LOC_NOWHERE
     treasure: true
+    states: [AMBER_IN_URN, AMBER_IN_ROCK]
     descriptions:
-    - [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!']
+    - 'There is a rare amber gemstone here!'
+    - 'There is an amber gemstone resting in a small cavity in the rock!'
 - SAPPH:
     words: ['sapph']
     inventory: 'Star sapphire'
@@ -3823,25 +3743,141 @@ obituaries:
         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:
+actions: !!omap
+- ACT_0:
     message: !!null
     words: !!null
-- SPC_1:
-    message: !!null
+- CARRY:
+    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']
+- SAY:
+    message: NO_MESSAGE
+    words: ['say', 'chant', 'sing', 'utter', 'mumbl']
+- UNLOCK:
+    message: *not_lockable
+    words: ['unloc', 'open']
+- NOTHING:
+    message: NO_MESSAGE
+    words: ['z', 'nothi']
+    oldstyle: false
+- LOCK:
+    message: *not_lockable
+    words: ['lock', 'close']
+- LIGHT:
+    message: *dont_understand
+    words: ['light', 'on']
+- EXTINGUISH:
+    message: *dont_understand
+    words: ['extin', 'off']
+- WAVE:
+    message: *nothing_happens
+    words: ['wave', 'shake', 'swing']
+- TAME:
+    message: *am_game
+    words: ['calm', 'placa', 'tame']
+- GO:
+    message: *where_query
+    words: ['walk', 'run', 'trave', 'go', 'proce',
+            'conti', 'explo', 'follo', 'turn']
+- ATTACK:
+    message: *ridiculous_attempt
+    words: ['attac', 'kill', 'fight', 'hit', 'strik', 'slay']
+- POUR:
+    message: *arent_carrying
+    words: ['pour']
+- EAT:
+    message: *ridiculous_attempt
+    words: ['eat', 'devou']
+- DRINK:
+    message: |-
+      You have taken a drink from the stream.  The water tastes strongly of
+      minerals, but is not unpleasant.  It is extremely cold.
+    words: ['drink']
+- RUB:
+    message: |-
+      Rubbing the electric lamp is not particularly rewarding.  Anyway,
+      nothing exciting happens.
+    words: ['rub']
+- THROW:
+    message: *arent_carrying
+    words: ['throw', 'toss']
+- QUIT:
+    message: *huh_man
+    words: ['quit']
+- FIND:
+    message: *nearby
+    words: ['find', 'where']
+- INVENTORY:
+    message: *nearby
+    words: ['i', 'inven']
+    oldstyle: false
+- FEED:
+    message: 'There is nothing here to eat.'
+    words: ['feed']
+- FILL:
+    message: 'You can''t fill that.'
+    words: ['fill']
+- BLAST:
+    message: *requires_dynamite
+    words: ['blast', 'deton', 'ignit', 'blowu']
+- SCORE:
+    message: *huh_man
+    words: ['score']
+- FEE:
+    message: *not_knowhow
     words: ['fee']
-- SPC_2:
-    message: !!null
+- FIE:
+    message: *not_knowhow
     words: ['fie']
-- SPC_3:
-    message: !!null
+- FOE:
+    message: *not_knowhow
     words: ['foe']
-- SPC_4:
-    message: !!null
+- FOO:
+    message: *not_knowhow
     words: ['foo']
-- SPC_5:
-    message: !!null
+- FUM:
+    message: *not_knowhow
     words: ['fum']
+- BRIEF:
+    message: 'On what?'
+    words: ['brief']
+- READ:
+    message: *dont_understand
+    words: ['read', 'perus']
+- BREAK:
+    message: *beyond_power
+    words: ['break', 'shatt', 'smash']
+- WAKE:
+    message: *ridiculous_attempt
+    words: ['wake', 'distu']
+- SAVE:
+    message: *huh_man
+    words: ['suspe', 'pause', 'save']
+- RESUME:
+    message: *huh_man
+    words: ['resum', 'resta']
+- FLY:
+    message: *am_game
+    words: ['fly']
+- LISTEN:
+    message: *dont_understand
+    words: ['liste']
+- PART:
+    message: *nothing_happens
+    words: ['z''zzz']
+- ACT_35:
+    message: *huh_man
+    words: !!null
+
+specials: !!omap
+- SPC_0:
+    message: !!null
+    words: !!null
 - SPC_13:
     message: 'You''re quite welcome.'
     words: ['thank']