diff --git a/data/json/mapgen/sand_pit/sand_pit.json b/data/json/mapgen/sand_pit/sand_pit.json new file mode 100644 index 0000000000000..5291fd1eb78df --- /dev/null +++ b/data/json/mapgen/sand_pit/sand_pit.json @@ -0,0 +1,213 @@ +[ + { + "type": "palette", + "id": "sand_pit_palette", + "terrain": { + "-": "t_railroad_rubble", + "M": "t_railroad_rubble", + "8": "t_railroad_rubble", + "9": "t_railroad_rubble", + "0": "t_railroad_rubble", + "~": "t_sand", + "5": "t_sand", + "6": "t_sand", + "7": "t_sand", + "■": [ [ "t_grass", 50 ], [ "t_grass_long", 25 ], [ "t_grass_tall", 10 ], [ "t_grass_dead", 5 ] ], + "░": [ [ "t_dirt", 25 ], [ "t_region_groundcover", 1 ] ], + "▓": [ [ "t_pavement", 20 ], [ "t_region_groundcover_urban", 1 ] ], + "x": "t_open_air", + "1": "t_earth_ramp_down_low", + "2": "t_earth_ramp_down_high", + "3": "t_earth_ramp_up_low", + "4": "t_earth_ramp_up_high", + "≈": "t_water_sh" + }, + "furniture": { + "M": "f_machinery_old", + "■": [ [ "f_region_weed", 1 ], [ "f_null", 25 ] ], + "5": "f_sand_mound_short", + "6": "f_sand_mound_mid", + "7": "f_sand_mound_tall", + "8": "f_gravel_mound_short", + "9": "f_gravel_mound_mid", + "0": "f_gravel_mound_tall" + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ + [ "sand_pit_NW", "sand_pit_N", "sand_pit_NE" ], + [ "sand_pit_W", "sand_pit_M", "sand_pit_E" ], + [ "sand_pit_SW", "sand_pit_S", "sand_pit_SE" ] + ], + "object": { + "fallback_predecessor_mapgen": "field", + "flags": [ "ERASE_ALL_BEFORE_PLACING_TERRAIN" ], + "rows": [ + " ■■■■■ ", + " ■■■■■■■ ~~~ ", + " ■■■■■■■■ ■■ ■■■ ■■■■■■■ ~~~~ ", + " ■■■■■■■■■■ ■■■■■■■ ■■■■■■■■■■■■■ ~~~~~ ", + " ■■■~~~~~■■■■■ ■■■■■■■ ■■■■■■■■■■■■■■■ ~~~~~~ ", + " ■ ■■■■~~~655~■■■■■■■■■■■■■■ ■■■■■■■■■■---■■ ~~~~~~~~ ", + " ■■■■■■■■■■■~~~66555~■■■■■■■■■■■■■■ ■■■■■■■■-------~~~~~~~~~~~ ", + " ■■■■■■■■■~~67776555~■■■■■■~~■■■■■■■■■■■■■■-------~~~~~~~~~~~ ", + " ■■■■■■■~~67776655~~~~~~~~~~~~~~~~~~~~~~~----998--~~~~~~~~~~ ", + " ■■■■■■■~67766655~~~~~~~~~~~~~~~~~~~~~~~~---89098-~~~~~~~~~~~ ", + " ■■■■■■■~6776655~~~~~~~~~■■■■■■■■■■■■■~~~---8990988~~~~~~~~~~ ", + " ■■■■■■■~6766555~~~~~~~■■■■■■■■■■■■■■■■~~~----8890988-~~~~~~~~ ", + " ■■■■■■■~~67655~~~~~~~■■░░■■■░■░░░■■░■■■~~------899098-~~~~~~~~~~ ", + " ■■■■■x■■■~~6555~~~~~■■■░■░░░░░░░░░░■■░░░░~~~---~~~8098-~~~~~~~~~ ", + " ■■■■■xxx■■■~~~5~~~~~■■░░░░░░░░░░░░░■░■░░░░░■~~~~~~--9098-~~~~~~~~ ", + " ■■■■xxxxxx■■■~~~~~~~■░░░░░░░░░░░░░░░░░■■░░░░░░■■■■■---9098~~~~~~~ ", + " ■■■xxxxxxx■■■■~~~~~■░░░░░░░░░░░░░░░░░■░░░░░░░░░■■■■---9098-~~~~~~ ", + " ■■xxxxxxx■■■■■■■■░░░░░░░░░░░░░░░░░░░░■■░░░░░░░░░■■----9888-~~~~~ ", + " ■xxxxxxx■■■■■■■■░░░░░░░░░░░░░░░■░░░░■░■░■░░░░░░░■------8--~~~~ ", + " ■■xxxxxxxx■■■■░■░░░░░░░░░░■■░■░■■░░░░■■░■░░░░░░░░░---------~~~~ ", + " ■xxxxxxxxx■■■■░░░░░░░░░■■■░■░■■■░■■░■░░■■░■░░░░░░■---------~~~~~~ ", + " ■xxxxxxxxxx■■░░░░░░░░■■■░░░░░░░░░░░■■░■■■■░░░░░░░░---------~~~~~~ ", + " ■■xxxxxxxxxx■■░░░░░░░■■░░░░░░░░░░░░░░░░░░■■■░░░░░░■---------~~~~~ ", + " ■■xxxxxxxxxx■■░░░░░░■■■■░░░░■■■■■■■░░░░░░░░■░░░░░░■■--------~~~~~ ", + " ■■xxxxxxxxx■■■░░░░░■■■░░░░░■■■■■■■■■■■░░░■░■■░░░░░■■-------~~~~~~ ", + " ■■xxxxxxxx■■░░░░░░░■■░░░░■■■■■■■■■■■■■░░░░■░■░░░░░░■------~~~~~~ ", + " ■■■xxxxxxxx■■░░░░░░■░■░░░---■■■■■---■■■■░░░░■░■░░░░░░■----~~~~~~~ ", + " ■■■xxxxxxxx■■■░░░░■░■░░░■----■■-------■■■░░░■■░■░░░░░░---~~~~~~~~~ ", + " ■■■xxxxxxxxxx■░■░░░░■░░░░■--------------■■░░░░■░■░░░░░░■~~~~~~~~~~~~ ", + " ■■■xxxxxxxxxx■░░░░░░■■░░░■--------M-----■■■░░░░■■░░░░░░■■~~~~~~~~~~~ ", + " ■■■■xxxxxxxxx■░░░░░■■■░░░■--------M------■■■░░░■■░■░░░░░░~~~~~~~~~~ ", + " ■■■■xxxxxxxxx■■░░░░░■░░░░■------MMM------■■■■░░░■■░░░░░░■~~~~~~~~~ ", + " ■■■xxxxxxxxxx■░░░░░■░░░░░░--------M-------■■■░░░■░■■░░░░░~~~~~~~~~ ", + " ■■xxxxxxxxx■■■░░░░■░■░░░░--------M--------■■░░░░■░■░░░░■~~~~~~~~~~ ", + " ■■xxxxxxxx■■■░░░░░░■░░░░░■-----------------■░░░░■■░■░░░░~~~~~~~~~~ ", + " ■xxxxxxx■■■■~░░░░■░■░░░░■---■-------------■░░░░░■░░░░░■~~~~~~~~~~ ", + " ■■xxxxxxx■■■■~~░░░░■■░░░░■■-■■-------------■░░░░■■░░░░░■~~~~~~~~~~ ", + " ■■xxxxxxxx12~░░░░░░■░░░░░░■■■■■■-----------■░░░■■░■░░░░■~~~~~~~~~~ ", + " ■■xxxxxxxx12░░░░░░░░░■░░░░░░░░░■■----------░░░░■░■░░░░░■~~~~~~~~~~ ", + " ■xxxxxxxxx12░■░░■■■░■░■░░░░░░░░░■■-------░░░░░░░■░░░░░░░~~~~~~~~~~ ", + " ■xxxxxxxxx12■░■■░■░■■■░■■░░░░░░░░■■-░░░░■░░░░░░■■░░░░■■~~~~~~~~~~ ", + " ■xxxxxxxxx12~░░■■░■░░■░■░■■░░░░░░░░░░░░░░░░■■░■░░░░░░■---~~~~~~~~ ", + " ■■xxxxxxxx12~~░░░░░░░░░░░░░■░■░░░■■■■■░■░■■░░░■■░░░░■--8--~~~~~~~ ", + " ■xxxxxxxx12~~~~░░░■░■░░░░■■■■■■░■░░■■░■░░░░■░░░░░░░--898--~~~~~ ", + " ■■xxxxxx■■■■■■■■■■■■~~~░░░░░■■■■░░░░░░░░░░■░■░░░░░■--8908-~~ ", + " ■■xxxxxxx■■■■■■■■■~~~~~~~■░░░░■■░░░░░░░■■░■░░░░░░■--889008-~~ ", + " ■■xxxxxxxx■■■■■■■~~~555~~~░░░░░■■░░░■■░■■░░░░░░░░░---89008-~~ ", + " ■■xxxxxxx■■■■■■■~~56665~~■░░░░░░■░■░■░░░░░░░░■■■~--889008-~~ ", + " ■■xxxxxxx■■■■■■~~566766~~~░░░░░■░░░■░░░░░░■░░■-~~--889098-~~~~ ", + " ■■■xxxxx■■■■■■■~5667776~~~■░░░░░■░■░░░■░■■░■■■~---889009--~~~~ ", + " ■■■xxxx■■■■■■■■~5667776~~~░■░░░■░░░░░░░■■■■■■~----890098-~~~~~ ", + " ■■■xxx■■■■■■■■■~5667776~~~■░░░░■░■░░░■■■■■■■■~---8890098-~~~~~ ", + " ■■■xxx■■■■■■■■■~~566766~~~░░░░░■■░░░■■■■■■■■~----889098-~~~~~~ ", + " ■■x■■■■■■■■■■■~~56665~~░░░░░■░░░░■■■■~~■■■~---888909--~~~~~~~ ", + " ■■■■■■■■■■■■■~~~555~~~■░░░■░■░░░░░■■~~■■■~---889009--~~~~~~~ ", + " ■■■■■■■■■■■■■■~~~~~~~■░░░░■░░░░░■■■■~~~~■~---889009--~~~ ", + " ■■■■■■■■■■■■■■■~~~■■░░░░░■■░░░░■■■■~~~~~~---899008--~ ", + " ■■■■■■■■■■■■■■■■■■■■░░░░■■░░░░■■■■~~~~~~~~--89009-- ", + " ■■■■■■■■■■■■■■■■■■■■■░░░░■■░░░░■■~~~~~~~~~---8988-- ", + " ■■■■■■■■■■■■■■■■■■■■░░░■■■░■░░■~~~~~~~~~~~~---8--- ", + " ■■■■■■■■■■■■■■■■■■■■■░░░■■░░░░░~~~~~~~~~~~~ --- ", + " ■■■■■■■■■■■■■■■■■■■■░░░░░■■░░░■~~~~~~~~~~~ ", + " ■■■■■■■■■■■■■■■■■■■■■░░░■░░■░░░~~~~~~~~~~~ ", + " ■■■■■■■■■■■■■■■■■■■■■■░░░░■■░░░░■~~~~~~~~~ ", + " ■■■■■■■■■■■■■■■■■■■■■■░░░■■░░░░░░~~~~~~~~~ ", + " ■■■■■■■■■■■■■■■■■■■■■░░░░░░■■░░░░■~~~~~~~~ ", + " ■■■■ ■■■■■■■■■■■■■■■■░░░░■■░░░░░■■~~~~~ ", + " ■ ■■■■■■■■ ■■░░░░■■░░░░░■~~~~~ ", + " ■■■■■■■ ■░▓▓▓▓▓░░░░░░░~~~ ", + " ■■■■■■ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓~ ", + " ■■ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ", + " ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ " + ], + "signs": { "F": { "signage": "No trespassing\nNo dumping trash" } }, + "palettes": [ "sand_pit_palette" ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ + [ "sand_pit_NW_down", "sand_pit_N_down", "sand_pit_NE_down" ], + [ "sand_pit_W_down", "sand_pit_M_down", "sand_pit_E_down" ], + [ "sand_pit_SW_down", "sand_pit_S_down", "sand_pit_SE_down" ] + ], + "object": { + "predecessor_mapgen": "solid_earth", + "flags": [ "ERASE_ALL_BEFORE_PLACING_TERRAIN" ], + "rows": [ + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ≈ ", + " ≈≈≈ ", + " ≈≈≈≈≈≈ ", + " ≈≈≈≈≈≈≈ ", + " ≈≈≈≈≈≈≈ ", + " ≈≈≈≈≈≈≈ ", + " ≈≈≈≈≈≈≈≈ ", + " ≈≈≈≈≈≈≈≈≈ ", + " ≈≈≈≈≈≈≈≈≈≈ ", + " ≈≈≈≈≈≈≈≈≈≈ ", + " ≈≈≈≈≈≈≈≈≈≈ ", + " ≈≈≈≈≈≈≈≈≈ ", + " ≈≈≈≈≈≈≈≈ ", + " ≈≈≈≈≈≈≈≈ ", + " ~≈~~≈≈≈~ ", + " ~~~~~≈≈≈≈≈ ", + " ~~~~~~~≈≈≈ ", + " ~~~~~~~≈~ ", + " ~~~~~~~~~ ", + " ~~~~~~~~~~ ", + " ~~~~~~~~~ ", + " ~~~~~~~~ ", + " 5~~~~~~ ", + " 55~~~~~ ", + " 55~~~~~~34 ", + " 655~~~~~34 ", + " 7655~~~~~34 ", + " 7655~~~~~34 ", + " 7655~~~~~34 ", + " 7655~~~~34 ", + " 7655~~~~34 ", + " 7655~~ ", + " 76555~~ ", + " 76655~~~ ", + " 7655~~~ ", + " 7655~~~ ", + " 76555 ", + " 7665 ", + " 777 ", + " 777 ", + " 7 ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + ], + "palettes": [ "sand_pit_palette" ] + } + } +] diff --git a/data/json/overmap/overmap_special/specials.json b/data/json/overmap/overmap_special/specials.json index 50b0d098a70a7..b460e5e888bcb 100644 --- a/data/json/overmap/overmap_special/specials.json +++ b/data/json/overmap/overmap_special/specials.json @@ -6778,5 +6778,33 @@ "occurrences": [ 50, 100 ], "connections": [ { "point": [ 2, 4, 0 ], "terrain": "forest_trail", "connection": "forest_trail", "from": [ 2, 0, 0 ] } ], "flags": [ "WILDERNESS", "GLOBALLY_UNIQUE", "MAN_MADE" ] + }, + { + "type": "overmap_special", + "id": "sand_pit", + "overmaps": [ + { "point": [ 0, 0, 0 ], "overmap": "sand_pit_NW_north" }, + { "point": [ 1, 0, 0 ], "overmap": "sand_pit_N_north" }, + { "point": [ 2, 0, 0 ], "overmap": "sand_pit_NE_north" }, + { "point": [ 0, 1, 0 ], "overmap": "sand_pit_W_north" }, + { "point": [ 1, 1, 0 ], "overmap": "sand_pit_M_north" }, + { "point": [ 2, 1, 0 ], "overmap": "sand_pit_E_north" }, + { "point": [ 0, 2, 0 ], "overmap": "sand_pit_SW_north" }, + { "point": [ 1, 2, 0 ], "overmap": "sand_pit_S_north" }, + { "point": [ 2, 2, 0 ], "overmap": "sand_pit_SE_north" }, + { "point": [ 0, 0, -1 ], "overmap": "sand_pit_NW_down_north" }, + { "point": [ 1, 0, -1 ], "overmap": "sand_pit_N_down_north" }, + { "point": [ 2, 0, -1 ], "overmap": "sand_pit_NE_down_north" }, + { "point": [ 0, 1, -1 ], "overmap": "sand_pit_W_down_north" }, + { "point": [ 1, 1, -1 ], "overmap": "sand_pit_M_down_north" }, + { "point": [ 2, 1, -1 ], "overmap": "sand_pit_E_down_north" }, + { "point": [ 0, 2, -1 ], "overmap": "sand_pit_SW_down_north" }, + { "point": [ 1, 2, -1 ], "overmap": "sand_pit_S_down_north" }, + { "point": [ 2, 2, -1 ], "overmap": "sand_pit_SE_down_north" } + ], + "connections": [ { "point": [ 1, 3, 0 ], "terrain": "road", "connection": "local_road", "from": [ 1, 2, 0 ] } ], + "locations": [ "land" ], + "occurrences": [ 1, 3 ], + "flags": [ "CLASSIC", "MAN_MADE" ] } ] diff --git a/data/json/overmap/overmap_terrain/overmap_terrain.json b/data/json/overmap/overmap_terrain/overmap_terrain.json index 88f9580bd3ede..d702647b44e95 100644 --- a/data/json/overmap/overmap_terrain/overmap_terrain.json +++ b/data/json/overmap/overmap_terrain/overmap_terrain.json @@ -1150,5 +1150,33 @@ "extras": "field", "travel_cost_type": "field", "flags": [ "NO_ROTATE" ] + }, + { + "type": "overmap_terrain", + "id": [ + "sand_pit_NW", + "sand_pit_N", + "sand_pit_NE", + "sand_pit_W", + "sand_pit_M", + "sand_pit_E", + "sand_pit_SW", + "sand_pit_S", + "sand_pit_SE", + "sand_pit_NW_down", + "sand_pit_N_down", + "sand_pit_NE_down", + "sand_pit_W_down", + "sand_pit_M_down", + "sand_pit_E_down", + "sand_pit_SW_down", + "sand_pit_S_down", + "sand_pit_SE_down" + ], + "name": "sand pit", + "sym": "#", + "color": "yellow", + "vision_levels": "blends_till_outlines", + "flags": [ "REQUIRES_PREDECESSOR" ] } ]