# motions: Motion words, grouped into synonyms. The 'oldstyle'
# attribute, if false, means that single-letter synonyms should be
# accepted in oldstyle mode; it defaults to true.
-
+#
# actions: Action words, grouped into synonyms, and their corresponding
# default messages. The 'oldstyle' attribute is as for motions.
#
#
# objects: Objects have attributes as follows...
# inventory: A description for use in the inventory command.
+# states: A list of state labels for states from 0 up. Each
+# becomes a #define, and is also a state label that
+# can be used in travel-rule 'not' clauses.
# descriptions: Messages describing the object in different states.
-# If a state message is a tuple then the first element
-# is made the name of a #define visible to the code for
-# the associated state, numbered from zero upwards; it
-# is also a state label that can be used in travel-rule
-# 'not' clauses.
-# changes: State-change messages to be emitted whenever the object
+# Must correspond 1:1 with state labels if the latter exist.
+# changes: State-change messages to be emitted whenever the object
# *changes* to the (0-origin) state that is the index of the
-# message in this array.
-# words: The vocabulary word(s) referring to this object.
-# treasure: A boolean "treasure" used for point-scoring and pirate
+# message in this array. Must correspond 1:1 with state
+# labels if the latter exist.
+# words: The vocabulary word(s) referring to this object.
+# treasure: A boolean "treasure" used for point-scoring and pirate
# snatches, defaulting to false.
-# immovable: An object may also be flagged
+# immovable: An object may also be flagged
# immovable, meaning it cannot be carried.
-# locations: An object may have one or two start locations (the gate
+# locations: An object may have one or two start locations (the gate
# is an example of a two-location object; it can be accessed
# from above or below).
#
words: ['east', 'e']
- WEST:
words: ['west', 'w']
-- MOT_45:
+- NORTH:
words: ['north', 'n']
-- MOT_46:
+- SOUTH:
words: ['south', 's']
- NE:
words: ['ne']
words: ['slab', 'slabr']
- XYZZY:
words: ['xyzzy']
-- DPRSSN:
+- DEPRESSION:
words: ['depre']
-- ENTRNC:
+- ENTRANCE:
words: ['entra']
- PLUGH:
words: ['plugh']
words: ['secre']
- CAVE:
words: ['cave']
-- MOT_68:
- words: !!null
-- MOT_69:
+- CROSS:
words: ['cross']
- BEDQUILT:
words: ['bedqu']
- PLOVER:
words: ['plove']
-- FORWARD2:
+- ORIENTAL:
words: ['orien']
-- FORWARD3:
+- CAVERN:
words: ['caver']
-- FORWARD4:
+- SHELLROOM:
words: ['shell']
-- FORWARD5:
+- RESERVOIR:
words: ['reser']
-- FORWARD6:
+- OFFICE:
words: ['main', 'offic']
-actions: !!omap
-- ACT_0:
- message: !!null
- words: !!null
-- CARRY:
- message: ALREADY_CARRYING
- words: ['g', 'carry', 'take', 'keep', 'catch',
- 'steal', 'captu', 'get', 'tote', 'snarf']
- oldstyle: false
-- DROP:
- message: ARENT_CARRYING
- words: ['drop', 'relea', 'free', 'disca', 'dump']
-- SAY:
- message: NO_MESSAGE
- words: ['say', 'chant', 'sing', 'utter', 'mumbl']
-- UNLOCK:
- message: NOT_LOCKABLE
- words: ['unloc', 'open']
-- NOTHING:
- message: NO_MESSAGE
- words: ['z', 'nothi']
- oldstyle: false
-- LOCK:
- message: NOT_LOCKABLE
- words: ['lock', 'close']
-- LIGHT:
- message: DONT_UNDERSTAND
- words: ['light', 'on']
-- EXTINGUISH:
- message: DONT_UNDERSTAND
- words: ['extin', 'off']
-- WAVE:
- message: NOTHING_HAPPENS
- words: ['wave', 'shake', 'swing']
-- TAME:
- message: AM_GAME
- words: ['calm', 'placa', 'tame']
-- GO:
- message: WHERE_QUERY
- words: ['walk', 'run', 'trave', 'go', 'proce',
- 'conti', 'explo', 'follo', 'turn']
-- ATTACK:
- message: RIDICULOUS_ATTEMPT
- words: ['attac', 'kill', 'fight', 'hit', 'strik', 'slay']
-- POUR:
- message: ARENT_CARRYING
- words: ['pour']
-- EAT:
- message: RIDICULOUS_ATTEMPT
- words: ['eat', 'devou']
-- DRINK:
- message: STREAM_WATER
- words: ['drink']
-- RUB:
- message: RUB_NOGO
- words: ['rub']
-- THROW:
- message: ARENT_CARRYING
- words: ['throw', 'toss']
-- QUIT:
- message: HUH_MAN
- words: ['quit']
-- FIND:
- message: NEARBY
- words: ['find', 'where']
-- INVENTORY:
- message: NEARBY
- words: ['i', 'inven']
- oldstyle: false
-- FEED:
- message: NO_EDIBLES
- words: ['feed']
-- FILL:
- message: CANT_FILL
- words: ['fill']
-- BLAST:
- message: REQUIRES_DYNAMITE
- words: ['blast', 'deton', 'ignit', 'blowu']
-- SCORE:
- message: HUH_MAN
- words: ['score']
-- GIANTWORDS:
- message: NOT_KNOWHOW
- words: ['fee', 'fie', 'foe', 'foo', 'fum']
-- BRIEF:
- message: ON_WHAT
- words: ['brief']
-- READ:
- message: DONT_UNDERSTAND
- words: ['read', 'perus']
-- BREAK:
- message: BEYOND_POWER
- words: ['break', 'shatt', 'smash']
-- WAKE:
- message: RIDICULOUS_ATTEMPT
- words: ['wake', 'distu']
-- SAVE:
- message: HUH_MAN
- words: ['suspe', 'pause', 'save']
-- RESUME:
- message: HUH_MAN
- words: ['resum', 'resta']
-- FLY:
- message: AM_GAME
- words: ['fly']
-- LISTEN:
- message: DONT_UNDERSTAND
- words: ['liste']
-- PART:
- message: NOTHING_HAPPENS
- words: ['z''zzz']
-- ACT_35:
- message: HUH_MAN
- words: !!null
-
hints:
- hint: &grate
name: CAVE
penalty: 4
question: 'You''re missing only one other treasure. Do you need help finding it?'
hint: |-
- Once you''ve found all the other treasures, it is no longer possible to
- locate the one you''re now missing.'
+ Once you've found all the other treasures, it is no longer possible to
+ locate the one you're now missing.
locations: !!omap
- LOC_NOWHERE:
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: [DOWNS, GULLY, STREA, SOUTH, DOWN], action: [goto, LOC_VALLEY]},
{verbs: [FORES, NORTH], action: [goto, LOC_FOREST1]},
{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: [DOWNS, SOUTH, DOWN], action: [goto, LOC_SLIT]},
{verbs: [DEPRE], action: [goto, LOC_GRATE]},
{verbs: [STREA], action: [speak, UPSTREAM_DOWNSTREAM]},
]
{verbs: [WEST], action: [goto, LOC_FOREST9]},
{verbs: [BUILD], action: [goto, LOC_START]},
{verbs: [UPSTR, GULLY, NORTH], action: [goto, LOC_SLIT]},
- {verbs: [ENTER, INWAR, D],
+ {verbs: [ENTER, INWAR, DOWN],
cond: [not, GRATE, GRATE_CLOSED],
action: [goto, LOC_BELOWGRATE]},
{verbs: [ENTER], action: [speak, GRATE_NOWAY]},
{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: [UPWAR, DOWN], action: [goto, LOC_ALIKE14]},
]
- LOC_DEADEND1:
description:
conditions: {DEEP: true, NOBACK: true}
hints: [*maze]
travel: [
- {verbs: [UPWAR, D], action: [goto, LOC_ALIKE4]},
+ {verbs: [UPWAR, DOWN], action: [goto, LOC_ALIKE4]},
]
- LOC_NARROW:
description:
conditions: {DEEP: true, NOBACK: true}
hints: [*witt]
travel: [
- {verbs: [EAST, NORTH, SOUTH, NE, SE, SW, NW, UPWAR, D],
+ {verbs: [EAST, NORTH, SOUTH, NE, SE, SW, NW, UPWAR, DOWN],
cond: [pct, 95], action: [speak, FUTILE_CRAWL]},
{verbs: [EAST], action: [goto, LOC_ANTEROOM]},
{verbs: [WEST], action: [speak, WAY_BLOCKED]},
{verbs: [DOWN], action: [goto, LOC_LOWROOM]},
{verbs: [UPWAR], action: [goto, LOC_SWCHASM]},
]
+ # Following three rooms are where the dragon lives. The code has a
+ # wired-in assumption that the dragon corpse goes to LOC_SECRET5,
- LOC_SECRET4:
description:
long: 'You are in a secret canyon which exits to the north and east.'
travel: [
{verbs: [WEST], action: [goto, LOC_CORRIDOR]},
{verbs: [NE, LEFT], action: [goto, LOC_WARMWALLS]},
- {verbs: [SE, RIGHT, D], action: [goto, LOC_LIMESTONE]},
+ {verbs: [SE, RIGHT, DOWN], action: [goto, LOC_LIMESTONE]},
{verbs: [VIEW], action: [goto, LOC_BREATHTAKING]},
{verbs: [BARRE], action: [goto, LOC_BARRENFRONT]},
]
short: 'You''re at top of cliff.'
conditions: {DEEP: true}
travel: [
- {verbs: [CLIMB, D], action: [goto, LOC_CLIFFACE]},
+ {verbs: [CLIMB, DOWN], action: [goto, LOC_CLIFFACE]},
{verbs: [NE, CRAWL], action: [goto, LOC_REACHDEAD]},
]
- LOC_REACHDEAD:
I don't know in from out here. Use compass points or name something
in the general direction you want to go.
- CANT_APPLY: 'I don''t know how to apply that word here.'
-- AM_GAME: 'I''m game. Would you care to explain how?'
+- AM_GAME: &am_game 'I''m game. Would you care to explain how?'
- NO_MORE_DETAIL: |-
Sorry, but I am not allowed to give more detail. I will repeat the
long description of your location.
- W_IS_WEST: 'If you prefer, simply type w rather than west.'
- REALLY_QUIT: 'Do you really want to quit now?'
- PIT_FALL: 'You fell into a pit and broke every bone in your body!'
-- ALREADY_CARRYING: 'You are already carrying it!'
+- ALREADY_CARRYING: &already_carrying 'You are already carrying it!'
- YOU_JOKING: 'You can''t be serious!'
- BIRD_EVADES: |-
The bird seemed unafraid at first, but as you approach it becomes
disturbed and you cannot catch it.
- CANNOT_CARRY: 'You can catch the bird, but you cannot carry it.'
- NOTHING_LOCKED: 'There is nothing here with a lock!'
-- ARENT_CARRYING: 'You aren''t carrying it!'
+- ARENT_CARRYING: &arent_carrying 'You aren''t carrying it!'
- BIRD_ATTACKS: |-
The little bird attacks the green snake, and in an astounding flurry
drives the snake away.
- NO_KEYS: 'You have no keys!'
- NO_LOCK: 'It has no lock.'
-- NOT_LOCKABLE: 'I don''t know how to lock or unlock such a thing.'
+- NOT_LOCKABLE: ¬_lockable 'I don''t know how to lock or unlock such a thing.'
- ALREADY_LOCKED: 'It was already locked.'
- ALREADY_UNLOCKED: 'It was already unlocked.'
- BEAR_BLOCKS: |-
There is no way to get past the bear to unlock the chain, which is
probably just as well.
-- NOTHING_HAPPENS: 'Nothing happens.'
-- WHERE_QUERY: 'Where?'
+- NOTHING_HAPPENS: ¬hing_happens 'Nothing happens.'
+- WHERE_QUERY: &where_query 'Where?'
- NO_TARGET: 'There is nothing here to attack.'
- BIRD_DEAD: 'The little bird is now dead. Its body disappears.'
- SNAKE_WARNING: 'Attacking the snake both doesn''t work and is very dangerous.'
I don't know where the cave is, but hereabouts no stream can run on
the surface for long. I would try the stream.
- NEED_DETAIL: 'I need more detailed instructions to do that.'
-- NEARBY: |-
+- NEARBY: &nearby |-
I can only tell you what you see as you move about and manipulate
things. I cannot tell you where remote things are.
- OGRE_SNARL: 'The ogre snarls and shoves you back.'
-- HUH_MAN: 'Huh?'
+- HUH_MAN: &huh_man 'Huh?'
- WELCOME_YOU: 'Welcome to Adventure!! Would you like instructions?'
-- REQUIRES_DYNAMITE: 'Blasting requires dynamite.'
+- REQUIRES_DYNAMITE: &requires_dynamite 'Blasting requires dynamite.'
- FEET_WET: 'Your feet are now wet.'
- LOST_APPETITE: 'I think I just lost my appetite.'
- THANKS_DELICIOUS: 'Thank you, it was delicious!'
-- STREAM_WATER: |-
- You have taken a drink from the stream. The water tastes strongly of
- minerals, but is not unpleasant. It is extremely cold.
-- BOTTLE_EMPTY: 'The bottle of water is now empty.'
-- RUB_NOGO: |-
- Rubbing the electric lamp is not particularly rewarding. Anyway,
- nothing exciting happens.
- PECULIAR_NOTHING: 'Peculiar. Nothing unexpected happens.'
- GROUND_WET: 'Your bottle is empty and the ground is wet.'
- CANT_POUR: 'You can''t pour that.'
- NO_CONTAINER: 'You have nothing in which to carry it.'
- BOTTLE_FULL: 'Your bottle is already full.'
- NO_LIQUID: 'There is nothing here with which to fill the bottle.'
-- BOTTLED_WATER: 'Your bottle is now full of water.'
-- BOTTLED_OIL: 'Your bottle is now full of oil.'
-- CANT_FILL: 'You can''t fill that.'
-- RIDICULOUS_ATTEMPT: 'Don''t be ridiculous!'
+- RIDICULOUS_ATTEMPT: &ridiculous_attempt 'Don''t be ridiculous!'
- RUSTY_DOOR: 'The door is extremely rusty and refuses to open.'
- SHAKING_LEAVES: 'The plant indignantly shakes the oil off its leaves and asks, "Water?"'
- DEEP_ROOTS: 'The plant has exceptionally deep roots and cannot be pulled free.'
You'd best take inventory and drop something.
- CLAM_BLOCKER: 'You can''t fit this five-foot clam through that little passage!'
- OYSTER_BLOCKER: 'You can''t fit this five-foot oyster through that little passage!'
-- DROP_CLAM: 'I advise you to put down the clam before opening it. >STRAIN!<'
+#- DROP_CLAM: 'I advise you to put down the clam before opening it. >STRAIN!<'
- DROP_OYSTER: 'I advise you to put down the oyster before opening it. >WRENCH!<'
- CLAM_OPENER: 'You don''t have anything strong enough to open the clam.'
- OYSTER_OPENER: 'You don''t have anything strong enough to open the oyster.'
- WITHOUT_SUSPENDS: 'Now let''s see you do it without suspending in mid-Adventure.'
- FILL_INVALID: 'There is nothing here with which to fill it.'
- SHATTER_VASE: 'The sudden change in temperature has delicately shattered the vase.'
-- BEYOND_POWER: 'It is beyond your power to do that.'
+- BEYOND_POWER: &beyond_power 'It is beyond your power to do that.'
- NOT_KNOWHOW: ¬_knowhow 'I don''t know how.'
- TOO_FAR: 'It is too far up for you to reach.'
- DWARF_SMOKE: |-
black smoke.
- SHELL_IMPERVIOUS: 'The shell is very strong and is impervious to attack.'
- START_OVER: 'What''s the matter, can''t you read? Now you''d best start over.'
+- WELL_POINTLESS: 'Well, that was remarkably pointless.'
- DRAGON_SCALES: 'The axe bounces harmlessly off the dragon''s thick scales.'
- NASTY_DRAGON: 'The dragon looks rather nasty. You''d best not try to get by.'
- BIRD_BURNT: |-
The little bird attacks the green dragon, and in an astounding flurry
gets burnt to a cinder. The ashes blow away.
-- ON_WHAT: 'On what?'
- BRIEF_CONFIRM: |-
Okay, from now on I'll only describe a place in full the first time
you come to it. To get the full description, say "look".
- TROLL_SATISFIED: 'The troll catches your treasure and scurries away out of sight.'
- TROLL_BLOCKS: 'The troll refuses to let you cross.'
- BRIDGE_GONE: 'There is no longer any way across the chasm.'
-- BRIDGE_COLLAPSE: |-
- Just as you reach the other side, the bridge buckles beneath the
- weight of the bear, which was still following you around. You
- scrabble desperately for support, but as the bridge collapses you
- stumble back and fall into the chasm.
-- TROLL_SCAMPERS: |-
- The bear lumbers toward the troll, who lets out a startled shriek and
- scurries away. The bear soon gives up the pursuit and wanders back.
- BEAR_HANDS: 'With what? Your bare hands? Against *HIS* bear hands??'
- BEAR_CONFUSED: 'The bear is confused; he only wants to be your friend.'
- ALREADY_DEAD: 'For crying out loud, the poor thing is already dead!'
-- BEAR_TAMED: |-
- The bear eagerly wolfs down your food, after which he seems to calm
- down considerably and even becomes rather friendly.
- BEAR_CHAINED: 'The bear is still chained to the wall.'
- STILL_LOCKED: 'The chain is still locked.'
- CHAIN_UNLOCKED: 'The chain is now unlocked.'
- CHAIN_LOCKED: 'The chain is now locked.'
- NO_LOCKSITE: 'There is nothing here to which the chain can be locked.'
-- NO_EDIBLES: 'There is nothing here to eat.'
- WANT_HINT: 'Do you want the hint?'
- TROLL_VICES: 'Gluttony is not one of the troll''s vices. Avarice, however, is.'
- LAMP_DIM: |-
- WAYOUT_CLUE: |-
It says, "There is a way out of this place. Do you need any more
information to escape? Sorry, but this initial hint is all you get."
-- DONT_UNDERSTAND: 'I''m afraid I don''t understand.'
+- DONT_UNDERSTAND: &dont_understand 'I''m afraid I don''t understand.'
- HAND_PASSTHROUGH: 'Your hand passes through it as though it weren''t there.'
-- BREAK_MIRROR: |-
- You strike the mirror a resounding blow, whereupon it shatters into a
- myriad tiny fragments.
- PROD_DWARF: |-
You prod the nearest dwarf, who wakes up grumpily, takes one look at
you, curses, and grabs for his axe.
- THIS_ACCEPTABLE: 'Is this acceptable?'
# This message is not currently used
-- ALREADY_OVER: |-
- This adventure is already over. To start a new adventure, or to
- resume an earlier adventure, please run a fresh copy of the program.
+#- ALREADY_OVER: |-
+# This adventure is already over. To start a new adventure, or to
+# resume an earlier adventure, please run a fresh copy of the program.
- OGRE_FULL: 'The ogre doesn''t appear to be hungry.'
- OGRE_DODGE: |-
The ogre, who despite his bulk is quite agile, easily dodges your
- OFF_SCALE: 'You just went off my scale!!'
- RESUME_HELP: 'To resume your Adventure, start a new game and then say "RESUME".'
# This message is not currently used
-- TABLE_SPACE: |-
- Table space used:
- %d of %d words of messages %d of %d travel options
- %d of %d vocabulary words %d of %d locations
- %d of %d objects %d of %d action verbs
- %d of %d "random" messages %d of %d "class" messages
- %d of %d hints %d of %d turn threshholds'
+#- TABLE_SPACE: |-
+# Table space used:
+# %d of %d words of messages %d of %d travel options
+# %d of %d vocabulary words %d of %d locations
+# %d of %d objects %d of %d action verbs
+# %d of %d "random" messages %d of %d "class" messages
+# %d of %d hints %d of %d turn threshholds'
- RESUME_ABANDON: 'To resume an earlier Adventure, you must abandon the current one.'
- VERSION_SKEW: |-
I'm sorry, but that Adventure was begun using Version %d.%d of the
save file format, and this program uses Version %d.%d. You must find an instance
using that other version in order to resume that Adventure.
# This message is not currently used
-- SAVE_TAMPERING: |-
- A dark fog creeps in to surround you. From somewhere in the fog you
- hear a stern voice. "This Adventure has been tampered with! You have
- been dabbling in magic, knowing not the havoc you might cause thereby.
- Leave at once, before you do irrevocable harm!" The fog thickens,
- until at last you can see nothing at all. Your vision then clears,
- and you find yourself back in The Real World.
+#- SAVE_TAMPERING: |-
+# A dark fog creeps in to surround you. From somewhere in the fog you
+# hear a stern voice. "This Adventure has been tampered with! You have
+# been dabbling in magic, knowing not the havoc you might cause thereby.
+# Leave at once, before you do irrevocable harm!" The fog thickens,
+# until at last you can see nothing at all. Your vision then clears,
+# and you find yourself back in The Real World.
- TWIST_TURN: |-
Sorry, but the path twisted and turned so much that I can't figure
out which way to go to get back.
- GO_UNNEEDED: |-
You don't have to say "go" every time; just specify a direction or, if
it's nearby, name the place to which you wish to move.
+- NUMERIC_REQUIRED:
+ This command requires a numeric argument.
classes:
- threshold: 0
words: ['lamp', 'lante']
inventory: 'Brass lantern'
locations: LOC_BUILDING
+ states: [LAMP_DARK, LAMP_BRIGHT]
descriptions:
- - [LAMP_DARK, 'There is a shiny brass lamp nearby.']
- - [LAMP_BRIGHT, 'There is a lamp shining nearby.']
+ - 'There is a shiny brass lamp nearby.'
+ - 'There is a lamp shining nearby.'
changes:
- 'Your lamp is now off.'
- 'Your lamp is now on.'
inventory: '*grate'
locations: [LOC_GRATE, LOC_BELOWGRATE]
immovable: true
+ states: [GRATE_CLOSED, GRATE_OPEN]
descriptions:
- - [GRATE_CLOSED, 'The grate is locked.']
- - [GRATE_OPEN, 'The grate is open.']
+ - 'The grate is locked.'
+ - 'The grate is open.'
changes:
- 'The grate is now locked.'
- 'The grate is now unlocked.'
inventory: '*steps'
locations: [LOC_PITTOP, LOC_MISTHALL]
immovable: true
+ states: [STEPS_DOWN, STEPS_UP]
descriptions:
- 'Rough stone steps lead down the pit.'
- 'Rough stone steps lead up the dome.'
words: ['bird']
inventory: 'Little bird in cage'
locations: LOC_BIRD
+ states: [BIRD_UNCAGED, BIRD_CAGED, BIRD_FOREST_UNCAGED]
descriptions:
- - [BIRD_UNCAGED, 'A cheerful little bird is sitting here singing.']
- - [BIRD_CAGED, 'There is a little bird in the cage.']
- - [BIRD_FOREST_UNCAGED, 'A cheerful little bird is sitting here singing.']
+ - 'A cheerful little bird is sitting here singing.'
+ - 'There is a little bird in the cage.'
+ - 'A cheerful little bird is sitting here singing.'
sounds:
- 'The bird''s singing is quite melodious.'
- 'The bird does not seem inclined to sing while in the cage.'
inventory: '*rusty door'
locations: LOC_IMMENSE
immovable: true
+ states: [DOOR_RUSTED, DOOR_UNRUSTED]
descriptions:
- - [DOOR_RUSTED, 'The way north is barred by a massive, rusty, iron door.']
- - [DOOR_UNRUSTED, 'The way north leads through a massive, rusty, iron door.']
+ - 'The way north is barred by a massive, rusty, iron door.'
+ - 'The way north leads through a massive, rusty, iron door.'
changes:
- 'The hinges are quite thoroughly rusted now and won''t budge.'
- |-
inventory: '*snake'
locations: LOC_KINGHALL
immovable: true
+ states: [SNAKE_BLOCKS, SNAKE_CHASED]
descriptions:
- - [SNAKE_BLOCKS, 'A huge green fierce snake bars the way!']
- - [SNAKE_CHASED, ''] # chased away
+ - 'A huge green fierce snake bars the way!'
+ - '' # chased away
sounds:
- 'The snake is hissing venomously.'
+ - ''
- FISSURE:
words: ['fissu']
inventory: '*fissure'
locations: [LOC_EASTBANK, LOC_WESTBANK]
immovable: true
+ states: [UNBRIDGED, BRIDGED]
descriptions:
- - [UNBRIDGED, '']
- - [BRIDGED, 'A crystal bridge now spans the fissure.']
- - [VANISHED, 'The crystal bridge has vanished!']
+ - ''
+ - 'A crystal bridge spans the fissure.'
+ changes:
+ - 'The crystal bridge has vanished!'
+ - 'A crystal bridge now spans the fissure.'
- OBJ_13:
words: ['table']
inventory: '*stone tablet'
- '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
+ I'm afraid the magazine is written in dwarvish. But pencilled on one
cover you see, "Please leave the magazines at the construction site."
- DWARF:
words: ['dwarf', 'dwarv']
words: ['bottl', 'jar']
inventory: 'Small bottle'
locations: LOC_BUILDING
- descriptions:
- - [WATER_BOTTLE, 'There is a bottle of water here.']
- - [EMPTY_BOTTLE, 'There is an empty bottle here.']
- - [OIL_BOTTLE, 'There is a bottle of oil here.']
+ states: [WATER_BOTTLE, EMPTY_BOTTLE, OIL_BOTTLE]
+ descriptions:
+ - 'There is a bottle of water here.'
+ - 'There is an empty bottle here.'
+ - 'There is a bottle of oil here.'
+ changes:
+ - 'Your bottle is now full of water.'
+ - 'The bottle of water is now empty.'
+ - 'Your bottle is now full of oil.'
- WATER:
words: ['water', 'h2o']
inventory: 'Water in the bottle'
inventory: '*mirror'
locations: LOC_MIRRORCANYON
immovable: true
- descriptions: !!null
+ states: [MIRROR_UNBROKEN, MIRROR_BROKEN]
+ descriptions:
+ - ''
+ - ''
+ changes:
+ - ''
+ - |-
+ You strike the mirror a resounding blow, whereupon it shatters into a
+ myriad tiny fragments.
- PLANT:
words: ['plant', 'beans']
inventory: '*plant'
locations: LOC_WESTPIT
immovable: true
+ states: [PLANT_THIRSTY, PLANT_BELLOWING, PLANT_GROWN]
descriptions:
- 'There is a tiny little plant in the pit, murmuring "water, water, ..."'
- - [PLANT_BELLOWING, 'There is a 12-foot-tall beanstalk stretching up out of the pit,\nbellowing "WATER!! WATER!!"']
- - [PLANT_GROWN, 'There is a gigantic beanstalk stretching all the way up to the hole.']
+ - 'There is a 12-foot-tall beanstalk stretching up out of the pit,\nbellowing "WATER!! WATER!!"'
+ - 'There is a gigantic beanstalk stretching all the way up to the hole.'
+ changes:
+ - 'You''ve over-watered the plant! It''s shriveling up! And now . . .'
- 'The plant spurts into furious growth for a few seconds.'
- 'The plant grows explosively, almost filling the bottom of the pit.'
- - 'You''ve over-watered the plant! It''s shriveling up! And now . . .'
sounds:
- 'The plant continues to ask plaintively for water.'
- 'The plant continues to demand water.'
words: ['axe']
inventory: 'Dwarf''s axe'
locations: LOC_NOWHERE
+ states: [AXE_HERE, AXE_LOST]
descriptions:
- - [AXE_HERE, 'There is a little axe here.']
- - [AXE_LOST, 'There is a little axe lying beside the bear.']
+ - 'There is a little axe here.'
+ - 'There is a little axe lying beside the bear.'
changes:
- ''
- 'The axe misses and lands near the bear where you can''t get at it.'
inventory: '*dragon'
locations: [LOC_SECRET4, LOC_SECRET6]
immovable: true
+ states: [DRAGON_BARS, DRAGON_DEAD, DRAGON_BLOODLESS]
descriptions:
- - [DRAGON_BARS, 'A huge green fierce dragon bars the way!']
- - [DRAGON_DEAD, 'The blood-specked body of a huge green dead dragon lies to one side.']
- - [DRAGON_BLOODLESS, 'The body of a huge green dead dragon is lying off to one side.']
+ - 'A huge green fierce dragon bars the way!'
+ - 'The blood-specked body of a huge green dead dragon lies to one side.'
+ - 'The body of a huge green dead dragon is lying off to one side.'
changes:
- ''
- |-
inventory: '*chasm'
locations: [LOC_SWCHASM, LOC_NECHASM]
immovable: true
+ states: [TROLL_BRIDGE, BRIDGE_WRECKED]
descriptions:
- - [TROLL_BRIDGE, 'A rickety wooden bridge extends across the chasm, vanishing into the\nmist. A notice posted on the bridge reads, "Stop! Pay troll!"']
- - [BRIDGE_WRECKED, 'The wreckage of a bridge (and a dead bear) can be seen at the bottom\nof the chasm.']
+ - 'A rickety wooden bridge extends across the chasm, vanishing into the\nmist. A notice posted on the bridge reads, "Stop! Pay troll!"'
+ - 'The wreckage of a bridge (and a dead bear) can be seen at the bottom\nof the chasm.'
+ changes:
+ - ''
+ - |-
+ Just as you reach the other side, the bridge buckles beneath the
+ weight of the bear, which was still following you around. You
+ scrabble desperately for support, but as the bridge collapses you
+ stumble back and fall into the chasm.
- TROLL:
words: ['troll']
inventory: '*troll'
locations: [LOC_SWCHASM, LOC_NECHASM]
immovable: true
- descriptions:
- - [TROLL_UNPAID, 'A burly troll stands by the bridge and insists you throw him a\ntreasure before you may cross.']
- - [TROLL_PAIDONCE, 'The troll steps out from beneath the bridge and blocks your way.']
- - [TROLL_GONE, ''] # chased away
+ states: [TROLL_UNPAID, TROLL_PAIDONCE, TROLL_GONE]
+ descriptions:
+ - 'A burly troll stands by the bridge and insists you throw him a\ntreasure before you may cross.'
+ - 'The troll steps out from beneath the bridge and blocks your way.'
+ - '' # chased away
+ changes:
+ - ''
+ - ''
+ - |-
+ The bear lumbers toward the troll, who lets out a startled shriek and
+ scurries away. The bear soon gives up the pursuit and wanders back.
sounds:
- 'The troll sounds quite adamant in his demand for a treasure.'
- 'The troll sounds quite adamant in his demand for a treasure.'
+ - ''
- TROLL2:
words: ['troll']
inventory: '*phony troll'
- 'The troll is nowhere to be seen.'
- BEAR:
words: ['bear']
- inventory: !!null # bear uses rtext 141
+ inventory: !!null
locations: LOC_BARRENROOM
immovable: true
+ states: [UNTAMED_BEAR, SITTING_BEAR, CONTENTED_BEAR, BEAR_DEAD]
descriptions:
- - [UNTAMED_BEAR, 'There is a ferocious cave bear eying you from the far end of the room!']
- - [SITTING_BEAR, 'There is a gentle cave bear sitting placidly in one corner.']
- - [CONTENTED_BEAR, 'There is a contented-looking bear wandering about nearby.']
- - [BEAR_DEAD, '']
+ - 'There is a ferocious cave bear eying you from the far end of the room!'
+ - 'There is a gentle cave bear sitting placidly in one corner.'
+ - 'There is a contented-looking bear wandering about nearby.'
+ - ''
+ changes:
+ - ''
+ - 'The bear eagerly wolfs down your food, after which he seems to calm\ndown considerably and even becomes rather friendly.'
+ - ''
+ - ''
- MESSAG:
words: ['messa']
inventory: '*message in second maze'
inventory: '*vending machine'
locations: LOC_DEADEND13
immovable: true
+ states: [VEND_BLOCKS, VEND_UNBLOCKS]
descriptions:
- - [VEND_BLOCKS, 'There is a massive and somewhat battered vending machine here. The\ninstructions on it read: "Drop coins here to receive fresh batteries."']
- - [VEND_UNBLOCKS, 'There is a massive vending machine here, swung back to reveal a\nsouthward passage.']
+ - |-
+ There is a massive and somewhat battered vending machine here. The
+ instructions on it read: "Drop coins here to receive fresh batteries."
+ - |-
+ There is a massive vending machine here, swung back to reveal a
+ southward passage.
changes:
- 'The vending machine swings back to block the passage.'
- 'As you strike the vending machine, it pivots backward along with a\nsection of wall, revealing a dark passage leading south.'
words: ['batte']
inventory: 'Batteries'
locations: LOC_NOWHERE
+ states: [FRESH_BATTERIES, DEAD_BATTERIES]
descriptions:
- - [FRESH_BATTERIES, 'There are fresh batteries here.']
- - [DEAD_BATTERIES, 'Some worn-out batteries have been discarded nearby.']
+ - 'There are fresh batteries here.'
+ - 'Some worn-out batteries have been discarded nearby.'
- OBJ_40:
words: ['carpe', 'moss']
inventory: '*carpet and/or moss and/or curtains'
inventory: '*urn'
locations: LOC_CLIFF
immovable: true
+ states: [URN_EMPTY, URN_DARK, URN_LIT]
descriptions:
- - [URN_EMPTY, 'A small urn is embedded in the rock.']
- - [URN_DARK, 'A small urn full of oil is embedded in the rock.']
- - [URN_LIT, 'A small oil flame extrudes from an urn embedded in the rock.']
+ - 'A small urn is embedded in the rock.'
+ - 'A small urn full of oil is embedded in the rock.'
+ - 'A small oil flame extrudes from an urn embedded in the rock.'
changes:
- 'The urn is empty and will not light.'
- 'The urn is now dark.'
inventory: '*cavity'
locations: LOC_NOWHERE
immovable: true
+ states: [CAVITY_FULL, CAVITY_EMPTY]
descriptions:
- - [CAVITY_FULL, ''] # something in it
- - [CAVITY_EMPTY, 'There is a small urn-shaped cavity in the rock.']
+ - '' # something in it
+ - 'There is a small urn-shaped cavity in the rock.'
- BLOOD:
words: ['blood']
inventory: '*blood'
inventory: '*reservoir'
locations: [LOC_RESERVOIR, LOC_RESNORTH]
immovable: true
+ states: [WATERS_UNPARTED, WATERS_PARTED]
descriptions:
- ''
- - [WATERS_PARTED, 'The waters have parted to form a narrow path across the reservoir.']
+ - 'The waters have parted to form a narrow path across the reservoir.'
+ changes:
- 'The waters crash together again.'
+ - 'The waters have parted to form a narrow path across the reservoir.'
- OBJ_46:
words: ['appen', 'lepor']
inventory: 'Leporine appendage'
inventory: '*sign'
locations: LOC_ANTEROOM
immovable: true
+ states: [INGAME_SIGN, ENDGAME_SIGN]
descriptions:
- - [INGAME_SIGN, '']
- - [ENDGAME_SIGN, '']
+ - ''
+ - ''
texts:
- |-
Cave under construction beyond this point.
inventory: 'Golden eggs'
locations: LOC_GIANTROOM
treasure: true
+ states: [EGGS_HERE, EGGS_VANISHED, EGGS_DONE]
descriptions:
- - [EGGS_HERE, 'There is a large nest here, full of golden eggs!']
- - [EGGS_VANISHED, 'The nest of golden eggs has vanished!']
- - [EGGS_DONE, 'Done!']
+ - 'There is a large nest here, full of golden eggs!'
+ - 'The nest of golden eggs has vanished!'
+ - 'Done!'
- TRIDENT:
words: ['tride']
inventory: 'Jeweled trident'
inventory: 'Ming vase'
locations: LOC_ORIENTAL
treasure: true
+ states: [VASE_WHOLE, VASE_DROPPED, VASE_BROKEN]
descriptions:
- - [VASE_WHOLE, 'There is a delicate, precious, ming vase here!']
- - [VASE_RESTING, 'The vase is now resting, delicately, on a velvet pillow.']
- - [VASE_BROKEN, 'The floor is littered with worthless shards of pottery.']
- - [VASE_DROPS, 'The ming vase drops with a delicate crash.']
+ - 'There is a delicate, precious, ming vase here!'
+ - 'The floor is littered with worthless shards of pottery.'
+ - 'The floor is littered with worthless shards of pottery.'
changes:
- - ''
- - ''
+ - 'The vase is now resting, delicately, on a velvet pillow.'
+ - 'The ming vase drops with a delicate crash.'
- 'You have taken the vase and hurled it delicately to the ground.'
- EMERALD:
words: ['emera']
locations: [LOC_SECRET4, LOC_SECRET6]
immovable: true
treasure: true
+ states: [RUG_FLOOR, RUG_DRAGON, RUG_HOVER]
descriptions:
- - [RUG_FLOOR, 'There is a persian rug spread out on the floor!']
- - [RUG_DRAGON, 'The dragon is sprawled out on a persian rug!!']
- - [RUG_HOVER, 'There is a persian rug here, hovering in mid-air!']
+ - 'There is a persian rug spread out on the floor!'
+ - 'The dragon is sprawled out on a persian rug!!'
+ - 'There is a persian rug here, hovering in mid-air!'
- OBJ_63:
words: ['spice']
inventory: 'Rare spices'
locations: LOC_BARRENROOM
immovable: true
treasure: true
+ states: [CHAIN_HEAP, CHAINING_BEAR, CHAIN_FIXED]
descriptions:
- - [CHAIN_HEAP, 'There is a golden chain lying in a heap on the floor!']
- - [CHAINING_BEAR, 'The bear is locked to the wall with a golden chain!']
- - [CHAIN_FIXED, 'There is a golden chain locked to the wall!']
+ - 'There is a golden chain lying in a heap on the floor!'
+ - 'The bear is locked to the wall with a golden chain!'
+ - 'There is a golden chain locked to the wall!'
- RUBY:
words: ['ruby']
inventory: 'Giant ruby'
inventory: 'Amber gemstone'
locations: LOC_NOWHERE
treasure: true
+ states: [AMBER_IN_URN, AMBER_IN_ROCK]
descriptions:
- - [AMBER_IN_URN, 'There is a rare amber gemstone here!']
- - [AMBER_IN_ROCK, 'There is an amber gemstone resting in a small cavity in the rock!']
+ - 'There is a rare amber gemstone here!'
+ - 'There is an amber gemstone resting in a small cavity in the rock!'
- SAPPH:
words: ['sapph']
inventory: 'Star sapphire'
You are engulfed in a cloud of orange smoke. Coughing and gasping,
you emerge from the smoke and find....
- query: |-
- You clumsy oaf, you've done it again! I don''t know how long I can
+ You clumsy oaf, you've done it again! I don't know how long I can
keep this up. Do you want me to try reincarnating you again?
yes_response: |-
Okay, now where did I put my orange smoke?.... >POOF!<
Everything disappears in a dense cloud of orange smoke.
- query: |-
- Now you''ve really done it! I'm out of orange smoke! You don''t expect
+ Now you've really done it! I'm out of orange smoke! You don't expect
me to do a decent reincarnation without any orange smoke, do you?
yes_response: 'Okay, if you''re so smart, do it yourself! I''m leaving!'
-specials: !!omap
-- SPC_0:
+actions: !!omap
+- ACT_NULL:
message: !!null
words: !!null
-- SPC_1:
- message: !!null
+- CARRY:
+ message: *already_carrying
+ words: ['g', 'carry', 'take', 'keep', 'catch',
+ 'steal', 'captu', 'get', 'tote', 'snarf']
+ oldstyle: false
+- DROP:
+ message: *arent_carrying
+ words: ['drop', 'relea', 'free', 'disca', 'dump']
+- SAY:
+ message: NO_MESSAGE
+ words: ['say', 'chant', 'sing', 'utter', 'mumbl']
+- UNLOCK:
+ message: *not_lockable
+ words: ['unloc', 'open']
+- NOTHING:
+ message: NO_MESSAGE
+ words: ['z', 'nothi']
+ oldstyle: false
+- LOCK:
+ message: *not_lockable
+ words: ['lock', 'close']
+- LIGHT:
+ message: *dont_understand
+ words: ['light', 'on']
+- EXTINGUISH:
+ message: *dont_understand
+ words: ['extin', 'off']
+- WAVE:
+ message: *nothing_happens
+ words: ['wave', 'shake', 'swing']
+- TAME:
+ message: *am_game
+ words: ['calm', 'placa', 'tame']
+- GO:
+ message: *where_query
+ words: ['walk', 'run', 'trave', 'go', 'proce',
+ 'conti', 'explo', 'follo', 'turn']
+- ATTACK:
+ message: *ridiculous_attempt
+ words: ['attac', 'kill', 'fight', 'hit', 'strik', 'slay']
+- POUR:
+ message: *arent_carrying
+ words: ['pour']
+- EAT:
+ message: *ridiculous_attempt
+ words: ['eat', 'devou']
+- DRINK:
+ message: |-
+ You have taken a drink from the stream. The water tastes strongly of
+ minerals, but is not unpleasant. It is extremely cold.
+ words: ['drink']
+- RUB:
+ message: |-
+ Rubbing the electric lamp is not particularly rewarding. Anyway,
+ nothing exciting happens.
+ words: ['rub']
+- THROW:
+ message: *arent_carrying
+ words: ['throw', 'toss']
+- QUIT:
+ message: *huh_man
+ words: ['quit']
+- FIND:
+ message: *nearby
+ words: ['find', 'where']
+- INVENTORY:
+ message: *nearby
+ words: ['i', 'inven']
+ oldstyle: false
+- FEED:
+ message: 'There is nothing here to eat.'
+ words: ['feed']
+- FILL:
+ message: 'You can''t fill that.'
+ words: ['fill']
+- BLAST:
+ message: *requires_dynamite
+ words: ['blast', 'deton', 'ignit', 'blowu']
+- SCORE:
+ message: *huh_man
+ words: ['score']
+- FEE:
+ message: *not_knowhow
words: ['fee']
-- SPC_2:
- message: !!null
+- FIE:
+ message: *not_knowhow
words: ['fie']
-- SPC_3:
- message: !!null
+- FOE:
+ message: *not_knowhow
words: ['foe']
-- SPC_4:
- message: !!null
+- FOO:
+ message: *not_knowhow
words: ['foo']
-- SPC_5:
- message: !!null
+- FUM:
+ message: *not_knowhow
words: ['fum']
-- SPC_13:
+- 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']
+- SEED:
+ message: 'Seed set to %d'
+ words: ['seed']
+- WASTE:
+ message: 'Game limit is now %d'
+ words: ['waste']
+- ACT_UNKNOWN:
+ message: *huh_man
+ words: !!null
+- THANKYOU:
message: 'You''re quite welcome.'
words: ['thank']
-- SPC_50:
+ noaction: true
+- INVALIDMAGIC:
message: 'Good try, but that is an old worn-out magic word.'
words: ['sesam', 'opens', 'abra', 'abrac', 'shaza', 'hocus', 'pocus']
-- SPC_51:
+ noaction: true
+- HELP:
message: |-
I know of places, actions, and things. Most of my vocabulary
describes places and is used to move you there. To move, try words
though the direction that takes you back might not be the reverse of
what got you here. Good luck, and have fun!
words: ['help', '?']
-- SPC_54:
+ noaction: true
+- NO:
message: *ok_man
words: ['no']
-- SPC_64:
+ noaction: true
+- TREE:
message: |-
The trees of the forest are large hardwood oak and maple, with an
occasional grove of pine or spruce. There is quite a bit of under-
all the leaves, but travel is quite easy if you detour around the
spruce and berry bushes.
words: ['tree', 'trees']
-- SPC_66:
+ noaction: true
+- DIG:
message: |-
Digging without a shovel is quite impractical. Even with a shovel
progress is unlikely.
words: ['dig', 'excav']
-- SPC_68:
+ noaction: true
+- LOST:
message: 'I''m as confused as you are.'
words: ['lost']
-- SPC_69:
+ noaction: true
+- MIST:
message: |-
Mist is a white vapor, usually water, seen from time to time in
caverns. It can be found anywhere but is frequently a sign of a deep
pit leading down to water.'
words: ['mist']
-- SPC_79:
+ noaction: true
+- FBOMB:
message: 'Watch it!'
words: ['fuck']
-- SPC_139:
+ noaction: true
+- STOP:
message: 'I don''t know the word "stop". Use "quit" if you want to give up.'
words: ['stop']
-- SPC_142:
+ noaction: true
+- INFO:
message: |-
For a summary of the most recent changes to the game, say "news".
If you want to end your adventure early, say "quit". To suspend your
save time, you may specify "brief", which tells me never to repeat the
full description of a place unless you explicitly ask me to.
words: ['info', 'infor']
-- SPC_147:
+ noaction: true
+- SWIM:
message: *not_knowhow
words: ['swim']
-- SPC_246:
+ noaction: true
+- WIZARD:
message: 'Wizards are not to be disturbed by such as you.'
words: ['wizar']
-- SPC_271:
+ noaction: true
+- "YES":
message: 'Guess again.'
words: ['yes']
-- SPC_275:
+ noaction: true
+- NEWS:
message: |-
Open Adventure is an author-approved open-source release of
Version 2.5 with, as yet, no gameplay changes.
while first), but it now costs you a few points each time you save the
game. Saved games are now stored in much smaller files than before.
words: ['news']
-- SPC_276:
+ noaction: true
+- ACT_VERSION:
message: |-
There is a puff of orange smoke; within it, fiery runes spell out:
\tOpen Adventure %V - http://www.catb.org/esr/open-adventure/
words: ['versi']
+ noaction: true
# end