Add make target for coverage
[open-adventure.git] / adventure.yaml
index 03f532ace78fd27751f3761bce33b505c4e941a2..87ef4b020d88b586b08902db56d0dac6c46e2254 100644 (file)
@@ -6,14 +6,17 @@
 #
 # We define a bunch of YAML structures:
 #
-# vocabulary: Almost all the words the game knows - one of them (the
+# vocabulary: - This structure is unused, and will eventually be removed. -
+#    Almost all the words the game knows - one of them (the
 #    reservoir magic word) gets replaced with a randomly-generated
 #    cookie.  For each word there is a type (motion, action, object,
 #    or special) and a numeric value.  Multiple synonyms may have the
 #    same value.
 #
-# actspk: Default message for action verbs.  The numbers correspond to
-#    values in the vocabulary list.
+# motions: Motion words, grouped into synonyms.
+#
+# actions: Action words, grouped into synonyms, and their corresponding
+#    default messages.
 #
 # hints: Each item contains a hint number, a hint label (used to
 #    generate the value macro for the hint) the number of turns he
 #                    a named location) a speak (utter a named message), or
 #                    a special (branch to special case in movement code).
 #                    The conditional may be one of the following:
-#                      [pct N]       Roll a die, n% chance of success
-#                      [carry OBJ]   Must be carrying named object
-#                      [with OBJ]    Must be carrying or in room with
-#                      [not OBJ N]   Property of named OBJ must not be N
+#                      [pct, N]       Roll a die, n% chance of success
+#                      [carry, OBJ]   Must be carrying named object
+#                      [with, OBJ]    Must be carrying or in room with
+#                      [not, OBJ N]   Property of named OBJ must not be N.
+#                                     N may be numeric or a state label.
 #    All attributes are optional except the long description and
 #    travel. Order of locations is not significant.
 #
 #    Order doesn't matter; the logic simply tests every threshold on
 #    the assumption that turn counts never decrease nor skip values.
 #
-# object_descriptions: Each item contains a description for use in the
-#    inventory command and one or more messages describing the object
-#    in different states.  There is also a boolean "treasure"
-#    attribute, defaulting to false.  An pbject 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).  An object may also be
-#    flagged immovable, meaning it cannot be carried.  If a state
-#    message is a tuple then the first element is made the name of a
-#    #define viible to the code for the associayed state, numbered
-#    from zero upwards. If the inventory desription begins with "*"
-#    the object is dungeon furniture that cannot be taken or carried.
+# objects: Objects have attributes as follows...
+#      inventory:    A description for use in the inventory command.
+#      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
+#                    *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
+#                    snatches, defaulting to false.
+#       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
+#                    is an example of a two-location object; it can be accessed
+#                    from above or below).
 #
 # obituaries: Death messages and reincarnation queries.  Order is
 #    significant, they're used in succession as the player racks up
@@ -340,43 +352,336 @@ vocabulary: [
     {word: "NEWS",  type: special, value: 275},
 ]
 
-actspk: {
-    1: ALREADY_CARRYING,
-    2: ARENT_CARRYING,
-    3: NO_MESSAGE,
-    4: NOT_LOCKABLE,
-    5: NO_MESSAGE,
-    6: NOT_LOCKABLE,
-    7: DONT_UNDERSTAND,
-    8: DONT_UNDERSTAND,
-    9: NOTHING_HAPPENS,
-    10: AM_GAME,
-    11: WHERE_QUERY,
-    12: RIDICULOUS_ATTEMPT,
-    13: ARENT_CARRYING,
-    14: RIDICULOUS_ATTEMPT,
-    15: STREAM_WATER,
-    16: RUB_NOGO,
-    17: ARENT_CARRYING,
-    18: HUH_MAN,
-    19: NEARBY,
-    20: NEARBY,
-    21: NO_EDIBLES,
-    22: CANT_FILL,
-    23: REQUIRES_DYNAMITE,
-    24: HUH_MAN,
-    25: NOT_KNOWHOW,
-    26: ON_WHAT,
-    27: DONT_UNDERSTAND,
-    28: BEYOND_POWER,
-    29: RIDICULOUS_ATTEMPT,
-    30: HUH_MAN,
-    31: HUH_MAN,
-    32: AM_GAME,
-    33: DONT_UNDERSTAND,
-    34: NOTHING_HAPPENS,
-    35: HUH_MAN,
-}
+motions: !!omap
+- MOT_0:
+    words: !!null
+- MOT_1:
+    words: !!null
+- MOT_2:
+    words: ['road', 'hill']
+- ENTER:
+    words: ['enter']
+- MOT_4:
+    words: ['upstr']
+- MOT_5:
+    words: ['downs']
+- MOT_6:
+    words: ['fores']
+- MOT_7:
+    words: ['forwa', 'conti', 'onwar']
+- BACK:
+    words: ['back', 'retur', 'retre']
+- MOT_9:
+    words: ['valle']
+- MOT_10:
+    words: ['stair']
+- MOT_11:
+    words: ['out', 'outsi', 'exit', 'leave']
+- MOT_12:
+    words: ['build', 'house']
+- MOT_13:
+    words: ['gully']
+- STREAM:
+    words: ['strea']
+- MOT_15:
+    words: ['fork']
+- MOT_16:
+    words: ['bed']
+- MOT_17:
+    words: ['crawl']
+- MOT_18:
+    words: ['cobbl']
+- MOT_19:
+    words: ['inwar', 'insid', 'in']
+- MOT_20:
+    words: ['surfa']
+- NUL:
+    words: ['null', 'nowhe']
+- MOT_22:
+    words: ['dark']
+- MOT_23:
+    words: ['passa', 'tunne']
+- MOT_24:
+    words: ['low']
+- MOT_25:
+    words: ['canyo']
+- MOT_26:
+    words: ['awkwa']
+- MOT_27:
+    words: ['giant']
+- MOT_28:
+    words: ['view']
+- MOT_29:
+    words: ['upwar', 'up', 'u', 'above', 'ascen']
+- MOT_30:
+    words: ['d', 'downw', 'down', 'desce']
+- MOT_31:
+    words: ['pit']
+- MOT_32:
+    words: ['outdo']
+- MOT_33:
+    words: ['crack']
+- MOT_34:
+    words: ['steps']
+- MOT_35:
+    words: ['dome']
+- MOT_36:
+    words: ['left']
+- MOT_37:
+    words: ['right']
+- MOT_38:
+    words: ['hall']
+- MOT_39:
+    words: ['jump']
+- MOT_40:
+    words: ['barre']
+- MOT_41:
+    words: ['over']
+- MOT_42:
+    words: ['acros']
+- MOT_43:
+    words: ['east', 'e']
+- MOT_44:
+    words: ['west', 'w']
+- MOT_45:
+    words: ['north', 'n']
+- MOT_46:
+    words: ['south', 's']
+- MOT_47:
+    words: ['ne']
+- MOT_48:
+    words: ['se']
+- MOT_49:
+    words: ['sw']
+- MOT_50:
+    words: ['nw']
+- MOT_51:
+    words: ['debri']
+- MOT_52:
+    words: ['hole']
+- MOT_53:
+    words: ['wall']
+- MOT_54:
+    words: ['broke']
+- MOT_55:
+    words: ['y2']
+- MOT_56:
+    words: ['climb']
+- LOOK:
+    words: ['l', 'x', 'look', 'exami', 'touch', 'descr']
+- MOT_58:
+    words: ['floor']
+- MOT_59:
+    words: ['room']
+- MOT_60:
+    words: ['slit']
+- MOT_61:
+    words: ['slab', 'slabr']
+- MOT_62:
+    words: ['xyzzy']
+- DPRSSN:
+    words: ['depre']
+- ENTRNC:
+    words: ['entra']
+- MOT_65:
+    words: ['plugh']
+- MOT_66:
+    words: ['secre']
+- CAVE:
+    words: ['cave']
+- MOT_68:
+    words: !!null
+- MOT_69:
+    words: ['cross']
+- MOT_70:
+    words: ['bedqu']
+- MOT_71:
+    words: ['plove']
+- MOT_72:
+    words: ['orien']
+- MOT_73:
+    words: ['caver']
+- MOT_74:
+    words: ['shell']
+- MOT_75:
+    words: ['reser']
+- MOT_76:
+    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']
+- DROP:
+    message: ARENT_CARRYING
+    words: ['d', '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']
+- 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']
+- 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
+
+specials: !!omap
+- SPC_0:
+    message: !!null
+    words: !!null
+- SPC_1:
+    message: !!null
+    words: ['fee']
+- SPC_2:
+    message: !!null
+    words: ['fie']
+- SPC_3:
+    message: !!null
+    words: ['foe']
+- SPC_4:
+    message: !!null
+    words: ['foo']
+- SPC_5:
+    message: !!null
+    words: ['fum']
+- SPC_13:
+    message: YOUR_WELCOME
+    words: ['thank']
+- SPC_50:
+    message: WORN_OUT
+    words: ['sesam', 'opens', 'abra', 'abrac', 'shaza', 'hocus', 'pocus']
+- SPC_51:
+    message: VOCAB_DESCRIPTION
+    words: ['help', '?']
+- SPC_54:
+    message: OK_MAN
+    words: ['no']
+- SPC_64:
+    message: FOREST_LOOK
+    words: ['tree', 'trees']
+- SPC_66:
+    message: DIGGING_FUTILE
+    words: ['dig', 'excav']
+- SPC_68:
+    message: IM_CONFUSED
+    words: ['lost']
+- SPC_69:
+    message: EXPLAIN_MIST
+    words: ['mist']
+- SPC_79:
+    message: WATCH_IT
+    words: ['fuck']
+- SPC_139:
+    message: STOP_UNKNOWN
+    words: ['stop']
+- SPC_142:
+    message: QUICK_START
+    words: ['info', 'infor']
+- SPC_147:
+    message: NOT_KNOWHOW
+    words: ['swim']
+- SPC_246:
+    message: WIZARDS_NODISTURB
+    words: ['wizar']
+- SPC_271:
+    message: GUESS_AGAIN
+    words: ['yes']
+- SPC_275:
+    message: ADVENTURE_NEWS
+    words: ['news']
 
 hints:
   - hint: &grate
