{ "assemblages": { "wall": { "sprite": "wall", "height": 2, "flags": ["Blocking"] }, "rock": { "sprite": "rock", "height": 10, "flags": ["Blocking"] }, "tree": { "sprite": "tree", "height": 3, "flags": ["Blocking"] }, "fence": { "sprite": "fence", "height": 1, "flags": ["Blocking"] }, "grass": { "components": [ ["Visible", { "sprite": ["random", [ "grass1", "grass2", "grass3", "grass1", "grass2", "grass3", "ground" ]], "height": 0.1, "name": "grass" }] ], "flags": ["Floor", "Soil"] }, "greengrass": { "components": [ ["Visible", { "sprite": ["random", [ "grass1", "grass2", "grass3" ]], "height": 0.1, "name": "grass" }] ], "flags": ["Floor", "Soil"] }, "ground": { "sprite": "ground", "height": 0.1, "flags": ["Floor", "Soil"] }, "floor": { "sprite": "floor", "height": 0.1, "flags": ["Floor"] }, "bridge": { "sprite": "bridge", "height": 0.1, "flags": ["Floor"] }, "water": { "sprite": "water", "height": 0.0 }, "house": {"height": 3.0, "sprite": "house"}, "freeland": {}, "portal": { "arguments": [["destination", "string"], ["destpos", "string", ""]], "components": [ ["RoomExit", {"destination": ["arg", "destination"], "dest_pos": ["arg", "destpos"]}] ], "flags": ["Floor"] }, "img": { "arguments": [["sprite", "string", ""], ["height", "float", 1.0]], "components": [ ["Visible", {"name": ["arg", "sprite"], "sprite": ["arg", "sprite"], "height": ["arg", "height"]}] ] }, "builtwall": { "arguments": [["health", "int", 100]], "components": [ ["Health", {"health": ["arg", "health"], "maxhealth": 100}], ["Loot", {"loot": ["list", [{"type": "stone"}]]}] ], "sprite": "builtwall", "height": 2, "extract": {"health": ["Health", "health"]}, "flags": ["Blocking"] }, "spiketrap": { "components": [["Trap", {"damage": 8}]], "sprite": "spikes", "height": 0.8 }, "dummy": { "arguments": [["health", "int", 20]], "sprite": "dummy", "height": 1, "components": [ ["Health", {"health": ["arg", "health"], "maxhealth": 20}] ] }, "wound": { "sprite": "wound", "height": 0.25, "components": [["Grow", {"delay": 3, "spread": 0.0, "trigger": "remove", "target_time": -1}]], "save": false }, "rat": { "sprite": "rat", "height": 1.0, "components": [ ["MonsterAI", { "view_distance": 3, "move_chance": 0.08, "homesickness": 0.1 }], ["Health", {"health": 8, "maxhealth": 8}], ["Fighter", {"damage": 2, "cooldown": 6}], ["Movable", {"cooldown": 3}], ["Faction", {"faction": "evil"}], ["Loot", {"loot": ["list", [ ["list", [{"type": "radishseed"}, 1.0]] ]]}] ] }, "goblin": { "sprite": "goblin", "height": 1.0, "components": [ ["MonsterAI", { "view_distance": 8, "move_chance": 0.02, "homesickness": 0.1 }], ["Health", {"health": 15, "maxhealth": 15}], ["Fighter", {"damage": 5, "cooldown": 8}], ["Movable", {"cooldown": 4}], ["Faction", {"faction": "evil"}], ["Loot", {"loot": ["list", [ ["list", [{"type": "sword"}, 0.05]], ["list", [{"type": "club"}, 0.1]], ["list", [{"type": "radish"}, 0.25]] ]]}] ] }, "troll": { "sprite": "troll", "height": 1.0, "components": [ ["MonsterAI", { "view_distance": 8, "move_chance": 0.01, "homesickness": 0.1 }], ["Health", {"health": 75, "maxhealth": 75}], ["Fighter", {"damage": 15, "cooldown": 10}], ["Movable", {"cooldown": 5}], ["Faction", {"faction": "evil"}], ["Loot", {"loot": ["list", [ ["list", [{"type": "stone"}, 1.0]], ["list", [{"type": "stone"}, 0.3]], ["list", [{"type": "pebble"}, 0.5]], ["list", [{"type": "pebble"}, 0.5]], ["list", [{"type": "pebble"}, 0.5]] ]]}] ] }, "rabbit": { "sprite": "rabbit", "height": 1.0, "components": [ ["MonsterAI", { "view_distance": 3, "move_chance": 0.08, "homesickness": 0.1 }], ["Movable", {"cooldown": 3}], ["Faction", {"faction": "neutral"}] ] }, "spawner": { "arguments": [["template", "template"], ["amount", "int", 1], ["delay", "int", 0], ["clan", "string", ""], ["initial_spawn", "bool", true]], "components": [ ["Spawner", { "template": ["arg", "template"], "amount": ["arg", "amount"], "delay": ["arg", "delay"], "clan": ["arg", "clan"], "initial_spawn": ["arg", "initial_spawn"] }] ] }, "letter": { "arguments": [["char", "string"]], "components": [["Visible", { "name": ["concat", ["letter_", ["arg", "char"]]], "sprite": ["concat", ["emptyletter-", ["arg", "char"]]], "height": 1.0 }]] }, "radishplant": { "sprite": "smallplant", "name": "radishplant", "height": 0.5, "components": [ ["Interactable", {"action": ["interaction", ["trigger", "die"]]}], ["Loot", {"loot": ["list", [ ["list", [{"type": "radishseed"}, 0.92]], ["list", [{"type": "radishseed"}, 0.20]], ["list", [{"type": "radish"}, 0.8]], ["list", [{"type": "radish"}, 0.4]] ]]}] ], "flags": ["Occupied"] }, "plantedradishseed": { "arguments": [["target_time", "int", -1]], "sprite": "seed", "height": 0.05, "name": "seed", "components": [ ["Grow", { "delay": 600, "spread": 0.5, "target_time": ["arg", "target_time"], "trigger": "change" }], ["Build", {"obj": ["template", "radishseedling"]}] ], "extract": { "target_time": ["Grow", "target_time"] }, "flags": ["Occupied"] }, "radishseedling": { "arguments": [["target_time", "int", -1]], "sprite": "seedling", "height": 0.05, "name": "seedling", "components": [ ["Grow", { "delay": 600, "spread": 0.5, "target_time": ["arg", "target_time"], "trigger": "change" }], ["Build", {"obj": ["template", "youngradishplant"]}] ], "extract": { "target_time": ["Grow", "target_time"] }, "flags": ["Occupied"] }, "youngradishplant": { "arguments": [["target_time", "int", -1]], "sprite": "youngplant", "height": 0.8, "name": "youngradishplant", "components": [ ["Grow", { "delay": 600, "spread": 0.5, "target_time": ["arg", "target_time"], "trigger": "change" }], ["Build", {"obj": ["template", "radishplant"]}] ], "extract": { "target_time": ["Grow", "target_time"] }, "flags": ["Occupied"] }, "closeddoor": { "sprite": "closeddoor", "height": 2, "flags": ["Blocking"], "components": [ ["Interactable", {"action": ["interaction", ["trigger", "change"]]}], ["Build", {"obj": {"type": "opendoor", "save": false}}] ] }, "opendoor": { "sprite": "opendoor", "height": 0.8, "flags": ["Occupied"], "components": [ ["Interactable", {"action": ["interaction", ["trigger", "change"]]}], ["Build", {"obj": {"type": "closeddoor", "save": false}}] ] }, "sign": { "sprite": "sign", "height": 1, "flags": ["Occupied"], "components": [ ["Interactable", {"action": ["interaction", ["say", "Good morning there, World"]]}] ] }, "dude": { "sprite": "human", "height": 1.5, "flags": ["Occupied"], "components": [ ["Interactable", {"action": ["interaction", ["reply", "did you say '{}'?"]]}] ] }, "trader": { "sprite": "human", "height": 1.5, "components": [ ["Interactable", {"action": ["interaction", ["exchange", ["buy ", { "pebble": [["radish", "radish"], ["pebble"]], "radishseed": [["radish"], ["radishseed", "radishseed"]], "carrotseed": [["radish"], ["carrotseed"]] }]]]}] ] }, "plantedseed": { "arguments": [["target_time", "int", -1], ["next", "template"], ["delay", "int"]], "sprite": "seed", "height": 0.05, "name": "plantedseed", "components": [ ["Grow", { "delay": ["arg", "delay"], "spread": 0.5, "target_time": ["arg", "target_time"], "trigger": "change" }], ["Build", {"obj": ["arg", "next"]}] ], "extract": { "target_time": ["Grow", "target_time"] }, "flags": ["Occupied"] }, "seedling": { "arguments": [["target_time", "int", -1], ["next", "template"], ["delay", "int"]], "sprite": "seed", "height": 0.09, "name": "seedling", "components": [ ["Grow", { "delay": ["arg", "delay"], "spread": 0.5, "target_time": ["arg", "target_time"], "trigger": "change" }], ["Build", {"obj": ["arg", "next"]}] ], "extract": { "target_time": ["Grow", "target_time"] }, "flags": ["Occupied"] }, "youngplant": { "arguments": [["target_time", "int", -1], ["next", "template"], ["crop", "string"], ["delay", "int"]], "components": [ ["Grow", { "delay": ["arg", "delay"], "spread": 0.5, "target_time": ["arg", "target_time"], "trigger": "change" }], ["Build", {"obj": ["arg", "next"]}], ["Visible", { "name": ["concat", [["string", "young"], ["arg", "crop"], ["string", "plant"]]], "sprite": "youngplant", "height": 0.8 }] ], "extract": { "target_time": ["Grow", "target_time"] }, "flags": ["Occupied"] }, "carrotplant": { "sprite": "smallplant", "name": "carrotplant", "height": 1.0, "components": [ ["Interactable", {"action": ["interaction", ["trigger", "die"]]}], ["Loot", {"loot": ["list", [ ["list", [{"type": "carrotseed"}, 1.0]], ["list", [{"type": "carrot"}, 1.0]] ]]}] ], "flags": ["Occupied"] } }, "items": { "pebble": {}, "stone": {"action": ["build", ["builtwall", ["Floor"], ["Blocking"]]]}, "radishseed": {"sprite": "seed", "action": ["build", ["plantedradishseed", ["Floor", "Soil"], ["Occupied", "Blocking"]]]}, "radish": {"sprite": "food", "action": ["eat", 3]}, "eldritch_radish": {"sprite": "food", "name": "eldritch_radish", "action": ["eat", 20]}, "carrotseed": {"sprite": "seed", "action": ["build", ["plantedcarrotseed", ["Floor", "Soil"], ["Occupied", "Blocking"]]]}, "carrot": {"sprite": "food", "action": ["eat", 5]}, "sword": {"action": ["equip", { "slot": "hand", "stats": {"strength": 5} }]}, "eldritch_sword": { "sprite": "sword", "name": "eldritch sword", "action": ["equip", { "slot": "hand", "stats": {"strength": 500} }] }, "club": {"action": ["equip", { "slot": "hand", "stats": {"strength": 3} }]}, "armour": {"action": ["equip", { "slot": "body", "stats": {"defence": 3} }]} }, "templates":{ "plantedcarrotseed": ["plantedseed", {"delay": 60, "next": "carrotseedling"}], "carrotseedling": ["seedling", {"delay": 60, "next": "youngcarrotplant"}], "youngcarrotplant": ["youngplant", {"crop": "carrot", "delay": 60, "next": "carrotplant"}] }, "substitute": { "radishes": "radish" } }