X-Git-Url: https://jxself.org/git/?p=open-adventure.git;a=blobdiff_plain;f=adventure.yaml;h=742a4c394124f784180178b122505c96142d6a9a;hp=e35373c41eed821b91aad1ef8e041fbd1449cf51;hb=6a90dcd0172c1a4c56d64a2dab9ebf892bc45afc;hpb=f48ec1eb362ac563533c7590df9ff868216dee65 diff --git a/adventure.yaml b/adventure.yaml index e35373c..742a4c3 100644 --- a/adventure.yaml +++ b/adventure.yaml @@ -83,21 +83,21 @@ # # 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 obect +# 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). # @@ -108,18 +108,9 @@ # 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: -# %S = The letter 'S' or nothing (if a given value is exactly 1) -# %W = A word (up to 10 characters) -# %L = A word mapped to lower-case letters -# %U = A word mapped to upper-case letters -# %C = A word mapped to lower-case, first letter capitalised -# %T = Several words of text, ending with a word of -1 -# %1 = A 1-digit number -# %2 = A 2-digit number -# ... -# %9 = A 9-digit number -# %B = Variable number of blanks -# %! = The entire message should be suppressed +# %d = an integer +# %s = an ASCII string +# %S = The letter 's' or nothing (if a previous %d value is exactly 1) # %V = substitute program version string motions: !!omap @@ -213,9 +204,9 @@ motions: !!omap words: ['east', 'e'] - WEST: words: ['west', 'w'] -- MOT_45: +- NORTH: words: ['north', 'n'] -- MOT_46: +- SOUTH: words: ['south', 's'] - NE: words: ['ne'] @@ -279,121 +270,6 @@ motions: !!omap - FORWARD6: 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 @@ -480,7 +356,7 @@ hints: 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 + Once you've found all the other treasures, it is no longer possible to locate the one you''re now missing.' locations: !!omap @@ -503,7 +379,7 @@ locations: !!omap 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]}, ] @@ -519,7 +395,7 @@ locations: !!omap {verbs: [WEST], action: [goto, LOC_ROADEND]}, {verbs: [NORTH], action: [goto, LOC_FOREST20]}, {verbs: [SOUTH, FORES], action: [goto, LOC_FOREST13]}, - {verbs: [D], action: [speak, WHICH_WAY]}, + {verbs: [DOWN], action: [speak, WHICH_WAY]}, ] - LOC_BUILDING: description: @@ -545,7 +421,7 @@ locations: !!omap {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]}, ] @@ -588,7 +464,7 @@ locations: !!omap {verbs: [EAST, FORES], action: [goto, LOC_FOREST6]}, {verbs: [WEST], action: [goto, LOC_FOREST10]}, {verbs: [DOWNS, BED, SOUTH, DEPRE], action: [goto, LOC_GRATE]}, - {verbs: [SLIT, STREA, D, INWAR, ENTER], action: [speak, DONT_FIT]}, + {verbs: [SLIT, STREA, DOWN, INWAR, ENTER], action: [speak, DONT_FIT]}, ] - LOC_GRATE: description: @@ -605,7 +481,7 @@ locations: !!omap {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]}, @@ -664,7 +540,7 @@ locations: !!omap {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: [DOWN, EAST, DEBRI], action: [goto, LOC_DEBRIS]}, {verbs: [INWAR, UPWAR, WEST], action: [goto, LOC_BIRD]}, {verbs: [PIT], action: [goto, LOC_PITTOP]}, ] @@ -698,9 +574,9 @@ locations: !!omap {verbs: [ENTRA], action: [goto, LOC_BELOWGRATE]}, {verbs: [DEBRI], action: [goto, LOC_DEBRIS]}, {verbs: [PASSA, EAST], action: [goto, LOC_BIRD]}, - {verbs: [D, PIT, STEPS], cond: [carry, NUGGET], + {verbs: [DOWN, PIT, STEPS], cond: [carry, NUGGET], action: [goto, LOC_NECKBROKE]}, - {verbs: [D], action: [goto, LOC_MISTHALL]}, + {verbs: [DOWN], action: [goto, LOC_MISTHALL]}, {verbs: [CRACK, WEST], action: [goto, LOC_CRACK]}, ] - LOC_MISTHALL: @@ -718,7 +594,7 @@ locations: !!omap travel: [ {verbs: [LEFT, SOUTH], action: [goto, LOC_NUGGET]}, {verbs: [FORWA, HALL, WEST], action: [goto, LOC_EASTBANK]}, - {verbs: [STAIR, D, NORTH], action: [goto, LOC_KINGHALL]}, + {verbs: [STAIR, DOWN, NORTH], action: [goto, LOC_KINGHALL]}, {verbs: [UPWAR, PIT, STEPS, DOME, PASSA, EAST], cond: [carry, NUGGET], action: [goto, LOC_DOME]}, {verbs: [UPWAR], action: [goto, LOC_PITTOP]}, @@ -817,7 +693,7 @@ locations: !!omap travel: [ {verbs: [EAST, ACROS], action: [goto, LOC_EASTEND]}, {verbs: [WEST, SLAB], action: [goto, LOC_SLAB]}, - {verbs: [D, PIT], action: [goto, LOC_WESTPIT]}, + {verbs: [DOWN, PIT], action: [goto, LOC_WESTPIT]}, {verbs: [HOLE], action: [speak, TOO_FAR]}, ] - LOC_EASTPIT: @@ -878,7 +754,7 @@ locations: !!omap travel: [ {verbs: [HALL, OUT, SOUTH], action: [goto, LOC_KINGHALL]}, {verbs: [NORTH, Y2], action: [goto, LOC_Y2]}, - {verbs: [D, HOLE], action: [goto, LOC_BROKEN]}, + {verbs: [DOWN, HOLE], action: [goto, LOC_BROKEN]}, ] - LOC_SOUTHSIDE: description: @@ -939,7 +815,7 @@ locations: !!omap short: !!null conditions: {DEEP: true} travel: [ - {verbs: [D, Y2], action: [goto, LOC_Y2]}, + {verbs: [DOWN, Y2], action: [goto, LOC_Y2]}, {verbs: [UPWAR], action: [goto, LOC_MISTHALL]}, ] - LOC_WINDOW1: @@ -980,7 +856,7 @@ locations: !!omap conditions: {DEEP: true} travel: [ {verbs: [WEST, CRAWL], action: [goto, LOC_BROKEN]}, - {verbs: [D, PIT, CLIMB], action: [goto, LOC_SMALLPIT]}, + {verbs: [DOWN, PIT, CLIMB], action: [goto, LOC_SMALLPIT]}, ] - LOC_SMALLPIT: description: @@ -992,7 +868,7 @@ locations: !!omap sound: STREAM_GURGLES travel: [ {verbs: [CLIMB, UPWAR, OUT], action: [goto, LOC_SMALLPITBRINK]}, - {verbs: [SLIT, STREA, D, UPSTR, DOWNS, ENTER, INWAR], + {verbs: [SLIT, STREA, DOWN, UPSTR, DOWNS, ENTER, INWAR], action: [speak, DONT_FIT]}, ] - LOC_DUSTY: @@ -1004,7 +880,7 @@ locations: !!omap conditions: {DEEP: true} travel: [ {verbs: [EAST, PASSA], action: [goto, LOC_BROKEN]}, - {verbs: [D, HOLE, FLOOR], action: [goto, LOC_COMPLEX]}, + {verbs: [DOWN, HOLE, FLOOR], action: [goto, LOC_COMPLEX]}, {verbs: [BEDQU], action: [goto, LOC_BEDQUILT]}, ] - LOC_PARALLEL1: @@ -1063,7 +939,7 @@ locations: !!omap hints: [*maze] travel: [ {verbs: [EAST], action: [goto, LOC_ALIKE2]}, - {verbs: [D], action: [goto, LOC_DEADEND3]}, + {verbs: [DOWN], action: [goto, LOC_DEADEND3]}, {verbs: [SOUTH], action: [goto, LOC_ALIKE6]}, {verbs: [NORTH], action: [goto, LOC_DEADEND9]}, ] @@ -1078,7 +954,7 @@ locations: !!omap {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: @@ -1126,7 +1002,7 @@ locations: !!omap travel: [ {verbs: [EAST], action: [goto, LOC_ALIKE3]}, {verbs: [WEST], action: [goto, LOC_ALIKE5]}, - {verbs: [D], action: [goto, LOC_ALIKE7]}, + {verbs: [DOWN], action: [goto, LOC_ALIKE7]}, {verbs: [SOUTH], action: [goto, LOC_ALIKE8]}, ] - LOC_ALIKE7: @@ -1153,7 +1029,7 @@ locations: !!omap {verbs: [SOUTH], action: [goto, LOC_ALIKE8]}, {verbs: [UPWAR], action: [goto, LOC_ALIKE9]}, {verbs: [NORTH], action: [goto, LOC_ALIKE10]}, - {verbs: [D], action: [goto, LOC_DEADEND11]}, + {verbs: [DOWN], action: [goto, LOC_DEADEND11]}, ] - LOC_ALIKE9: description: @@ -1184,7 +1060,7 @@ locations: !!omap travel: [ {verbs: [WEST], action: [goto, LOC_ALIKE8]}, {verbs: [NORTH], action: [goto, LOC_ALIKE10]}, - {verbs: [D], action: [goto, LOC_DEADEND5]}, + {verbs: [DOWN], action: [goto, LOC_DEADEND5]}, {verbs: [EAST], action: [goto, LOC_PITBRINK]}, ] - LOC_DEADEND5: @@ -1205,7 +1081,7 @@ locations: !!omap short: 'You''re at brink of pit.' conditions: {DEEP: true, NOBACK: true} travel: [ - {verbs: [D, CLIMB], action: [goto, LOC_BIRD]}, + {verbs: [DOWN, CLIMB], action: [goto, LOC_BIRD]}, {verbs: [WEST], action: [goto, LOC_ALIKE10]}, {verbs: [SOUTH], action: [goto, LOC_DEADEND6]}, {verbs: [NORTH], action: [goto, LOC_ALIKE12]}, @@ -1240,7 +1116,7 @@ locations: !!omap travel: [ {verbs: [EAST, UPWAR, CRAWL], action: [goto, LOC_MISTWEST]}, {verbs: [WEST], action: [goto, LOC_LONGWEST]}, - {verbs: [NORTH, D, HOLE], action: [goto, LOC_CROSSOVER]}, + {verbs: [NORTH, DOWN, HOLE], action: [goto, LOC_CROSSOVER]}, ] - LOC_LONGWEST: description: @@ -1307,8 +1183,8 @@ locations: !!omap {verbs: [NORTH], cond: [pct, 50], action: [speak, FUTILE_CRAWL]}, {verbs: [NORTH], cond: [pct, 75], action: [goto, LOC_LOWROOM]}, {verbs: [NORTH], action: [goto, LOC_THREEJUNCTION]}, - {verbs: [D], cond: [pct, 65], action: [speak, FUTILE_CRAWL]}, - {verbs: [D], action: [goto, LOC_ANTEROOM]}, + {verbs: [DOWN], cond: [pct, 65], action: [speak, FUTILE_CRAWL]}, + {verbs: [DOWN], action: [goto, LOC_ANTEROOM]}, ] - LOC_SWISSCHEESE: description: @@ -1340,7 +1216,7 @@ locations: !!omap travel: [ {verbs: [EAST], action: [goto, LOC_SWISSCHEESE]}, {verbs: [WEST, ACROS], action: [goto, LOC_WESTEND]}, - {verbs: [D, PIT], action: [goto, LOC_EASTPIT]}, + {verbs: [DOWN, PIT], action: [goto, LOC_EASTPIT]}, ] - LOC_SLAB: description: @@ -1363,7 +1239,7 @@ locations: !!omap short: !!null conditions: {DEEP: true} travel: [ - {verbs: [D, SLAB], action: [goto, LOC_SLAB]}, + {verbs: [DOWN, SLAB], action: [goto, LOC_SLAB]}, {verbs: [SOUTH], cond: [not, DRAGON, DRAGON_BARS], action: [goto, LOC_SECRET5]}, {verbs: [SOUTH], action: [goto, LOC_SECRET4]}, @@ -1377,7 +1253,7 @@ locations: !!omap conditions: {DEEP: true} travel: [ {verbs: [NORTH], action: [goto, LOC_THREEJUNCTION]}, - {verbs: [D, PASSA], action: [goto, LOC_BEDQUILT]}, + {verbs: [DOWN, PASSA], action: [goto, LOC_BEDQUILT]}, {verbs: [SOUTH], action: [goto, LOC_TOPSTALACTITE]}, ] - LOC_THREEJUNCTION: @@ -1424,7 +1300,7 @@ locations: !!omap {verbs: [EAST], action: [goto, LOC_KINGHALL]}, {verbs: [WEST], cond: [not, DRAGON, DRAGON_BARS], action: [goto, LOC_SECRET5]}, {verbs: [WEST], action: [goto, LOC_SECRET6]}, - {verbs: [D], action: [goto, LOC_WIDEPLACE]}, + {verbs: [DOWN], action: [goto, LOC_WIDEPLACE]}, ] - LOC_WIDEPLACE: description: @@ -1547,7 +1423,7 @@ locations: !!omap 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: @@ -1558,7 +1434,7 @@ locations: !!omap short: 'You''re in narrow corridor.' conditions: {DEEP: true} travel: [ - {verbs: [D, CLIMB, EAST], action: [goto, LOC_WESTPIT]}, + {verbs: [DOWN, CLIMB, EAST], action: [goto, LOC_WESTPIT]}, {verbs: [JUMP], action: [goto, LOC_NECKBROKE]}, {verbs: [WEST, GIANT], action: [goto, LOC_GIANTROOM]}, ] @@ -1588,7 +1464,7 @@ locations: !!omap conditions: {DEEP: true} travel: [ {verbs: [NORTH, CAVER, PASSA], action: [goto, LOC_WATERFALL]}, - {verbs: [D, CLIMB], action: [goto, LOC_LOWROOM]}, + {verbs: [DOWN, CLIMB], action: [goto, LOC_LOWROOM]}, ] - LOC_GIANTROOM: description: @@ -1720,7 +1596,7 @@ locations: !!omap short: 'You''re in arched hall.' conditions: {DEEP: true} travel: [ - {verbs: [D, SHELL, OUT], action: [goto, LOC_SHELLROOM]}, + {verbs: [DOWN, SHELL, OUT], action: [goto, LOC_SHELLROOM]}, ] - LOC_SHELLROOM: description: @@ -1733,7 +1609,7 @@ locations: !!omap conditions: {DEEP: true} travel: [ {verbs: [UPWAR, HALL], action: [goto, LOC_ARCHED]}, - {verbs: [D], action: [goto, LOC_SLOPING1]}, + {verbs: [DOWN], action: [goto, LOC_SLOPING1]}, {verbs: [SOUTH], cond: [carry, CLAM], action: [speak, CLAM_BLOCKER]}, {verbs: [SOUTH], cond: [carry, OYSTER], @@ -1747,7 +1623,7 @@ locations: !!omap conditions: {DEEP: true} travel: [ {verbs: [UPWAR, SHELL], action: [goto, LOC_SHELLROOM]}, - {verbs: [D], action: [goto, LOC_CULDESAC]}, + {verbs: [DOWN], action: [goto, LOC_CULDESAC]}, ] - LOC_CULDESAC: description: @@ -1787,7 +1663,7 @@ locations: !!omap {verbs: [EAST], action: [goto, LOC_DIFFERENT9]}, {verbs: [WEST], action: [goto, LOC_DIFFERENT10]}, {verbs: [NORTH], action: [goto, LOC_DIFFERENT11]}, - {verbs: [D], action: [goto, LOC_LONGWEST]}, + {verbs: [DOWN], action: [goto, LOC_LONGWEST]}, ] - LOC_WITTSEND: description: @@ -1796,7 +1672,7 @@ locations: !!omap 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]}, @@ -1845,10 +1721,10 @@ locations: !!omap conditions: {DEEP: true} travel: [ {verbs: [NORTH], action: [goto, LOC_SECRET2]}, - {verbs: [D, JUMP, CLIMB], cond: [pct, 40], + {verbs: [DOWN, JUMP, CLIMB], cond: [pct, 40], action: [goto, LOC_ALIKE6]}, - {verbs: [D], cond: [pct, 50], action: [goto, LOC_ALIKE9]}, - {verbs: [D], action: [goto, LOC_ALIKE4]}, + {verbs: [DOWN], cond: [pct, 50], action: [goto, LOC_ALIKE9]}, + {verbs: [DOWN], action: [goto, LOC_ALIKE4]}, ] - LOC_DIFFERENT2: description: @@ -1863,7 +1739,7 @@ locations: !!omap {verbs: [SE], action: [goto, LOC_DIFFERENT7]}, {verbs: [NE], action: [goto, LOC_DIFFERENT8]}, {verbs: [WEST], action: [goto, LOC_DIFFERENT9]}, - {verbs: [D], action: [goto, LOC_DIFFERENT10]}, + {verbs: [DOWN], action: [goto, LOC_DIFFERENT10]}, {verbs: [UPWAR], action: [goto, LOC_DIFFERENT11]}, {verbs: [SOUTH], action: [goto, LOC_DEADEND13]}, ] @@ -1927,7 +1803,7 @@ locations: !!omap sound: SNAKES_HISSING travel: [ {verbs: [NE], action: [goto, LOC_NE]}, - {verbs: [D], action: [speak, GRATE_NOWAY]}, + {verbs: [DOWN], action: [speak, GRATE_NOWAY]}, ] - LOC_SWCHASM: description: @@ -1956,9 +1832,11 @@ locations: !!omap short: 'You''re in sloping corridor.' conditions: {DEEP: true} travel: [ - {verbs: [D], action: [goto, LOC_LOWROOM]}, + {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.' @@ -2028,7 +1906,7 @@ locations: !!omap 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]}, ] @@ -2076,7 +1954,7 @@ locations: !!omap travel: [ {verbs: [SOUTH, PASSA, OUT], action: [goto, LOC_WARMWALLS]}, {verbs: [FORK], action: [goto, LOC_FORK]}, - {verbs: [D], action: [speak, RIDICULOUS_ATTEMPT]}, + {verbs: [DOWN], action: [speak, RIDICULOUS_ATTEMPT]}, {verbs: [JUMP], action: [goto, LOC_GRUESOME]}, ] - LOC_BOULDERS2: @@ -2103,7 +1981,7 @@ locations: !!omap conditions: {NOARRR: true, DEEP: true} travel: [ {verbs: [NORTH, UPWAR, FORK], action: [goto, LOC_FORK]}, - {verbs: [SOUTH, D, BARRE], action: [goto, LOC_BARRENFRONT]}, + {verbs: [SOUTH, DOWN, BARRE], action: [goto, LOC_BARRENFRONT]}, {verbs: [VIEW], action: [goto, LOC_BREATHTAKING]}, ] - LOC_BARRENFRONT: @@ -2144,7 +2022,7 @@ locations: !!omap {verbs: [SW], action: [goto, LOC_DIFFERENT6]}, {verbs: [NE], action: [goto, LOC_DIFFERENT7]}, {verbs: [UPWAR], action: [goto, LOC_DIFFERENT8]}, - {verbs: [D], action: [goto, LOC_DIFFERENT9]}, + {verbs: [DOWN], action: [goto, LOC_DIFFERENT9]}, {verbs: [NORTH], action: [goto, LOC_DIFFERENT10]}, {verbs: [SOUTH], action: [goto, LOC_DIFFERENT11]}, {verbs: [EAST], action: [goto, LOC_DIFFERENT2]}, @@ -2163,7 +2041,7 @@ locations: !!omap {verbs: [SW], action: [goto, LOC_DIFFERENT8]}, {verbs: [NE], action: [goto, LOC_DIFFERENT9]}, {verbs: [EAST], action: [goto, LOC_DIFFERENT10]}, - {verbs: [D], action: [goto, LOC_DIFFERENT11]}, + {verbs: [DOWN], action: [goto, LOC_DIFFERENT11]}, {verbs: [SE], action: [goto, LOC_DIFFERENT2]}, ] - LOC_DIFFERENT5: @@ -2173,7 +2051,7 @@ locations: !!omap conditions: {DEEP: true, NOBACK: true} travel: [ {verbs: [UPWAR], action: [goto, LOC_DIFFERENT1]}, - {verbs: [D], action: [goto, LOC_DIFFERENT3]}, + {verbs: [DOWN], action: [goto, LOC_DIFFERENT3]}, {verbs: [WEST], action: [goto, LOC_DIFFERENT4]}, {verbs: [NE], action: [goto, LOC_DIFFERENT6]}, {verbs: [SW], action: [goto, LOC_DIFFERENT7]}, @@ -2194,7 +2072,7 @@ locations: !!omap {verbs: [NW], action: [goto, LOC_DIFFERENT4]}, {verbs: [SE], action: [goto, LOC_DIFFERENT5]}, {verbs: [EAST], action: [goto, LOC_DIFFERENT7]}, - {verbs: [D], action: [goto, LOC_DIFFERENT8]}, + {verbs: [DOWN], action: [goto, LOC_DIFFERENT8]}, {verbs: [SOUTH], action: [goto, LOC_DIFFERENT9]}, {verbs: [UPWAR], action: [goto, LOC_DIFFERENT10]}, {verbs: [WEST], action: [goto, LOC_DIFFERENT11]}, @@ -2208,7 +2086,7 @@ locations: !!omap travel: [ {verbs: [NORTH], action: [goto, LOC_DIFFERENT1]}, {verbs: [SE], action: [goto, LOC_DIFFERENT3]}, - {verbs: [D], action: [goto, LOC_DIFFERENT4]}, + {verbs: [DOWN], action: [goto, LOC_DIFFERENT4]}, {verbs: [SOUTH], action: [goto, LOC_DIFFERENT5]}, {verbs: [EAST], action: [goto, LOC_DIFFERENT6]}, {verbs: [WEST], action: [goto, LOC_DIFFERENT8]}, @@ -2227,7 +2105,7 @@ locations: !!omap {verbs: [WEST], action: [goto, LOC_DIFFERENT3]}, {verbs: [UPWAR], action: [goto, LOC_DIFFERENT4]}, {verbs: [SW], action: [goto, LOC_DIFFERENT5]}, - {verbs: [D], action: [goto, LOC_DIFFERENT6]}, + {verbs: [DOWN], action: [goto, LOC_DIFFERENT6]}, {verbs: [SOUTH], action: [goto, LOC_DIFFERENT7]}, {verbs: [NW], action: [goto, LOC_DIFFERENT9]}, {verbs: [SE], action: [goto, LOC_DIFFERENT10]}, @@ -2243,7 +2121,7 @@ locations: !!omap {verbs: [SE], action: [goto, LOC_DIFFERENT1]}, {verbs: [NE], action: [goto, LOC_DIFFERENT3]}, {verbs: [SOUTH], action: [goto, LOC_DIFFERENT4]}, - {verbs: [D], action: [goto, LOC_DIFFERENT5]}, + {verbs: [DOWN], action: [goto, LOC_DIFFERENT5]}, {verbs: [UPWAR], action: [goto, LOC_DIFFERENT6]}, {verbs: [NW], action: [goto, LOC_DIFFERENT7]}, {verbs: [NORTH], action: [goto, LOC_DIFFERENT8]}, @@ -2257,7 +2135,7 @@ locations: !!omap short: !!null conditions: {DEEP: true, NOBACK: true} travel: [ - {verbs: [D], action: [goto, LOC_DIFFERENT1]}, + {verbs: [DOWN], action: [goto, LOC_DIFFERENT1]}, {verbs: [EAST], action: [goto, LOC_DIFFERENT3]}, {verbs: [NE], action: [goto, LOC_DIFFERENT4]}, {verbs: [UPWAR], action: [goto, LOC_DIFFERENT5]}, @@ -2279,7 +2157,7 @@ locations: !!omap {verbs: [EAST], action: [goto, LOC_DIFFERENT4]}, {verbs: [WEST], action: [goto, LOC_DIFFERENT5]}, {verbs: [NORTH], action: [goto, LOC_DIFFERENT6]}, - {verbs: [D], action: [goto, LOC_DIFFERENT7]}, + {verbs: [DOWN], action: [goto, LOC_DIFFERENT7]}, {verbs: [SE], action: [goto, LOC_DIFFERENT8]}, {verbs: [UPWAR], action: [goto, LOC_DIFFERENT9]}, {verbs: [SOUTH], action: [goto, LOC_DIFFERENT10]}, @@ -2635,7 +2513,7 @@ locations: !!omap conditions: {DEEP: true} travel: [ {verbs: [UPWAR, NW], action: [goto, LOC_STEEP]}, - {verbs: [D, SE], action: [goto, LOC_RESNORTH]}, + {verbs: [DOWN, SE], action: [goto, LOC_RESNORTH]}, ] - LOC_STEEP: description: @@ -2643,7 +2521,7 @@ locations: !!omap short: !!null conditions: {DEEP: true} travel: [ - {verbs: [D, SE], action: [goto, LOC_TREACHEROUS]}, + {verbs: [DOWN, SE], action: [goto, LOC_TREACHEROUS]}, {verbs: [UPWAR, NW], action: [goto, LOC_CLIFFBASE]}, ] - LOC_CLIFFBASE: @@ -2656,7 +2534,7 @@ locations: !!omap short: 'You''re at base of cliff.' conditions: {DEEP: true} travel: [ - {verbs: [D, SE], action: [goto, LOC_STEEP]}, + {verbs: [DOWN, SE], action: [goto, LOC_STEEP]}, {verbs: [UPWAR, CLIMB], action: [goto, LOC_CLIFFACE]}, ] - LOC_CLIFFACE: @@ -2665,7 +2543,7 @@ locations: !!omap short: !!null conditions: {DEEP: true} travel: [ - {verbs: [D], action: [goto, LOC_CLIFFBASE]}, + {verbs: [DOWN], action: [goto, LOC_CLIFFBASE]}, {verbs: [UPWAR], cond: [carry, OBJ_46], action: [goto, LOC_CLIFFTOP]}, {verbs: [UPWAR], action: [goto, LOC_FOOTSLIP]}, ] @@ -2698,7 +2576,7 @@ locations: !!omap 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: @@ -2795,7 +2673,7 @@ arbitrary_messages: !!omap 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. @@ -2803,27 +2681,27 @@ arbitrary_messages: !!omap - 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.' @@ -2841,23 +2719,16 @@ arbitrary_messages: !!omap 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.' @@ -2880,10 +2751,7 @@ arbitrary_messages: !!omap - 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.' @@ -2949,7 +2817,7 @@ arbitrary_messages: !!omap - 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: |- @@ -2957,12 +2825,12 @@ arbitrary_messages: !!omap 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". @@ -2975,26 +2843,14 @@ arbitrary_messages: !!omap - 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: |- @@ -3025,7 +2881,7 @@ arbitrary_messages: !!omap - 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 @@ -3035,9 +2891,9 @@ arbitrary_messages: !!omap 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 @@ -3116,9 +2972,9 @@ arbitrary_messages: !!omap - ONE_HIT: 'One of them gets you!' - NONE_HIT: 'None of them hits you!' - DONT_KNOW: 'Sorry, I don''t know the word "%s".' -- WHAT_DO: 'What do you want to do with the %L%L?' # FIXME: %L%L should become %L once parsing no longer depends on packed tokens -- NO_SEE: 'I see no %L%L here.' # FIXME: %L%L should become %L once parsing no longer depends on packed tokens -- DO_WHAT: '%C what?' +- WHAT_DO: 'What do you want to do with the %s?' +- NO_SEE: 'I see no %s here.' +- DO_WHAT: '%s what?' - OKEY_DOKEY: 'Okay, "%s".' - GARNERED_POINTS: 'You have garnered %d out of a possible %d points, using %d turn%S.' - SUSPEND_WARNING: |- @@ -3133,26 +2989,26 @@ arbitrary_messages: !!omap - 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. @@ -3221,9 +3077,10 @@ objects: !!omap 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.' @@ -3232,9 +3089,10 @@ objects: !!omap 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.' @@ -3261,6 +3119,7 @@ objects: !!omap 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.' @@ -3268,10 +3127,11 @@ objects: !!omap 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.' @@ -3291,9 +3151,10 @@ objects: !!omap 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.' - |- @@ -3310,20 +3171,25 @@ objects: !!omap 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' @@ -3384,10 +3250,15 @@ objects: !!omap 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' @@ -3409,13 +3280,15 @@ objects: !!omap 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.' @@ -3447,9 +3320,10 @@ objects: !!omap 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.' @@ -3470,10 +3344,11 @@ objects: !!omap 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: - '' - |- @@ -3489,21 +3364,37 @@ objects: !!omap 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' @@ -3513,14 +3404,20 @@ objects: !!omap - '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' @@ -3543,9 +3440,14 @@ objects: !!omap 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.' @@ -3556,9 +3458,10 @@ objects: !!omap 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' @@ -3579,10 +3482,11 @@ objects: !!omap 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.' @@ -3592,9 +3496,10 @@ objects: !!omap 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' @@ -3607,10 +3512,13 @@ objects: !!omap 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' @@ -3640,9 +3548,10 @@ objects: !!omap inventory: '*sign' locations: LOC_ANTEROOM immovable: true + states: [INGAME_SIGN, ENDGAME_SIGN] descriptions: - - [INGAME_SIGN, ''] - - [ENDGAME_SIGN, ''] + - '' + - '' texts: - |- Cave under construction beyond this point. @@ -3696,10 +3605,11 @@ objects: !!omap 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' @@ -3712,14 +3622,14 @@ objects: !!omap 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'] @@ -3749,10 +3659,11 @@ objects: !!omap 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' @@ -3766,10 +3677,11 @@ objects: !!omap 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' @@ -3790,9 +3702,10 @@ objects: !!omap 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' @@ -3830,25 +3743,141 @@ obituaries: 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_0: 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'] +- 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_13: message: 'You''re quite welcome.' words: ['thank']