@@ -465,11 +770,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', 'D'], action: [goto, LOC_VALLEY]},
+      {verbs: ['FORES', 'NORTH'], action: [goto, LOC_FOREST1]},
+      {verbs: ['DEPRE'], action: [goto, LOC_GRATE]},
     ]
 - LOC_HILL:
     description:
@@ -477,10 +782,10 @@ 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: ['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]},
     ]
 - LOC_BUILDING:
@@ -490,10 +795,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:
@@ -502,11 +807,11 @@ 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: ['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]},
     ]
 - LOC_ROADEND:
@@ -515,11 +820,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:
@@ -528,9 +833,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:
@@ -539,11 +844,11 @@ 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: ['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]},
     ]
 - LOC_GRATE:
@@ -553,12 +858,12 @@ 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'], cond: [not OBJ_3 0], action: ["goto", LOC_BELOWGRATE]},
+      {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'], cond: [not, GRATE, GRATE_CLOSED], action: [goto, LOC_BELOWGRATE]},
       {verbs: ['ENTER'], action: ["speak", GRATE_NOWAY]},
     ]
 - LOC_BELOWGRATE:
@@ -567,11 +872,11 @@ locations: !!omap
       short: 'You''re below the grate.'
     conditions: {LIT: true}
     travel: [
-      {verbs: ['OUT', 'UPWAR'], cond: [not OBJ_3 0], action: ["goto", LOC_GRATE]},
+      {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: ['CRAWL', 'COBBL', 'INWAR', 'WEST'], action: [goto, LOC_COBBLE]},
+      {verbs: ['PIT'], action: [goto, LOC_PITTOP]},
+      {verbs: ['DEBRI'], action: [goto, LOC_DEBRIS]},
     ]
 - LOC_COBBLE:
     description:
@@ -579,9 +884,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', 'NULL', 'EAST'], action: [goto, LOC_BELOWGRATE]},
+      {verbs: ['INWAR', 'DARK', 'WEST', 'DEBRI'], action: [goto, LOC_DEBRIS]},
+      {verbs: ['PIT'], action: [goto, LOC_PITTOP]},
     ]
 - LOC_DEBRIS:
     description:
@@ -589,12 +894,12 @@ locations: !!omap
       short: 'You''re in debris room.'
     conditions: {}
     travel: [
-      {verbs: ['DEPRE'], cond: [not OBJ_3 0], 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:
@@ -602,11 +907,11 @@ locations: !!omap
       short: !!null
     conditions: {}
     travel: [
-      {verbs: ['DEPRE'], cond: [not OBJ_3 0], 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: ['D', 'EAST', 'DEBRI'], action: [goto, LOC_DEBRIS]},
+      {verbs: ['INWAR', 'UPWAR', 'WEST'], action: [goto, LOC_BIRD]},
+      {verbs: ['PIT'], action: [goto, LOC_PITTOP]},
     ]
 - LOC_BIRD:
     description:
@@ -615,11 +920,11 @@ locations: !!omap
     conditions: {}
     hints: [*bird] 
     travel: [
-      {verbs: ['DEPRE'], cond: [not OBJ_3 0], 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:
@@ -627,13 +932,13 @@ locations: !!omap
       short: 'You''re at top of small pit.'
     conditions: {}
     travel: [
-      {verbs: ['DEPRE'], cond: [not OBJ_3 0], 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 OBJ_50], 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: ['D', 'PIT', 'STEPS'], cond: [carry, NUGGET], action: [goto, LOC_NECKBROKE]},
+      {verbs: ['D'], action: [goto, LOC_MISTHALL]},
+      {verbs: ['CRACK', 'WEST'], action: [goto, LOC_CRACK]},
     ]
 - LOC_MISTHALL:
     description:
@@ -643,12 +948,12 @@ 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'], cond: [carry OBJ_50], action: ["goto", LOC_DOME]},
-      {verbs: ['UPWAR'], action: ["goto", LOC_PITTOP]},
-      {verbs: ['Y2'], action: ["goto", LOC_JUMBLE]},
+      {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'], cond: [carry, NUGGET], action: [goto, LOC_DOME]},
+      {verbs: ['UPWAR'], action: [goto, LOC_PITTOP]},
+      {verbs: ['Y2'], action: [goto, LOC_JUMBLE]},
     ]
 - LOC_CRACK:
     description:
@@ -656,7 +961,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: [], action: ["goto", LOC_PITTOP]},
+      {verbs: [], action: [goto, LOC_PITTOP]},
     ]
 - LOC_EASTBANK:
     description:
@@ -664,11 +969,11 @@ 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 OBJ_12 0], action: ["speak", CROSS_BRIDGE]},
-      {verbs: ['FORWA'], cond: [not OBJ_12 1], action: ["goto", LOC_NOMAKE]},
-      {verbs: ['OVER', 'ACROS', 'WEST', 'CROSS'], cond: [not OBJ_12 1], action: ["speak", NO_CROSS]},
-      {verbs: ['OVER'], action: ["goto", LOC_WESTBANK]},
+      {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'], cond: [not, FISSURE, BRIDGED], action: ["speak", NO_CROSS]},
+      {verbs: ['OVER'], action: [goto, LOC_WESTBANK]},
     ]
 - LOC_NUGGET:
     description:
@@ -676,7 +981,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:
@@ -685,14 +990,14 @@ locations: !!omap
     conditions: {DEEP: true}
     hints: [*snake]
     travel: [
-      {verbs: ['STAIR', 'UPWAR', 'EAST'], action: ["goto", LOC_MISTHALL]},
-      {verbs: ['NORTH', 'RIGHT'], cond: [not OBJ_11 0], action: ["goto", LOC_FLOORHOLE]},
-      {verbs: ['SOUTH', 'LEFT'], cond: [not OBJ_11 0], action: ["goto", LOC_SOUTHSIDE]},
-      {verbs: ['WEST', 'FORWA'], cond: [not OBJ_11 0], action: ["goto", LOC_WESTSIDE]},
-      {verbs: ['NORTH'], action: ["goto", LOC_SNAKEBLOCK]},
-      {verbs: ['SW'], cond: [pct 35], action: ["goto", LOC_SECRET3]},
-      {verbs: ['SW'], cond: [with OBJ_11], action: ["goto", LOC_SNAKEBLOCK]},
-      {verbs: ['SECRE'], action: ["goto", LOC_SECRET3]},
+      {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], action: [goto, LOC_SOUTHSIDE]},
+      {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]},
     ]
 - LOC_NECKBROKE:
     description:
