#
# 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
# [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
+# [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
{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_56:
words: ['climb']
- LOOK:
- words: ['look', 'exami', 'touch', 'descr']
+ words: ['l', 'x', 'look', 'exami', 'touch', 'descr']
- MOT_58:
words: ['floor']
- MOT_59:
- 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
name: CAVE
{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, 0,], action: [goto, LOC_BELOWGRATE]},
+ {verbs: ['ENTER', 'INWAR', 'D'], cond: [not, GRATE, GRATE_CLOSED], action: [goto, LOC_BELOWGRATE]},
{verbs: ['ENTER'], action: ["speak", GRATE_NOWAY]},
]
- LOC_BELOWGRATE:
short: 'You''re below the grate.'
conditions: {LIT: true}
travel: [
- {verbs: ['OUT', 'UPWAR'], cond: [not, GRATE, 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]},
short: 'You''re in debris room.'
conditions: {}
travel: [
- {verbs: ['DEPRE'], cond: [not, GRATE, 0], action: [goto, LOC_GRATE]},
+ {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]},
short: !!null
conditions: {}
travel: [
- {verbs: ['DEPRE'], cond: [not, GRATE, 0], action: [goto, LOC_GRATE]},
+ {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]},
conditions: {}
hints: [*bird]
travel: [
- {verbs: ['DEPRE'], cond: [not, GRATE, 0], action: [goto, LOC_GRATE]},
+ {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]},
short: 'You''re at top of small pit.'
conditions: {}
travel: [
- {verbs: ['DEPRE'], cond: [not, GRATE, 0], action: [goto, LOC_GRATE]},
+ {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]},
conditions: {DEEP: true}
travel: [
{verbs: ['HALL', 'EAST'], action: [goto, LOC_MISTHALL]},
- {verbs: ['JUMP'], cond: [not, FISSURE, 0], action: ["speak", CROSS_BRIDGE]},
- {verbs: ['FORWA'], cond: [not, FISSURE, 1], action: [goto, LOC_NOMAKE]},
- {verbs: ['OVER', 'ACROS', 'WEST', 'CROSS'], cond: [not, FISSURE, 1], action: ["speak", NO_CROSS]},
+ {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:
hints: [*snake]
travel: [
{verbs: ['STAIR', 'UPWAR', 'EAST'], action: [goto, LOC_MISTHALL]},
- {verbs: ['NORTH', 'RIGHT'], cond: [not, SNAKE, 0], action: [goto, LOC_FLOORHOLE]},
- {verbs: ['SOUTH', 'LEFT'], cond: [not, SNAKE, 0], action: [goto, LOC_SOUTHSIDE]},
- {verbs: ['WEST', 'FORWA'], cond: [not, SNAKE, 0], action: [goto, LOC_WESTSIDE]},
+ {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]},
short: 'You''re on west bank of fissure.'
conditions: {DEEP: true}
travel: [
- {verbs: ['JUMP'], cond: [not, FISSURE, 0], action: ["speak", CROSS_BRIDGE]},
- {verbs: ['FORWA'], cond: [not, FISSURE, 1], action: [goto, LOC_NOMAKE]},
- {verbs: ['OVER', 'ACROS', 'EAST', 'CROSS'], cond: [not, FISSURE, 1], action: ["speak", NO_CROSS]},
+ {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]},
conditions: {DEEP: true}
travel: [
{verbs: ['D', 'SLAB'], action: [goto, LOC_SLAB]},
- {verbs: ['SOUTH'], cond: [not, DRAGON, 0], action: [goto, LOC_SECRET5]},
+ {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]},
conditions: {DEEP: true}
travel: [
{verbs: ['EAST'], action: [goto, LOC_KINGHALL]},
- {verbs: ['WEST'], cond: [not, DRAGON, 0], action: [goto, LOC_SECRET5]},
+ {verbs: ['WEST'], cond: [not, DRAGON, DRAGON_BLOCKS], action: [goto, LOC_SECRET5]},
{verbs: ['WEST'], action: [goto, LOC_SECRET6]},
{verbs: ['D'], action: [goto, LOC_WIDEPLACE]},
]
travel: [
{verbs: ['SW'], action: [goto, LOC_WINDING]},
{verbs: ['OVER', 'ACROS', 'CROSS', 'NE'], cond: [with, TROLL], action: ["speak", TROLL_BLOCKS]},
- {verbs: ['OVER'], cond: [not, CHASM, 0], action: ["speak", BRIDGE_GONE]},
+ {verbs: ['OVER'], cond: [not, CHASM, TROLL_BRIDGE], action: ["speak", BRIDGE_GONE]},
{verbs: ['OVER'], action: ["special", 3]},
- {verbs: ['JUMP'], cond: [not, CHASM, 0], action: [goto, LOC_NOMAKE]},
+ {verbs: ['JUMP'], cond: [not, CHASM, TROLL_BRIDGE], action: [goto, LOC_NOMAKE]},
{verbs: ['JUMP'], action: ["speak", CROSS_BRIDGE]},
]
- LOC_WINDING:
conditions: {DEEP: true}
travel: [
{verbs: ['NORTH', 'OUT'], action: [goto, LOC_DIFFERENT2]},
- {verbs: ['SOUTH'], cond: [not, VEND, 0], action: [goto, LOC_ROUGHHEWN]},
+ {verbs: ['SOUTH'], cond: [not, VEND, VEND_BLOCKS], action: [goto, LOC_ROUGHHEWN]},
{verbs: ['SOUTH'], action: [goto, LOC_BADDIRECTION]},
]
- LOC_ROUGHHEWN:
conditions: {FLUID: true, DEEP: true}
sound: WATERS_CRASHING
travel: [
- {verbs: ['SOUTH', 'ACROS', 'CROSS'], cond: [not, RESER, 1], action: ["speak", BAD_DIRECTION]},
+ {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]},
]
- 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?'
- 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
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.']
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:
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!"'
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.'
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."'
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.']
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.'
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.'
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:
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?)'
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
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."'
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."'
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:
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.'
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.'
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"'
inventory: '*note'
locations: LOC_NUGGET
immovable: true
- longs:
+ descriptions:
- ''
texts:
- '"You won''t get it up the steps"'
inventory: '*sign'
locations: LOC_ANTEROOM
immovable: true
- longs:
+ descriptions:
- [INGAME_SIGN, '']
- [ENDGAME_SIGN, '']
texts:
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!'
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.']
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:
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']
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!'
inventory: 'Rare spices'
locations: LOC_BOULDERS2
treasure: true
- longs:
+ descriptions:
- 'There are rare spices here!'
- CHAIN:
words: ['chain']
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!'
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:
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:
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:
inventory: 'Ebony statuette'
locations: LOC_REACHDEAD
treasure: true
- longs:
+ descriptions:
- 'There is a richly-carved ebony statuette here!'
obituaries: