From 3a121199eb32ababda476f4eb9cab29139490ff7 Mon Sep 17 00:00:00 2001 From: Marc Date: Sat, 15 Jun 2024 12:49:46 -0600 Subject: [PATCH] [Aftershock] Add Solar Array Special (#74498) * Add Solar Array Mapgen with two solar panel layout variants. * Add a robot recharging station to the building. * Fix Road Connection point * Add Robot spawn group to inside building. * Lint Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Maleclypse <54345792+Maleclypse@users.noreply.github.com> --- .../Aftershock/maps/mapgen/solar_array.json | 159 ++++++++++++++++++ .../Aftershock/maps/overmap_specials.json | 16 ++ .../mods/Aftershock/maps/overmap_terrain.json | 10 ++ 3 files changed, 185 insertions(+) create mode 100644 data/mods/Aftershock/maps/mapgen/solar_array.json diff --git a/data/mods/Aftershock/maps/mapgen/solar_array.json b/data/mods/Aftershock/maps/mapgen/solar_array.json new file mode 100644 index 0000000000000..ed82c502007a7 --- /dev/null +++ b/data/mods/Aftershock/maps/mapgen/solar_array.json @@ -0,0 +1,159 @@ +[ + { + "type": "mapgen", + "method": "json", + "om_terrain": [ [ "afs_solar_arrary_a1", "afs_solar_array_a2" ] ], + "object": { + "fill_ter": "t_metal_floor", + "rows": [ + " ", + " 1111111111111111111111 ", + " 1 1 ", + " 1 1 ", + " 1 1©©© ©©© ©©© ©© ©© ©", + " 1 //#//////©¢¢¢ ¢ ¢¢¢ ¢ ¢¢©", + " 1 /3'/Fohy/ ¢ ¢ ¢¢¢¢¢ ¢ ", + " 1 /3./.'hy/©¢¢ ¢¢¢ ¢ ¢¢¢ ¢©", + " 1 //:/://// ¢¢ ¢ ¢¢¢ ©", + " 1 =k.../'*/©¢¢¢ ¢¢ ¢¢¢¢¢ ¢©", + " 1 =ch..:.&/©††† ††¢ ¢¢ ¢¢¢¢©", + " 1 =k.'.////©¢¢ ¢¢¢ ¢ ¢¢¢©", + " 1 =ch..:'❶/ ¢¢¢ ¢ ¢¢¢ ¢¢¢ ", + " 1 =k.../.❺/©¢¢ ¢¢ ¢¢¢¢¢ ¢ ©", + " 1 =4..%/❻❷/©¢¢ ¢¢¢¢¢ ¢ ", + " 1 //!////// ††††††¢¢¢¢ ¢¢¢¢ ", + " 1 1/'l/©©©©©¢¢ ¢¢¢ ¢ ¢ ¢©", + " 1 1/.l/ ℗℗©©¢ ¢¢ ¢¢¢ ¢¢¢ ©", + " 1 1/!//©℗℗b©¢¢¢ ¢¢ ¢¢ ¢¢ ¢©", + " 1 1©© ©©℗℗b©¢¢¢¢¢¢¢ ¢¢ ", + " 1 2 © ℗℗©©© ©©©©¢¢¢¢ ¢¢ ¢ ", + " 1 1© © © ©©¢¢ ¢ ¢©", + " 1111111111111111111111©©©©©© © ©©©©¢¢¢ ¢¢¢©", + " ©© ©©© ©©© ¢¢¢¢ ¢¢ ©" + ], + "palettes": [ "afs_habitat_structure", "afs_habitat_exterior", "afs_habitat_residential_furnishing", "afs_habitat_life_support" ], + "terrain": { "1": "t_chainfence", "2": "t_chaingate_c", "b": "t_sidewalk" }, + "furniture": { "3": "f_server", "4": "f_drone_recharge_station" }, + "place_monster": [ + { "group": "AFS_GROUP_RUIN_MOXIE", "x": [ 0, 23 ], "y": [ 0, 23 ], "pack_size": [ 1, 3 ], "chance": 40 }, + { "group": "AFS_GROUP_RUIN_MOXIE", "x": [ 24, 47 ], "y": [ 0, 23 ], "pack_size": [ 1, 3 ], "chance": 40 }, + { "group": "AFS_GROUP_ROBOT_LOW_RISK", "x": [ 24, 29 ], "y": [ 6, 14 ], "pack_size": [ 1, 3 ], "chance": 50 } + ], + "place_nested": [ + { "chunks": [ [ "null", 80 ], [ "afs_map_lights_on", 20 ] ], "x": 24, "y": 0 }, + { + "chunks": [ [ "afs_solar_array_panels_lines", 50 ], [ "afs_solar_array_panels_circle", 50 ] ], + "x": 0, + "y": 0 + } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ [ "afs_solar_arrary_a1_roof", "afs_solar_array_a2_roof" ] ], + "object": { + "fill_ter": "t_metal_floor", + "rows": [ + " ", + " ", + " ", + " ", + " ", + " [[[[[[[[[ ", + " [£££££££[ ", + " [£££1£1£[ ", + " [£££££££[ ", + " [£££2£2£[ ", + " [£££2£2£[ ", + " [£££2£2£[ ", + " [£££££££[ ", + " [£3£££££[ ", + " [£££££££[ ", + " [[££[[[[[ ", + " [££[ ", + " [££[ ", + " [[[[ ", + " ", + " ", + " ", + " ", + " " + ], + "palettes": [ "afs_habitat_structure", "afs_habitat_exterior" ], + "terrain": { " ": "t_open_air" }, + "furniture": { "1": "f_small_satelitte_dish", "2": "f_vent_pipe", "3": "f_standing_tank" } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "afs_solar_array_panels_lines", + "object": { + "mapgensize": [ 24, 24 ], + "rows": [ + " ", + " ", + " ", + " 11111 11111 11111 ", + " 11111 11111 11111 ", + " ", + " ", + " 11111 11111 11111 ", + " 11111 11111 11111 ", + " ", + " ", + " 11111 11111 11111 ", + " 11111 11111 11111 ", + " ", + " ", + " 11111 11111 11111 ", + " 11111 11111 11111 ", + " ", + " ", + " 11111 11111 11111 ", + " 11111 11111 11111 ", + " ", + " ", + " " + ], + "furniture": { "1": "f_solar_unit" } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "afs_solar_array_panels_circle", + "object": { + "mapgensize": [ 24, 24 ], + "rows": [ + " ", + " ", + " ", + " 1111 1111 ", + " 11111 11111 ", + " 111 111 ", + " 111 111 111 111 ", + " 11 1111 1111 11 ", + " 11 111 111 11 ", + " 11 11 11 11 ", + " 11 11 ", + " 22 ", + " 22 ", + " 11 11 ", + " 11 11 11 11 ", + " 11 111 111 11 ", + " 11 1111 1111 11 ", + " 111 111 111 111 ", + " 111 111 ", + " 11111 11111 ", + " 1111 1111 ", + " ", + " ", + " " + ], + "furniture": { "1": "f_solar_unit", "2": "f_capacitor" } + } + } +] diff --git a/data/mods/Aftershock/maps/overmap_specials.json b/data/mods/Aftershock/maps/overmap_specials.json index 2be29c5661725..5b6c028fc1524 100644 --- a/data/mods/Aftershock/maps/overmap_specials.json +++ b/data/mods/Aftershock/maps/overmap_specials.json @@ -252,6 +252,22 @@ "occurrences": [ 0, 2 ], "flags": [ "MAN_MADE", "EXOPLANET" ] }, + { + "type": "overmap_special", + "id": "afs_solar_array", + "overmaps": [ + { "point": [ 1, 0, 0 ], "overmap": "afs_solar_arrary_a1_south" }, + { "point": [ 0, 0, 0 ], "overmap": "afs_solar_array_a2_south" }, + { "point": [ 1, 0, 1 ], "overmap": "afs_solar_arrary_a1_roof_south" }, + { "point": [ 0, 0, 1 ], "overmap": "afs_solar_array_a2_roof_south" } + ], + "connections": [ { "point": [ 0, -1, 0 ], "terrain": "road" } ], + "locations": [ "land" ], + "city_distance": [ 7, -1 ], + "city_sizes": [ 10, -1 ], + "occurrences": [ 0, 2 ], + "flags": [ "MAN_MADE", "EXOPLANET" ] + }, { "type": "overmap_special", "id": "afs_power_station_small", diff --git a/data/mods/Aftershock/maps/overmap_terrain.json b/data/mods/Aftershock/maps/overmap_terrain.json index 31127b8eef742..5fecefb8222f5 100644 --- a/data/mods/Aftershock/maps/overmap_terrain.json +++ b/data/mods/Aftershock/maps/overmap_terrain.json @@ -420,6 +420,16 @@ "mondensity": 2, "flags": [ "SIDEWALK" ] }, + { + "type": "overmap_terrain", + "name": "Solar Array", + "id": [ "afs_solar_arrary_a1", "afs_solar_array_a2", "afs_solar_arrary_a1_roof", "afs_solar_array_a2_roof" ], + "sym": "S", + "color": "light_blue", + "see_cost": 3, + "mondensity": 2, + "flags": [ "SIDEWALK" ] + }, { "type": "overmap_terrain", "name": "Malamute Transport Wreck",