Name the lamp, grate, and bird states.
[open-adventure.git] / adventure.yaml
index 85a70bceff5b5f6952bf54812bcb59738ca15d12..0d44671efbe8df1c31b2df62043cf8c4bb0bcbfe 100644 (file)
 #    number of the hint.  These values are stashed in the "hints"
 #    array.
 #
-# locations: Each item contains a long and short description.  Some
-#    short descriptions are empty.  Order of these locations is not significant.
-#    Location conditions can be read as follows:
+# locations: They have attributes as follows...
+#
+#    long:         Long description, always shown on first encounter.
+#    short:        Short description. If none, use long description.
+#    conditions:   A dictionary of attributes
 #        LIT           Light
 #        OILY          If FLUID flag is on: true for oil, false for water
 #        FLUID         Liquid asset
 #        HWOODS                Lost in forest
 #        HOGRE         Trying to deal with ogre
 #        HJADE         Found all treasures except jade
-#    The optional hints field is a list of YAML references to hints
-#    that may be available at this location. (This is why locations
-#    has to follow hints.)  The "sound" attribute, if present, is s
-#    label for a location sound.
+#    hints:        A list of YAML references to hints that may be available at
+#                  this location. (This is why locations has to follow hints.)
+#    sound:        Label for a location sound.
+#    loud:         If true, object sounds are drowned out at this location.
+#
+#    All attributes are optional except the long description. Order of
+#    locations is not significant.
 #
 # arbitrary_messages: These are arguments to rspeak(). Some spans of
 #    these messages need to be kept adjacent and ordered (for now).
 #
 # objects: Each item contains a description for use in the inventory command
 #    and one or more messages describing the object in different states.
-#    If the inventory desription begins with "*" the object is dungeon
-#    furniture that cannot be taken or 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.
 #
 # obituaries: Death messages and reincarnation queries.  Order is
 #    significant, they're used in succession as the player racks up
@@ -829,6 +836,7 @@ locations: !!omap
     conditions: {NOARRR: true, LIT: true, DEEP: true}
     hints: [*jade]
     sound: TOTAL_ROAR
+    loud: true
 - LOC_BOULDERS2:
     description:
       long: 'You are in a small chamber filled with large boulders.  The walls are\nvery warm, causing the air in the room to be almost stifling from the\nheat.  The only exit is a crawl heading west, through which is coming\na low rumbling.'
@@ -1064,6 +1072,7 @@ locations: !!omap
       short: 'You''re at bottom of reservoir.'
     conditions: {FLUID: true, DEEP: true}
     sound: TOTAL_ROAR
+    loud: true
 - LOC_RESNORTH:
     description:
       long: 'You are at the northern edge of the reservoir.  A northwest passage\nleads sharply up from here.'
@@ -1336,7 +1345,7 @@ arbitrary_messages:  !!omap
 - PIRATE_SPOTTED: 'There are faint rustling noises from the darkness behind you.  As you\nturn toward them, the beam of your lamp falls across a bearded pirate.\nHe is carrying a large chest.  "Shiver me timbers!" he cries, "I''ve\nbeen spotted!  I''d best hie meself off to the maze to hide me chest!"\nWith that, he vanishes into the gloom.'
 - GET_BATTERIES: 'Your lamp is getting dim.  You''d best go back for those batteries.'
 - REPLACE_BATTERIES: 'Your lamp is getting dim.  I''m taking the liberty of replacing the\nbatteries.'
-- MISSING_BATTERYIES: 'Your lamp is getting dim, and you''re out of spare batteries.  You''d\nbest start wrapping this up.'
+- MISSING_BATTERIES: 'Your lamp is getting dim, and you''re out of spare batteries.  You''d\nbest start wrapping this up.'
 - REMOVE_MESSAGE: 'You sift your fingers through the dust, but succeed only in\nobliterating the cryptic message.'
 - OGRE_QUERY: 'Do you need help dealing with the ogre?'
 - CLUE_QUERY: 'Hmmm, this looks like a clue, which means it''ll cost you 10 points to\nread it.  Should I go ahead and read it anyway?'
@@ -1475,13 +1484,13 @@ object_descriptions: !!omap
 - OBJ_2:
     inventory: 'Brass lantern'
     longs:
-    - 'There is a shiny brass lamp nearby.'
-    - 'There is a lamp shining nearby.'
+    - [LAMP_DARK, 'There is a shiny brass lamp nearby.']
+    - [LAMP_BRIGHT, 'There is a lamp shining nearby.']
 - OBJ_3:
     inventory: '*grate'
     longs:
-    - 'The grate is locked.'
-    - 'The grate is open.'
+    - [GRATE_CLOSED, 'The grate is locked.']
+    - [GRATE_OPEN, 'The grate is open.']
 - OBJ_4:
     inventory: 'Wicker cage'
     longs:
@@ -1502,9 +1511,9 @@ object_descriptions: !!omap
 - OBJ_8:
     inventory: 'Little bird in cage'
     longs:
-    - 'A cheerful little bird is sitting here singing.'
-    - 'There is a little bird in the cage.'
-    - 'A cheerful little bird is sitting here singing.'
+    - [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.']
     - 'The bird''s singing is quite melodious.'
     - 'The bird does not seem inclined to sing while in the cage.'
     - 'It almost seems as though the bird is trying to tell you something.'
@@ -1567,9 +1576,9 @@ object_descriptions: !!omap
 - OBJ_20:
     inventory: 'Small bottle'
     longs:
-    - 'There is a bottle of water here.'
-    - 'There is an empty bottle here.'
-    - 'There is a bottle of oil here.'
+    - [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:
     inventory: 'Water in the bottle'
     longs: !!null
@@ -1669,8 +1678,8 @@ object_descriptions: !!omap
 - OBJ_39:
     inventory: 'Batteries'
     longs:
-    - 'There are fresh batteries here.'
-    - 'Some worn-out batteries have been discarded nearby.'
+    - [FRESH_BATTERIES, 'There are fresh batteries here.']
+    - [DEAD_BATTERIES, 'Some worn-out batteries have been discarded nearby.']
 - OBJ_40:
     inventory: '*carpet and/or moss and/or curtains'
     longs: !!null
@@ -1757,10 +1766,10 @@ object_descriptions: !!omap
 - OBJ_58:
     inventory: 'Ming vase'
     longs:
-    - 'There is a delicate, precious, ming vase here!'
-    - 'The vase is now resting, delicately, on a velvet pillow.'
-    - 'The floor is littered with worthless shards of pottery.'
-    - 'The ming vase drops with a delicate crash.'
+    - [VASE_WHOLE, 'There is a delicate, precious, ming vase here!']
+    - [VASE_RESTING, 'The vase is now resting, delicately, on a velvet pillow.']
+    - [VASE_BROKEN, 'The floor is littered with worthless shards of pottery.']
+    - [VASE_DROPS, 'The ming vase drops with a delicate crash.']
 - OBJ_59:
     inventory: 'Egg-sized emerald'
     longs: