-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},
-}
+# There are duplicate keys in this vocabulary, that's why it can't be a normal
+# map. You have to iterate through it looking for a match qualified by type.
+# 1 is not allocated because it's used as a sentinel value in motion-verb
+# lists.
+vocabulary: [
+ {word: "ROAD", type: motion, value: 2},
+ {word: "HILL", type: motion, value: 2},
+ {word: "ENTER", type: motion, value: 3},
+ {word: "UPSTR", type: motion, value: 4},
+ {word: "DOWNS", type: motion, value: 5},
+ {word: "FORES", type: motion, value: 6},
+ {word: "FORWA", type: motion, value: 7},
+ {word: "CONTI", type: motion, value: 7},
+ {word: "ONWAR", type: motion, value: 7},
+ {word: "BACK", type: motion, value: 8},
+ {word: "RETUR", type: motion, value: 8},
+ {word: "RETRE", type: motion, value: 8},
+ {word: "VALLE", type: motion, value: 9},
+ {word: "STAIR", type: motion, value: 10},
+ {word: "OUT", type: motion, value: 11},
+ {word: "OUTSI", type: motion, value: 11},
+ {word: "EXIT", type: motion, value: 11},
+ {word: "LEAVE", type: motion, value: 11},
+ {word: "BUILD", type: motion, value: 12},
+ {word: "HOUSE", type: motion, value: 12},
+ {word: "GULLY", type: motion, value: 13},
+ {word: "STREA", type: motion, value: 14},
+ {word: "FORK", type: motion, value: 15},
+ {word: "BED", type: motion, value: 16},
+ {word: "CRAWL", type: motion, value: 17},
+ {word: "COBBL", type: motion, value: 18},
+ {word: "INWAR", type: motion, value: 19},
+ {word: "INSID", type: motion, value: 19},
+ {word: "IN", type: motion, value: 19},
+ {word: "SURFA", type: motion, value: 20},
+ {word: "NULL", type: motion, value: 21},
+ {word: "NOWHE", type: motion, value: 21},
+ {word: "DARK", type: motion, value: 22},
+ {word: "PASSA", type: motion, value: 23},
+ {word: "TUNNE", type: motion, value: 23},
+ {word: "LOW", type: motion, value: 24},
+ {word: "CANYO", type: motion, value: 25},
+ {word: "AWKWA", type: motion, value: 26},
+ {word: "GIANT", type: motion, value: 27},
+ {word: "VIEW", type: motion, value: 28},
+ {word: "UPWAR", type: motion, value: 29},
+ {word: "UP", type: motion, value: 29},
+ {word: "U", type: motion, value: 29},
+ {word: "ABOVE", type: motion, value: 29},
+ {word: "ASCEN", type: motion, value: 29},
+ {word: "D", type: motion, value: 30},
+ {word: "DOWNW", type: motion, value: 30},
+ {word: "DOWN", type: motion, value: 30},
+ {word: "DESCE", type: motion, value: 30},
+ {word: "PIT", type: motion, value: 31},
+ {word: "OUTDO", type: motion, value: 32},
+ {word: "CRACK", type: motion, value: 33},
+ {word: "STEPS", type: motion, value: 34},
+ {word: "DOME", type: motion, value: 35},
+ {word: "LEFT", type: motion, value: 36},
+ {word: "RIGHT", type: motion, value: 37},
+ {word: "HALL", type: motion, value: 38},
+ {word: "JUMP", type: motion, value: 39},
+ {word: "BARRE", type: motion, value: 40},
+ {word: "OVER", type: motion, value: 41},
+ {word: "ACROS", type: motion, value: 42},
+ {word: "EAST", type: motion, value: 43},
+ {word: "E", type: motion, value: 43},
+ {word: "WEST", type: motion, value: 44},
+ {word: "W", type: motion, value: 44},
+ {word: "NORTH", type: motion, value: 45},
+ {word: "N", type: motion, value: 45},
+ {word: "SOUTH", type: motion, value: 46},
+ {word: "S", type: motion, value: 46},
+ {word: "NE", type: motion, value: 47},
+ {word: "SE", type: motion, value: 48},
+ {word: "SW", type: motion, value: 49},
+ {word: "NW", type: motion, value: 50},
+ {word: "DEBRI", type: motion, value: 51},
+ {word: "HOLE", type: motion, value: 52},
+ {word: "WALL", type: motion, value: 53},
+ {word: "BROKE", type: motion, value: 54},
+ {word: "Y2", type: motion, value: 55},
+ {word: "CLIMB", type: motion, value: 56},
+ {word: "LOOK", type: motion, value: 57},
+ {word: "EXAMI", type: motion, value: 57},
+ {word: "TOUCH", type: motion, value: 57},
+ {word: "DESCR", type: motion, value: 57},
+ {word: "FLOOR", type: motion, value: 58},
+ {word: "ROOM", type: motion, value: 59},
+ {word: "SLIT", type: motion, value: 60},
+ {word: "SLAB", type: motion, value: 61},
+ {word: "SLABR", type: motion, value: 61},
+ {word: "XYZZY", type: motion, value: 62},
+ {word: "DEPRE", type: motion, value: 63},
+ {word: "ENTRA", type: motion, value: 64},
+ {word: "PLUGH", type: motion, value: 65},
+ {word: "SECRE", type: motion, value: 66},
+ {word: "CAVE", type: motion, value: 67},
+ {word: "CROSS", type: motion, value: 69},
+ {word: "BEDQU", type: motion, value: 70},
+ {word: "PLOVE", type: motion, value: 71},
+ {word: "ORIEN", type: motion, value: 72},
+ {word: "CAVER", type: motion, value: 73},
+ {word: "SHELL", type: motion, value: 74},
+ {word: "RESER", type: motion, value: 75},
+ {word: "MAIN", type: motion, value: 76},
+ {word: "OFFIC", type: motion, value: 76},
+ {word: "CARRY", type: action, value: 1},
+ {word: "TAKE", type: action, value: 1},
+ {word: "KEEP", type: action, value: 1},
+ {word: "CATCH", type: action, value: 1},
+ {word: "STEAL", type: action, value: 1},
+ {word: "CAPTU", type: action, value: 1},
+ {word: "GET", type: action, value: 1},
+ {word: "TOTE", type: action, value: 1},
+ {word: "SNARF", type: action, value: 1},
+ {word: "DROP", type: action, value: 2},
+ {word: "RELEA", type: action, value: 2},
+ {word: "FREE", type: action, value: 2},
+ {word: "DISCA", type: action, value: 2},
+ {word: "DUMP", type: action, value: 2},
+ {word: "SAY", type: action, value: 3},
+ {word: "CHANT", type: action, value: 3},
+ {word: "SING", type: action, value: 3},
+ {word: "UTTER", type: action, value: 3},
+ {word: "MUMBL", type: action, value: 3},
+ {word: "UNLOC", type: action, value: 4},
+ {word: "OPEN", type: action, value: 4},
+ {word: "NOTHI", type: action, value: 5},
+ {word: "LOCK", type: action, value: 6},
+ {word: "CLOSE", type: action, value: 6},
+ {word: "LIGHT", type: action, value: 7},
+ {word: "ON", type: action, value: 7},
+ {word: "EXTIN", type: action, value: 8},
+ {word: "OFF", type: action, value: 8},
+ {word: "WAVE", type: action, value: 9},
+ {word: "SHAKE", type: action, value: 9},
+ {word: "SWING", type: action, value: 9},
+ {word: "CALM", type: action, value: 10},
+ {word: "PLACA", type: action, value: 10},
+ {word: "TAME", type: action, value: 10},
+ {word: "WALK", type: action, value: 11},
+ {word: "RUN", type: action, value: 11},
+ {word: "TRAVE", type: action, value: 11},
+ {word: "GO", type: action, value: 11},
+ {word: "PROCE", type: action, value: 11},
+ {word: "CONTI", type: action, value: 11},
+ {word: "EXPLO", type: action, value: 11},
+ {word: "FOLLO", type: action, value: 11},
+ {word: "TURN", type: action, value: 11},
+ {word: "ATTAC", type: action, value: 12},
+ {word: "KILL", type: action, value: 12},
+ {word: "FIGHT", type: action, value: 12},
+ {word: "HIT", type: action, value: 12},
+ {word: "STRIK", type: action, value: 12},
+ {word: "SLAY", type: action, value: 12},
+ {word: "POUR", type: action, value: 13},
+ {word: "EAT", type: action, value: 14},
+ {word: "DEVOU", type: action, value: 14},
+ {word: "DRINK", type: action, value: 15},
+ {word: "RUB", type: action, value: 16},
+ {word: "THROW", type: action, value: 17},
+ {word: "TOSS", type: action, value: 17},
+ {word: "QUIT", type: action, value: 18},
+ {word: "FIND", type: action, value: 19},
+ {word: "WHERE", type: action, value: 19},
+ {word: "INVEN", type: action, value: 20},
+ {word: "FEED", type: action, value: 21},
+ {word: "FILL", type: action, value: 22},
+ {word: "BLAST", type: action, value: 23},
+ {word: "DETON", type: action, value: 23},
+ {word: "IGNIT", type: action, value: 23},
+ {word: "BLOWU", type: action, value: 23},
+ {word: "SCORE", type: action, value: 24},
+ {word: "FEE", type: action, value: 25},
+ {word: "FIE", type: action, value: 25},
+ {word: "FOE", type: action, value: 25},
+ {word: "FOO", type: action, value: 25},
+ {word: "FUM", type: action, value: 25},
+ {word: "BRIEF", type: action, value: 26},
+ {word: "READ", type: action, value: 27},
+ {word: "PERUS", type: action, value: 27},
+ {word: "BREAK", type: action, value: 28},
+ {word: "SHATT", type: action, value: 28},
+ {word: "SMASH", type: action, value: 28},
+ {word: "WAKE", type: action, value: 29},
+ {word: "DISTU", type: action, value: 29},
+ {word: "SUSPE", type: action, value: 30},
+ {word: "PAUSE", type: action, value: 30},
+ {word: "SAVE", type: action, value: 30},
+ {word: "RESUM", type: action, value: 31},
+ {word: "RESTA", type: action, value: 31},
+ {word: "FLY", type: action, value: 32},
+ {word: "LISTE", type: action, value: 33},
+ {word: "Z'ZZZ", type: action, value: 34}, # Gets replaced
+ {word: "FEE", type: special, value: 1},
+ {word: "FIE", type: special, value: 2},
+ {word: "FOE", type: special, value: 3},
+ {word: "FOO", type: special, value: 4},
+ {word: "FUM", type: special, value: 5},
+ {word: "THANK", type: special, value: 13},
+ {word: "SESAM", type: special, value: 50},
+ {word: "OPENS", type: special, value: 50},
+ {word: "ABRA", type: special, value: 50},
+ {word: "ABRAC", type: special, value: 50},
+ {word: "SHAZA", type: special, value: 50},
+ {word: "HOCUS", type: special, value: 50},
+ {word: "POCUS", type: special, value: 50},
+ {word: "HELP", type: special, value: 51},
+ {word: "?", type: special, value: 51},
+ {word: "NO", type: special, value: 54},
+ {word: "TREE", type: special, value: 64},
+ {word: "TREES", type: special, value: 64},
+ {word: "DIG", type: special, value: 66},
+ {word: "EXCAV", type: special, value: 66},
+ {word: "LOST", type: special, value: 68},
+ {word: "MIST", type: special, value: 69},
+ {word: "FUCK", type: special, value: 79},
+ {word: "STOP", type: special, value: 139},
+ {word: "INFO", type: special, value: 142},
+ {word: "INFOR", type: special, value: 142},
+ {word: "SWIM", type: special, value: 147},
+ {word: "WIZAR", type: special, value: 246},
+ {word: "YES", type: special, value: 271},
+ {word: "NEWS", type: special, value: 275},
+]
+
+motions: !!omap
+- MOT_0:
+ words: !!null
+- MOT_1:
+ words: !!null
+- MOT_2:
+ words: ['road', 'hill']
+- ENTER:
+ words: ['enter']
+- MOT_4:
+ words: ['upstr']
+- MOT_5:
+ words: ['downs']
+- MOT_6:
+ words: ['fores']
+- MOT_7:
+ words: ['forwa', 'conti', 'onwar']
+- BACK:
+ words: ['back', 'retur', 'retre']
+- MOT_9:
+ words: ['valle']
+- MOT_10:
+ words: ['stair']
+- MOT_11:
+ words: ['out', 'outsi', 'exit', 'leave']
+- MOT_12:
+ words: ['build', 'house']
+- MOT_13:
+ words: ['gully']
+- STREAM:
+ words: ['strea']
+- MOT_15:
+ words: ['fork']
+- MOT_16:
+ words: ['bed']
+- MOT_17:
+ words: ['crawl']
+- MOT_18:
+ words: ['cobbl']
+- MOT_19:
+ words: ['inwar', 'insid', 'in']
+- MOT_20:
+ words: ['surfa']
+- NUL:
+ words: ['null', 'nowhe']
+- MOT_22:
+ words: ['dark']
+- MOT_23:
+ words: ['passa', 'tunne']
+- MOT_24:
+ words: ['low']
+- MOT_25:
+ words: ['canyo']
+- MOT_26:
+ words: ['awkwa']
+- MOT_27:
+ words: ['giant']
+- MOT_28:
+ words: ['view']
+- MOT_29:
+ words: ['upwar', 'up', 'u', 'above', 'ascen']
+- MOT_30:
+ words: ['d', 'downw', 'down', 'desce']
+- MOT_31:
+ words: ['pit']
+- MOT_32:
+ words: ['outdo']
+- MOT_33:
+ words: ['crack']
+- MOT_34:
+ words: ['steps']
+- MOT_35:
+ words: ['dome']
+- MOT_36:
+ words: ['left']
+- MOT_37:
+ words: ['right']
+- MOT_38:
+ words: ['hall']
+- MOT_39:
+ words: ['jump']
+- MOT_40:
+ words: ['barre']
+- MOT_41:
+ words: ['over']
+- MOT_42:
+ words: ['acros']
+- MOT_43:
+ words: ['east', 'e']
+- MOT_44:
+ words: ['west', 'w']
+- MOT_45:
+ words: ['north', 'n']
+- MOT_46:
+ words: ['south', 's']
+- MOT_47:
+ words: ['ne']
+- MOT_48:
+ words: ['se']
+- MOT_49:
+ words: ['sw']
+- MOT_50:
+ words: ['nw']
+- MOT_51:
+ words: ['debri']
+- MOT_52:
+ words: ['hole']
+- MOT_53:
+ words: ['wall']
+- MOT_54:
+ words: ['broke']
+- MOT_55:
+ words: ['y2']
+- MOT_56:
+ words: ['climb']
+- LOOK:
+ words: ['l', 'x', 'look', 'exami', 'touch', 'descr']
+- MOT_58:
+ words: ['floor']
+- MOT_59:
+ words: ['room']
+- MOT_60:
+ words: ['slit']
+- MOT_61:
+ words: ['slab', 'slabr']
+- MOT_62:
+ words: ['xyzzy']
+- DPRSSN:
+ words: ['depre']
+- ENTRNC:
+ words: ['entra']
+- MOT_65:
+ words: ['plugh']
+- MOT_66:
+ words: ['secre']
+- CAVE:
+ words: ['cave']
+- MOT_68:
+ words: !!null
+- MOT_69:
+ words: ['cross']
+- MOT_70:
+ words: ['bedqu']
+- MOT_71:
+ words: ['plove']
+- MOT_72:
+ words: ['orien']
+- MOT_73:
+ words: ['caver']
+- MOT_74:
+ words: ['shell']
+- MOT_75:
+ words: ['reser']
+- MOT_76:
+ words: ['main', 'offic']
+
+actions: !!omap
+- ACT_0:
+ message: !!null
+ words: !!null
+- CARRY:
+ message: ALREADY_CARRYING
+ words: ['g', 'carry', 'take', 'keep', 'catch', 'steal', 'captu', 'get', 'tote', 'snarf']
+- DROP:
+ message: ARENT_CARRYING
+ words: ['d', 'drop', 'relea', 'free', 'disca', 'dump']
+- SAY:
+ message: NO_MESSAGE
+ words: ['say', 'chant', 'sing', 'utter', 'mumbl']
+- UNLOCK:
+ message: NOT_LOCKABLE
+ words: ['unloc', 'open']
+- NOTHING:
+ message: NO_MESSAGE
+ words: ['z', 'nothi']
+- LOCK:
+ message: NOT_LOCKABLE
+ words: ['lock', 'close']
+- LIGHT:
+ message: DONT_UNDERSTAND
+ words: ['light', 'on']
+- EXTINGUISH:
+ message: DONT_UNDERSTAND
+ words: ['extin', 'off']
+- WAVE:
+ message: NOTHING_HAPPENS
+ words: ['wave', 'shake', 'swing']
+- TAME:
+ message: AM_GAME
+ words: ['calm', 'placa', 'tame']
+- GO:
+ message: WHERE_QUERY
+ words: ['walk', 'run', 'trave', 'go', 'proce', 'conti', 'explo', 'follo', 'turn']
+- ATTACK:
+ message: RIDICULOUS_ATTEMPT
+ words: ['attac', 'kill', 'fight', 'hit', 'strik', 'slay']
+- POUR:
+ message: ARENT_CARRYING
+ words: ['pour']
+- EAT:
+ message: RIDICULOUS_ATTEMPT
+ words: ['eat', 'devou']
+- DRINK:
+ message: STREAM_WATER
+ words: ['drink']
+- RUB:
+ message: RUB_NOGO
+ words: ['rub']
+- THROW:
+ message: ARENT_CARRYING
+ words: ['throw', 'toss']
+- QUIT:
+ message: HUH_MAN
+ words: ['quit']
+- FIND:
+ message: NEARBY
+ words: ['find', 'where']
+- INVENTORY:
+ message: NEARBY
+ words: ['i', 'inven']
+- FEED:
+ message: NO_EDIBLES
+ words: ['feed']
+- FILL:
+ message: CANT_FILL
+ words: ['fill']
+- BLAST:
+ message: REQUIRES_DYNAMITE
+ words: ['blast', 'deton', 'ignit', 'blowu']
+- SCORE:
+ message: HUH_MAN
+ words: ['score']
+- GIANTWORDS:
+ message: NOT_KNOWHOW
+ words: ['fee', 'fie', 'foe', 'foo', 'fum']
+- BRIEF:
+ message: ON_WHAT
+ words: ['brief']
+- READ:
+ message: DONT_UNDERSTAND
+ words: ['read', 'perus']
+- BREAK:
+ message: BEYOND_POWER
+ words: ['break', 'shatt', 'smash']
+- WAKE:
+ message: RIDICULOUS_ATTEMPT
+ words: ['wake', 'distu']
+- SAVE:
+ message: HUH_MAN
+ words: ['suspe', 'pause', 'save']
+- RESUME:
+ message: HUH_MAN
+ words: ['resum', 'resta']
+- FLY:
+ message: AM_GAME
+ words: ['fly']
+- LISTEN:
+ message: DONT_UNDERSTAND
+ words: ['liste']
+- PART:
+ message: NOTHING_HAPPENS
+ words: ['z''zzz']
+- ACT_35:
+ message: HUH_MAN
+ words: !!null
+
+specials: !!omap
+- SPC_0:
+ message: !!null
+ words: !!null
+- SPC_1:
+ message: !!null
+ words: ['fee']
+- SPC_2:
+ message: !!null
+ words: ['fie']
+- SPC_3:
+ message: !!null
+ words: ['foe']
+- SPC_4:
+ message: !!null
+ words: ['foo']
+- SPC_5:
+ message: !!null
+ words: ['fum']
+- SPC_13:
+ message: YOUR_WELCOME
+ words: ['thank']
+- SPC_50:
+ message: WORN_OUT
+ words: ['sesam', 'opens', 'abra', 'abrac', 'shaza', 'hocus', 'pocus']
+- SPC_51:
+ message: VOCAB_DESCRIPTION
+ words: ['help', '?']
+- SPC_54:
+ message: OK_MAN
+ words: ['no']
+- SPC_64:
+ message: FOREST_LOOK
+ words: ['tree', 'trees']
+- SPC_66:
+ message: DIGGING_FUTILE
+ words: ['dig', 'excav']
+- SPC_68:
+ message: IM_CONFUSED
+ words: ['lost']
+- SPC_69:
+ message: EXPLAIN_MIST
+ words: ['mist']
+- SPC_79:
+ message: WATCH_IT
+ words: ['fuck']
+- SPC_139:
+ message: STOP_UNKNOWN
+ words: ['stop']
+- SPC_142:
+ message: QUICK_START
+ words: ['info', 'infor']
+- SPC_147:
+ message: NOT_KNOWHOW
+ words: ['swim']
+- SPC_246:
+ message: WIZARDS_NODISTURB
+ words: ['wizar']
+- SPC_271:
+ message: GUESS_AGAIN
+ words: ['yes']
+- SPC_275:
+ message: ADVENTURE_NEWS
+ words: ['news']