@@ -700,7 +1005,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: [], action: ["goto", LOC_NOWHERE]},
+      {verbs: [], action: [goto, LOC_NOWHERE]},
     ]
 - LOC_NOMAKE:
     description:
@@ -708,7 +1013,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: [], action: ["goto", LOC_NOWHERE]},
+      {verbs: [], action: [goto, LOC_NOWHERE]},
     ]
 - LOC_DOME:
     description:
@@ -716,7 +1021,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: [], action: ["goto", LOC_MISTHALL]},
+      {verbs: [], action: [goto, LOC_MISTHALL]},
     ]
 - LOC_WESTEND:
     description:
@@ -724,9 +1029,9 @@ 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: ['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]},
     ]
 - LOC_EASTPIT:
@@ -735,7 +1040,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:
@@ -743,9 +1048,9 @@ locations: !!omap
       short: 'You''re in west pit.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['UPWAR', 'OUT'], action: ["goto", LOC_WESTEND]},
-      {verbs: ['CLIMB'], cond: [not OBJ_24 2], action: ["goto", LOC_BUILDING1]},
-      {verbs: ['CLIMB'], action: ["goto", LOC_CLIMBSTALK]},
+      {verbs: ['UPWAR', 'OUT'], action: [goto, LOC_WESTEND]},
+      {verbs: ['CLIMB'], cond: [not, PLANT, 2], action: [goto, LOC_BUILDING1]},
+      {verbs: ['CLIMB'], action: [goto, LOC_CLIMBSTALK]},
     ]
 - LOC_CLIMBSTALK:
     description:
@@ -753,7 +1058,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: [], action: ["goto", LOC_NARROW]},
+      {verbs: [], action: [goto, LOC_NARROW]},
     ]
 - LOC_WESTBANK:
     description:
@@ -761,12 +1066,12 @@ locations: !!omap
       short: 'You''re on west bank of fissure.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['JUMP'], cond: [not OBJ_12 0], action: ["speak", CROSS_BRIDGE]},
-      {verbs: ['FORWA'], cond: [not OBJ_12 1], action: ["goto", LOC_NOMAKE]},
-      {verbs: ['OVER', 'ACROS', 'EAST', 'CROSS'], cond: [not OBJ_12 1], action: ["speak", NO_CROSS]},
-      {verbs: ['OVER'], action: ["goto", LOC_EASTBANK]},
-      {verbs: ['NORTH'], action: ["goto", LOC_PARALLEL1]},
-      {verbs: ['WEST'], action: ["goto", LOC_MISTWEST]},
+      {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'], 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]},
     ]
 - LOC_FLOORHOLE:
     description:
@@ -774,9 +1079,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: ['D', 'HOLE'], action: [goto, LOC_BROKEN]},
     ]
 - LOC_SOUTHSIDE:
     description:
@@ -784,7 +1089,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:
@@ -792,8 +1097,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:
@@ -801,8 +1106,8 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: [], cond: [not OBJ_24 1], action: ["goto", LOC_NOCLIMB]},
-      {verbs: [], action: ["goto", LOC_PLANTTOP]},
+      {verbs: [], cond: [not, PLANT, 1], action: [goto, LOC_NOCLIMB]},
+      {verbs: [], action: [goto, LOC_PLANTTOP]},
     ]
 - LOC_SNAKEBLOCK:
     description:
@@ -810,7 +1115,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: [], action: ["goto", LOC_KINGHALL]},
+      {verbs: [], action: [goto, LOC_KINGHALL]},
     ]
 - LOC_Y2:
     description:
@@ -818,12 +1123,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 OBJ_59], 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:
@@ -831,8 +1136,8 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['D', 'Y2'], action: ["goto", LOC_Y2]},
-      {verbs: ['UPWAR'], action: ["goto", LOC_MISTHALL]},
+      {verbs: ['D', 'Y2'], action: [goto, LOC_Y2]},
+      {verbs: ['UPWAR'], action: [goto, LOC_MISTHALL]},
     ]
 - LOC_WINDOW1:
     description:
@@ -840,8 +1145,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:
@@ -849,10 +1154,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:
@@ -860,8 +1165,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: ['D', 'PIT', 'CLIMB'], action: [goto, LOC_SMALLPIT]},
     ]
 - LOC_SMALLPIT:
     description:
@@ -870,7 +1175,7 @@ locations: !!omap
     conditions: {FLUID: true, DEEP: true}
     sound: STREAM_GURGLES
     travel: [
-      {verbs: ['CLIMB', 'UPWAR', 'OUT'], action: ["goto", LOC_SMALLPITBRINK]},
+      {verbs: ['CLIMB', 'UPWAR', 'OUT'], action: [goto, LOC_SMALLPITBRINK]},
       {verbs: ['SLIT', 'STREA', 'D', 'UPSTR', 'DOWNS', 'ENTER', 'INWAR'], action: ["speak", DONT_FIT]},
     ]
 - LOC_DUSTY:
@@ -879,9 +1184,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: ['D', 'HOLE', 'FLOOR'], action: [goto, LOC_COMPLEX]},
+      {verbs: ['BEDQU'], action: [goto, LOC_BEDQUILT]},
     ]
 - LOC_PARALLEL1:
     description:
@@ -889,7 +1194,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: [], action: ["goto", LOC_MISTWEST]},
+      {verbs: [], action: [goto, LOC_MISTWEST]},
     ]
 - LOC_MISTWEST:
     description:
@@ -897,10 +1202,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:
@@ -909,11 +1214,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:
@@ -922,9 +1227,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:
@@ -933,10 +1238,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: ['D'], action: [goto, LOC_DEADEND3]},
+      {verbs: ['SOUTH'], action: [goto, LOC_ALIKE6]},
+      {verbs: ['NORTH'], action: [goto, LOC_DEADEND9]},
     ]
 - LOC_ALIKE4:
     description:
@@ -945,11 +1250,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', 'D'], action: [goto, LOC_ALIKE14]},
     ]
 - LOC_DEADEND1:
     description:
@@ -958,7 +1263,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:
@@ -967,7 +1272,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:
@@ -976,7 +1281,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:
@@ -985,8 +1290,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:
@@ -995,10 +1300,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: ['D'], action: [goto, LOC_ALIKE7]},
+      {verbs: ['SOUTH'], action: [goto, LOC_ALIKE8]},
     ]
 - LOC_ALIKE7:
     description:
@@ -1007,10 +1312,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:
@@ -1019,12 +1324,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: ['D'], action: [goto, LOC_DEADEND11]},
     ]
 - LOC_ALIKE9:
     description:
@@ -1033,9 +1338,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:
@@ -1044,7 +1349,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:
@@ -1053,10 +1358,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: ['D'], action: [goto, LOC_DEADEND5]},
+      {verbs: ['EAST'], action: [goto, LOC_PITBRINK]},
     ]
 - LOC_DEADEND5:
     description:
@@ -1065,7 +1370,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:
@@ -1073,11 +1378,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: ['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]},
     ]
 - LOC_DEADEND6:
     description:
@@ -1085,7 +1390,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:
@@ -1093,7 +1398,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: [], action: ["goto", LOC_WESTBANK]},
+      {verbs: [], action: [goto, LOC_WESTBANK]},
     ]
 - LOC_LONGEAST:
     description:
@@ -1101,9 +1406,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', 'D', 'HOLE'], action: [goto, LOC_CROSSOVER]},
     ]
 - LOC_LONGWEST:
     description:
@@ -1111,9 +1416,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: [carry OBJ_0], action: ["goto", LOC_DIFFERENT1]},
+      {verbs: ['EAST'], action: [goto, LOC_LONGEAST]},
+      {verbs: ['NORTH'], action: [goto, LOC_CROSSOVER]},
+      {verbs: ['SOUTH'], cond: [carry, OBJ_0], action: [goto, LOC_DIFFERENT1]},
     ]
 - LOC_CROSSOVER:
     description:
@@ -1121,10 +1426,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:
@@ -1132,7 +1437,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:
@@ -1142,10 +1447,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:
@@ -1153,18 +1458,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: ['D'], cond: [pct, 65], action: ["speak", FUTILE_CRAWL]},
+      {verbs: ['D'], action: [goto, LOC_ANTEROOM]},
     ]
 - LOC_SWISSCHEESE:
     description:
@@ -1172,13 +1477,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:
@@ -1186,9 +1491,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: ['D', 'PIT'], action: [goto, LOC_EASTPIT]},
     ]
 - LOC_SLAB:
     description:
