Vocabulary (adventure.txt section 4) is now in YAML...

...but no code to use that structure yet.
This commit is contained in:
Eric S. Raymond 2017-06-25 08:08:25 -04:00
parent f8b30c1ec6
commit 71ebe01af7

View file

@ -6,6 +6,11 @@
#
# We define a bunch of YAML structures:
#
# vocabulary: Almost all the words the game knows - one of them gets
# replaced with a randomly-generated cookie. Fpor each word there
# is a type (motion, action, object, or special) and a numeric value.
# Multiple synonyms may have the same value.
#
# hints: Each item contains a hint number (add 10 to get cond bit),
# a hint label (used to generate the value macro for the hint)
# the number of turns he must be at the right loc(s) before
@ -97,6 +102,334 @@
# %B = Variable number of blanks
# %! = The entire message should be suppressed
vocabulary: {
"ROAD": {type: motion, value: 2},
"HILL": {type: motion, value: 2},
"ENTER": {type: motion, value: 3},
"UPSTR": {type: motion, value: 4},
"DOWNS": {type: motion, value: 5},
"FORES": {type: motion, value: 6},
"FORWA": {type: motion, value: 7},
"CONTI": {type: motion, value: 7},
"ONWAR": {type: motion, value: 7},
"BACK": {type: motion, value: 8},
"RETUR": {type: motion, value: 8},
"RETRE": {type: motion, value: 8},
"VALLE": {type: motion, value: 9},
"STAIR": {type: motion, value: 10},
"OUT": {type: motion, value: 11},
"OUTSI": {type: motion, value: 11},
"EXIT": {type: motion, value: 11},
"LEAVE": {type: motion, value: 11},
"BUILD": {type: motion, value: 12},
"HOUSE": {type: motion, value: 12},
"GULLY": {type: motion, value: 13},
"STREA": {type: motion, value: 14},
"FORK": {type: motion, value: 15},
"BED": {type: motion, value: 16},
"CRAWL": {type: motion, value: 17},
"COBBL": {type: motion, value: 18},
"INWAR": {type: motion, value: 19},
"INSID": {type: motion, value: 19},
"IN": {type: motion, value: 19},
"SURFA": {type: motion, value: 20},
"NULL": {type: motion, value: 21},
"NOWHE": {type: motion, value: 21},
"DARK": {type: motion, value: 22},
"PASSA": {type: motion, value: 23},
"TUNNE": {type: motion, value: 23},
"LOW": {type: motion, value: 24},
"CANYO": {type: motion, value: 25},
"AWKWA": {type: motion, value: 26},
"GIANT": {type: motion, value: 27},
"VIEW": {type: motion, value: 28},
"UPWAR": {type: motion, value: 29},
"UP": {type: motion, value: 29},
"U": {type: motion, value: 29},
"ABOVE": {type: motion, value: 29},
"ASCEN": {type: motion, value: 29},
"D": {type: motion, value: 30},
"DOWNW": {type: motion, value: 30},
"DOWN": {type: motion, value: 30},
"DESCE": {type: motion, value: 30},
"PIT": {type: motion, value: 31},
"OUTDO": {type: motion, value: 32},
"CRACK": {type: motion, value: 33},
"STEPS": {type: motion, value: 34},
"DOME": {type: motion, value: 35},
"LEFT": {type: motion, value: 36},
"RIGHT": {type: motion, value: 37},
"HALL": {type: motion, value: 38},
"JUMP": {type: motion, value: 39},
"BARRE": {type: motion, value: 40},
"OVER": {type: motion, value: 41},
"ACROS": {type: motion, value: 42},
"EAST": {type: motion, value: 43},
"E": {type: motion, value: 43},
"WEST": {type: motion, value: 44},
"W": {type: motion, value: 44},
"NORTH": {type: motion, value: 45},
"N": {type: motion, value: 45},
"SOUTH": {type: motion, value: 46},
"S": {type: motion, value: 46},
"NE": {type: motion, value: 47},
"SE": {type: motion, value: 48},
"SW": {type: motion, value: 49},
"NW": {type: motion, value: 50},
"DEBRI": {type: motion, value: 51},
"HOLE": {type: motion, value: 52},
"WALL": {type: motion, value: 53},
"BROKE": {type: motion, value: 54},
"Y2": {type: motion, value: 55},
"CLIMB": {type: motion, value: 56},
"LOOK": {type: motion, value: 57},
"EXAMI": {type: motion, value: 57},
"TOUCH": {type: motion, value: 57},
"DESCR": {type: motion, value: 57},
"FLOOR": {type: motion, value: 58},
"ROOM": {type: motion, value: 59},
"SLIT": {type: motion, value: 60},
"SLAB": {type: motion, value: 61},
"SLABR": {type: motion, value: 61},
"XYZZY": {type: motion, value: 62},
"DEPRE": {type: motion, value: 63},
"ENTRA": {type: motion, value: 64},
"PLUGH": {type: motion, value: 65},
"SECRE": {type: motion, value: 66},
"CAVE": {type: motion, value: 67},
"CROSS": {type: motion, value: 69},
"BEDQU": {type: motion, value: 70},
"PLOVE": {type: motion, value: 71},
"ORIEN": {type: motion, value: 72},
"CAVER": {type: motion, value: 73},
"SHELL": {type: motion, value: 74},
"RESER": {type: motion, value: 75},
"MAIN": {type: motion, value: 76},
"OFFIC": {type: motion, value: 76},
"KEYS": {type: object, value: 1},
"KEY": {type: object, value: 1},
"LAMP": {type: object, value: 2},
"LANTE": {type: object, value: 2},
"GRATE": {type: object, value: 3},
"CAGE": {type: object, value: 4},
"ROD": {type: object, value: 5},
"ROD": {type: object, value: 6}, # Must be next object after "real" rod
"STEPS": {type: object, value: 7},
"BIRD": {type: object, value: 8},
"DOOR": {type: object, value: 9},
"PILLO": {type: object, value: 10},
"VELVE": {type: object, value: 10},
"SNAKE": {type: object, value: 11},
"FISSU": {type: object, value: 12},
"TABLE": {type: object, value: 13},
"CLAM": {type: object, value: 14},
"OYSTE": {type: object, value: 15},
"MAGAZ": {type: object, value: 16},
"ISSUE": {type: object, value: 16},
"SPELU": {type: object, value: 16},
'"SPEL': {type: object, value: 16},
"DWARF": {type: object, value: 17},
"DWARV": {type: object, value: 17},
"KNIFE": {type: object, value: 18},
"KNIVE": {type: object, value: 18},
"FOOD": {type: object, value: 19},
"RATIO": {type: object, value: 19},
"BOTTL": {type: object, value: 20},
"JAR": {type: object, value: 20},
"WATER": {type: object, value: 21},
"H2O": {type: object, value: 21},
"OIL": {type: object, value: 22},
"MIRRO": {type: object, value: 23},
"PLANT": {type: object, value: 24},
"BEANS": {type: object, value: 24},
"PLANT": {type: object, value: 25}, # Must be next object after "real" plant
"STALA": {type: object, value: 26},
"SHADO": {type: object, value: 27},
"FIGUR": {type: object, value: 27},
"WINDO": {type: object, value: 27}, # Same as figure
"AXE": {type: object, value: 28},
"DRAWI": {type: object, value: 29},
"PIRAT": {type: object, value: 30},
"GENIE": {type: object, value: 30},
"DJINN": {type: object, value: 30},
"DRAGO": {type: object, value: 31},
"CHASM": {type: object, value: 32},
"TROLL": {type: object, value: 33},
"TROLL": {type: object, value: 34}, # Must be next object after "real" troll
"BEAR": {type: object, value: 35},
"MESSA": {type: object, value: 36},
"VOLCA": {type: object, value: 37},
"GEYSE": {type: object, value: 37}, # Same as volcano
"MACHI": {type: object, value: 38},
"VENDI": {type: object, value: 38},
"BATTE": {type: object, value: 39},
"CARPE": {type: object, value: 40},
"MOSS": {type: object, value: 40},
"CURTA": {type: object, value: 40}, # Same as carpet
"OGRE": {type: object, value: 41},
"URN": {type: object, value: 42},
"CAVIT": {type: object, value: 43},
"BLOOD": {type: object, value: 44},
"RESER": {type: object, value: 45}, # Verb overrides
"APPEN": {type: object, value: 46},
"LEPOR": {type: object, value: 46},
"MUD": {type: object, value: 47},
"NOTE": {type: object, value: 48},
"SIGN": {type: object, value: 49},
"GOLD": {type: object, value: 50},
"NUGGE": {type: object, value: 50},
"DIAMO": {type: object, value: 51},
"SILVE": {type: object, value: 52},
"BARS": {type: object, value: 52},
"JEWEL": {type: object, value: 53},
"COINS": {type: object, value: 54},
"CHEST": {type: object, value: 55},
"BOX": {type: object, value: 55},
"TREAS": {type: object, value: 55},
"EGGS": {type: object, value: 56},
"EGG": {type: object, value: 56},
"NEST": {type: object, value: 56},
"TRIDE": {type: object, value: 57},
"VASE": {type: object, value: 58},
"MING": {type: object, value: 58},
"SHARD": {type: object, value: 58},
"POTTE": {type: object, value: 58},
"EMERA": {type: object, value: 59},
"PLATI": {type: object, value: 60},
"PYRAM": {type: object, value: 60},
"PEARL": {type: object, value: 61},
"RUG": {type: object, value: 62},
"PERSI": {type: object, value: 62},
"SPICE": {type: object, value: 63},
"CHAIN": {type: object, value: 64},
"RUBY": {type: object, value: 65},
"JADE": {type: object, value: 66},
"NECKL": {type: object, value: 66},
"AMBER": {type: object, value: 67},
"GEMST": {type: object, value: 67},
"SAPPH": {type: object, value: 68},
"EBONY": {type: object, value: 69},
"STATU": {type: object, value: 69},
"CARRY": {type: action, value: 1},
"TAKE": {type: action, value: 1},
"KEEP": {type: action, value: 1},
"CATCH": {type: action, value: 1},
"STEAL": {type: action, value: 1},
"CAPTU": {type: action, value: 1},
"GET": {type: action, value: 1},
"TOTE": {type: action, value: 1},
"SNARF": {type: action, value: 1},
"DROP": {type: action, value: 2},
"RELEA": {type: action, value: 2},
"FREE": {type: action, value: 2},
"DISCA": {type: action, value: 2},
"DUMP": {type: action, value: 2},
"SAY": {type: action, value: 3},
"CHANT": {type: action, value: 3},
"SING": {type: action, value: 3},
"UTTER": {type: action, value: 3},
"MUMBL": {type: action, value: 3},
"UNLOC": {type: action, value: 4},
"OPEN": {type: action, value: 4},
"NOTHI": {type: action, value: 5},
"LOCK": {type: action, value: 6},
"CLOSE": {type: action, value: 6},
"LIGHT": {type: action, value: 7},
"ON": {type: action, value: 7},
"EXTIN": {type: action, value: 8},
"OFF": {type: action, value: 8},
"WAVE": {type: action, value: 9},
"SHAKE": {type: action, value: 9},
"SWING": {type: action, value: 9},
"CALM": {type: action, value: 10},
"PLACA": {type: action, value: 10},
"TAME": {type: action, value: 10},
"WALK": {type: action, value: 11},
"RUN": {type: action, value: 11},
"TRAVE": {type: action, value: 11},
"GO": {type: action, value: 11},
"PROCE": {type: action, value: 11},
"CONTI": {type: action, value: 11},
"EXPLO": {type: action, value: 11},
"FOLLO": {type: action, value: 11},
"TURN": {type: action, value: 11},
"ATTAC": {type: action, value: 12},
"KILL": {type: action, value: 12},
"FIGHT": {type: action, value: 12},
"HIT": {type: action, value: 12},
"STRIK": {type: action, value: 12},
"SLAY": {type: action, value: 12},
"POUR": {type: action, value: 13},
"EAT": {type: action, value: 14},
"DEVOU": {type: action, value: 14},
"DRINK": {type: action, value: 15},
"RUB": {type: action, value: 16},
"THROW": {type: action, value: 17},
"TOSS": {type: action, value: 17},
"QUIT": {type: action, value: 18},
"FIND": {type: action, value: 19},
"WHERE": {type: action, value: 19},
"INVEN": {type: action, value: 20},
"FEED": {type: action, value: 21},
"FILL": {type: action, value: 22},
"BLAST": {type: action, value: 23},
"DETON": {type: action, value: 23},
"IGNIT": {type: action, value: 23},
"BLOWU": {type: action, value: 23},
"SCORE": {type: action, value: 24},
"FEE": {type: action, value: 25},
"FIE": {type: action, value: 25},
"FOE": {type: action, value: 25},
"FOO": {type: action, value: 25},
"FUM": {type: action, value: 25},
"BRIEF": {type: action, value: 26},
"READ": {type: action, value: 27},
"PERUS": {type: action, value: 27},
"BREAK": {type: action, value: 28},
"SHATT": {type: action, value: 28},
"SMASH": {type: action, value: 28},
"WAKE": {type: action, value: 29},
"DISTU": {type: action, value: 29},
"SUSPE": {type: action, value: 30},
"PAUSE": {type: action, value: 30},
"SAVE": {type: action, value: 30},
"RESUM": {type: action, value: 31},
"RESTA": {type: action, value: 31},
"FLY": {type: action, value: 32},
"LISTE": {type: action, value: 33},
"Z'ZZZ": {type: action, value: 34}, # Gets replaced
"FEE": {type: special, value: 1},
"FIE": {type: special, value: 2},
"FOE": {type: special, value: 3},
"FOO": {type: special, value: 4},
"FUM": {type: special, value: 5},
"THANK": {type: special, value: 13},
"SESAM": {type: special, value: 50},
"OPENS": {type: special, value: 50},
"ABRA": {type: special, value: 50},
"ABRAC": {type: special, value: 50},
"SHAZA": {type: special, value: 50},
"HOCUS": {type: special, value: 50},
"POCUS": {type: special, value: 50},
"HELP": {type: special, value: 51},
"?": {type: special, value: 51},
"NO": {type: special, value: 54},
"TREE": {type: special, value: 64},
"TREES": {type: special, value: 64},
"DIG": {type: special, value: 66},
"EXCAV": {type: special, value: 66},
"LOST": {type: special, value: 68},
"MIST": {type: special, value: 69},
"FUCK": {type: special, value: 79},
"STOP": {type: special, value: 139},
"INFO": {type: special, value: 142},
"INFOR": {type: special, value: 142},
"SWIM": {type: special, value: 147},
"WIZAR": {type: special, value: 246},
"YES": {type: special, value: 271},
"NEWS": {type: special, value: 275},
}
# FIXME: Hint texts shouldn't be in arbitrary_messages, but inlined here
hints:
- hint: &grate