X-Git-Url: https://jxself.org/git/?p=open-adventure.git;a=blobdiff_plain;f=adventure.yaml;h=02af861016fab4ce941587a0bd5e0c7ccdf7fa93;hp=29516625008065157a4c0e349f4d1f43e67465d7;hb=94aca03203cbba94c25fba00b7ff80e529d275c7;hpb=37373c52775f741d4cc2cdc80795667697f1845c diff --git a/adventure.yaml b/adventure.yaml index 2951662..02af861 100644 --- a/adventure.yaml +++ b/adventure.yaml @@ -59,7 +59,8 @@ # [pct, N] Roll a die, n% chance of success # [carry, OBJ] Must be carrying named object # [with, OBJ] Must be carrying or in room with -# [not, OBJ N] Property of named OBJ must not be N +# [not, OBJ N] Property of named OBJ must not be N. +# N may be numeric or a state label. # All attributes are optional except the long description and # travel. Order of locations is not significant. # @@ -92,8 +93,9 @@ # it can be accessed from above or below). An object may also be # flagged immovable, meaning it cannot be carried. If a state # message is a tuple then the first element is made the name of a -# #define visble to the code for the associated state, numbered -# from zero upwards. If the inventory description begins with "*" +# #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. If the inventory description begins with "*" # the object is dungeon furniture that cannot be taken or carried. # # obituaries: Death messages and reincarnation queries. Order is @@ -460,7 +462,7 @@ motions: !!omap - MOT_56: words: ['climb'] - LOOK: - words: ['look', 'exami', 'touch', 'descr'] + words: ['l', 'x', 'look', 'exami', 'touch', 'descr'] - MOT_58: words: ['floor'] - MOT_59: @@ -504,106 +506,106 @@ actions: !!omap - ACT_0: message: !!null words: !!null -- ACT_1: +- CARRY: message: ALREADY_CARRYING - words: ['carry', 'take', 'keep', 'catch', 'steal', 'captu', 'get', 'tote', 'snarf'] -- ACT_2: + words: ['g', 'carry', 'take', 'keep', 'catch', 'steal', 'captu', 'get', 'tote', 'snarf'] +- DROP: message: ARENT_CARRYING - words: ['drop', 'relea', 'free', 'disca', 'dump'] + words: ['d', 'drop', 'relea', 'free', 'disca', 'dump'] - SAY: message: NO_MESSAGE words: ['say', 'chant', 'sing', 'utter', 'mumbl'] -- ACT_4: +- UNLOCK: message: NOT_LOCKABLE words: ['unloc', 'open'] -- ACT_5: +- NOTHING: message: NO_MESSAGE - words: ['nothi'] + words: ['z', 'nothi'] - LOCK: message: NOT_LOCKABLE words: ['lock', 'close'] -- ACT_7: +- LIGHT: message: DONT_UNDERSTAND words: ['light', 'on'] -- ACT_8: +- EXTINGUISH: message: DONT_UNDERSTAND words: ['extin', 'off'] -- ACT_9: +- WAVE: message: NOTHING_HAPPENS words: ['wave', 'shake', 'swing'] -- ACT_10: +- TAME: message: AM_GAME words: ['calm', 'placa', 'tame'] -- ACT_11: +- GO: message: WHERE_QUERY words: ['walk', 'run', 'trave', 'go', 'proce', 'conti', 'explo', 'follo', 'turn'] -- ACT_12: +- ATTACK: message: RIDICULOUS_ATTEMPT words: ['attac', 'kill', 'fight', 'hit', 'strik', 'slay'] -- ACT_13: +- POUR: message: ARENT_CARRYING words: ['pour'] -- ACT_14: +- EAT: message: RIDICULOUS_ATTEMPT words: ['eat', 'devou'] -- ACT_15: +- DRINK: message: STREAM_WATER words: ['drink'] -- ACT_16: +- RUB: message: RUB_NOGO words: ['rub'] - THROW: message: ARENT_CARRYING words: ['throw', 'toss'] -- ACT_18: +- QUIT: message: HUH_MAN words: ['quit'] - FIND: message: NEARBY words: ['find', 'where'] -- INVENT: +- INVENTORY: message: NEARBY - words: ['inven'] -- ACT_21: + words: ['i', 'inven'] +- FEED: message: NO_EDIBLES words: ['feed'] -- ACT_22: +- FILL: message: CANT_FILL words: ['fill'] -- ACT_23: +- BLAST: message: REQUIRES_DYNAMITE words: ['blast', 'deton', 'ignit', 'blowu'] -- ACT_24: +- SCORE: message: HUH_MAN words: ['score'] -- ACT_25: +- GIANTWORDS: message: NOT_KNOWHOW words: ['fee', 'fie', 'foe', 'foo', 'fum'] -- ACT_26: +- BRIEF: message: ON_WHAT words: ['brief'] -- ACT_27: +- READ: message: DONT_UNDERSTAND words: ['read', 'perus'] -- ACT_28: +- BREAK: message: BEYOND_POWER words: ['break', 'shatt', 'smash'] -- ACT_29: +- WAKE: message: RIDICULOUS_ATTEMPT words: ['wake', 'distu'] -- ACT_30: +- SAVE: message: HUH_MAN words: ['suspe', 'pause', 'save'] -- ACT_31: +- RESUME: message: HUH_MAN words: ['resum', 'resta'] -- ACT_32: +- FLY: message: AM_GAME words: ['fly'] -- ACT_33: +- LISTEN: message: DONT_UNDERSTAND words: ['liste'] -- ACT_34: +- PART: message: NOTHING_HAPPENS words: ['z''zzz'] - ACT_35: @@ -790,7 +792,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'], cond: [not, GRATE, 0,], action: [goto, LOC_BELOWGRATE]}, + {verbs: ['ENTER', 'INWAR', 'D'], cond: [not, GRATE, GRATE_CLOSED], action: [goto, LOC_BELOWGRATE]}, {verbs: ['ENTER'], action: ["speak", GRATE_NOWAY]}, ] - LOC_BELOWGRATE: @@ -799,7 +801,7 @@ locations: !!omap short: 'You''re below the grate.' conditions: {LIT: true} travel: [ - {verbs: ['OUT', 'UPWAR'], cond: [not, GRATE, 0], action: [goto, LOC_GRATE]}, + {verbs: ['OUT', 'UPWAR'], cond: [not, GRATE, GRATE_CLOSED], action: [goto, LOC_GRATE]}, {verbs: ['OUT'], action: ["speak", GRATE_NOWAY]}, {verbs: ['CRAWL', 'COBBL', 'INWAR', 'WEST'], action: [goto, LOC_COBBLE]}, {verbs: ['PIT'], action: [goto, LOC_PITTOP]}, @@ -821,7 +823,7 @@ locations: !!omap short: 'You''re in debris room.' conditions: {} travel: [ - {verbs: ['DEPRE'], cond: [not, GRATE, 0], action: [goto, LOC_GRATE]}, + {verbs: ['DEPRE'], cond: [not, GRATE, GRATE_CLOSED], action: [goto, LOC_GRATE]}, {verbs: ['ENTRA'], action: [goto, LOC_BELOWGRATE]}, {verbs: ['CRAWL', 'COBBL', 'PASSA', 'LOW', 'EAST'], action: [goto, LOC_COBBLE]}, {verbs: ['CANYO', 'INWAR', 'UPWAR', 'WEST'], action: [goto, LOC_AWKWARD]}, @@ -834,7 +836,7 @@ locations: !!omap short: !!null conditions: {} travel: [ - {verbs: ['DEPRE'], cond: [not, GRATE, 0], action: [goto, LOC_GRATE]}, + {verbs: ['DEPRE'], cond: [not, GRATE, GRATE_CLOSED], action: [goto, LOC_GRATE]}, {verbs: ['ENTRA'], action: [goto, LOC_BELOWGRATE]}, {verbs: ['D', 'EAST', 'DEBRI'], action: [goto, LOC_DEBRIS]}, {verbs: ['INWAR', 'UPWAR', 'WEST'], action: [goto, LOC_BIRD]}, @@ -847,7 +849,7 @@ locations: !!omap conditions: {} hints: [*bird] travel: [ - {verbs: ['DEPRE'], cond: [not, GRATE, 0], action: [goto, LOC_GRATE]}, + {verbs: ['DEPRE'], cond: [not, GRATE, GRATE_CLOSED], action: [goto, LOC_GRATE]}, {verbs: ['ENTRA'], action: [goto, LOC_BELOWGRATE]}, {verbs: ['DEBRI'], action: [goto, LOC_DEBRIS]}, {verbs: ['CANYO', 'EAST'], action: [goto, LOC_AWKWARD]}, @@ -859,7 +861,7 @@ locations: !!omap short: 'You''re at top of small pit.' conditions: {} travel: [ - {verbs: ['DEPRE'], cond: [not, GRATE, 0], action: [goto, LOC_GRATE]}, + {verbs: ['DEPRE'], cond: [not, GRATE, GRATE_CLOSED], action: [goto, LOC_GRATE]}, {verbs: ['ENTRA'], action: [goto, LOC_BELOWGRATE]}, {verbs: ['DEBRI'], action: [goto, LOC_DEBRIS]}, {verbs: ['PASSA', 'EAST'], action: [goto, LOC_BIRD]}, @@ -897,9 +899,9 @@ locations: !!omap conditions: {DEEP: true} travel: [ {verbs: ['HALL', 'EAST'], action: [goto, LOC_MISTHALL]}, - {verbs: ['JUMP'], cond: [not, FISSURE, 0], action: ["speak", CROSS_BRIDGE]}, - {verbs: ['FORWA'], cond: [not, FISSURE, 1], action: [goto, LOC_NOMAKE]}, - {verbs: ['OVER', 'ACROS', 'WEST', 'CROSS'], cond: [not, FISSURE, 1], action: ["speak", NO_CROSS]}, + {verbs: ['JUMP'], cond: [not, FISSURE, UNBRIDGED], action: ["speak", CROSS_BRIDGE]}, + {verbs: ['FORWA'], cond: [not, FISSURE, BRIDGED], action: [goto, LOC_NOMAKE]}, + {verbs: ['OVER', 'ACROS', 'WEST', 'CROSS'], cond: [not, FISSURE, BRIDGED], action: ["speak", NO_CROSS]}, {verbs: ['OVER'], action: [goto, LOC_WESTBANK]}, ] - LOC_NUGGET: @@ -918,9 +920,9 @@ locations: !!omap hints: [*snake] travel: [ {verbs: ['STAIR', 'UPWAR', 'EAST'], action: [goto, LOC_MISTHALL]}, - {verbs: ['NORTH', 'RIGHT'], cond: [not, SNAKE, 0], action: [goto, LOC_FLOORHOLE]}, - {verbs: ['SOUTH', 'LEFT'], cond: [not, SNAKE, 0], action: [goto, LOC_SOUTHSIDE]}, - {verbs: ['WEST', 'FORWA'], cond: [not, SNAKE, 0], action: [goto, LOC_WESTSIDE]}, + {verbs: ['NORTH', 'RIGHT'], cond: [not, SNAKE, SNAKE_BLOCKS], action: [goto, LOC_FLOORHOLE]}, + {verbs: ['SOUTH', 'LEFT'], cond: [not, SNAKE, SNAKE_BLOCKS], action: [goto, LOC_SOUTHSIDE]}, + {verbs: ['WEST', 'FORWA'], cond: [not, SNAKE, SNAKE_BLOCKS], action: [goto, LOC_WESTSIDE]}, {verbs: ['NORTH'], action: [goto, LOC_SNAKEBLOCK]}, {verbs: ['SW'], cond: [pct, 35], action: [goto, LOC_SECRET3]}, {verbs: ['SW'], cond: ["with", SNAKE], action: [goto, LOC_SNAKEBLOCK]}, @@ -993,9 +995,9 @@ locations: !!omap short: 'You''re on west bank of fissure.' conditions: {DEEP: true} travel: [ - {verbs: ['JUMP'], cond: [not, FISSURE, 0], action: ["speak", CROSS_BRIDGE]}, - {verbs: ['FORWA'], cond: [not, FISSURE, 1], action: [goto, LOC_NOMAKE]}, - {verbs: ['OVER', 'ACROS', 'EAST', 'CROSS'], cond: [not, FISSURE, 1], action: ["speak", NO_CROSS]}, + {verbs: ['JUMP'], cond: [not, FISSURE, UNBRIDGED], action: ["speak", CROSS_BRIDGE]}, + {verbs: ['FORWA'], cond: [not, FISSURE, BRIDGED], action: [goto, LOC_NOMAKE]}, + {verbs: ['OVER', 'ACROS', 'EAST', 'CROSS'], cond: [not, FISSURE, BRIDGED], action: ["speak", NO_CROSS]}, {verbs: ['OVER'], action: [goto, LOC_EASTBANK]}, {verbs: ['NORTH'], action: [goto, LOC_PARALLEL1]}, {verbs: ['WEST'], action: [goto, LOC_MISTWEST]}, @@ -1439,7 +1441,7 @@ locations: !!omap conditions: {DEEP: true} travel: [ {verbs: ['D', 'SLAB'], action: [goto, LOC_SLAB]}, - {verbs: ['SOUTH'], cond: [not, DRAGON, 0], action: [goto, LOC_SECRET5]}, + {verbs: ['SOUTH'], cond: [not, DRAGON, DRAGON_BLOCKS], action: [goto, LOC_SECRET5]}, {verbs: ['SOUTH'], action: [goto, LOC_SECRET4]}, {verbs: ['NORTH'], action: [goto, LOC_MIRRORCANYON]}, {verbs: ['RESER'], action: [goto, LOC_RESERVOIR]}, @@ -1490,7 +1492,7 @@ locations: !!omap conditions: {DEEP: true} travel: [ {verbs: ['EAST'], action: [goto, LOC_KINGHALL]}, - {verbs: ['WEST'], cond: [not, DRAGON, 0], action: [goto, LOC_SECRET5]}, + {verbs: ['WEST'], cond: [not, DRAGON, DRAGON_BLOCKS], action: [goto, LOC_SECRET5]}, {verbs: ['WEST'], action: [goto, LOC_SECRET6]}, {verbs: ['D'], action: [goto, LOC_WIDEPLACE]}, ] @@ -1919,9 +1921,9 @@ locations: !!omap travel: [ {verbs: ['SW'], action: [goto, LOC_WINDING]}, {verbs: ['OVER', 'ACROS', 'CROSS', 'NE'], cond: [with, TROLL], action: ["speak", TROLL_BLOCKS]}, - {verbs: ['OVER'], cond: [not, CHASM, 0], action: ["speak", BRIDGE_GONE]}, + {verbs: ['OVER'], cond: [not, CHASM, TROLL_BRIDGE], action: ["speak", BRIDGE_GONE]}, {verbs: ['OVER'], action: ["special", 3]}, - {verbs: ['JUMP'], cond: [not, CHASM, 0], action: [goto, LOC_NOMAKE]}, + {verbs: ['JUMP'], cond: [not, CHASM, TROLL_BRIDGE], action: [goto, LOC_NOMAKE]}, {verbs: ['JUMP'], action: ["speak", CROSS_BRIDGE]}, ] - LOC_WINDING: @@ -2226,7 +2228,7 @@ locations: !!omap conditions: {DEEP: true} travel: [ {verbs: ['NORTH', 'OUT'], action: [goto, LOC_DIFFERENT2]}, - {verbs: ['SOUTH'], cond: [not, VEND, 0], action: [goto, LOC_ROUGHHEWN]}, + {verbs: ['SOUTH'], cond: [not, VEND, VEND_BLOCKS], action: [goto, LOC_ROUGHHEWN]}, {verbs: ['SOUTH'], action: [goto, LOC_BADDIRECTION]}, ] - LOC_ROUGHHEWN: @@ -2549,7 +2551,7 @@ locations: !!omap conditions: {FLUID: true, DEEP: true} sound: WATERS_CRASHING travel: [ - {verbs: ['SOUTH', 'ACROS', 'CROSS'], cond: [not, RESER, 1], action: ["speak", BAD_DIRECTION]}, + {verbs: ['SOUTH', 'ACROS', 'CROSS'], cond: [not, RESER, WATERS_PARTED], action: ["speak", BAD_DIRECTION]}, {verbs: ['SOUTH'], action: [goto, LOC_RESBOTTOM]}, {verbs: ['NW', 'UPWAR', 'OUT'], action: [goto, LOC_TREACHEROUS]}, ] @@ -3088,8 +3090,8 @@ objects: !!omap locations: LOC_KINGHALL immovable: true longs: - - 'A huge green fierce snake bars the way!' - - '' # chased away + - [SNAKE_BLOCKS, 'A huge green fierce snake bars the way!'] + - [SNAKE_CHASED, ''] # chased away sounds: - 'The snake is hissing venomously.' - FISSURE: @@ -3098,9 +3100,9 @@ objects: !!omap locations: [LOC_EASTBANK, LOC_WESTBANK] immovable: true longs: - - '' - - 'A crystal bridge now spans the fissure.' - - 'The crystal bridge has vanished!' + - [UNBRIDGED, ''] + - [BRIDGED, 'A crystal bridge now spans the fissure.'] + - [VANISHED, 'The crystal bridge has vanished!'] - OBJ_13: words: ['table'] inventory: '*stone tablet' @@ -3241,7 +3243,7 @@ objects: !!omap locations: [LOC_SECRET4, LOC_SECRET6] immovable: true longs: - - 'A huge green fierce dragon bars the way!' + - [DRAGON_BLOCKS, 'A huge green fierce dragon bars the way!'] - 'The blood-specked body of a huge green dead dragon lies to one side.' - 'The body of a huge green dead dragon is lying off to one side.' - 'Congratulations! You have just vanquished a dragon with your bare\nhands! (Unbelievable, isn''t it?)' @@ -3255,8 +3257,8 @@ objects: !!omap locations: [LOC_SWCHASM, LOC_NECHASM] immovable: true longs: - - 'A rickety wooden bridge extends across the chasm, vanishing into the\nmist. A notice posted on the bridge reads, "Stop! Pay troll!"' - - 'The wreckage of a bridge (and a dead bear) can be seen at the bottom\nof the chasm.' + - [TROLL_BRIDGE, 'A rickety wooden bridge extends across the chasm, vanishing into the\nmist. A notice posted on the bridge reads, "Stop! Pay troll!"'] + - [BRIDGE_WRECKED, 'The wreckage of a bridge (and a dead bear) can be seen at the bottom\nof the chasm.'] - TROLL: words: ['troll'] inventory: '*troll' @@ -3364,7 +3366,7 @@ objects: !!omap immovable: true longs: - '' - - 'The waters have parted to form a narrow path across the reservoir.' + - [WATERS_PARTED, 'The waters have parted to form a narrow path across the reservoir.'] - 'The waters crash together again.' - OBJ_46: words: ['appen', 'lepor']