@@ -1196,9 +1501,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:
@@ -1206,11 +1511,11 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['D', 'SLAB'], action: ["goto", LOC_SLAB]},
-      {verbs: ['SOUTH'], cond: [not OBJ_31 0], action: ["goto", LOC_SECRET5]},
-      {verbs: ['SOUTH'], action: ["goto", LOC_SECRET4]},
-      {verbs: ['NORTH'], action: ["goto", LOC_MIRRORCANYON]},
-      {verbs: ['RESER'], action: ["goto", LOC_RESERVOIR]},
+      {verbs: ['D', 'SLAB'], action: [goto, LOC_SLAB]},
+      {verbs: ['SOUTH'], cond: [not, DRAGON, DRAGON_BLOCKS], action: [goto, LOC_SECRET5]},
+      {verbs: ['SOUTH'], action: [goto, LOC_SECRET4]},
+      {verbs: ['NORTH'], action: [goto, LOC_MIRRORCANYON]},
+      {verbs: ['RESER'], action: [goto, LOC_RESERVOIR]},
     ]
 - LOC_SECRET2:
     description:
@@ -1218,9 +1523,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: ['D', 'PASSA'], action: [goto, LOC_BEDQUILT]},
+      {verbs: ['SOUTH'], action: [goto, LOC_TOPSTALACTITE]},
     ]
 - LOC_THREEJUNCTION:
     description:
@@ -1228,9 +1533,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:
@@ -1238,10 +1543,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:
@@ -1249,7 +1554,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:
@@ -1257,10 +1562,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 OBJ_31 0], 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_BLOCKS], action: [goto, LOC_SECRET5]},
+      {verbs: ['WEST'], action: [goto, LOC_SECRET6]},
+      {verbs: ['D'], action: [goto, LOC_WIDEPLACE]},
     ]
 - LOC_WIDEPLACE:
     description:
@@ -1268,8 +1573,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:
@@ -1277,7 +1582,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['NORTH'], action: ["goto", LOC_WIDEPLACE]},
+      {verbs: ['NORTH'], action: [goto, LOC_WIDEPLACE]},
     ]
 - LOC_TALL:
     description:
@@ -1285,9 +1590,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:
@@ -1295,7 +1600,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['SOUTH'], action: ["goto", LOC_TALL]},
+      {verbs: ['SOUTH'], action: [goto, LOC_TALL]},
     ]
 - LOC_SEWER:
     description:
@@ -1303,7 +1608,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: [], action: ["goto", LOC_BUILDING]},
+      {verbs: [], action: [goto, LOC_BUILDING]},
     ]
 - LOC_ALIKE11:
     description:
@@ -1312,10 +1617,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:
@@ -1324,7 +1629,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:
@@ -1333,7 +1638,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:
@@ -1341,9 +1646,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:
@@ -1351,9 +1656,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:
@@ -1361,7 +1666,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:
@@ -1370,7 +1675,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:
@@ -1379,7 +1684,7 @@ locations: !!omap
     conditions: {DEEP: true, NOBACK: true}
     hints: [*maze]
     travel: [
-      {verbs: ['UPWAR', 'D'], action: ["goto", LOC_ALIKE4]},
+      {verbs: ['UPWAR', 'D'], action: [goto, LOC_ALIKE4]},
     ]
 - LOC_NARROW:
     description:
@@ -1387,9 +1692,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: ['D', 'CLIMB', 'EAST'], action: [goto, LOC_WESTPIT]},
+      {verbs: ['JUMP'], action: [goto, LOC_NECKBROKE]},
+      {verbs: ['WEST', 'GIANT'], action: [goto, LOC_GIANTROOM]},
     ]
 - LOC_NOCLIMB:
     description:
@@ -1397,7 +1702,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: [], action: ["goto", LOC_WESTPIT]},
+      {verbs: [], action: [goto, LOC_WESTPIT]},
     ]
 - LOC_PLANTTOP:
     description:
@@ -1405,7 +1710,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: [], action: ["goto", LOC_WESTEND]},
+      {verbs: [], action: [goto, LOC_WESTEND]},
     ]
 - LOC_INCLINE:
     description:
@@ -1413,8 +1718,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: ['D', 'CLIMB'], action: [goto, LOC_LOWROOM]},
     ]
 - LOC_GIANTROOM:
     description:
@@ -1422,9 +1727,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:
@@ -1432,7 +1737,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:
@@ -1441,8 +1746,8 @@ locations: !!omap
     conditions: {DEEP: true}
     sound: WIND_WHISTLES
     travel: [
-      {verbs: ['SOUTH', 'GIANT', 'PASSA'], action: ["goto", LOC_GIANTROOM]},
-      {verbs: ['NORTH', 'ENTER', 'CAVER'], cond: [not OBJ_9 0], action: ["goto", LOC_WATERFALL]},
+      {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]},
     ]
 - LOC_WATERFALL:
@@ -1452,9 +1757,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:
@@ -1462,7 +1767,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:
@@ -1470,9 +1775,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:
@@ -1481,8 +1786,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:
@@ -1491,9 +1796,9 @@ locations: !!omap
     conditions: {DEEP: true}
     hints: [*dark]
     travel: [
-      {verbs: ['NW', 'CAVER'], action: ["goto", LOC_MISTY]},
+      {verbs: ['NW', 'CAVER'], action: [goto, LOC_MISTY]},
       {verbs: ['EAST', 'PASSA'], action: ["special", 1]},
-      {verbs: ['EAST'], action: ["goto", LOC_PLOVER]},
+      {verbs: ['EAST'], action: [goto, LOC_PLOVER]},
     ]
 - LOC_PLOVER:
     description:
@@ -1503,10 +1808,10 @@ locations: !!omap
     hints: [*dark]
     travel: [
       {verbs: ['WEST', 'PASSA', 'OUT'], action: ["special", 1]},
-      {verbs: ['WEST'], action: ["goto", LOC_ALCOVE]},
-      {verbs: ['PLOVE'], cond: [carry OBJ_59], action: ["special", 2]},
-      {verbs: ['PLOVE'], action: ["goto", LOC_FOOF6]},
-      {verbs: ['NE', 'DARK'], action: ["goto", LOC_DARKROOM]},
+      {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:
@@ -1515,7 +1820,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:
@@ -1523,7 +1828,7 @@ locations: !!omap
       short: 'You''re in arched hall.'
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['D', 'SHELL', 'OUT'], action: ["goto", LOC_SHELLROOM]},
+      {verbs: ['D', 'SHELL', 'OUT'], action: [goto, LOC_SHELLROOM]},
     ]
 - LOC_SHELLROOM:
     description:
@@ -1531,11 +1836,11 @@ 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 OBJ_14], action: ["speak", CLAM_BLOCKER]},
-      {verbs: ['SOUTH'], cond: [carry OBJ_15], action: ["speak", OYSTER_BLOCKER]},
-      {verbs: ['SOUTH'], action: ["goto", LOC_COMPLEX]},
+      {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]},
     ]
 - LOC_SLOPING1:
     description:
@@ -1543,8 +1848,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: ['D'], action: [goto, LOC_CULDESAC]},
     ]
 - LOC_CULDESAC:
     description:
@@ -1552,8 +1857,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:
@@ -1561,9 +1866,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:
@@ -1571,16 +1876,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: ['D'], action: [goto, LOC_LONGWEST]},
     ]
 - LOC_WITTSEND:
     description:
@@ -1589,8 +1894,8 @@ 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: ['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]},
     ]
 - LOC_MIRRORCANYON:
@@ -1601,8 +1906,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:
@@ -1610,8 +1915,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:
@@ -1619,10 +1924,10 @@ 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], action: ["goto", LOC_ALIKE6]},
-      {verbs: ['D'], cond: [pct 50], action: ["goto", LOC_ALIKE9]},
-      {verbs: ['D'], action: ["goto", LOC_ALIKE4]},
+      {verbs: ['NORTH'], action: [goto, LOC_SECRET2]},
+      {verbs: ['D', 'JUMP', 'CLIMB'], cond: [pct, 40], action: [goto, LOC_ALIKE6]},
+      {verbs: ['D'], cond: [pct, 50], action: [goto, LOC_ALIKE9]},
+      {verbs: ['D'], action: [goto, LOC_ALIKE4]},
     ]
 - LOC_DIFFERENT2:
     description:
