diff options
| -rw-r--r-- | content/encyclopediae/default_encyclopedia.json | 107 | ||||
| -rw-r--r-- | content/maps/_home.json | 6 | ||||
| -rw-r--r-- | content/maps/basement.json | 49 | ||||
| -rw-r--r-- | content/maps/begin.json | 142 | ||||
| -rw-r--r-- | content/maps/cave.json | 93 | ||||
| -rw-r--r-- | content/maps/right.json | 110 | ||||
| -rw-r--r-- | content/maps/room.json | 52 | ||||
| -rw-r--r-- | content/maps/smallview.json | 87 | ||||
| -rw-r--r-- | content/maps/town.json | 106 | ||||
| -rw-r--r-- | content/maps/tutorial.json | 135 |
10 files changed, 851 insertions, 36 deletions
diff --git a/content/encyclopediae/default_encyclopedia.json b/content/encyclopediae/default_encyclopedia.json index 760779d..411f1c1 100644 --- a/content/encyclopediae/default_encyclopedia.json +++ b/content/encyclopediae/default_encyclopedia.json @@ -68,17 +68,24 @@ "flags": ["Floor"] }, "water": { - "components": [], "sprite": "water", - "height": 0.1 + "height": 0.0 }, + "house": {"height": 3.0, "sprite": "house"}, + "freeland": {}, "portal": { - "arguments": [["destination", "string"], ["dest_pos", "string", ""]], + "arguments": [["destination", "string"], ["destpos", "string", ""]], "components": [ - ["RoomExit", {"destination": ["arg", "destination"], "dest_pos": ["arg", "dest_pos"]}] + ["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": [ @@ -112,7 +119,7 @@ }, "rat": { "sprite": "rat", - "height": 1, + "height": 1.0, "components": [ ["MonsterAI", { "view_distance": 3, @@ -123,7 +130,68 @@ ["Fighter", {"damage": 2, "cooldown": 6}], ["Movable", {"cooldown": 3}], "Mortal", - ["Faction", {"faction": "evil"}] + ["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}], + "Mortal", + ["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}], + "Mortal", + ["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": { @@ -188,6 +256,23 @@ ["Grow", { "delay": 600, "target_time": ["arg", "target_time"], + "into": ["template", "youngradishplant"] + }] + ], + "extract": { + "target_time": ["Grow", "target_time"] + }, + "flags": ["Occupied"] + }, + "youngradishplant": { + "arguments": [["target_time", "int", 0]], + "sprite": "youngplant", + "height": 0.05, + "name": "youngradishplate", + "components": [ + ["Grow", { + "delay": 600, + "target_time": ["arg", "target_time"], "into": ["template", "radishplant"] }] ], @@ -316,7 +401,15 @@ "carrot": {"sprite": "food", "action": ["eat", 5]}, "sword": {"action": ["equip", { "slot": "hand", - "stats": {"strength": 50} + "stats": {"strength": 5} + }]}, + "club": {"action": ["equip", { + "slot": "hand", + "stats": {"strength": 3} + }]}, + "armour": {"action": ["equip", { + "slot": "body", + "stats": {"defence": 3} }]} }, "templates":{ diff --git a/content/maps/_home.json b/content/maps/_home.json index 656ad94..13bbeb2 100644 --- a/content/maps/_home.json +++ b/content/maps/_home.json @@ -1,10 +1,10 @@ { "width": 64, "height": 64, - "spawn": [63,0], + "spawn": [0,0], "places": {}, "field":[ - ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,%", + "%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,", ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,", ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,", ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,", @@ -73,7 +73,7 @@ ",": ["grass"], "%": [{ "type": "portal", - "kwargs": {"destination": "room"} + "kwargs": {"destination": "smallview", "destpos": "home"} }, "ground"] } } diff --git a/content/maps/basement.json b/content/maps/basement.json new file mode 100644 index 0000000..0d090b4 --- /dev/null +++ b/content/maps/basement.json @@ -0,0 +1,49 @@ +{ + "width": 24, + "height": 11, + "spawn": [17, 8], + "places": { + "stairup": [17, 8] + }, + + "field": [ + " ############### ", + " #++++++++a++++# ", + " #+++++++++++++# ", + " #+a+++++++++++# ", + " #+++++++++++++# ", + " #+++++a+++++++# ", + " ##D######D##### ", + " #++++++#++++++# ", + " #+a++:+#++++<+# ", + " #++++++#++++++# ", + " ############### " + ], + "mapping": { + ",": "grass", + "Y": ["grass", "radishplant"], + "~": "water", + "#": "wall", + "X": "rock", + ".": "ground", + "+": "floor", + "^": ["spiketrap"], + "D": ["ground", "closeddoor"], + "<": [ + {"type": "portal", "args": ["begin", "stairdown"]}, + {"type": "img", "args": ["stairup"]}, + "floor" + ], + "a": ["floor", { + "type": "spawner", + "args": [{"type": "rat"}, 1, 300], + "kwargs": {"initialSpawn": true, "setHome": true} + }], + ":": ["floor", { + "type": "spawner", + "args": [{"type": "carrotseed"}, 1, 1200], + "kwargs": {"initialSpawn": false} + }], + " ": [] + } +} diff --git a/content/maps/begin.json b/content/maps/begin.json new file mode 100644 index 0000000..34a72cb --- /dev/null +++ b/content/maps/begin.json @@ -0,0 +1,142 @@ +{ + "width": 64, + "height": 64, + "spawn": [15, 30], + "places": { + "stairdown": [37, 33], + "caveentrance": [31, 50], + "right": [62, 10], + "cavebridge": [1, 60] + }, + "field": [ + + + + + + + + + ",,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", + ",,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", + ",,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", + ",,,,,,,,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,'1", + ",,,,,,~~~~~~~~~~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'1", + ",,,,~~~~~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,T,,,,,,,,,,,,,,'1", + ",,,~~~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,T,,,,,,,,,,,,,,,,,,,,,,'1", + ",,~~~~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'1", + ",,~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,T,,,,,,T,,,,,,,,,,,'1", + ",~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'1", + ",~~~~~,,,,,,,,,''''''''T'''''''''''''''''''''''T'''''''''''''''1", + "~~~~~~,,,,,,,'''''''''''''T''''''''''''''''''''''''''''''''''''1", + "~~~~~''''T''''.................................................1", + "~~~~~.'''''''.'''''''''''''''''''''''''''''''''''''''''''''''''1", + "~~~~~........''''''''''''''''''''''''''''''''''''''''''''''''''1", + "~~~~~.'''...''*',,,,,,,,,,,,,,,,,,,,,,,,,,'''''''',,,,,,,,,,,,'1", + "~~~~~''''...'''',,,,,,,,,,,,,,,,,,,,,,,,,,'''''''',T,,,,,,,,,,'1", + "~~~~~'''''..'''',,,,,,,,,,,,,,,,,,,,,,,,,,'''''''',,,,,,,,,,,,'1", + ",~~~~'''''..'''',,,,,,,,,,,,,,,,,,,,,,,,,,'''''''',,,,,,,,,,,,'1", + ",~~~~'''*''.'''',,,,,,,,,,,,,,,,,,,,,,,,T,'''''''',,,,,,,,,,,,'1", + ",~~~~~,,,,..'''',,,,,,,,,,,,,,,,,,T,,,,,,,'''''''',,,,,,,,,,,,'1", + ",~~~~~,,,,'..''',,,,,,,,,,,,,,,,,,,,,,,,,,'''''''',,,,,,,,,,,,'1", + ",~~~~~,,,,''.''',,,,,,,,,,,,,,,,,,,,,,,,,,'''''''',,,,,,,,,,,,'1", + ",~~~~~,,,,,'..'',,,,,,,,,,,,,,,,,,,,,,,,,,'''''''',,,,,,,,,,,,'1", + ",~~~~~,,,,,''.'E,,,,,,,,,,,,,,,,,,,,,,,,,,'''T'''',,,,,,,,,,,,'1", + ",~~~~~,,,,,'..''''''#####################''''''''',,,,,,,,,,,,'1", + ",~~~~~,,,,,''..'''BB#+++++++++++++#+++++#''''''''',,,,,,,,,,,,'1", + ",~~~~~'''''''..'''.'#+++++++++++++#+++++#''''''''',,,,,,,,,,,,'1", + "~~~~~'''5''''''../!]#+++++++++++++++++++#''''''''',,,,,,,,,,,,'1", + "~~~~~'''6''''.'.''..D+++++++++++++#+++++#''''''''',,,,,,,,,,,,'1", + "~~~~~'''7'..''.'....D+++++++++++++#######''''''''',,,,,,,,,,,,'1", + "~~~~~'888''.'..'....#+++++++++++++#+++++#''''''''',,,,,,,,,,,,'1", + "~~~~,,,,,,'.'#d.....#+++++++++++++#+++++#''''''''',,,,,,,,,,,,'1", + "~~~~,,,,,,8.'#..d..^#+++++++++++++++++>+#''''''''',,,,,,,,,,,,'1", + "~~~~,,,,,,'.'########+++++++++++++#+++++#''''''''',,,,,,,,,,,,'1", + "~~~~,,,,,,'.''''''''#####################''''''''',,,,,,,,,,,,'1", + "~~~~,,,,,,8.'''''''''''''''''''''''''''''''''''''',,,,,,,,,,,,'1", + "~~~~~,,,,,'.'''''''''''''''''''''''''''''''''''''',,,,,,,,,,,,'1", + "~~~~~,,,,,'.'''''''''''''''''''''''''''''''''''''''''''''''''''1", + "~~~~~~,,,,'....................................................1", + ",~~~~~,,,,'''T'''''''''''''''''''''''''''''''''''''''''''''''''1", + ",~~~~~~''''''''''''''''''''''''''''''''''''''''''''''''''''''''1", + ",~~~~~~''''''''',,,,,,,,,,,,,,,''.',,,,,,,,,',,,,,,,,,,,,,,,,,'1", + ",,~~~~~'',,,,,,,,,,,,,,,,,,,,,,'''',,,,T,,,,',,,,,,,,,,,,,,,,,'1", + ",,~~~~~'',,,,,,,,,,,,,,,,,,,,,,'.'',,,,,,,,,',,T,,,,r,,,r,,,,,'1", + ",,~~~~~'',,,,,,,,,,,,,,,,,,,,,,T'.',,,,,,,,,',,,,,,,,,,,,,,,,,'1", + ",,~~~~~'',,,,,T,,,,,,,,,,,,,,,,'''',T,,,,,T,',,,,,,T,,r,,,,,,,'1", + ",,~~~~~'',,,,,,,,,,,,,,,,,T,,,,'''',,,,,,,,,',T,,,,,,,,,,,,,,,'1", + ",,~~~~~'',,,,,,,,,,,,,,,,,,,,,,'T.',,,,,,,,T,,,,,,,r,,,,T,,,,,'1", + ",,~~~~~'',,,,,,,,,,,,,,,,,,,,,,'''',,,T,,,,,,,,,,,,,,,,,,,,,,,'1", + ",~~~~~~'',,,,,,,,,,,,XXXXXXXXXX'.'',,,,,,,,,,,,T,,,,,,,T,,,,,,'1", + ",~~~~~~'',,,,,,XXXXXXX XCX'',,,,,T,,,,,,,,,,,,,,,,,,,,,XX", + ",~~~~~'''',,XXXX XXXXX,,,,,,,,,,,,T,,,,,,,,,,,,XXX ", + ",~~~~~''''XXX XXXX,,,,,,,,,,,,,,,,,,,,,XX ", + "X~~~~~'''XX XXX,,,,,,,XX,,,,,,,,,,X ", + "X~~~~~''XX XXX,,,XXXXXXX,,,,,,XX ", + "X~~~~~''X X,,XX XXXX,,XX ", + "X~~~~~''X X,XX XXXX ", + "X~~~~~'XX XXX ", + "#~~~~~'XX ", + "2=====''X ", + "#~~~~~XXX ", + "X~~~~~X ", + "X~~~~~X " + ], + "mapping": { + ",": ["grass", "freeland"], + "'": ["grass"], + "Y": ["grass", "radishplant"], + "T": ["grass", "tree"], + "~": "water", + "=": ["water", "bridge"], + "o": ["grass", "stone", "stone", "stone", "stone", "stone", "stone", "stone", "stone"], + "W": ["grass", "hardwood", "hardwood", "hardwood", "hardwood", "hardwood", "hardwood", "hardwood", "hardwood"], + "*": ["grass", "pebble"], + "d": ["ground", { + "type": "spawner", + "args": [{"type": "dummy"}, 1, 600], + "kwargs": {"initialSpawn": true} + }], + "D": ["ground", "opendoor"], + "#": "wall", + ":": ["ground", { + "type": "spawner", + "args": ["radishseed", 1, 600], + "kwargs": {"initialSpawn": false} + }], + ";": ["floor", "radishseed"], + ".": "ground", + "+": "floor", + "X": "rock", + "^": ["spiketrap", "ground"], + ">": [ + {"type": "portal", "kwargs": {"destination": "basement", "destpos": "stairup"}}, + {"type": "img", "kwargs": {"sprite": "stairdown"}}, + "floor" + ], + "C": [ + {"type": "portal", "kwargs": {"destination": "cave", "destpos": "stairup"}}, + {"type": "img", "kwargs": {"sprite": "stairdown"}}, + "floor" + ], + "r": ["grass", "rabbit"], + "/": ["grass", "sword"], + "!": ["grass", "club"], + "]": ["grass", "armour"], + "1": [{ + "type": "portal", + "kwargs": {"destination": "right", "destpos": "left"} + }], + "2": [{ + "type": "portal", + "kwargs": {"destination": "tutorial", "destpos": "tunnelout"} + }, "floor"], + "E": ["grass", "trader"], + "B": ["grass", "freeland", "builtwall"], + "5": ["grass", "plantedradishseed"], + "6": ["grass", "radishseedling"], + "7": ["grass", "youngradishplant"], + "8": ["grass", "radishplant"], + " ": [] + } +} diff --git a/content/maps/cave.json b/content/maps/cave.json new file mode 100644 index 0000000..6086d78 --- /dev/null +++ b/content/maps/cave.json @@ -0,0 +1,93 @@ +{ + "width": 64, + "height": 44, + "spawn": [32, 4], + "places": { + "stairup": [32, 4] + }, + "field": [ + " ", + " ", + " XXX ", + " XXX<X ", + " XX...X ", + " X....X ", + " X....X ", + " X....XX ", + " X.....X ", + " XX....X ", + " X....X ", + " X....X ", + " XX....X ", + " X.....X ", + " X.....X ", + " X.....X ", + " X....XX ", + " X...XX ", + " X...X ", + " X...X ", + " XX...X ", + " XXXXXXX X....XX ", + " XXX.....XXXXXXXXX.....XXXXXXXXX XXXXX ", + " X.............................XXXXXX...XX ", + " XX.......................................X ", + " X.......................................XX ", + " X........g.....................g........X ", + " X.......................................XX ", + " X........................................X ", + " X.......................................XX ", + " X.......................................X ", + " XX.......................................X ", + " XXX........................................X ", + " X..........................................XX ", + " X...........g......................g........X ", + " XX..........................................X ", + " X..........................................X ", + " XXX.......................................XX ", + " X.......................................X ", + " X...XX.................................XX ", + " X.X...X.............T..............XX.XX ", + " XXX.........................XXX.......X ", + " XXXXXXXXXXXXX...........XXX XXXXXXXXX ", + " XXXXXXXXXXXXX " + ], + "mapping": { + ",": "grass", + "Y": ["grass", "plant"], + "~": "water", + "X": "wall", + "X": "rock", + ".": "ground", + "+": "floor", + "<": [ + {"type": "portal", "args": ["begin", "caveentrance"]}, + {"type": "img", "args": ["stairup"]}, + "floor" + ], + "g": [ + "ground", + { + "type": "spawner", + "kwargs": { + "template": {"type": "goblin"}, + "amount": 2, + "delay": 50, + "initial_spawn": true + } + } + ], + "T": [ + "ground", + { + "type": "spawner", + "kwargs": { + "template": {"type": "troll"}, + "amount": 1, + "delay": 200, + "initial_spawn": true + } + } + ], + " ": [] + } +} diff --git a/content/maps/right.json b/content/maps/right.json new file mode 100644 index 0000000..c7e0a46 --- /dev/null +++ b/content/maps/right.json @@ -0,0 +1,110 @@ +{ + "width": 64, + "height": 64, + "spawn": [10, 10], + "places": { + "left": [1, 10], + "bridge": [34, 1] + }, + "field": [ + " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~", + " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~===~~~~~~~~~~~~~~~~~~~~~~~~~~~~", + " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~===~~~~~~~~~~~~~~~~~~~~~~~~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'...',,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,''.'',,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'.',,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'.',,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'.',,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'.',,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'.',,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'.',,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1'''''''''''''''''''''''''''''''''.',,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1'.................................',,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1''''''''''''''''''''''''''''''''''',,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1''''''''''''''''''''''''''''''',,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1.............................'',,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1''''''''''''''''''''''''''''''',,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + "1',,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + " X,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + " XX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + " XXX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + " XX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~", + " X,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,XXXXX,,,,,~~~~~", + " XX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,XXXX XXX,,,,~~~~", + " XXXX,,,XXX,,,,,,,,,,,,,,,,,,,,,,,,,,,,XXX XXXXXX~~~", + " XXXXX XX,,,,,,,,,,,,,,,,,,,,,,,,,,XXX XX~~", + " XX,,,,,,,,,,,,,,,,,,,,,,,XXX X~~", + " XXXXXX,,,,,,,,,,,X,,,,,XX XX~", + " XXXX,XXXXXXXXX,XXXX XX", + " XXX XXX ", + " " + ], + "mapping": { + ",": ["grass", "freeland"], + "'": ["grass"], + "Y": ["grass", "plant"], + "T": ["grass", "tree"], + "~": "water", + "=": ["water", "bridge"], + "o": ["grass", "stone"], + "*": ["grass", "pebble"], + "d": ["ground", "dummy"], + "#": "wall", + ":": ["floor", { + "type": "spawner", + "args": ["seed", 1, 600], + "kwargs": {"initialSpawn": true} + }], + ";": ["floor", "seed"], + ".": "ground", + "+": "floor", + "X": "rock", + "^": ["spiketrap", "ground"], + "1": [{ + "type": "portal", + "kwargs": {"destination": "begin", "destpos": "right"} + }], + "%": [{ + "type": "portal", + "kwargs": {"destination": "smallview", "destpos": "begin"} + }, "bridge", "water"], + "r": ["grass", "rabbit"], + "/": ["grass", "sword"], + "!": ["grass", "club"], + "]": ["grass", "armour"], + " ": [] + } +} diff --git a/content/maps/room.json b/content/maps/room.json index 5d69b72..d092485 100644 --- a/content/maps/room.json +++ b/content/maps/room.json @@ -1,30 +1,30 @@ { - "width": 42, + "width": 43, "height": 23, - "spawn": [5, 15], + "spawn": [6, 19], "field": [ - "~~~~~XXXXXXXXXXXX~~~XXXXXXXXXXXXXXXXXXXXXX", - "~~~~~,,,,,,,,,,,,~~~,,,,,,,,,,,,,,,,,,,,,X", - "~~~~,,,,,,,,,,,,,~~~,,,,,,,,,,,,,,,,,,,,,X", - "~~~~,,,,,,,,,,r,,~~~~,,,,,,,,,,,,,,,,,,,,X", - "~bbbb..,,,,,,,,,,,~~~,,,,,,,,,,,,,,,,,,,,X", - "~~~~,,.,,,,,,,,,,,~~~,,,,,,,,,,,,,,,,,,,,X", - "~~~,,,.,,,,,,,,,,,~~~,,,,,,,,,,,,,,,,,,,,X", - "~~,,,,.,,,,,,,,,,,~~~,,,,,,,,,,,,,,,,,,,,X", - "X,,,,,.,,,,,,,,,,,~~~~,,,,,,T,,,,,,,,,,,,X", - "X,,,,,.,,,,,,,,,,,,~~~,,,,,,,,,,,,,,,,,,,X", - "X,^,,,.,,,,,,,,,,,,~~~,,,,,T,,,,######,,,X", - "X,^,,,.,,,,,,,,,,,,bbb,,,,,,,,,,#++++#,,,X", - "X,,,t..............bbb..........D++++#,,,X", - "X,**,,.,,,,,,,,,,,,bbb,,,,,,,,,,#++++#,,,X", - "X,*,*,.,u,,,V,,V,,,~~~,,,T,,,T,,#++++#,,,X", - "X,,*,,.,,,,,,,,,,,,~~~,,,,,,,,,,######,,,X", - "X,oo,,.,s,d,,,,,,,~~~~,,,,,,,,,,f,,,,f,,,X", - "X,,*,,.,,,,,,,,,,,~~~''''''''''''''''f'''X", - "X*,,,,.,,,d,VVV,,,~~~'''''''''''f''''f'''X", - "1,,,,,.,,,,,VVV,,,~~~'''''''''''ffffff'''X", - "X/,,,,.,,,,,VVV,,,~~~''''''''''''''''''''X", - "XXXXX,.,XXXXXXXXXX~~~XXXXXXXXXXXXXXXXXXXXX", + " ~~~~~XXXXXXXXXXXX~~~XXXXXXXXXXXXXXXXXXXXXX", + " ~~~~~,,,,,,,,,,,,~~~,,,,,,,,,,,,,,,,,,,,,X", + " ~~~~,,,,,,,,,,,,,~~~,,,,,,,,,,,,,,,,,,,,,X", + " ~~~~,,,,,,,,,,r,,~~~~,,,,,,,,,,,,,,,,,,,,X", + " ~bbbb..,,,,,,,,,,,~~~,,,,,,,,,,,,,,,,,,,,X", + " ~~~~,,.,,,,,,,,,,,~~~,,,,,,,,,,,,,,,,,,,,X", + " ~~~,,,.,,,,,,,,,,,~~~,,,,,,,,,,,,,,,,,,,,X", + " ~~,,,,.,,,,,,,,,,,~~~,,,,,,,,,,,,,,,,,,,,X", + " X,,,,,.,,,,,,,,,,,~~~~,,,,,,T,,,,,,,,,,,,X", + " X,,,,,.,,,,,,,,,,,,~~~,,,,,,,,,,,,,,,,,,,X", + " X,^,,,.,,,,,,,,,,,,~~~,,,,,T,,,,######,,,X", + " X,^,,,.,,,,,,,,,,,,bbb,,,,,,,,,,#++++#,,,X", + " X,,,t..............bbb..........D++++#,,,X", + " X,**,,.,,,,,,,,,,,,bbb,,,,,,,,,,#++++#,,,X", + " X,*,*,.,u,,,V,,V,,,~~~,,,T,,,T,,#++++#,,,X", + " X,,*,,.,,,,,,,,,,,,~~~,,,,,,,,,,######,,,X", + " X,oo,,.,s,d,,,,,,,~~~~,,,,,,,,,,f,,,,f,,,X", + " X,,*,,.,,,,,,,,,,,~~~''''''''''''''''f'''X", + " X*,,,,.,,,d,VVV,,,~~~'''''''''''f''''f'''X", + "1.......,,,,,VVV,,,~~~'''''''''''ffffff'''X", + " X/,,,,.,,,,,VVV,,,~~~''''''''''''''''''''X", + " XXXXX,.,XXXXXXXXXX~~~XXXXXXXXXXXXXXXXXXXXX", " %%% " ], "mapping": { @@ -40,8 +40,8 @@ "X": "rock", "*": ["grass", {"type": "spawner", "kwargs": {"template": {"type": "pebble"}, "delay": 600}}], "o": ["grass", {"type": "spawner", "kwargs": {"template": {"type": "stone"}, "delay": 600}}], - "%": {"type": "portal", "kwargs": {"destination": "broom", "dest_pos": "northentry"}}, - "1": {"type": "portal", "kwargs": {"destination": "_home+{player}"}}, + "%": {"type": "portal", "kwargs": {"destination": "broom", "destpos": "northentry"}}, + "1": {"type": "portal", "kwargs": {"destination": "smallview"}}, "^": ["grass", "spiketrap"], "d": ["grass", {"type": "spawner", "kwargs": {"template": {"type": "dummy"}, "delay": 100}}], "r": ["grass", {"type": "spawner", "kwargs": {"template": {"type": "rat"}, "amount": 3, "clan": "rats", "delay": 200}}], diff --git a/content/maps/smallview.json b/content/maps/smallview.json new file mode 100644 index 0000000..bcfd1f4 --- /dev/null +++ b/content/maps/smallview.json @@ -0,0 +1,87 @@ +{ + "width": 33, + "height": 33, + "spawn": [24, 24], + "places": { + "begin": [21, 24], + "towneast": [24, 13], + "home": [24, 26] + }, + "field": [ + "########.###############.########", + "#,,,,,,#.#,,,,,,#~~~,~,#.#,,,,^,#", + "#,,,,,,#.#,,,,,,#~~~~~~#.#,,,,,,#", + "#,,,,,,#.#,,,,,,#~~~~~~#.#,,,,,,#", + "#,,,,,,#.#,,,,,,#~~~~~,#.#,,^^,,#", + "#,,,^^,#.#,,,,^,#,~~~~,#.#,,,,,,#", + "#,,,,,,#.#,,,,,,#,~~,,,#.#,,,,,,#", + "########.#########~#####.########", + "..................=..............", + "########.#########~#####.########", + "#,,,,,,#.#,,,,,,#^~^..^#.#,^,,,,#", + "#,,,,,,#.#,,,,,,#^~^..^#.#,,,,,,#", + "#,,,,,,#.#,,,,,,#.=..^^#.#,,,,,,#", + "#,,,,,,#.#,,,,,,#^~^...2.#,,,,,,#", + "#,,,,,,#.#,,,,,,#.~~=~.#.#,,,,,,#", + "#,,,,,,#.#,,,,,,#.^^.~~#.#,,,,,,#", + "########.#############~#.########", + "#,,,,,,#.,,T,,T,T,,T,~~,.#,,,,,,#", + "#,,,^^,#.,T,T,T,T,,TT~,,.#,,,,,,#", + "#,,,,,,#.,T,T,,T,,TT,~~,.#,,,,,,#", + "#,,,,,,#.,TT,,TTT,,,T,~,.#,,,,,,#", + "#,,,,,,#.T,,,TT,TT,T,T~,.#,,^,,,#", + "#,,,,,,#.,TT,T,,T,,,T,~~.#,,,,,,#", + "########.T,,TTTT,TTT,TT~.########", + ".......................=........4", + "########.,,~~~~~~~~~~1~~.########", + "#,,,,,,#.~~~,,,T,,,,,,,~.3,,,,,,#", + "#,,,,,,#.~,,,,,,,,,,,,,~,#,^,,,,#", + "#,,,,,,#.~,,,,,,,,,,T,,~,#,,,,,,#", + "#,,,,,,#.~,,^^,,,,,,,,,~,#,,,,,,#", + "#,,,,,,#.~,,,T,,,,T,,,,~,#,,,,,,#", + "#,,,,,,#.~,,X,,,X,,,,XX~,#,,,,,,#", + "######XX+~XXXXXXXXXXXXX~+XXX#####" + ], + "mapping": { + ",": "greengrass", + "Y": ["grass", "plant"], + "T": ["grass", "tree"], + "~": "water", + "=": ["water", {"type": "bridge", "kwargs": {"small": true}}], + "o": ["grass", "stone"], + "*": ["grass", "pebble"], + "d": ["ground", "dummy"], + "#": "fence", + ":": ["floor", { + "type": "spawner", + "args": ["seed", 1, 600], + "kwargs": {"initialSpawn": true} + }], + ";": ["floor", "seed"], + ".": "ground", + "+": "floor", + "X": "rock", + "^": "house", + "1": [{ + "type": "portal", + "kwargs": {"destination": "right", "destpos": "bridge"} + }, "floor"], + "2": [{ + "type": "portal", + "kwargs": {"destination": "town", "destpos": "gate"} + }, "floor"], + "3": [{ + "type": "portal", + "kwargs": {"destination": "_home+{player}"} + }, "floor"], + "4": [{ + "type": "portal", + "kwargs": {"destination": "room"} + }, "floor"], + "r": ["grass", "rabbit"], + "/": ["grass", "sword"], + "!": ["grass", "club"], + "]": ["grass", "armour"], + " ": [] + } +} diff --git a/content/maps/town.json b/content/maps/town.json new file mode 100644 index 0000000..dd0b2b5 --- /dev/null +++ b/content/maps/town.json @@ -0,0 +1,106 @@ +{ + "width": 64, + "height": 64, + "spawn": [55, 37], + "places": { + "gate": [62, 37] + }, + "field": [ + + ",,,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,", + ",hhhhhhhhhhhhhhhhhh~~~~~~hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,======.....................,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,======.....................,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,======.....................,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,...,,,,,,,,,,,,,,,,h%", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,....................%", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,....................%", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,....................%", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,....................%", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,...,,,,,,,,,..,,,,,h%", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,...,,,,,####++##,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,...,,,,,#++++++#,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,...,,,,,#++++++#,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~,,,,,,,,,,,,,,,,,,...,,,,,#++++++#,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~~,,,,,,,,,,,,,,,,,...,,,,,#++++++#,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~~~~~~,,,,,,,,,,,,,...,,,,,#++++++#,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~,,,,,,,,,,...,,,,,#++++++#,,,h,", + ",h,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~,,,,,,,...,,,,,########,,,h,", + ",h,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~,...,,,,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~~~~===~~~,,,,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~~~===~~~~~~,,,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~~~~~~===~~~~~~~~,,,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~~===~~~~~~~~~~,,,,,,h,", + ",h,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~===~~~~~~~~~~~,,,,,h,", + ",h,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~===~~~~~~~~~~~~,,,,h,", + ",h,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~~,,,,h,", + ",h,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~~~,,,h,", + ",h,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~,,,h,", + ",h,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~~,,h,", + ",h,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~~,,h,", + ",h,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~,,h,", + ",hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh~~~~~~hhh,", + ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,~~~~~~,,,," + ], + "mapping": { + ",": "grass", + "Y": ["grass", "plant"], + "T": ["grass", "tree"], + "~": "water", + "=": ["water", "bridge"], + "o": ["grass", "stone"], + "*": ["grass", "pebble"], + "d": ["ground", "dummy"], + "#": "wall", + "h": "fence", + ":": ["floor", { + "type": "spawner", + "args": ["seed", 1, 600], + "kwargs": {"initialSpawn": true} + }], + ";": ["floor", "seed"], + ".": "ground", + "+": "floor", + "X": "rock", + "^": ["spiketrap", "ground"], + "%": [{ + "type": "portal", + "kwargs": {"destination": "smallview", "despos": "towneast"} + }, "ground"], + "r": ["grass", "rabbit"], + "/": ["grass", "sword"], + "!": ["grass", "club"], + "]": ["grass", "armour"], + " ": [] + } +} diff --git a/content/maps/tutorial.json b/content/maps/tutorial.json new file mode 100644 index 0000000..2ac04b4 --- /dev/null +++ b/content/maps/tutorial.json @@ -0,0 +1,135 @@ +{ + "width": 64, + "height": 64, + "spawn": [17, 5], + "places": { + "tunnelout": [62, 1] + }, + "field": [ + + " HELLO PLAYER #######", + "WELCOME TO ASCIIFARM #+++++1", + "#################### YOU CAN WALK SHORTCUT #+#####", + "#++++++++++++++++++# AROUND WITH DO NOT GO HERE IF #+# ", + "#++++++++++++++++++# WASD OR ARROW YOU WANT TO LEARN #+# ", + "#++++++++++++++++++# ARROW KEYS ##########################+# ", + "#++++++++++++++++++##############++++++++++++++++++++++++++# ", + "#+++++++++++++++++++++++++++++++++########################+# ", + "#############################++#### #+# ", + " OR OTHER KEYS IF YOU #++# YOU CAN INTERACT #+# ", + " CHANGE THE CONFIG #++# WITH OBJECTS BY #+# ", + " #++# PRESSING R WHILE #+# ", + " #++# STANDING NEXT TO IT #+# ", + " #%%# #+# ", + " #++# YOU CAN OPEN #+# ", + " YOU CAN FIGHT BY #++# OR CLOSE DOORS #+# ", + " PRESSING F WHILE #++# THIS WAY #+# m", + " STANDING NEXT TO #++# #+# m", + " THE TARGET #++# #+# m", + " ##############%%### #+# m", + " #++++++&+&+&++++++# #+# m", + " #+++++++++++++++++# #+# mm", + "################+++++++++++++++++# #+# m~", + "#++++++++++++++++++++++++++++++++# #+# m~", + "#+++++++++++++++++++++&+&+&++++++# #+# m~", + "#+++############################## #+# mm", + "#+++# TRY FIGHTING #+# m", + "#+++# THESE DUMMIES #+# m", + "#+++# #+# m", + "#+++# ENEMIES AND SOME #+# ", + "#+^+# OBJECTS CAN HARM #+# ", + "#+++# YOU #+# ", + "#+++# #+# ", + "#^+^# SOMETIMES #+# ", + "#+^+# THIS IS #+# ", + "#++^# UNAVOIDABLE #+# ", + "#+++# #+# ", + "#+++# YOU SLOWLY REGAIN #+# ", + "#+++# HEALTH OVER TIME #+# ", + "#+++################################### #+# ", + "#++++++++;++++++++;;++++++++++++++++++# YOU CAN DROP #+# ", + "#++++++++++++++++++++++++++;++++++++++# THEM AGAIN #+# ", + "#+++++;+++++++++;;++++++;+++++++++++++# WITH THE Q KEY #+# ", + "###################################+++# #+# ", + " YOU CAN PICK UP OBJECTS #+++# #+# ", + " WITH THE E KEY #+++# YOU CAN #+# ", + " TRY PICKING UP SOME SEEDS #+++# USE ITEMS #+# ", + " #+++# IN YOUR #+# ", + " YOU CAN PLANT #+++# INVENTORY #+# ", + " SEEDS IN THE #+++# BY PRESSING #+# ", + " GROUND BY m#+++# SHIFT E #+# ", + " USING THEM mmm,,++#m #+# ", + " mmmmmmmm,,,,+,,mm BE PATIENT OR #+# ", + " HARVEST CROPS mmmm,,,,,,,,,,,+,,,mm COME BACK #+# ", + " BY INTERACTING mm,,,,,,,,,,,,,,+,,,,m LATER #+# ", + " WITH THEM m,,...,,.$.,,...+,,,,m #+# ", + " mm,,...,,...,,...+,,,mm RADISHES TAKE #+# ", + " YOU CAN EAT m,,,...,,...,,...+,,,m AROUND TEN #+# ", + " FOOD TO m,,,,+++++++++++++,,,m MINUTES TO #+# ", + " REGAIN HEALTH m,,,,,,,,..$,,...+,,,m GROW #+# ", + " mmm,,,,,,...,,...+,,###################+# ", + " mmmmmm,...,,...+++++++++++++++++++++++# ", + " FOLLOW THE TUNNEL mmmmmmmmmmmm###################### ", + " TO LEAVE THE TUTORIAL YOU CAN ALWAYS COME BACK" + ], + "mapping": { + ",": ["grass"], + "#": ["wall"], + ".": ["ground"], + "+": ["floor"], + "$": ["grass", "radishplant"], + "~": ["water"], + "=": ["water", "bridge"], + "m": ["rock"], + "^": [{"type": "spiketrap", "kwargs": {"damage": 3}} + , "ground"], + "d": ["ground", { + "type": "spawner", + "args": [{"type": "dummy"}, 1, 600], + "kwargs": {"initial_spawn": true} + }], + "%": ["floor", "closeddoor"], + "&": [{ + "type": "spawner", + "args": [{"type": "dummy"}, 1, 300], + "kwargs": {"initial_spawn": true} + }], + "1": [{ + "type": "portal", + "args": ["begin","cavebridge"] + }, "floor"], + ";": ["floor", { + "type": "spawner", + "args": [{"type": "radishseed"}, 1, 600], + "kwargs": {"initial_spawn": true} + }], + "A": [{"type": "letter", "args": ["A"]}], + "B": [{"type": "letter", "args": ["B"]}], + "C": [{"type": "letter", "args": ["C"]}], + "D": [{"type": "letter", "args": ["D"]}], + "E": [{"type": "letter", "args": ["E"]}], + "F": [{"type": "letter", "args": ["F"]}], + "G": [{"type": "letter", "args": ["G"]}], + "H": [{"type": "letter", "args": ["H"]}], + "I": [{"type": "letter", "args": ["I"]}], + "J": [{"type": "letter", "args": ["J"]}], + "K": [{"type": "letter", "args": ["K"]}], + "L": [{"type": "letter", "args": ["L"]}], + "M": [{"type": "letter", "args": ["M"]}], + "N": [{"type": "letter", "args": ["N"]}], + "O": [{"type": "letter", "args": ["O"]}], + "P": [{"type": "letter", "args": ["P"]}], + "Q": [{"type": "letter", "args": ["Q"]}], + "R": [{"type": "letter", "args": ["R"]}], + "S": [{"type": "letter", "args": ["S"]}], + "T": [{"type": "letter", "args": ["T"]}], + "U": [{"type": "letter", "args": ["U"]}], + "V": [{"type": "letter", "args": ["V"]}], + "W": [{"type": "letter", "args": ["W"]}], + "X": [{"type": "letter", "args": ["X"]}], + "Y": [{"type": "letter", "args": ["Y"]}], + "Z": [{"type": "letter", "args": ["Z"]}], + "_": [{"type": "letter", "args": [" "]}], + " ": [] + } +} |
