Use enums for object number mnemonics instead of VOCWRD() calls.
[open-adventure.git] / adventure.yaml
index 108a2a4d66d50c99cc572bea808c53bf747c4198..7cee07ea47cccb684741ada37f09a9ec9a950b27 100644 (file)
@@ -12,6 +12,9 @@
 #    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.
+#
 # hints: Each item contains a hint number, a hint label (used to
 #    generate the value macro for the hint) the number of turns he
 #    must be at the right loc(s) before triggering the hint, the
 #    significant, they're used in succession as the player racks up
 #    deaths.
 #
-# These correspond to sections 1, 2, 4, 5, 6, 7, 9, 10, 11, 13, and 14 in
-# the old adventure.text format.  Sections 3 and 8 haven't moved
-# yet.  Section 12 was obsolete.
-#
 # Message strings may include certain special character sequences to
 # denote that the program must provide parameters to insert into a
 # message when the message is printed.  These sequences are:
 
 # There are duplicate keys in this vocabulary, that's why it can't be a normal
 # map.  You have to iterate through it looking for a match qualified by type.
+# 1 is not allocated because it's used as a sentinel value in motion-verb
+# lists.
 vocabulary: [
     {word: "ROAD",  type: motion, value: 2},
     {word: "HILL",  type: motion, value: 2},
@@ -219,110 +220,6 @@ vocabulary: [
     {word: "RESER", type: motion, value: 75},
     {word: "MAIN",  type: motion, value: 76},
     {word: "OFFIC", type: motion, value: 76},
-    {word: "KEYS",  type: object, value: 1},
-    {word: "KEY",   type: object, value: 1},
-    {word: "LAMP",  type: object, value: 2},
-    {word: "LANTE", type: object, value: 2},
-    {word: "GRATE", type: object, value: 3},
-    {word: "CAGE",  type: object, value: 4},
-    {word: "ROD",   type: object, value: 5},
-    {word: "ROD",   type: object, value: 6}, # Must be next object after "real" rod
-    {word: "STEPS", type: object, value: 7},
-    {word: "BIRD",  type: object, value: 8},
-    {word: "DOOR",  type: object, value: 9},
-    {word: "PILLO", type: object, value: 10},
-    {word: "VELVE", type: object, value: 10},
-    {word: "SNAKE", type: object, value: 11},
-    {word: "FISSU", type: object, value: 12},
-    {word: "TABLE", type: object, value: 13},
-    {word: "CLAM",  type: object, value: 14},
-    {word: "OYSTE", type: object, value: 15},
-    {word: "MAGAZ", type: object, value: 16},
-    {word: "ISSUE", type: object, value: 16},
-    {word: "SPELU", type: object, value: 16},
-    {word: '"SPEL', type: object, value: 16},
-    {word: "DWARF", type: object, value: 17},
-    {word: "DWARV", type: object, value: 17},
-    {word: "KNIFE", type: object, value: 18},
-    {word: "KNIVE", type: object, value: 18},
-    {word: "FOOD",  type: object, value: 19},
-    {word: "RATIO", type: object, value: 19},
-    {word: "BOTTL", type: object, value: 20},
-    {word: "JAR",   type: object, value: 20},
-    {word: "WATER", type: object, value: 21},
-    {word: "H2O",   type: object, value: 21},
-    {word: "OIL",   type: object, value: 22},
-    {word: "MIRRO", type: object, value: 23},
-    {word: "PLANT", type: object, value: 24},
-    {word: "BEANS", type: object, value: 24},
-    {word: "PLANT", type: object, value: 25}, # Must be next object after "real" plant
-    {word: "STALA", type: object, value: 26},
-    {word: "SHADO", type: object, value: 27},
-    {word: "FIGUR", type: object, value: 27},
-    {word: "WINDO", type: object, value: 27}, # Same as figure
-    {word: "AXE",   type: object, value: 28},
-    {word: "DRAWI", type: object, value: 29},
-    {word: "PIRAT", type: object, value: 30},
-    {word: "GENIE", type: object, value: 30},
-    {word: "DJINN", type: object, value: 30},
-    {word: "DRAGO", type: object, value: 31},
-    {word: "CHASM", type: object, value: 32},
-    {word: "TROLL", type: object, value: 33},
-    {word: "TROLL", type: object, value: 34}, # Must be next object after "real" troll
-    {word: "BEAR",  type: object, value: 35},
-    {word: "MESSA", type: object, value: 36},
-    {word: "VOLCA", type: object, value: 37},
-    {word: "GEYSE", type: object, value: 37}, # Same as volcano
-    {word: "MACHI", type: object, value: 38},
-    {word: "VENDI", type: object, value: 38},
-    {word: "BATTE", type: object, value: 39},
-    {word: "CARPE", type: object, value: 40},
-    {word: "MOSS",  type: object, value: 40},
-    {word: "CURTA", type: object, value: 40}, # Same as carpet
-    {word: "OGRE",  type: object, value: 41},
-    {word: "URN",   type: object, value: 42},
-    {word: "CAVIT", type: object, value: 43},
-    {word: "BLOOD", type: object, value: 44},
-    {word: "RESER", type: object, value: 45}, # Verb overrides
-    {word: "APPEN", type: object, value: 46},
-    {word: "LEPOR", type: object, value: 46},
-    {word: "MUD",   type: object, value: 47},
-    {word: "NOTE",  type: object, value: 48},
-    {word: "SIGN",  type: object, value: 49},
-    {word: "GOLD",  type: object, value: 50},
-    {word: "NUGGE", type: object, value: 50},
-    {word: "DIAMO", type: object, value: 51},
-    {word: "SILVE", type: object, value: 52},
-    {word: "BARS",  type: object, value: 52},
-    {word: "JEWEL", type: object, value: 53},
-    {word: "COINS", type: object, value: 54},
-    {word: "CHEST", type: object, value: 55},
-    {word: "BOX",   type: object, value: 55},
-    {word: "TREAS", type: object, value: 55},
-    {word: "EGGS",  type: object, value: 56},
-    {word: "EGG",   type: object, value: 56},
-    {word: "NEST",  type: object, value: 56},
-    {word: "TRIDE", type: object, value: 57},
-    {word: "VASE",  type: object, value: 58},
-    {word: "MING",  type: object, value: 58},
-    {word: "SHARD", type: object, value: 58},
-    {word: "POTTE", type: object, value: 58},
-    {word: "EMERA", type: object, value: 59},
-    {word: "PLATI", type: object, value: 60},
-    {word: "PYRAM", type: object, value: 60},
-    {word: "PEARL", type: object, value: 61},
-    {word: "RUG",   type: object, value: 62},
-    {word: "PERSI", type: object, value: 62},
-    {word: "SPICE", type: object, value: 63},
-    {word: "CHAIN", type: object, value: 64},
-    {word: "RUBY",  type: object, value: 65},
-    {word: "JADE",  type: object, value: 66},
-    {word: "NECKL", type: object, value: 66},
-    {word: "AMBER", type: object, value: 67},
-    {word: "GEMST", type: object, value: 67},
-    {word: "SAPPH", type: object, value: 68},
-    {word: "EBONY", type: object, value: 69},
-    {word: "STATU", type: object, value: 69},
     {word: "CARRY", type: action, value: 1},
     {word: "TAKE",  type: action, value: 1},
     {word: "KEEP",  type: action, value: 1},
@@ -443,6 +340,44 @@ 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,
+}
+
 hints:
   - hint: &grate
       name: CAVE
@@ -2832,51 +2767,59 @@ turn_thresholds:
   point_loss: 10
   message: 'Good grief, don''t you *EVER* give up?  Do you realize you''ve spent\nover 2500 turns at this?  That''s another ten points off, a total of\ntwenty points lost for taking so long.'
   
-object_descriptions: !!omap
+objects: !!omap
 - OBJ_0:
     inventory: !!null
     longs: !!null
-- OBJ_1:
+- KEYS:
+    words: ['keys', 'key']
     inventory: 'Set of keys'
     locations: LOC_BUILDING
     longs:
     - 'There are some keys on the ground here.'
-- OBJ_2:
+- LAMP:
+    words: ['lamp', 'lante']
     inventory: 'Brass lantern'
     locations: LOC_BUILDING
     longs:
     - [LAMP_DARK, 'There is a shiny brass lamp nearby.']
     - [LAMP_BRIGHT, 'There is a lamp shining nearby.']
-- OBJ_3:
+- GRATE:
+    words: ['grate']
     inventory: '*grate'
     locations: [LOC_GRATE, LOC_BELOWGRATE]
     immovable: true
     longs:
     - [GRATE_CLOSED, 'The grate is locked.']
     - [GRATE_OPEN, 'The grate is open.']
-- OBJ_4:
+- CAGE:
+    words: ['cage']
     inventory: 'Wicker cage'
     locations: LOC_COBBLE
     longs:
     - 'There is a small wicker cage discarded nearby.'
-- OBJ_5:
+- ROD:
+    words: ['rod']
     inventory: 'Black rod'
     locations: LOC_DEBRIS
     longs:
     - 'A three foot black rod with a rusty star on an end lies nearby.'
-- OBJ_6:
+- ROD2:
+    words: ['rod']
     inventory: 'Black rod'
     locations: LOC_NOWHERE
     longs:
     - 'A three foot black rod with a rusty mark on an end lies nearby.'
-- OBJ_7:
+- STEPS:
+    words: ['steps']
     inventory: '*steps'
     locations: [LOC_PITTOP, LOC_MISTHALL]
     immovable: true
     longs:
     - 'Rough stone steps lead down the pit.'
     - 'Rough stone steps lead up the dome.'
-- OBJ_8:
+- BIRD:
+    words: ['bird']
     inventory: 'Little bird in cage'
     locations: LOC_BIRD
     longs:
@@ -2890,19 +2833,22 @@ object_descriptions: !!omap
     - 'To your surprise, you can understand the bird''s chirping; it is\nsinging about the joys of its forest home.'
     - 'The bird does not seem inclined to sing while in the cage.'
     - 'The bird is singing to you in gratitude for your having returned it to\nits home.  In return, it informs you of a magic word which it thinks\nyou may find useful somewhere near the Hall of Mists.  The magic word\nchanges frequently, but for now the bird believes it is "%s".  You\nthank the bird for this information, and it flies off into the forest.'
-- OBJ_9:
+- DOOR:
+    words: ['door']
     inventory: '*rusty door'
     locations: LOC_IMMENSE
     immovable: true
     longs:
     - 'The way north is barred by a massive, rusty, iron door.'
     - 'The way north leads through a massive, rusty, iron door.'
-- OBJ_10:
+- PILLOW:
+    words: ['pillo', 'velve']
     inventory: 'Velvet pillow'
     locations: LOC_SOFTROOM
     longs:
     - 'A small velvet pillow lies on the floor.'
-- OBJ_11:
+- SNAKE:
+    words: ['snake']
     inventory: '*snake'
     locations: LOC_KINGHALL
     immovable: true
@@ -2911,7 +2857,8 @@ object_descriptions: !!omap
     - '' # chased away
     sounds:
     - 'The snake is hissing venomously.'
-- OBJ_12:
+- FISSURE:
+    words: ['fissu']
     inventory: '*fissure'
     locations: [LOC_EASTBANK, LOC_WESTBANK]
     immovable: true
@@ -2920,6 +2867,7 @@ object_descriptions: !!omap
     - 'A crystal bridge now spans the fissure.'
     - 'The crystal bridge has vanished!'
 - OBJ_13:
+    words: ['table']
     inventory: '*stone tablet'
     locations: LOC_DARKROOM
     immovable: true
@@ -2927,14 +2875,16 @@ object_descriptions: !!omap
     - '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!"'
-- OBJ_14:
+- CLAM:
+    words: ['clam']
     inventory: 'Giant clam  >GRUNT!<'
     locations: LOC_SHELLROOM
     longs:
     - 'There is an enormous clam here with its shell tightly closed.'
     sounds:
     - 'The clam is as tight-mouthed as a, er, clam.'
-- OBJ_15:
+- OYSTER:
+    words: ['oyste']
     inventory: 'Giant oyster  >GROAN!<'
     locations: LOC_NOWHERE
     longs:
@@ -2943,48 +2893,57 @@ object_descriptions: !!omap
     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?'
-- OBJ_16:
+- MAGAZINE:
+    words: ['issue', 'spelu', '"spel']
     inventory: '"Spelunker Today"'
     locations: LOC_ANTEROOM
     longs:
     - '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."'
-- OBJ_17:
+- DWARF:
+    words: ['dwarf', 'dwarv']
     inventory: !!null
     locations: LOC_NOWHERE
     immovable: true
     longs: !!null
-- OBJ_18:
+- KNIFE:
+    words: ['knife', 'knive']
     inventory: !!null
     locations: LOC_NOWHERE
     longs: !!null
-- OBJ_19:
+- FOOD:
+    words: ['food', 'ratio']
     inventory: 'Tasty food'
     locations: LOC_BUILDING
     longs:
     - 'There is food here.'
-- OBJ_20:
+- BOTTLE:
+    words: ['bottl', 'jar']
     inventory: 'Small bottle'
     locations: LOC_BUILDING
     longs:
     - [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.']
-- OBJ_21:
+- WATER:
+    words: ['water', 'h2o']
     inventory: 'Water in the bottle'
     locations: LOC_NOWHERE
     longs: !!null
-- OBJ_22:
+- OIL:
+    words: ['oil']
     inventory: 'Oil in the bottle'
     locations: LOC_NOWHERE
     longs: !!null
-- OBJ_23:
+- MIRROR:
+    words: ['mirro']
     inventory: '*mirror'
     locations: LOC_MIRRORCANYON
     immovable: true
     longs: !!null
-- OBJ_24:
+- PLANT:
+    words: ['plant', 'beans']
     inventory: '*plant'
     locations: LOC_WESTPIT
     immovable: true
@@ -2999,7 +2958,8 @@ object_descriptions: !!omap
     - 'The plant continues to ask plaintively for water.'
     - 'The plant continues to demand water.'
     - 'The plant now maintains a contented silence.'
-- OBJ_25:
+- PLANT2:
+    words: ['plant']
     inventory: '*phony plant' # seen in Twopit Room only when tall enough
     locations: [LOC_WESTEND, LOC_EASTEND]
     immovable: true
@@ -3008,34 +2968,40 @@ object_descriptions: !!omap
     - '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.'
 - OBJ_26:
+    words: ['stala']
     inventory: '*stalactite'
     locations: LOC_TOPSTALACTITE
     immovable: true
     longs:
     - ''
 - OBJ_27:
+    words: ['shado', 'figur', 'windo']
     inventory: '*shadowy figure and/or window'
     locations: [LOC_WINDOW1, LOC_WINDOW2]
     immovable: true
     longs:
     - 'The shadowy figure seems to be trying to attract your attention.'
-- OBJ_28:
+- AXE:
+    words: ['axe']
     inventory: 'Dwarf''s axe'
     locations: LOC_NOWHERE
     longs:
     - 'There is a little axe here.'
     - 'There is a little axe lying beside the bear.'
 - OBJ_29:
+    words: ['drawi']
     inventory: '*cave drawings'
     locations: LOC_ORIENTAL
     immovable: true
     longs: !!null
 - OBJ_30:
+    words: ['pirat', 'genie', 'djinn']
     inventory: '*pirate/genie'
     locations: LOC_NOWHERE
     immovable: true
     longs: !!null # never present
-- OBJ_31:
+- DRAGON:
+    words: ['drago']
     inventory: '*dragon'
     locations: [LOC_SECRET4, LOC_SECRET6]
     immovable: true
@@ -3048,14 +3014,16 @@ object_descriptions: !!omap
     - 'The dragon''s ominous hissing does not bode well for you.'
     - 'The dragon is, not surprisingly, silent.'
     - 'The dragon is, not surprisingly, silent.'
-- OBJ_32:
+- CHASM:
+    words: ['chasm']
     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.'
-- OBJ_33:
+- TROLL:
+    words: ['troll']
     inventory: '*troll'
     locations: [LOC_SWCHASM, LOC_NECHASM]
     immovable: true
@@ -3065,13 +3033,15 @@ object_descriptions: !!omap
     - '' # chased away
     sounds:
     - 'The troll sounds quite adamant in his demand for a treasure.'
-- OBJ_34:
+- TROLL2:
+    words: ['troll']
     inventory: '*phony troll'
     locations: [LOC_NOWHERE, LOC_NOWHERE]
     immovable: true
     longs:
     - 'The troll is nowhere to be seen.'
-- OBJ_35:
+- BEAR:
+    words: ['bear']
     inventory: !!null # bear uses rtext 141
     locations: LOC_BARRENROOM
     immovable: true
@@ -3080,7 +3050,8 @@ object_descriptions: !!omap
     - 'There is a gentle cave bear sitting placidly in one corner.'
     - 'There is a contented-looking bear wandering about nearby.'
     - '' # dead
-- OBJ_36:
+- MESSAG:
+    words: ['messa']
     inventory: '*message in second maze'
     locations: LOC_NOWHERE
     immovable: true
@@ -3088,12 +3059,14 @@ object_descriptions: !!omap
     - '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."'
-- OBJ_37:
+- VOLCANO:
+    words: ['volca', 'geyse']
     inventory: '*volcano and/or geyser'
     locations: LOC_BREATHTAKING
     immovable: true
     longs: !!null
-- OBJ_38:
+- VEND:
+    words: ['machi', 'vendi']
     inventory: '*vending machine'
     locations: LOC_DEADEND13
     immovable: true
@@ -3103,18 +3076,21 @@ object_descriptions: !!omap
     texts:
     - '"Drop coins here to receive fresh batteries."'
     - '"Drop coins here to receive fresh batteries."'
-- OBJ_39:
+- BATTERY:
+    words: ['batte']
     inventory: 'Batteries'
     locations: LOC_NOWHERE
     longs:
     - [FRESH_BATTERIES, 'There are fresh batteries here.']
     - [DEAD_BATTERIES, 'Some worn-out batteries have been discarded nearby.']
 - OBJ_40:
+    words: ['carpe', 'moss']
     inventory: '*carpet and/or moss and/or curtains'
     locations: LOC_SOFTROOM
     immovable: true
     longs: !!null
-- OBJ_41:
+- OGRE:
+    words: ['ogre']
     inventory: '*ogre'
     locations: LOC_LARGE
     immovable: true
@@ -3122,7 +3098,8 @@ object_descriptions: !!omap
     - 'A formidable ogre bars the northern exit.'
     sounds:
     - 'The ogre is apparently the strong, silent type.'
-- OBJ_42:
+- URN:
+    words: ['urn']
     inventory: '*urn'
     locations: LOC_CLIFF
     immovable: true
@@ -3130,20 +3107,23 @@ object_descriptions: !!omap
     - '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.'
-- OBJ_43:
+- CAVITY:
+    words: ['cavit']
     inventory: '*cavity'
     locations: LOC_NOWHERE
     immovable: true
     longs:
     - '' # something in it
     - 'There is a small urn-shaped cavity in the rock.'
-- OBJ_44:
+- BLOOD:
+    words: ['blood']
     inventory: '*blood'
     locations: LOC_NOWHERE
     immovable: true
     longs:
     - '' # described with dragon
-- OBJ_45:
+- RESER:
+    words: ['reser']
     inventory: '*reservoir'
     locations: [LOC_RESERVOIR, LOC_RESNORTH]
     immovable: true
@@ -3152,11 +3132,13 @@ object_descriptions: !!omap
     - '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:
     - 'Your keen eye spots a severed leporine appendage lying on the ground.'
 - OBJ_47:
+    words: ['mud']
     inventory: '*mud'
     locations: LOC_DEBRIS
     immovable: true
@@ -3165,6 +3147,7 @@ object_descriptions: !!omap
     texts:
     - '"MAGIC WORD XYZZY"'
 - OBJ_48:
+    words: ['note']
     inventory: '*note'
     locations: LOC_NUGGET
     immovable: true
@@ -3172,7 +3155,8 @@ object_descriptions: !!omap
     - ''
     texts:
     - '"You won''t get it up the steps"'
-- OBJ_49:
+- SIGN:
+    words: ['sign']
     inventory: '*sign'
     locations: LOC_ANTEROOM
     immovable: true
@@ -3182,43 +3166,50 @@ object_descriptions: !!omap
     texts:
     - 'Cave under construction beyond this point.\n           Proceed at own risk.\n       [Witt Construction Company]'
     - '"Treasure Vault.  Keys in main office."'
-- OBJ_50:
+- NUGGET:
+    words: ['gold', 'nugge']
     inventory: 'Large gold nugget'
     locations: LOC_NUGGET
     treasure: true
     longs:
     - 'There is a large sparkling nugget of gold here!'
 - OBJ_51:
+    words: ['diamo']
     inventory: 'Several diamonds'
     locations: LOC_WESTBANK
     treasure: true
     longs:
     - 'There are diamonds here!'
 - OBJ_52:
+    words: ['silve', 'bars']
     inventory: 'Bars of silver'
     locations: LOC_FLOORHOLE
     treasure: true
     longs:
     - 'There are bars of silver here!'
 - OBJ_53:
+    words: ['jewel']
     inventory: 'Precious jewelry'
     locations: LOC_SOUTHSIDE
     treasure: true
     longs:
     - 'There is precious jewelry here!'
-- OBJ_54:
+- COINS:
+    words: ['coins']
     inventory: 'Rare coins'
     locations: LOC_WESTSIDE
     treasure: true
     longs:
     - 'There are many coins here!'
-- OBJ_55:
+- CHEST:
+    words: ['chest', 'box', 'treas']
     inventory: 'Treasure chest'
     locations: LOC_NOWHERE
     treasure: true
     longs:
     - 'The pirate''s treasure chest is here!'
-- OBJ_56:
+- EGGS:
+    words: ['eggs', 'egg', 'nest']
     inventory: 'Golden eggs'
     locations: LOC_GIANTROOM
     treasure: true
@@ -3226,13 +3217,15 @@ object_descriptions: !!omap
     - 'There is a large nest here, full of golden eggs!'
     - 'The nest of golden eggs has vanished!'
     - 'Done!'
-- OBJ_57:
+- TRIDENT:
+    words: ['tride']
     inventory: 'Jeweled trident'
     locations: LOC_WATERFALL
     treasure: true
     longs:
     - 'There is a jewel-encrusted trident here!'
-- OBJ_58:
+- VASE:
+    words: ['vase', 'ming', 'shard', 'potte']
     inventory: 'Ming vase'
     locations: LOC_ORIENTAL
     treasure: true
@@ -3241,26 +3234,30 @@ object_descriptions: !!omap
     - [VASE_RESTING, 'The vase is now resting, delicately, on a velvet pillow.']
     - [VASE_BROKEN, 'The floor is littered with worthless shards of pottery.']
     - [VASE_DROPS, 'The ming vase drops with a delicate crash.']
-- OBJ_59:
+- EMERALD:
+    words: ['emera']
     inventory: 'Egg-sized emerald'
     locations: LOC_PLOVER
     treasure: true
     longs:
     - 'There is an emerald here the size of a plover''s egg!'
     - 'There is an emerald resting in a small cavity in the rock!'
-- OBJ_60:
+- PYRAMID:
+    words: ['plati', 'pyram']
     inventory: 'Platinum pyramid'
     locations: LOC_DARKROOM
     treasure: true
     longs:
     - 'There is a platinum pyramid here, 8 inches on a side!'
-- OBJ_61:
+- PEARL:
+    words: ['pearl']
     inventory: 'Glistening pearl'
     locations: LOC_NOWHERE
     treasure: true
     longs:
     - 'Off to one side lies a glistening pearl!'
-- OBJ_62:
+- RUG:
+    words: ['rug', 'persi']
     inventory: 'Persian rug'
     locations: [LOC_SECRET4, LOC_SECRET6]
     immovable: true
@@ -3270,12 +3267,14 @@ object_descriptions: !!omap
     - 'The dragon is sprawled out on a persian rug!!'
     - 'There is a persian rug here, hovering in mid-air!'
 - OBJ_63:
+    words: ['spice']
     inventory: 'Rare spices'
     locations: LOC_BOULDERS2
     treasure: true
     longs:
     - 'There are rare spices here!'
-- OBJ_64:
+- CHAIN:
+    words: ['chain']
     inventory: 'Golden chain'
     locations: LOC_BARRENROOM
     immovable: true
@@ -3284,27 +3283,31 @@ object_descriptions: !!omap
     - '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!'
-- OBJ_65:
+- RUBY:
+    words: ['ruby']
     inventory: 'Giant ruby'
     locations: LOC_STOREROOM
     treasure: true
     longs:
     - 'There is an enormous ruby here!'
     - 'There is a ruby resting in a small cavity in the rock!'
-- OBJ_66:
+- JADE:
+    words: ['jade', 'neckl']
     inventory: 'Jade necklace'
     locations: LOC_NOWHERE
     treasure: true
     longs:
     - 'A precious jade necklace has been dropped here!'
-- OBJ_67:
+- AMBER:
+    words: ['amber', 'gemst']
     inventory: 'Amber gemstone'
     locations: LOC_NOWHERE
     treasure: true
     longs:
     - 'There is a rare amber gemstone here!'
     - 'There is an amber gemstone resting in a small cavity in the rock!'
-- OBJ_68:
+- SAPPH:
+    words: ['sapph']
     inventory: 'Star sapphire'
     locations: LOC_LEDGE
     treasure: true
@@ -3312,6 +3315,7 @@ object_descriptions: !!omap
     - 'A brilliant blue star sapphire is here!'
     - 'There is a star sapphire resting in a small cavity in the rock!'
 - OBJ_69:
+    words: ['ebony', 'statu']
     inventory: 'Ebony statuette'
     locations: LOC_REACHDEAD
     treasure: true