@@ -1630,16 +1935,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: ['D'], action: [goto, LOC_DIFFERENT10]},
+      {verbs: ['UPWAR'], action: [goto, LOC_DIFFERENT11]},
+      {verbs: ['SOUTH'], action: [goto, LOC_DEADEND13]},
     ]
 - LOC_RESERVOIR:
     description:
@@ -1648,9 +1953,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 OBJ_45 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, 1], action: ["speak", BAD_DIRECTION]},
+      {verbs: ['NORTH'], action: [goto, LOC_RESBOTTOM]},
     ]
 - LOC_DEADEND12:
     description:
@@ -1658,7 +1963,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['SE'], action: ["goto", LOC_ALIKE13]},
+      {verbs: ['SE'], action: [goto, LOC_ALIKE13]},
     ]
 - LOC_NE:
     description:
@@ -1667,7 +1972,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:
@@ -1676,7 +1981,7 @@ locations: !!omap
     conditions: {DEEP: true, LIT: true}
     sound: SNAKES_HISSING
     travel: [
-      {verbs: ['NE'], action: ["goto", LOC_NE]},
+      {verbs: ['NE'], action: [goto, LOC_NE]},
       {verbs: ['D'], action: ["speak", GRATE_NOWAY]},
     ]
 - LOC_SWCHASM:
@@ -1685,11 +1990,11 @@ 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 OBJ_33], action: ["speak", TROLL_BLOCKS]},
-      {verbs: ['OVER'], cond: [not OBJ_32 0], action: ["speak", BRIDGE_GONE]},
+      {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 OBJ_32 0], action: ["goto", LOC_NOMAKE]},
+      {verbs: ['JUMP'], cond: [not, CHASM, TROLL_BRIDGE], action: [goto, LOC_NOMAKE]},
       {verbs: ['JUMP'], action: ["speak", CROSS_BRIDGE]},
     ]
 - LOC_WINDING:
@@ -1698,8 +2003,8 @@ 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: ['D'], action: [goto, LOC_LOWROOM]},
+      {verbs: ['UPWAR'], action: [goto, LOC_SWCHASM]},
     ]
 - LOC_SECRET4:
     description:
@@ -1707,7 +2012,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['NORTH', 'OUT'], action: ["goto", LOC_SECRET1]},
+      {verbs: ['NORTH', 'OUT'], action: [goto, LOC_SECRET1]},
       {verbs: ['EAST', 'FORWA'], action: ["speak", NASTY_DRAGON]},
     ]
 - LOC_SECRET5:
@@ -1716,8 +2021,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:
@@ -1725,7 +2030,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['EAST', 'OUT'], action: ["goto", LOC_SECRET3]},
+      {verbs: ['EAST', 'OUT'], action: [goto, LOC_SECRET3]},
       {verbs: ['NORTH', 'FORWA'], action: ["speak", NASTY_DRAGON]},
     ]
 - LOC_NECHASM:
@@ -1734,13 +2039,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 OBJ_33], action: ["speak", TROLL_BLOCKS]},
+      {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: ['FORK'], action: [goto, LOC_FORK]},
+      {verbs: ['VIEW'], action: [goto, LOC_BREATHTAKING]},
+      {verbs: ['BARRE'], action: [goto, LOC_BARRENFRONT]},
     ]
 - LOC_CORRIDOR:
     description:
@@ -1749,10 +2054,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:
@@ -1761,11 +2066,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', 'D'], action: [goto, LOC_LIMESTONE]},
+      {verbs: ['VIEW'], action: [goto, LOC_BREATHTAKING]},
+      {verbs: ['BARRE'], action: [goto, LOC_BARRENFRONT]},
     ]
 - LOC_WARMWALLS:
     description:
@@ -1774,9 +2079,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:
@@ -1787,10 +2092,10 @@ locations: !!omap
     sound: TOTAL_ROAR
     loud: true
     travel: [
-      {verbs: ['SOUTH', 'PASSA', 'OUT'], action: ["goto", LOC_WARMWALLS]},
-      {verbs: ['FORK'], action: ["goto", LOC_FORK]},
+      {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: ['JUMP'], action: [goto, LOC_GRUESOME]},
     ]
 - LOC_BOULDERS2:
     description:
@@ -1799,9 +2104,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:
@@ -1809,9 +2114,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', 'D', 'BARRE'], action: [goto, LOC_BARRENFRONT]},
+      {verbs: ['VIEW'], action: [goto, LOC_BREATHTAKING]},
     ]
 - LOC_BARRENFRONT:
     description:
@@ -1819,10 +2124,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:
@@ -1830,9 +2135,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:
@@ -1840,16 +2145,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: ['D'], 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:
@@ -1857,16 +2162,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: ['D'], action: [goto, LOC_DIFFERENT11]},
+      {verbs: ['SE'], action: [goto, LOC_DIFFERENT2]},
     ]
 - LOC_DIFFERENT5:
     description:
@@ -1874,16 +2179,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: ['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]},
     ]
 - LOC_DIFFERENT6:
     description:
@@ -1891,16 +2196,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: ['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]},
     ]
 - LOC_DIFFERENT7:
     description:
@@ -1908,16 +2213,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: ['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]},
     ]
 - LOC_DIFFERENT8:
     description:
@@ -1925,16 +2230,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: ['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]},
     ]
 - LOC_DIFFERENT9:
     description:
@@ -1942,16 +2247,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: ['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]},
     ]
 - LOC_DIFFERENT10:
     description:
@@ -1959,16 +2264,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: ['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]},
     ]
 - LOC_DIFFERENT11:
     description:
@@ -1976,16 +2281,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: ['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]},
     ]
 - LOC_DEADEND13:
     description:
@@ -1993,9 +2298,9 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['NORTH', 'OUT'], action: ["goto", LOC_DIFFERENT2]},
-      {verbs: ['SOUTH'], cond: [not OBJ_38 0], 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:
@@ -2003,8 +2308,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:
@@ -2012,7 +2317,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: [], action: ["goto", LOC_DEADEND13]},
+      {verbs: [], action: [goto, LOC_DEADEND13]},
     ]
 - LOC_LARGE:
     description:
@@ -2021,9 +2326,9 @@ locations: !!omap
     conditions: {DEEP: true}
     hints: [*ogre]
     travel: [
-      {verbs: ['WEST'], action: ["goto", LOC_ROUGHHEWN]},
-      {verbs: ['NORTH'], cond: [with OBJ_41], 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:
@@ -2031,7 +2336,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:
@@ -2040,10 +2345,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:
@@ -2052,10 +2357,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:
@@ -2064,9 +2369,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:
@@ -2075,8 +2380,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:
@@ -2085,9 +2390,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:
@@ -2096,10 +2401,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:
@@ -2108,10 +2413,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:
@@ -2120,10 +2425,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:
@@ -2132,10 +2437,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:
@@ -2144,10 +2449,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:
@@ -2156,10 +2461,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:
@@ -2168,10 +2473,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:
@@ -2180,10 +2485,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:
@@ -2192,10 +2497,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:
@@ -2204,10 +2509,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:
@@ -2216,9 +2521,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:
@@ -2227,9 +2532,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:
@@ -2238,10 +2543,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:
@@ -2250,10 +2555,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:
@@ -2262,10 +2567,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:
@@ -2274,10 +2579,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:
@@ -2286,10 +2591,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:
@@ -2297,7 +2602,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:
@@ -2307,8 +2612,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:
@@ -2317,9 +2622,9 @@ locations: !!omap
     conditions: {FLUID: true, DEEP: true}
     sound: WATERS_CRASHING
     travel: [
-      {verbs: ['SOUTH', 'ACROS', 'CROSS'], cond: [not OBJ_45 1], 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:
@@ -2327,8 +2632,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: ['D', 'SE'], action: [goto, LOC_RESNORTH]},
     ]
 - LOC_STEEP:
     description:
@@ -2336,8 +2641,8 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: ['D', 'SE'], action: ["goto", LOC_TREACHEROUS]},
-      {verbs: ['UPWAR', 'NW'], action: ["goto", LOC_CLIFFBASE]},
+      {verbs: ['D', 'SE'], action: [goto, LOC_TREACHEROUS]},
+      {verbs: ['UPWAR', 'NW'], action: [goto, LOC_CLIFFBASE]},
     ]
 - LOC_CLIFFBASE:
     description:
@@ -2345,8 +2650,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: ['D', 'SE'], action: [goto, LOC_STEEP]},
+      {verbs: ['UPWAR', 'CLIMB'], action: [goto, LOC_CLIFFACE]},
     ]
 - LOC_CLIFFACE:
     description:
@@ -2354,9 +2659,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: ['D'], action: [goto, LOC_CLIFFBASE]},
+      {verbs: ['UPWAR'], cond: [carry, OBJ_46], action: [goto, LOC_CLIFFTOP]},
+      {verbs: ['UPWAR'], action: [goto, LOC_FOOTSLIP]},
     ]
 - LOC_FOOTSLIP:
     description:
@@ -2364,7 +2669,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: [], action: ["goto", LOC_NOWHERE]},
+      {verbs: [], action: [goto, LOC_NOWHERE]},
     ]
 - LOC_CLIFFTOP:
     description:
@@ -2372,7 +2677,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: [], action: ["goto", LOC_CLIFFLEDGE]},
+      {verbs: [], action: [goto, LOC_CLIFFLEDGE]},
     ]
 - LOC_CLIFFLEDGE:
     description:
@@ -2380,8 +2685,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', 'D'], action: [goto, LOC_CLIFFACE]},
+      {verbs: ['NE', 'CRAWL'], action: [goto, LOC_REACHDEAD]},
     ]
 - LOC_REACHDEAD:
     description:
@@ -2389,7 +2694,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:
@@ -2397,7 +2702,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: [], action: ["goto", LOC_NOWHERE]},
+      {verbs: [], action: [goto, LOC_NOWHERE]},
     ]
 - LOC_FOOF1:
     description:
@@ -2405,7 +2710,7 @@ locations: !!omap
       short: !!null
     conditions: {}
     travel: [
-      {verbs: [], action: ["goto", LOC_DEBRIS]},
+      {verbs: [], action: [goto, LOC_DEBRIS]},
     ]
 - LOC_FOOF2:
     description:
@@ -2413,7 +2718,7 @@ locations: !!omap
       short: !!null
     conditions: {ABOVE: true}
     travel: [
-      {verbs: [], action: ["goto", LOC_BUILDING]},
+      {verbs: [], action: [goto, LOC_BUILDING]},
     ]
 - LOC_FOOF3:
     description:
@@ -2421,7 +2726,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: [], action: ["goto", LOC_Y2]},
+      {verbs: [], action: [goto, LOC_Y2]},
     ]
 - LOC_FOOF4:
     description:
@@ -2429,7 +2734,7 @@ locations: !!omap
       short: !!null
     conditions: {ABOVE: true}
     travel: [
-      {verbs: [], action: ["goto", LOC_BUILDING]},
+      {verbs: [], action: [goto, LOC_BUILDING]},
     ]
 - LOC_FOOF5:
     description:
@@ -2437,7 +2742,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: [], action: ["goto", LOC_PLOVER]},
+      {verbs: [], action: [goto, LOC_PLOVER]},
     ]
 - LOC_FOOF6:
     description:
@@ -2445,7 +2750,7 @@ locations: !!omap
       short: !!null
     conditions: {DEEP: true}
     travel: [
-      {verbs: [], action: ["goto", LOC_Y2]},
+      {verbs: [], action: [goto, LOC_Y2]},
     ]
 
 arbitrary_messages:  !!omap
@@ -2484,12 +2789,12 @@ arbitrary_messages:  !!omap
 - NO_LOCK: 'It has no lock.'
 - NOT_LOCKABLE: 'I don''t know how to lock or unlock such a thing.'
 - ALREADY_LOCKED: 'It was already locked.'
-- GRATE_LOCKED: 'The grate is now locked.'
-- GRATE_UNLOCKED: 'The grate is now unlocked.'
+- ARB_35: !!null
+- ARB_36: !!null
 - ALREADY_UNLOCKED: 'It was already unlocked.'
 - URN_EMPTY: 'The urn is empty and will not light.'
-- LAMP_ON: 'Your lamp is now on.'
-- LAMP_OFF: 'Your lamp is now off.'
+- ARB_39: !!null
+- ARB_40: !!null
 - BEAR_BLOCKS: 'There is no way to get past the bear to unlock the chain, which is\nprobably just as well.'
 - NOTHING_HAPPENS: 'Nothing happens.'
 - WHERE_QUERY: 'Where?'
@@ -2729,8 +3034,6 @@ arbitrary_messages:  !!omap
 - ADVENTURE_NEWS: 'Open Adventure is an author-approved open-source release of\nVersion 2.5 with, as yet, no gameplay changes.\nVersion 2.5 was essentially the same as Version II; the cave and the\nhazards therein are unchanged, and top score is still 430 points.\nThere are a few more hints, especially for some of the more obscure\npuzzles.  There are a few minor bugfixes and cosmetic changes.  You\ncan now save a game and resume it at once (formerly you had to wait a\nwhile first), but it now costs you a few points each time you save the\ngame.  Saved games are now stored in much smaller files than before.'
 - GO_UNNEEDED: 'You don''t have to say "go" every time; just specify a direction or, if\nit''s nearby, name the place to which you wish to move.'
 - ARB_279: !!null
-- MACHINE_SWINGOUT: 'As you strike the vending machine, it pivots backward along with a\nsection of wall, revealing a dark passage leading south.'
-- MACHINE_SWINGBACK: 'The vending machine swings back to block the passage.'
   
 classes: 
 - threshold: 0
@@ -2773,59 +3076,65 @@ turn_thresholds:
 objects: !!omap
 - OBJ_0:
     inventory: !!null
-    longs: !!null
+    descriptions: !!null
 - KEYS:
     words: ['keys', 'key']
     inventory: 'Set of keys'
     locations: LOC_BUILDING
-    longs:
+    descriptions:
     - 'There are some keys on the ground here.'
 - LAMP:
     words: ['lamp', 'lante']
     inventory: 'Brass lantern'
     locations: LOC_BUILDING
-    longs:
+    descriptions:
     - [LAMP_DARK, 'There is a shiny brass lamp nearby.']
     - [LAMP_BRIGHT, 'There is a lamp shining nearby.']
+    changes:
+    - 'Your lamp is now off.'
+    - 'Your lamp is now on.'
 - GRATE:
     words: ['grate']
     inventory: '*grate'
     locations: [LOC_GRATE, LOC_BELOWGRATE]
     immovable: true
-    longs:
+    descriptions:
     - [GRATE_CLOSED, 'The grate is locked.']
     - [GRATE_OPEN, 'The grate is open.']
+    changes:
+    - 'The grate is now locked.'
+    - 'The grate is now unlocked.'
 - CAGE:
     words: ['cage']
     inventory: 'Wicker cage'
     locations: LOC_COBBLE
-    longs:
+    descriptions:
     - 'There is a small wicker cage discarded nearby.'
 - ROD:
     words: ['rod']
     inventory: 'Black rod'
     locations: LOC_DEBRIS
-    longs:
+    descriptions:
     - 'A three foot black rod with a rusty star on an end lies nearby.'
 - ROD2:
     words: ['rod']
     inventory: 'Black rod'
     locations: LOC_NOWHERE
-    longs:
+    descriptions:
     - 'A three foot black rod with a rusty mark on an end lies nearby.'
 - STEPS:
     words: ['steps']
     inventory: '*steps'
     locations: [LOC_PITTOP, LOC_MISTHALL]
     immovable: true
-    longs:
+    descriptions:
     - 'Rough stone steps lead down the pit.'
     - 'Rough stone steps lead up the dome.'
 - BIRD:
     words: ['bird']
     inventory: 'Little bird in cage'
     locations: LOC_BIRD
-    longs:
+    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.']
@@ -2841,23 +3150,23 @@ objects: !!omap
     inventory: '*rusty door'
     locations: LOC_IMMENSE
     immovable: true
-    longs:
+    descriptions:
     - 'The way north is barred by a massive, rusty, iron door.'
     - 'The way north leads through a massive, rusty, iron door.'
 - PILLOW:
     words: ['pillo', 'velve']
     inventory: 'Velvet pillow'
     locations: LOC_SOFTROOM
-    longs:
+    descriptions:
     - 'A small velvet pillow lies on the floor.'
 - SNAKE:
     words: ['snake']
     inventory: '*snake'
     locations: LOC_KINGHALL
     immovable: true
-    longs:
-    - 'A huge green fierce snake bars the way!'
-    - '' # chased away
+    descriptions:
+    - [SNAKE_BLOCKS, 'A huge green fierce snake bars the way!']
+    - [SNAKE_CHASED, ''] # chased away
     sounds:
     - 'The snake is hissing venomously.'
 - FISSURE:
@@ -2865,16 +3174,16 @@ objects: !!omap
     inventory: '*fissure'
     locations: [LOC_EASTBANK, LOC_WESTBANK]
     immovable: true
-    longs:
-    - ''
-    - 'A crystal bridge now spans the fissure.'
-    - 'The crystal bridge has vanished!'
+    descriptions:
+    - [UNBRIDGED, '']
+    - [BRIDGED, 'A crystal bridge now spans the fissure.']
+    - [VANISHED, 'The crystal bridge has vanished!']
 - OBJ_13:
     words: ['table']
     inventory: '*stone tablet'
     locations: LOC_DARKROOM
     immovable: true
-    longs:
+    descriptions:
     - 'A massive stone tablet imbedded in the wall reads:\n"Congratulations on bringing light into the dark-room!"'
     texts:
     - '"Congratulations on bringing light into the dark-room!"'
@@ -2882,7 +3191,7 @@ objects: !!omap
     words: ['clam']
     inventory: 'Giant clam  >GRUNT!<'
     locations: LOC_SHELLROOM
-    longs:
+    descriptions:
     - 'There is an enormous clam here with its shell tightly closed.'
     sounds:
     - 'The clam is as tight-mouthed as a, er, clam.'
@@ -2890,17 +3199,17 @@ objects: !!omap
     words: ['oyste']
     inventory: 'Giant oyster  >GROAN!<'
     locations: LOC_NOWHERE
-    longs:
+    descriptions:
     - 'There is an enormous oyster here with its shell tightly closed.'
     - 'Interesting.  There seems to be something written on the underside of\nthe oyster.'
     sounds:
     - 'Even though it''s an oyster, the critter''s as tight-mouthed as a clam.'
     - 'It says the same thing it did before.  Hm, maybe it''s a pun?'
 - MAGAZINE:
-    words: ['issue', 'spelu', '"spel']
+    words: ['magaz', 'issue', 'spelu', '"spel']
     inventory: '"Spelunker Today"'
     locations: LOC_ANTEROOM
-    longs:
+    descriptions:
     - 'There are a few recent issues of "Spelunker Today" magazine here.'
     texts:
     - 'I''m afraid the magazine is written in dwarvish.  But pencilled on one\ncover you see, "Please leave the magazines at the construction site."'
@@ -2909,23 +3218,23 @@ objects: !!omap
     inventory: !!null
     locations: LOC_NOWHERE
     immovable: true
-    longs: !!null
+    descriptions: !!null
 - KNIFE:
     words: ['knife', 'knive']
     inventory: !!null
     locations: LOC_NOWHERE
-    longs: !!null
+    descriptions: !!null
 - FOOD:
     words: ['food', 'ratio']
     inventory: 'Tasty food'
     locations: LOC_BUILDING
-    longs:
+    descriptions:
     - 'There is food here.'
 - BOTTLE:
     words: ['bottl', 'jar']
     inventory: 'Small bottle'
     locations: LOC_BUILDING
-    longs:
+    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.']
@@ -2933,24 +3242,24 @@ objects: !!omap
     words: ['water', 'h2o']
     inventory: 'Water in the bottle'
     locations: LOC_NOWHERE
-    longs: !!null
+    descriptions: !!null
 - OIL:
     words: ['oil']
     inventory: 'Oil in the bottle'
     locations: LOC_NOWHERE
-    longs: !!null
+    descriptions: !!null
 - MIRROR:
     words: ['mirro']
     inventory: '*mirror'
     locations: LOC_MIRRORCANYON
     immovable: true
-    longs: !!null
+    descriptions: !!null
 - PLANT:
     words: ['plant', 'beans']
     inventory: '*plant'
     locations: LOC_WESTPIT
     immovable: true
-    longs:
+    descriptions:
     - 'There is a tiny little plant in the pit, murmuring "water, water, ..."'
     - 'There is a 12-foot-tall beanstalk stretching up out of the pit,\nbellowing "WATER!! WATER!!"'
     - 'There is a gigantic beanstalk stretching all the way up to the hole.'
@@ -2966,7 +3275,7 @@ objects: !!omap
     inventory: '*phony plant' # seen in Twopit Room only when tall enough
     locations: [LOC_WESTEND, LOC_EASTEND]
     immovable: true
-    longs:
+    descriptions:
     - ''
     - 'The top of a 12-foot-tall beanstalk is poking out of the west pit.'
     - 'There is a huge beanstalk growing out of the west pit up to the hole.'
@@ -2975,20 +3284,20 @@ objects: !!omap
     inventory: '*stalactite'
     locations: LOC_TOPSTALACTITE
     immovable: true
-    longs:
+    descriptions:
     - ''
 - OBJ_27:
     words: ['shado', 'figur', 'windo']
     inventory: '*shadowy figure and/or window'
     locations: [LOC_WINDOW1, LOC_WINDOW2]
     immovable: true
-    longs:
+    descriptions:
     - 'The shadowy figure seems to be trying to attract your attention.'
 - AXE:
     words: ['axe']
     inventory: 'Dwarf''s axe'
     locations: LOC_NOWHERE
-    longs:
+    descriptions:
     - 'There is a little axe here.'
     - 'There is a little axe lying beside the bear.'
 - OBJ_29:
@@ -2996,20 +3305,20 @@ objects: !!omap
     inventory: '*cave drawings'
     locations: LOC_ORIENTAL
     immovable: true
-    longs: !!null
+    descriptions: !!null
 - OBJ_30:
     words: ['pirat', 'genie', 'djinn']
     inventory: '*pirate/genie'
     locations: LOC_NOWHERE
     immovable: true
-    longs: !!null # never present
+    descriptions: !!null # never present
 - DRAGON:
     words: ['drago']
     inventory: '*dragon'
     locations: [LOC_SECRET4, LOC_SECRET6]
     immovable: true
-    longs:
-    - 'A huge green fierce dragon bars the way!'
+    descriptions:
+    - [DRAGON_BLOCKS, 'A huge green fierce dragon bars the way!']
     - 'The blood-specked body of a huge green dead dragon lies to one side.'
     - 'The body of a huge green dead dragon is lying off to one side.'
     - 'Congratulations!  You have just vanquished a dragon with your bare\nhands!  (Unbelievable, isn''t it?)'
@@ -3022,15 +3331,15 @@ objects: !!omap
     inventory: '*chasm'
     locations: [LOC_SWCHASM, LOC_NECHASM]
     immovable: true
-    longs:
-    - '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.'
+    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.']
 - TROLL:
     words: ['troll']
     inventory: '*troll'
     locations: [LOC_SWCHASM, LOC_NECHASM]
     immovable: true
-    longs:
+    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
@@ -3041,24 +3350,24 @@ objects: !!omap
     inventory: '*phony troll'
     locations: [LOC_NOWHERE, LOC_NOWHERE]
     immovable: true
-    longs:
+    descriptions:
     - 'The troll is nowhere to be seen.'
 - BEAR:
     words: ['bear']
     inventory: !!null # bear uses rtext 141
     locations: LOC_BARRENROOM
     immovable: true
-    longs:
-    - '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.'
-    - '' # 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, '']
 - MESSAG:
     words: ['messa']
     inventory: '*message in second maze'
     locations: LOC_NOWHERE
     immovable: true
-    longs:
+    descriptions:
     - 'There is a message scrawled in the dust in a flowery script, reading:\n"This is not the maze where the pirate leaves his treasure chest."'
     texts:
     - '"This is not the maze where the pirate leaves his treasure chest."'
@@ -3067,15 +3376,18 @@ objects: !!omap
     inventory: '*volcano and/or geyser'
     locations: LOC_BREATHTAKING
     immovable: true
-    longs: !!null
+    descriptions: !!null
 - VEND:
     words: ['machi', 'vendi']
     inventory: '*vending machine'
     locations: LOC_DEADEND13
     immovable: true
-    longs:
+    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.']
+    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.'
     texts:
     - '"Drop coins here to receive fresh batteries."'
     - '"Drop coins here to receive fresh batteries."'
@@ -3083,7 +3395,7 @@ objects: !!omap
     words: ['batte']
     inventory: 'Batteries'
     locations: LOC_NOWHERE
-    longs:
+    descriptions:
     - [FRESH_BATTERIES, 'There are fresh batteries here.']
     - [DEAD_BATTERIES, 'Some worn-out batteries have been discarded nearby.']
 - OBJ_40:
@@ -3091,13 +3403,13 @@ objects: !!omap
     inventory: '*carpet and/or moss and/or curtains'
     locations: LOC_SOFTROOM
     immovable: true
-    longs: !!null
+    descriptions: !!null
 - OGRE:
     words: ['ogre']
     inventory: '*ogre'
     locations: LOC_LARGE
     immovable: true
-    longs:
+    descriptions:
     - 'A formidable ogre bars the northern exit.'
     sounds:
     - 'The ogre is apparently the strong, silent type.'
@@ -3106,7 +3418,7 @@ objects: !!omap
     inventory: '*urn'
     locations: LOC_CLIFF
     immovable: true
-    longs:
+    descriptions:
     - 'A small urn is embedded in the rock.'
     - 'A small urn full of oil is embedded in the rock.'
     - 'A small oil flame extrudes from an urn embedded in the rock.'
@@ -3115,37 +3427,37 @@ objects: !!omap
     inventory: '*cavity'
     locations: LOC_NOWHERE
     immovable: true
-    longs:
-    - '' # something in it
-    - 'There is a small urn-shaped cavity in the rock.'
+    descriptions:
+    - [CAVITY_FULL, ''] # something in it
+    - [CAVITY_EMPTY, 'There is a small urn-shaped cavity in the rock.']
 - BLOOD:
     words: ['blood']
     inventory: '*blood'
     locations: LOC_NOWHERE
     immovable: true
-    longs:
+    descriptions:
     - '' # described with dragon
 - RESER:
     words: ['reser']
     inventory: '*reservoir'
     locations: [LOC_RESERVOIR, LOC_RESNORTH]
     immovable: true
-    longs:
+    descriptions:
     - ''
-    - 'The waters have parted to form a narrow path across the reservoir.'
+    - [WATERS_PARTED, 'The waters have parted to form a narrow path across the reservoir.']
     - 'The waters crash together again.'
 - OBJ_46:
     words: ['appen', 'lepor']
     inventory: 'Leporine appendage'
     locations: LOC_FOREST22
-    longs:
+    descriptions:
     - 'Your keen eye spots a severed leporine appendage lying on the ground.'
 - OBJ_47:
     words: ['mud']
     inventory: '*mud'
     locations: LOC_DEBRIS
     immovable: true
-    longs:
+    descriptions:
     - ''
     texts:
     - '"MAGIC WORD XYZZY"'
@@ -3154,7 +3466,7 @@ objects: !!omap
     inventory: '*note'
     locations: LOC_NUGGET
     immovable: true
-    longs:
+    descriptions:
     - ''
     texts:
     - '"You won''t get it up the steps"'
@@ -3163,7 +3475,7 @@ objects: !!omap
     inventory: '*sign'
     locations: LOC_ANTEROOM
     immovable: true
-    longs:
+    descriptions:
     - [INGAME_SIGN, '']
     - [ENDGAME_SIGN, '']
     texts:
@@ -3174,49 +3486,49 @@ objects: !!omap
     inventory: 'Large gold nugget'
     locations: LOC_NUGGET
     treasure: true
-    longs:
+    descriptions:
     - 'There is a large sparkling nugget of gold here!'
 - OBJ_51:
     words: ['diamo']
     inventory: 'Several diamonds'
     locations: LOC_WESTBANK
     treasure: true
-    longs:
+    descriptions:
     - 'There are diamonds here!'
 - OBJ_52:
     words: ['silve', 'bars']
     inventory: 'Bars of silver'
     locations: LOC_FLOORHOLE
     treasure: true
-    longs:
+    descriptions:
     - 'There are bars of silver here!'
 - OBJ_53:
     words: ['jewel']
     inventory: 'Precious jewelry'
     locations: LOC_SOUTHSIDE
     treasure: true
-    longs:
+    descriptions:
     - 'There is precious jewelry here!'
 - COINS:
     words: ['coins']
     inventory: 'Rare coins'
     locations: LOC_WESTSIDE
     treasure: true
-    longs:
+    descriptions:
     - 'There are many coins here!'
 - CHEST:
     words: ['chest', 'box', 'treas']
     inventory: 'Treasure chest'
     locations: LOC_NOWHERE
     treasure: true
-    longs:
+    descriptions:
     - 'The pirate''s treasure chest is here!'
 - EGGS:
     words: ['eggs', 'egg', 'nest']
     inventory: 'Golden eggs'
     locations: LOC_GIANTROOM
     treasure: true
-    longs:
+    descriptions:
     - 'There is a large nest here, full of golden eggs!'
     - 'The nest of golden eggs has vanished!'
     - 'Done!'
@@ -3225,14 +3537,14 @@ objects: !!omap
     inventory: 'Jeweled trident'
     locations: LOC_WATERFALL
     treasure: true
-    longs:
+    descriptions:
     - 'There is a jewel-encrusted trident here!'
 - VASE:
     words: ['vase', 'ming', 'shard', 'potte']
     inventory: 'Ming vase'
     locations: LOC_ORIENTAL
     treasure: true
-    longs:
+    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.']
@@ -3242,7 +3554,7 @@ objects: !!omap
     inventory: 'Egg-sized emerald'
     locations: LOC_PLOVER
     treasure: true
-    longs:
+    descriptions:
     - 'There is an emerald here the size of a plover''s egg!'
     - 'There is an emerald resting in a small cavity in the rock!'
 - PYRAMID:
@@ -3250,14 +3562,14 @@ objects: !!omap
     inventory: 'Platinum pyramid'
     locations: LOC_DARKROOM
     treasure: true
-    longs:
+    descriptions:
     - 'There is a platinum pyramid here, 8 inches on a side!'
 - PEARL:
     words: ['pearl']
     inventory: 'Glistening pearl'
     locations: LOC_NOWHERE
     treasure: true
-    longs:
+    descriptions:
     - 'Off to one side lies a glistening pearl!'
 - RUG:
     words: ['rug', 'persi']
@@ -3265,7 +3577,7 @@ objects: !!omap
     locations: [LOC_SECRET4, LOC_SECRET6]
     immovable: true
     treasure: true
-    longs:
+    descriptions:
     - 'There is a persian rug spread out on the floor!'
     - 'The dragon is sprawled out on a persian rug!!'
     - 'There is a persian rug here, hovering in mid-air!'
@@ -3274,7 +3586,7 @@ objects: !!omap
     inventory: 'Rare spices'
     locations: LOC_BOULDERS2
     treasure: true
-    longs:
+    descriptions:
     - 'There are rare spices here!'
 - CHAIN:
     words: ['chain']
@@ -3282,7 +3594,7 @@ objects: !!omap
     locations: LOC_BARRENROOM
     immovable: true
     treasure: true
-    longs:
+    descriptions:
     - 'There is a golden chain lying in a heap on the floor!'
     - 'The bear is locked to the wall with a golden chain!'
     - 'There is a golden chain locked to the wall!'
@@ -3291,7 +3603,7 @@ objects: !!omap
     inventory: 'Giant ruby'
     locations: LOC_STOREROOM
     treasure: true
-    longs:
+    descriptions:
     - 'There is an enormous ruby here!'
     - 'There is a ruby resting in a small cavity in the rock!'
 - JADE:
@@ -3299,14 +3611,14 @@ objects: !!omap
     inventory: 'Jade necklace'
     locations: LOC_NOWHERE
     treasure: true
-    longs:
+    descriptions:
     - 'A precious jade necklace has been dropped here!'
 - AMBER:
     words: ['amber', 'gemst']
     inventory: 'Amber gemstone'
     locations: LOC_NOWHERE
     treasure: true
-    longs:
+    descriptions:
     - 'There is a rare amber gemstone here!'
     - 'There is an amber gemstone resting in a small cavity in the rock!'
 - SAPPH:
@@ -3314,7 +3626,7 @@ objects: !!omap
     inventory: 'Star sapphire'
     locations: LOC_LEDGE
     treasure: true
-    longs:
+    descriptions:
     - 'A brilliant blue star sapphire is here!'
     - 'There is a star sapphire resting in a small cavity in the rock!'
 - OBJ_69:
@@ -3322,7 +3634,7 @@ objects: !!omap
     inventory: 'Ebony statuette'
     locations: LOC_REACHDEAD
     treasure: true
-    longs:
+    descriptions:
     - 'There is a richly-carved ebony statuette here!'
 
 obituaries: