diff --git a/data/json/furniture_and_terrain/terrain-floors-indoor.json b/data/json/furniture_and_terrain/terrain-floors-indoor.json index aaa5c27b44936..56221006cd200 100644 --- a/data/json/furniture_and_terrain/terrain-floors-indoor.json +++ b/data/json/furniture_and_terrain/terrain-floors-indoor.json @@ -342,6 +342,29 @@ ] } }, + { + "type": "terrain", + "id": "t_broken_metal_floor", + "name": "broken metal floor", + "description": "Something has cratered this metal flooring. It will be difficult to move things across.", + "symbol": ".", + "color": "light_cyan", + "move_cost": 2, + "roof": "t_flat_roof", + "flags": [ "TRANSPARENT", "INDOORS" ], + "bash": { + "sound": "thump", + "ter_set": "t_null", + "str_min": 200, + "str_max": 500, + "str_min_supported": 200, + "items": [ + { "item": "steel_lump", "count": [ 1, 4 ] }, + { "item": "steel_chunk", "count": [ 3, 12 ] }, + { "item": "scrap", "count": [ 9, 36 ] } + ] + } + }, { "type": "terrain", "id": "t_floor", diff --git a/data/mods/Aftershock/itemgroups/arcology_groups.json b/data/mods/Aftershock/itemgroups/arcology_groups.json new file mode 100644 index 0000000000000..f359745f279da --- /dev/null +++ b/data/mods/Aftershock/itemgroups/arcology_groups.json @@ -0,0 +1,7 @@ +[ + { + "id": "arcology_vitamin_shop", + "type": "item_group", + "items": [ [ "cream_prot_cold", 25 ], [ "cream_greater_prot_cold", 5 ], [ "homeopathic_pills", 80 ] ] + } +] diff --git a/data/mods/Aftershock/maps/city_buildings.json b/data/mods/Aftershock/maps/city_buildings.json index 9d1c3795747b1..433d78bd2a18c 100644 --- a/data/mods/Aftershock/maps/city_buildings.json +++ b/data/mods/Aftershock/maps/city_buildings.json @@ -13,6 +13,72 @@ ], "locations": [ "land" ] }, + { + "id": "afs_city_arcology1", + "type": "city_building", + "//": "needs work. remember to check against notes on phone", + "overmaps": [ + { "point": [ 0, 0, 0 ], "overmap": "arcology_interior_center_robots_north" }, + { "point": [ -1, 0, 0 ], "overmap": "arcology_interior_w_side_robots_north" }, + { "point": [ 1, 0, 0 ], "overmap": "arcology_interior_e_side_robots_north" }, + { "point": [ 0, -1, 0 ], "overmap": "arcology_interior_n_side_robots_north" }, + { "point": [ 0, 1, 0 ], "overmap": "arcology_interior_s_side_robots_north" }, + { "point": [ 1, -1, 0 ], "overmap": "arcology_interior_ne_corner_robots_north" }, + { "point": [ -1, -1, 0 ], "overmap": "arcology_interior_nw_corner_robots_north" }, + { "point": [ 1, 1, 0 ], "overmap": "arcology_interior_se_corner_robots_north" }, + { "point": [ -1, 1, 0 ], "overmap": "arcology_interior_sw_corner_robots_north" }, + { "point": [ -2, 1, 0 ], "overmap": "arcology_exterior_w_side_robots_north" }, + { "point": [ -2, 0, 0 ], "overmap": "arcology_exterior_w_entrance_robots_north" }, + { "point": [ -2, -1, 0 ], "overmap": "arcology_exterior_w_side_robots_north" }, + { "point": [ 2, 1, 0 ], "overmap": "arcology_exterior_e_side_robots_north" }, + { "point": [ 2, 0, 0 ], "overmap": "arcology_exterior_e_entrance_robots_north" }, + { "point": [ 2, -1, 0 ], "overmap": "arcology_exterior_e_side_robots_north" }, + { "point": [ -1, -2, 0 ], "overmap": "arcology_exterior_n_side_robots_north" }, + { "point": [ 0, -2, 0 ], "overmap": "arcology_exterior_n_entrance_robots_north" }, + { "point": [ 1, -2, 0 ], "overmap": "arcology_exterior_n_side_robots_north" }, + { "point": [ 1, 2, 0 ], "overmap": "arcology_exterior_s_side_robots_north" }, + { "point": [ 0, 2, 0 ], "overmap": "arcology_exterior_s_entrance_robots_north" }, + { "point": [ -1, 2, 0 ], "overmap": "arcology_exterior_s_side_robots_north" }, + { "point": [ 2, -2, 0 ], "overmap": "arcology_exterior_ne_corner_robots_north" }, + { "point": [ -2, -2, 0 ], "overmap": "arcology_exterior_nw_corner_robots_north" }, + { "point": [ 2, 2, 0 ], "overmap": "arcology_exterior_se_corner_robots_north" }, + { "point": [ -2, 2, 0 ], "overmap": "arcology_exterior_sw_corner_robots_north" } + ], + "locations": [ "land" ] + }, + { + "id": "afs_city_arcology2", + "type": "city_building", + "//": "needs work. remember to check against notes on phone", + "overmaps": [ + { "point": [ 0, 0, 0 ], "overmap": "arcology_interior_center_uplifts_north" }, + { "point": [ -1, 0, 0 ], "overmap": "arcology_interior_w_side_uplifts_north" }, + { "point": [ 1, 0, 0 ], "overmap": "arcology_interior_e_side_uplifts_north" }, + { "point": [ 0, -1, 0 ], "overmap": "arcology_interior_n_side_uplifts_north" }, + { "point": [ 0, 1, 0 ], "overmap": "arcology_interior_s_side_uplifts_north" }, + { "point": [ 1, -1, 0 ], "overmap": "arcology_interior_ne_corner_uplifts_north" }, + { "point": [ -1, -1, 0 ], "overmap": "arcology_interior_nw_corner_uplifts_north" }, + { "point": [ 1, 1, 0 ], "overmap": "arcology_interior_se_corner_uplifts_north" }, + { "point": [ -1, 1, 0 ], "overmap": "arcology_interior_sw_corner_uplifts_north" }, + { "point": [ -2, 1, 0 ], "overmap": "arcology_exterior_w_side_uplifts_north" }, + { "point": [ -2, 0, 0 ], "overmap": "arcology_exterior_w_entrance_uplifts_north" }, + { "point": [ -2, -1, 0 ], "overmap": "arcology_exterior_w_side_uplifts_north" }, + { "point": [ 2, 1, 0 ], "overmap": "arcology_exterior_e_side_uplifts_north" }, + { "point": [ 2, 0, 0 ], "overmap": "arcology_exterior_e_entrance_uplifts_north" }, + { "point": [ 2, -1, 0 ], "overmap": "arcology_exterior_e_side_uplifts_north" }, + { "point": [ -1, -2, 0 ], "overmap": "arcology_exterior_n_side_uplifts_north" }, + { "point": [ 0, -2, 0 ], "overmap": "arcology_exterior_n_entrance_uplifts_north" }, + { "point": [ 1, -2, 0 ], "overmap": "arcology_exterior_n_side_uplifts_north" }, + { "point": [ 1, 2, 0 ], "overmap": "arcology_exterior_s_side_uplifts_north" }, + { "point": [ 0, 2, 0 ], "overmap": "arcology_exterior_s_entrance_uplifts_north" }, + { "point": [ -1, 2, 0 ], "overmap": "arcology_exterior_s_side_uplifts_north" }, + { "point": [ 2, -2, 0 ], "overmap": "arcology_exterior_ne_corner_uplifts_north" }, + { "point": [ -2, -2, 0 ], "overmap": "arcology_exterior_nw_corner_uplifts_north" }, + { "point": [ 2, 2, 0 ], "overmap": "arcology_exterior_se_corner_uplifts_north" }, + { "point": [ -2, 2, 0 ], "overmap": "arcology_exterior_sw_corner_uplifts_north" } + ], + "locations": [ "land" ] + }, { "type": "city_building", "id": "afs_astrobiology_lab", diff --git a/data/mods/Aftershock/maps/terrain.json b/data/mods/Aftershock/maps/furniture_and_terrain/terrain.json similarity index 100% rename from data/mods/Aftershock/maps/terrain.json rename to data/mods/Aftershock/maps/furniture_and_terrain/terrain.json diff --git a/data/mods/Aftershock/maps/terrain_floraxeno.json b/data/mods/Aftershock/maps/furniture_and_terrain/terrain_floraxeno.json similarity index 100% rename from data/mods/Aftershock/maps/terrain_floraxeno.json rename to data/mods/Aftershock/maps/furniture_and_terrain/terrain_floraxeno.json diff --git a/data/mods/Aftershock/maps/terrain_groundxeno.json b/data/mods/Aftershock/maps/furniture_and_terrain/terrain_groundxeno.json similarity index 100% rename from data/mods/Aftershock/maps/terrain_groundxeno.json rename to data/mods/Aftershock/maps/furniture_and_terrain/terrain_groundxeno.json diff --git a/data/mods/Aftershock/maps/terrain_spaceship.json b/data/mods/Aftershock/maps/furniture_and_terrain/terrain_spaceship.json similarity index 100% rename from data/mods/Aftershock/maps/terrain_spaceship.json rename to data/mods/Aftershock/maps/furniture_and_terrain/terrain_spaceship.json diff --git a/data/mods/Aftershock/maps/mapgen/arcology_ground.json b/data/mods/Aftershock/maps/mapgen/arcology_ground.json new file mode 100644 index 0000000000000..5dcbdcfd2f87f --- /dev/null +++ b/data/mods/Aftershock/maps/mapgen/arcology_ground.json @@ -0,0 +1,867 @@ +[ + { + "type": "mapgen", + "method": "json", + "om_terrain": [ "arcology_exterior_nw_corner_uplifts", "arcology_exterior_nw_corner_robots" ], + "weight": 100, + "//": "Arcology general principles. Ground floor will be mostly shops and the like. Living quarters and administration/white collar goes up. Manufacturing and secure locations go down. Mostly filled with nested chunks respecting hallways. Stairs and elevators are in center generally. Make separate specials that have unique locations inside of them.", + "//2": "There 19 rows vertically and 16 horizontally inside the walls this tile. This will house 2 8x8 nested chunks.", + "//3": "Once dev master becomes 0.F experimental convert reinforced glass to whatever glass we are using for prepnet orchard.", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,||||||||||||||||||", + ",,,,,,||||||||||||||||||", + ",,,,,,||1_______________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,((________________", + ",,,,,,((________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||1_______________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,((________________", + ",,,,,,((________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,óó________________" + ], + "palettes": [ "arcology_exterior" ], + "nested": { "1": { "chunks": [ [ "arcology_8x8_foodplace", 20 ], [ "arcology_8x8_electronic", 20 ] ] } }, + "place_loot": [ { "group": "office_mess", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 50, "repeat": [ 1, 4 ] } ], + "place_monsters": [ { "monster": "AFS_GROUP_ROBOT_LOW_RISK", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 10, "density": 0.1 } ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ "arcology_exterior_w_side_robots", "arcology_exterior_w_side_uplifts" ], + "weight": 100, + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,óó________________", + ",,,,,,||1_______________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,((________________", + ",,,,,,((________________", + ",,,,,,((________________", + ",,,,,,||1_______________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,óó________________" + ], + "palettes": [ "arcology_exterior" ], + "nested": { "1": { "chunks": [ [ "room_10x10_junk_S", 20 ], [ "room_10x10_junk_N", 20 ] ] } }, + "place_loot": [ { "group": "office_mess", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 50, "repeat": [ 1, 4 ] } ], + "place_monsters": [ { "monster": "AFS_GROUP_ROBOT_LOW_RISK", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 10, "density": 0.1 } ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ "arcology_exterior_w_entrance_robots", "arcology_exterior_w_entrance_uplifts" ], + "weight": 100, + "//": "Turn gate into a 8x8 nested chunk that can be a closed gate working console, closed gate broken console, broken gate working console, broken gate broken console, open gate working console, open gate broken console.", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,||________________", + ",,,,,,||1_______________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + "3,,,,,||________________", + ",,,,,,OO________________", + ",,,,,,OO________________", + ",,,,,,OO________________", + ",,,,,,OO________________", + ",,,,,,OO________________", + ",,,,,,OO________________", + ",,,,,,||________________", + ",,,,,,||2_______________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________" + ], + "palettes": [ "arcology_exterior" ], + "nested": { + "1": { "chunks": [ [ "greenhouse_6x6_herbal", 20 ], [ "greenhouse_6x6_vegetable", 20 ] ] }, + "2": { "chunks": [ [ "greenhouse_6x6_herbal", 20 ], [ "greenhouse_6x6_vegetable", 20 ] ] }, + "3": { + "chunks": [ + [ "arcology_8x8_gate_w_1", 10 ], + [ "arcology_8x8_gate_w_2", 20 ], + [ "arcology_8x8_gate_w_3", 20 ], + [ "arcology_8x8_gate_w_4", 10 ], + [ "arcology_8x8_gate_w_5", 20 ], + [ "arcology_8x8_gate_w_6", 10 ] + ] + } + }, + "place_loot": [ { "group": "office_mess", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 50, "repeat": [ 1, 4 ] } ], + "place_monsters": [ { "monster": "AFS_GROUP_ROBOT_LOW_RISK", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 10, "density": 0.1 } ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ "arcology_exterior_sw_corner_robots", "arcology_exterior_sw_corner_uplifts" ], + "weight": 100, + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,||________________", + ",,,,,,||1_______________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,((________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,óó________________", + ",,,,,,óó________________", + ",,,,,,||1_______________", + ",,,,,,||________2_______", + ",,,,,,((________________", + ",,,,,,((________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||________________", + ",,,,,,||||((|||||||||||ó", + ",,,,,,||||((|||||||||||ó", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,," + ], + "palettes": [ "arcology_exterior" ], + "nested": { + "1": { "chunks": [ [ "arcology_8x8_electronic", 20 ], [ "arcology_8x8_foodplace", 20 ] ] }, + "2": { "chunks": [ [ "lab_spawn_7x7", 20 ], [ "lab_spawn_7x7_crossdoors", 20 ] ] } + }, + "place_loot": [ { "group": "office_mess", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 50, "repeat": [ 1, 4 ] } ], + "place_monsters": [ { "monster": "AFS_GROUP_ROBOT_LOW_RISK", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 10, "density": 0.1 } ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ "arcology_exterior_s_side_robots", "arcology_exterior_s_side_uplifts" ], + "weight": 100, + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "1_______________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "ó||||||||||||||||||||||ó", + "ó||||||||||||||||||||||ó", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,," + ], + "palettes": [ "arcology_exterior" ], + "nested": { "1": { "chunks": [ [ "arcology_24x24_s", 20 ], [ "arcology_24x24_s", 20 ] ] } }, + "place_loot": [ { "group": "office_mess", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 50, "repeat": [ 1, 4 ] } ], + "place_monsters": [ { "monster": "AFS_GROUP_ROBOT_LOW_RISK", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 10, "density": 0.1 } ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ "arcology_exterior_s_entrance_robots", "arcology_exterior_s_entrance_uplifts" ], + "weight": 100, + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "2_____________2_________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "1_______________1_______", + "________________________", + "________________________", + "________________________", + "________________________", + "________3_______________", + "________________________", + "________________________", + "|||||||||OOOOOO|||||||||", + "|||||||||OOOOOO|||||||||", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,," + ], + "palettes": [ "arcology_exterior" ], + "nested": { + "1": { "chunks": [ [ "arcology_8x8_foodplace", 20 ], [ "arcology_8x8_electronic", 20 ] ] }, + "2": { "chunks": [ [ "room_10x10_junk_S", 20 ], [ "room_10x10_junk_N", 20 ] ] }, + "3": { + "chunks": [ + [ "arcology_8x8_gate_s_1", 10 ], + [ "arcology_8x8_gate_s_2", 20 ], + [ "arcology_8x8_gate_s_3", 20 ], + [ "arcology_8x8_gate_s_4", 10 ], + [ "arcology_8x8_gate_s_5", 20 ], + [ "arcology_8x8_gate_s_6", 10 ] + ] + } + }, + "place_loot": [ { "group": "office_mess", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 50, "repeat": [ 1, 4 ] } ], + "place_monsters": [ { "monster": "AFS_GROUP_ROBOT_LOW_RISK", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 10, "density": 0.1 } ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ "arcology_exterior_se_corner_robots", "arcology_exterior_se_corner_uplifts" ], + "weight": 100, + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "________________||,,,,,,", + "________1_______||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________((,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________óó,,,,,,", + "________________óó,,,,,,", + "_______2________||,,,,,,", + "________________||,,,,,,", + "3_______________((,,,,,,", + "________________((,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "||||||||||||((||||,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,," + ], + "palettes": [ "arcology_exterior" ], + "nested": { + "1": { "chunks": [ [ "arcology_8x8_electronic", 20 ], [ "arcology_8x8_foodplace", 20 ] ] }, + "2": { + "chunks": [ [ "arcology_9x9_candy_shop", 20 ], [ "arcology_9x9_beauty_shop", 20 ], [ "arcology_9x9_vitamin_shop", 20 ] ] + }, + "3": { "chunks": [ [ "lab_spawn_7x7", 20 ], [ "lab_spawn_7x7_crossdoors", 20 ] ] } + }, + "place_loot": [ { "group": "office_mess", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 50, "repeat": [ 1, 4 ] } ], + "place_monsters": [ { "monster": "AFS_GROUP_ROBOT_LOW_RISK", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 10, "density": 0.1 } ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ "arcology_exterior_e_side_robots", "arcology_exterior_e_side_uplifts" ], + "weight": 100, + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "____1___________óó,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________((,,,,,,", + "________________((,,,,,,", + "________________((,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "____1___________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________((,,,,,,", + "________________((,,,,,,", + "________________((,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________óó,,,,,," + ], + "palettes": [ "arcology_exterior" ], + "nested": { "1": { "chunks": [ [ "workoutroom_12x12", 20 ], [ "tvroom_12x12", 20 ] ] } }, + "place_loot": [ { "group": "office_mess", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 50, "repeat": [ 1, 4 ] } ], + "place_monsters": [ { "monster": "AFS_GROUP_ROBOT_LOW_RISK", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 10, "density": 0.1 } ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ "arcology_exterior_e_entrance_robots", "arcology_exterior_e_entrance_uplifts" ], + "weight": 100, + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "________________óó,,,,,,", + "_________1______||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "______________3_||,,,,,,", + "________________OO,,,,,,", + "________________OO,,,,,,", + "________________OO,,,,,,", + "________________OO,,,,,,", + "________________OO,,,,,,", + "________________OO,,,,,,", + "________________||,,,,,,", + "_________1______||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________óó,,,,,," + ], + "palettes": [ "arcology_exterior" ], + "nested": { "1": { "chunks": [ [ "lab_spawn_7x7", 20 ], [ "lab_spawn_7x7_crossdoors", 20 ] ] } }, + "place_loot": [ { "group": "office_mess", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 50, "repeat": [ 1, 4 ] } ], + "place_monsters": [ { "monster": "AFS_GROUP_ROBOT_LOW_RISK", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 10, "density": 0.1 } ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ "arcology_exterior_ne_corner_robots", "arcology_exterior_ne_corner_uplifts" ], + "weight": 100, + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + "||||||||||||||||||,,,,,,", + "1_______1_______||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "______2_________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________||,,,,,,", + "________________óó,,,,,," + ], + "palettes": [ "arcology_exterior" ], + "nested": { + "1": { "chunks": [ [ "arcology_8x8_foodplace", 20 ], [ "arcology_8x8_electronic", 20 ] ] }, + "2": { "chunks": [ [ "room_10x10_junk_S", 20 ], [ "room_10x10_junk_N", 20 ] ] } + }, + "place_loot": [ { "group": "office_mess", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 50, "repeat": [ 1, 4 ] } ], + "place_monsters": [ { "monster": "AFS_GROUP_ROBOT_LOW_RISK", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 10, "density": 0.1 } ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ "arcology_exterior_n_entrance_robots", "arcology_exterior_n_entrance_uplifts" ], + "weight": 100, + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,3,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + "|||||||||OOOOOO|||||||||", + "|||||||||OOOOOO|||||||||", + "1_______________1_______", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "2_____________2_________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________" + ], + "palettes": [ "arcology_exterior" ], + "nested": { + "1": { "chunks": [ [ "arcology_8x8_electronic", 20 ], [ "arcology_8x8_foodplace", 20 ] ] }, + "2": { "chunks": [ [ "room_10x10_junk_S", 20 ], [ "room_10x10_junk_N", 20 ] ] }, + "3": { + "chunks": [ + [ "arcology_8x8_gate_n_1", 10 ], + [ "arcology_8x8_gate_n_2", 20 ], + [ "arcology_8x8_gate_n_3", 20 ], + [ "arcology_8x8_gate_n_4", 10 ], + [ "arcology_8x8_gate_n_5", 20 ], + [ "arcology_8x8_gate_n_6", 10 ] + ] + } + }, + "place_loot": [ { "group": "office_mess", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 50, "repeat": [ 1, 4 ] } ], + "place_monsters": [ { "monster": "AFS_GROUP_ROBOT_LOW_RISK", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 10, "density": 0.1 } ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ "arcology_exterior_n_side_robots", "arcology_exterior_n_side_uplifts" ], + "weight": 100, + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + "||||||||||||||||||||||||", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________" + ], + "palettes": [ "arcology_exterior" ], + "nested": { "1": { "chunks": [ [ "arcology_24x24_s", 20 ], [ "arcology_24x24_s", 20 ] ] } }, + "place_loot": [ { "group": "office_mess", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 50, "repeat": [ 1, 4 ] } ], + "place_monsters": [ { "monster": "AFS_GROUP_ROBOT_LOW_RISK", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 10, "density": 0.1 } ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ "arcology_interior_ne_corner_robots", "arcology_interior_ne_corner_uplifts" ], + "weight": 100, + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________" + ], + "palettes": [ "arcology_exterior" ], + "place_loot": [ { "group": "office_mess", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 50, "repeat": [ 1, 4 ] } ], + "place_monsters": [ { "monster": "AFS_GROUP_ROBOT_LOW_RISK", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 10, "density": 0.1 } ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ "arcology_interior_n_side_robots", "arcology_interior_n_side_uplifts" ], + "weight": 100, + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________" + ], + "palettes": [ "arcology_exterior" ], + "place_loot": [ { "group": "office_mess", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 50, "repeat": [ 1, 4 ] } ], + "place_monsters": [ { "monster": "AFS_GROUP_ROBOT_LOW_RISK", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 10, "density": 0.1 } ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ "arcology_interior_nw_corner_robots", "arcology_interior_nw_corner_uplifts" ], + "weight": 100, + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________" + ], + "palettes": [ "arcology_exterior" ], + "place_loot": [ { "group": "office_mess", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 50, "repeat": [ 1, 4 ] } ], + "place_monsters": [ { "monster": "AFS_GROUP_ROBOT_LOW_RISK", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 10, "density": 0.1 } ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ "arcology_interior_w_side_robots", "arcology_interior_w_side_uplifts" ], + "weight": 100, + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________" + ], + "palettes": [ "arcology_exterior" ], + "place_loot": [ { "group": "office_mess", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 50, "repeat": [ 1, 4 ] } ], + "place_monsters": [ { "monster": "AFS_GROUP_ROBOT_LOW_RISK", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 10, "density": 0.1 } ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ "arcology_interior_sw_corner_robots", "arcology_interior_sw_corner_uplifts" ], + "weight": 100, + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________" + ], + "palettes": [ "arcology_exterior" ], + "place_loot": [ { "group": "office_mess", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 50, "repeat": [ 1, 4 ] } ], + "place_monsters": [ { "monster": "AFS_GROUP_ROBOT_LOW_RISK", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 10, "density": 0.1 } ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ "arcology_interior_s_side_robots", "arcology_interior_s_side_uplifts" ], + "weight": 100, + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________" + ], + "palettes": [ "arcology_exterior" ], + "place_loot": [ { "group": "office_mess", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 50, "repeat": [ 1, 4 ] } ], + "place_monsters": [ { "monster": "AFS_GROUP_ROBOT_LOW_RISK", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 10, "density": 0.1 } ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ "arcology_interior_se_corner_robots", "arcology_interior_se_corner_uplifts" ], + "weight": 100, + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________" + ], + "palettes": [ "arcology_exterior" ], + "place_loot": [ { "group": "office_mess", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 50, "repeat": [ 1, 4 ] } ], + "place_monsters": [ { "monster": "AFS_GROUP_ROBOT_LOW_RISK", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 10, "density": 0.1 } ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ "arcology_interior_e_side_robots", "arcology_interior_e_side_uplifts" ], + "weight": 100, + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________" + ], + "palettes": [ "arcology_exterior" ], + "place_loot": [ { "group": "office_mess", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 50, "repeat": [ 1, 4 ] } ], + "place_monsters": [ { "monster": "AFS_GROUP_ROBOT_LOW_RISK", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 10, "density": 0.1 } ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ "arcology_interior_center_robots", "arcology_interior_center_uplifts" ], + "weight": 100, + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________" + ], + "palettes": [ "arcology_exterior" ], + "place_loot": [ { "group": "office_mess", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 50, "repeat": [ 1, 4 ] } ], + "place_monsters": [ { "monster": "AFS_GROUP_ROBOT_LOW_RISK", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 10, "density": 0.1 } ] + } + } +] diff --git a/data/mods/Aftershock/maps/mapgen_pallete/arcology.json b/data/mods/Aftershock/maps/mapgen_pallete/arcology.json new file mode 100644 index 0000000000000..fe096958c4c2d --- /dev/null +++ b/data/mods/Aftershock/maps/mapgen_pallete/arcology.json @@ -0,0 +1,85 @@ +[ + { + "type": "palette", + "id": "arcology_exterior", + "terrain": { + " ": "t_region_groundcover_urban", + "_": [ "t_thconc_floor", "t_thconc_r", "t_thconc_y" ], + ",": [ "t_pavement", "t_region_groundcover_urban", "t_railroad_rubble" ], + "!": "t_door_locked_interior", + "O": "t_metal_floor", + ".": "t_wall_metal", + "|": "t_strconc_wall", + "/": "t_wall_prefab_metal", + "#": "t_broken_prefab", + "Q": "t_wall_prefab_glass_shutters", + ":": "t_door_glass_c", + ";": "t_door_locked", + "o": "t_wall_prefab_glass", + "(": "t_reinforced_glass", + "X": "t_door_metal_locked", + "3": "t_door_metal_c", + "4": "t_door_metal_pickable", + "ó": "t_metal_ventilation_shutter", + "R": "t_railing", + "U": "t_ladder_up", + "D": "t_ladder_down", + ">": "t_stairs_down", + "<": "t_stairs_up" + }, + "furniture": { + "$": "f_safe_l", + "A": "f_neuralnet_inserter", + "0": "f_cryo_pod", + "&": "f_toilet", + "%": "f_console_broken", + "5": "f_console", + "c": "f_counter", + "H": "f_utility_shelf", + "l": "f_locker", + "r": "f_trashcan" + }, + "toilets": { "&": { } } + }, + { + "type": "palette", + "id": "arcology_mall_chunks", + "terrain": { + " ": "t_linoleum_white", + "_": [ "t_thconc_floor", "t_thconc_r", "t_thconc_y" ], + ",": [ "t_pavement", "t_region_groundcover_urban", "t_railroad_rubble" ], + "!": "t_door_locked_interior", + "O": "t_metal_floor", + ".": "t_wall_metal", + "/": "t_wall_prefab_metal", + "#": "t_broken_prefab", + "Q": "t_wall_prefab_glass_shutters", + ":": "t_door_glass_c", + ";": "t_door_locked", + "o": "t_wall_prefab_glass", + "(": "t_reinforced_glass", + "X": "t_door_metal_locked", + "3": "t_door_metal_c", + "4": "t_door_metal_pickable", + "ó": "t_metal_ventilation_shutter", + "R": "t_railing", + "U": "t_ladder_up", + "D": "t_ladder_down", + ">": "t_stairs_down", + "<": "t_stairs_up" + }, + "furniture": { + "$": "f_safe_l", + "A": "f_neuralnet_inserter", + "0": "f_cryo_pod", + "&": "f_toilet", + "%": "f_console_broken", + "5": "f_console", + "c": "f_counter", + "H": "f_utility_shelf", + "l": "f_locker", + "r": "f_trashcan" + }, + "toilets": { "&": { } } + } +] diff --git a/data/mods/Aftershock/maps/nested/arcology/arcology_chunks.json b/data/mods/Aftershock/maps/nested/arcology/arcology_chunks.json new file mode 100644 index 0000000000000..a223e9d2b05f5 --- /dev/null +++ b/data/mods/Aftershock/maps/nested/arcology/arcology_chunks.json @@ -0,0 +1,445 @@ +[ + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "arcology_2x2_gate", + "//": "Goes to 9x9 arcology stores", + "object": { + "mapgensize": [ 2, 2 ], + "rows": [ + "//", + "/ " + ], + "terrain": { "/": [ "t_retractable_gate_l", "t_retractable_gate_l", "t_retractable_gate_l", "t_retractable_gate_c" ] } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for spaces 9x9. Add walls around it and entrances.", + "nested_mapgen_id": "arcology_9x9_candy_shop", + "object": { + "mapgensize": [ 9, 9 ], + "rotation": [ 0, 3 ], + "rows": [ + "1 |||||||", + " ", + "| L L L w", + "| L L L w", + "| L L L w", + "| ", + "|MM?MM Y", + "| A ", + "| VVV " + ], + "terrain": { " ": "t_floor", "|": "t_wall_p", "1": "t_floor" }, + "nested": { "1": { "chunks": [ "arcology_2x2_gate" ] } }, + "furniture": { + "?": "f_console_broken", + "L": "f_table", + "H": "f_table", + "G": "f_table", + "M": "f_displaycase", + "w": "f_rack_wood", + "V": "f_glass_cabinet", + "Y": "f_trashcan", + "A": "f_stool", + "y": [ "f_indoor_plant", "f_indoor_plant_y" ] + }, + "items": { + "H": [ { "item": "toy_store", "chance": 30, "repeat": [ 1, 2 ] } ], + "Y": [ { "item": "trash", "chance": 30, "repeat": [ 1, 2 ] } ], + "L": [ { "item": "candy_chocolate", "chance": 30, "repeat": [ 0, 4 ] } ], + "w": [ { "item": "candy_chocolate", "chance": 30, "repeat": [ 0, 4 ] } ], + "M": [ + { "item": "candy_chocolate", "chance": 30, "repeat": [ 0, 4 ] }, + { "item": "toy_store", "chance": 30, "repeat": [ 1, 2 ] } + ], + "V": [ + { "item": "candy_chocolate", "chance": 30, "repeat": [ 0, 4 ] }, + { "item": "toy_store", "chance": 30, "repeat": [ 1, 2 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for spaces 9x9. Beauty and cosmetics shop.", + "nested_mapgen_id": "arcology_9x9_beauty_shop", + "object": { + "mapgensize": [ 9, 9 ], + "rotation": [ 0, 3 ], + "rows": [ + "1 |||||||", + " ...... ", + "|.L.L.L.w", + "|.L.L.L.w", + "|.L.L.L.w", + "|....... ", + "|MM?MM Y", + "| A ", + "| VVV " + ], + "nested": { "1": { "chunks": [ "arcology_2x2_gate" ] } }, + "terrain": { + " ": "t_floor", + "L": "t_carpet_yellow", + ".": "t_carpet_yellow", + "?": "t_carpet_yellow", + "|": "t_wall_p", + "1": "t_floor" + }, + "furniture": { + "?": "f_console_broken", + "L": "f_table", + "H": "f_table", + "G": "f_table", + "M": "f_displaycase", + "w": "f_rack", + "V": "f_glass_cabinet", + "Y": "f_trashcan", + "A": "f_stool", + "y": [ "f_indoor_plant", "f_indoor_plant_y" ] + }, + "items": { + "H": [ { "item": "beauty", "chance": 30, "repeat": [ 1, 2 ] } ], + "Y": [ { "item": "beauty", "chance": 30, "repeat": [ 1, 2 ] } ], + "L": [ { "item": "beauty", "chance": 30, "repeat": [ 0, 4 ] } ], + "w": [ { "item": "beauty", "chance": 30, "repeat": [ 0, 4 ] } ], + "M": [ { "item": "beauty", "chance": 30, "repeat": [ 0, 4 ] } ], + "V": [ { "item": "beauty", "chance": 30, "repeat": [ 0, 4 ] } ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 9x9 vitamin shop.", + "nested_mapgen_id": "arcology_9x9_vitamin_shop", + "object": { + "mapgensize": [ 9, 9 ], + "rotation": [ 0, 3 ], + "rows": [ + "|HL LHL", + "| ", + "| L L L w", + "| L L L w", + "| L L L w", + "| ", + "|MM?MM Y", + "| A ", + "| VVV " + ], + "terrain": { + " ": "t_linoleum_white", + "L": "t_linoleum_white", + "H": "t_linoleum_white", + "V": "t_linoleum_white", + "M": "t_linoleum_white", + "A": "t_linoleum_white", + "w": "t_linoleum_white", + "y": "t_linoleum_white", + "Y": "t_linoleum_white", + "?": "t_linoleum_white", + "|": "t_wall_g" + }, + "furniture": { + "?": "f_console_broken", + "L": "f_table", + "H": "f_table", + "G": "f_table", + "M": "f_counter", + "V": "f_rack", + "w": "f_rack", + "Y": "f_trashcan", + "A": "f_stool", + "y": [ "f_indoor_plant", "f_indoor_plant_y" ] + }, + "items": { + "H": [ { "item": "arcology_vitamin_shop", "chance": 30, "repeat": [ 1, 2 ] } ], + "Y": [ { "item": "trash", "chance": 30, "repeat": [ 1, 2 ] } ], + "L": [ { "item": "arcology_vitamin_shop", "chance": 30, "repeat": [ 0, 4 ] } ], + "M": [ { "item": "office", "chance": 30, "repeat": [ 0, 4 ] } ], + "V": [ { "item": "arcology_vitamin_shop", "chance": 30, "repeat": [ 0, 4 ] } ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 9x9 cellphone shop.", + "nested_mapgen_id": "city_block_9x9_cellphone_shop_front", + "object": { + "mapgensize": [ 9, 9 ], + "rotation": [ 0, 3 ], + "rows": [ + "GGy yGG", + " ....... ", + "V.LL.HH.V", + "V.LL.HH.V", + "V.LL.HH.V", + " ....... ", + "M?MM?M Y", + " A A ", + "y MMMM y" + ], + "terrain": { + " ": "t_linoleum_white", + "G": "t_linoleum_white", + "V": "t_linoleum_white", + "M": "t_linoleum_white", + "A": "t_linoleum_white", + "y": "t_linoleum_white", + "Y": "t_linoleum_white", + "H": "t_carpet_green", + "L": "t_carpet_green", + ".": "t_carpet_green", + "?": "t_carpet_green" + }, + "furniture": { + "?": "f_console_broken", + "L": "f_table", + "H": "f_table", + "G": "f_displaycase", + "M": "f_counter", + "V": "f_rack", + "Y": "f_trashcan", + "A": "f_stool", + "y": [ "f_indoor_plant", "f_indoor_plant_y" ] + }, + "items": { + "H": [ { "item": "elecsto_pcs", "chance": 30, "repeat": [ 1, 2 ] } ], + "G": [ { "item": "elecsto_persele", "chance": 30, "repeat": [ 1, 2 ] } ], + "Y": [ { "item": "trash", "chance": 30, "repeat": [ 1, 2 ] } ], + "L": [ { "item": "cell_shop", "chance": 30, "repeat": [ 0, 4 ] } ], + "M": [ { "item": "cell_shop", "chance": 30, "repeat": [ 0, 1 ] } ], + "V": [ { "item": "cell_shop", "chance": 30, "repeat": [ 0, 4 ] } ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 9x9 music shop.", + "nested_mapgen_id": "city_block_9x9_music_shop_front", + "object": { + "mapgensize": [ 9, 9 ], + "rotation": [ 0, 3 ], + "rows": [ + "HHHy yHHH", + " ....... ", + "V.LL.GG.V", + "V.LL.GG.V", + "V.LL.GG.V", + " .......V", + "MMMM?M V", + " A ", + "y MMMM Y" + ], + "terrain": { " ": "t_floor", "G": "t_carpet_red", "L": "t_carpet_red", ".": "t_carpet_red", "?": "t_carpet_red" }, + "furniture": { + "?": "f_console_broken", + "L": "f_table", + "H": "f_table", + "G": "f_displaycase", + "M": "f_counter", + "V": "f_bookcase", + "Y": "f_trashcan", + "A": "f_stool", + "y": [ "f_indoor_plant", "f_indoor_plant_y" ] + }, + "items": { + "H": [ { "item": "musicstore_showpiece", "chance": 30, "repeat": [ 1, 2 ] } ], + "G": [ { "item": "mussto_windinst", "chance": 30, "repeat": [ 1, 2 ] } ], + "Y": [ { "item": "trash", "chance": 30, "repeat": [ 1, 2 ] } ], + "L": [ { "item": "mussto_stringinst", "chance": 30, "repeat": [ 0, 4 ] } ], + "M": [ { "item": "office", "chance": 30, "repeat": [ 0, 1 ] } ], + "V": [ { "item": "musicstore_showpiece", "chance": 30, "repeat": [ 0, 4 ] } ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 9x9 electronics shop. needs aftershocking", + "nested_mapgen_id": "arcology_8x8_electronic", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + "HHHy yHH", + " .......", + "V.LL.LL.", + "V.GG.GG.", + "V.BB.BB.", + " .......", + "MMMM?M ", + " A " + ], + "terrain": { + " ": "t_floor", + "G": "t_carpet_yellow", + "L": "t_carpet_yellow", + "B": "t_carpet_yellow", + ".": "t_carpet_yellow", + "?": "t_carpet_yellow" + }, + "furniture": { + "?": "f_console_broken", + "L": "f_table", + "B": "f_table", + "H": "f_displaycase", + "G": "f_displaycase", + "M": "f_counter", + "V": "f_rack", + "Y": "f_trashcan", + "A": "f_stool", + "y": [ "f_indoor_plant", "f_indoor_plant_y" ] + }, + "items": { + "H": [ { "item": "elecsto_pcs", "chance": 30, "repeat": [ 1, 2 ] } ], + "G": [ { "item": "elecsto_cameras", "chance": 30, "repeat": [ 1, 2 ] } ], + "Y": [ { "item": "trash", "chance": 30, "repeat": [ 1, 2 ] } ], + "L": [ { "item": "elecsto_entapl", "chance": 30, "repeat": [ 0, 4 ] } ], + "B": [ { "item": "elecsto_homapl", "chance": 30, "repeat": [ 0, 4 ] } ], + "M": [ { "item": "office", "chance": 30, "repeat": [ 0, 1 ] } ], + "V": [ + { "item": "elecsto_lights", "chance": 30, "repeat": [ 0, 4 ] }, + { "item": "elecsto_diy", "chance": 30, "repeat": [ 0, 4 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for 8x8 pizza shop. Make foodplace shop.", + "nested_mapgen_id": "arcology_8x8_foodplace", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + "AAAY YMM", + "MMM AA", + "V ? ", + "B M R R", + "i G L L", + "B G R R", + "s M ", + "Q RLyL" + ], + "terrain": { + " ": "t_linoleum_gray", + "L": "t_linoleum_gray", + "R": "t_linoleum_gray", + "B": "t_linoleum_gray", + "G": "t_linoleum_gray", + "M": "t_linoleum_gray", + "F": "t_linoleum_gray", + "V": "t_linoleum_gray", + "Q": "t_linoleum_gray", + "Y": "t_linoleum_gray", + "y": "t_linoleum_gray", + "A": "t_linoleum_gray", + "s": "t_linoleum_gray", + "i": "t_linoleum_gray", + "?": "t_linoleum_gray" + }, + "furniture": { + "?": "f_console_broken", + "L": "f_table", + "i": "f_oven", + "s": "f_sink", + "R": "f_bench", + "B": "f_counter", + "G": "f_displaycase", + "M": "f_counter", + "F": "f_glass_fridge", + "V": "f_rack", + "Q": "f_rack", + "Y": "f_trashcan", + "A": "f_stool", + "y": [ "f_indoor_plant", "f_indoor_plant_y" ] + }, + "items": { + "B": [ { "item": "pizza_kitchen", "chance": 30, "repeat": [ 1, 2 ] } ], + "G": [ { "item": "pizza_display", "chance": 30, "repeat": [ 1, 2 ] } ], + "L": [ { "item": "pizza_table", "chance": 30, "repeat": [ 1, 2 ] } ], + "Y": [ { "item": "trash", "chance": 30, "repeat": [ 1, 2 ] } ], + "F": [ { "item": "pizza_fridge", "chance": 30, "repeat": [ 0, 4 ] } ], + "V": [ { "item": "pizza_display", "chance": 30, "repeat": [ 0, 4 ] } ], + "Q": [ { "item": "pizza_kitchen", "chance": 30, "repeat": [ 0, 1 ] } ], + "M": [ + { "item": "pizza_table", "chance": 30, "repeat": [ 0, 4 ] }, + { "item": "pizza_display", "chance": 30, "repeat": [ 0, 1 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "designed for spaces 9x9. Beauty and cosmetics shop.", + "nested_mapgen_id": "arcology_24x24_s", + "object": { + "mapgensize": [ 24, 24 ], + "rotation": [ 0, 3 ], + "rows": [ + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________" + ], + "nested": { "1": { "chunks": [ "arcology_2x2_gate" ] } }, + "terrain": { + "_": "t_floor", + "L": "t_carpet_yellow", + ".": "t_carpet_yellow", + "?": "t_carpet_yellow", + "|": "t_wall_p", + "1": "t_floor" + }, + "furniture": { + "?": "f_console_broken", + "L": "f_table", + "H": "f_table", + "G": "f_table", + "M": "f_displaycase", + "w": "f_rack", + "V": "f_glass_cabinet", + "Y": "f_trashcan", + "A": "f_stool", + "y": [ "f_indoor_plant", "f_indoor_plant_y" ] + }, + "items": { + "H": [ { "item": "beauty", "chance": 30, "repeat": [ 1, 2 ] } ], + "Y": [ { "item": "beauty", "chance": 30, "repeat": [ 1, 2 ] } ], + "L": [ { "item": "beauty", "chance": 30, "repeat": [ 0, 4 ] } ], + "w": [ { "item": "beauty", "chance": 30, "repeat": [ 0, 4 ] } ], + "M": [ { "item": "beauty", "chance": 30, "repeat": [ 0, 4 ] } ], + "V": [ { "item": "beauty", "chance": 30, "repeat": [ 0, 4 ] } ] + } + } + } +] diff --git a/data/mods/Aftershock/maps/nested/arcology/arcology_gate_chunks.json b/data/mods/Aftershock/maps/nested/arcology/arcology_gate_chunks.json new file mode 100644 index 0000000000000..55c1f5a55701a --- /dev/null +++ b/data/mods/Aftershock/maps/nested/arcology/arcology_gate_chunks.json @@ -0,0 +1,733 @@ +[ + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "arcology_8x8_gate_w_1", + "//": "Working Console, closed gate", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + ",,,,,,||", + ",,,,,,..", + ",,,,,,..", + ",,,,,,..", + ",,,,,,..", + ",,,,,,..", + ",,,,,,..", + ",,,,5,||" + ], + "palettes": [ "arcology_exterior" ], + "computers": { + "5": { + "name": "West Entrance Gate Controls", + "security": 1, + "options": [ + { "name": "EMERGENCY OVERRIDE - OPEN GATES", "action": "open_gate", "security": 3 }, + { "name": "EMERGENCY OVERRIDE - CLOSE GATES", "action": "close_gate", "security": 1 } + ], + "failures": [ { "action": "damage" }, { "action": "shutdown" } ] + } + } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "arcology_8x8_gate_w_2", + "//": "Broken Console, closed gate", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + ",,,,,,||", + ",,,,,,..", + ",,,,,,..", + ",,,,,,..", + ",,,,,,..", + ",,,,,,..", + ",,,,,,..", + ",,,,%,||" + ], + "palettes": [ "arcology_exterior" ] + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "arcology_8x8_gate_w_3", + "//": "Broken Console, open gate", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + ",,,,,,||", + ",,,,,,OO", + ",,,,,,OO", + ",,,,,,OO", + ",,,,,,OO", + ",,,,,,OO", + ",,,,,,OO", + ",,,,%,||" + ], + "palettes": [ "arcology_exterior" ] + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "arcology_8x8_gate_w_4", + "//": "Working Console, open gate", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + ",,,,,,||", + ",,,,,,OO", + ",,,,,,OO", + ",,,,,,OO", + ",,,,,,OO", + ",,,,,,OO", + ",,,,,,OO", + ",,,,5,||" + ], + "palettes": [ "arcology_exterior" ], + "computers": { + "5": { + "name": "West Entrance Gate Controls", + "security": 1, + "options": [ + { "name": "EMERGENCY OVERRIDE - OPEN GATES", "action": "open_gate", "security": 3 }, + { "name": "EMERGENCY OVERRIDE - CLOSE GATES", "action": "close_gate", "security": 1 } + ], + "failures": [ { "action": "damage" }, { "action": "shutdown" } ] + } + } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "arcology_8x8_gate_w_5", + "//": "Broken Console, broke gate", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + ",,,,,,||", + ",,,,,,.C", + ",,,,,,CW", + ",,,,,,W.", + ",,,,,,CP", + ",,,,,,W.", + ",,,,,,..", + ",,,,%,||" + ], + "palettes": [ "arcology_exterior" ], + "terrain": { "P": "t_metal_floor", "C": "t_metal_floor", "W": "t_metal_floor" }, + "items": { + "W": [ { "item": "building_rubble", "chance": 80, "repeat": [ 1, 3 ] } ], + "C": [ { "item": "wreckage", "chance": 100, "repeat": [ 1, 2 ] } ] + }, + "furniture": { "P": "f_ash" } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "arcology_8x8_gate_w_6", + "//": "Working Console, broken gate", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + ",,,,,,||", + ",,,,,,.C", + ",,,,,,CW", + ",,,,,,W.", + ",,,,,,CP", + ",,,,,,W.", + ",,,,,,..", + ",,,,5,||" + ], + "palettes": [ "arcology_exterior" ], + "terrain": { "P": "t_broken_metal_floor", "C": "t_broken_metal_floor", "W": "t_broken_metal_floor" }, + "items": { + "W": [ { "item": "building_rubble", "chance": 80, "repeat": [ 1, 3 ] } ], + "C": [ { "item": "wreckage", "chance": 100, "repeat": [ 1, 2 ] } ] + }, + "furniture": { "P": "f_ash" }, + "computers": { + "5": { + "name": "West Entrance Gate Controls", + "security": 1, + "options": [ + { "name": "EMERGENCY OVERRIDE - OPEN GATES", "action": "open_gate", "security": 3 }, + { "name": "EMERGENCY OVERRIDE - CLOSE GATES", "action": "close_gate", "security": 1 } + ], + "failures": [ { "action": "damage" }, { "action": "shutdown" } ] + } + } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "arcology_8x8_gate_s_1", + "//": "Working Console, closed gate", + "//2": "Go back and make interior consoles have their own 1x1 nested chunk for broken and working consoles.", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + "________", + "________", + "6_______", + "|......|", + "|......|", + ",,,,,,,5", + ",,,,,,,,", + ",,,,,,,," + ], + "palettes": [ "arcology_exterior" ], + "nested": { "6": { "chunks": [ [ "arcology_1x1_gate", 50 ], [ "arcology_1x1_gate_broken", 50 ] ] } }, + "computers": { + "5": { + "name": "South Entrance Gate Controls", + "security": 1, + "options": [ + { "name": "EMERGENCY OVERRIDE - OPEN GATES", "action": "open_gate", "security": 3 }, + { "name": "EMERGENCY OVERRIDE - CLOSE GATES", "action": "close_gate", "security": 1 } + ], + "failures": [ { "action": "damage" }, { "action": "shutdown" } ] + } + } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "arcology_8x8_gate_s_2", + "//": "Broken Console, closed gate", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + "________", + "________", + "6_______", + "|......|", + "|......|", + ",,,,,,,%", + ",,,,,,,,", + ",,,,,,,," + ], + "palettes": [ "arcology_exterior" ], + "nested": { "6": { "chunks": [ [ "arcology_1x1_gate", 50 ], [ "arcology_1x1_gate_broken", 50 ] ] } } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "arcology_8x8_gate_s_3", + "//": "Broken Console, open gate", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + "________", + "________", + "6_______", + "|OOOOOO|", + "|OOOOOO|", + ",,,,,,,%", + ",,,,,,,,", + ",,,,,,,," + ], + "palettes": [ "arcology_exterior" ], + "nested": { "6": { "chunks": [ [ "arcology_1x1_gate", 50 ], [ "arcology_1x1_gate_broken", 50 ] ] } } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "arcology_8x8_gate_s_4", + "//": "Working Console, open gate", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + "________", + "________", + "6_______", + "|OOOOOO|", + "|OOOOOO|", + ",,,,,,,5", + ",,,,,,,,", + ",,,,,,,," + ], + "palettes": [ "arcology_exterior" ], + "nested": { "6": { "chunks": [ [ "arcology_1x1_gate", 50 ], [ "arcology_1x1_gate_broken", 50 ] ] } }, + "computers": { + "5": { + "name": "South Entrance Gate Controls", + "security": 1, + "options": [ + { "name": "EMERGENCY OVERRIDE - OPEN GATES", "action": "open_gate", "security": 3 }, + { "name": "EMERGENCY OVERRIDE - CLOSE GATES", "action": "close_gate", "security": 1 } + ], + "failures": [ { "action": "damage" }, { "action": "shutdown" } ] + } + } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "arcology_8x8_gate_s_5", + "//": "Broken Console, broke gate", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + "________", + "________", + "6_______", + "|.CWCOO|", + "|COWPW.|", + ",,,,,,,%", + ",,,,,,,,", + ",,,,,,,," + ], + "palettes": [ "arcology_exterior" ], + "terrain": { "P": "t_metal_floor", "C": "t_metal_floor", "W": "t_metal_floor" }, + "items": { + "W": [ { "item": "building_rubble", "chance": 80, "repeat": [ 1, 3 ] } ], + "C": [ { "item": "wreckage", "chance": 100, "repeat": [ 1, 2 ] } ] + }, + "furniture": { "P": "f_ash" }, + "nested": { "6": { "chunks": [ [ "arcology_1x1_gate", 50 ], [ "arcology_1x1_gate_broken", 50 ] ] } } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "arcology_8x8_gate_s_6", + "//": "Working Console, broken gate", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + "________", + "________", + "6_______", + "|.CWCOO|", + "|COWPW.|", + ",,,,,,,5", + ",,,,,,,,", + ",,,,,,,," + ], + "palettes": [ "arcology_exterior" ], + "computers": { + "5": { + "name": "South Entrance Gate Controls", + "security": 1, + "options": [ + { "name": "EMERGENCY OVERRIDE - OPEN GATES", "action": "open_gate", "security": 3 }, + { "name": "EMERGENCY OVERRIDE - CLOSE GATES", "action": "close_gate", "security": 1 } + ], + "failures": [ { "action": "damage" }, { "action": "shutdown" } ] + } + }, + "nested": { "6": { "chunks": [ [ "arcology_1x1_gate", 50 ], [ "arcology_1x1_gate_broken", 50 ] ] } }, + "terrain": { "P": "t_broken_metal_floor", "C": "t_broken_metal_floor", "W": "t_broken_metal_floor" }, + "items": { + "W": [ { "item": "building_rubble", "chance": 80, "repeat": [ 1, 3 ] } ], + "C": [ { "item": "wreckage", "chance": 100, "repeat": [ 1, 2 ] } ] + }, + "furniture": { "P": "f_ash" } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "arcology_8x8_gate_e_1", + "//": "Working Console, closed gate", + "//2": "Go back and make interior consoles have their own 1x1 nested chunk for broken and working consoles.", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + "__||,5,,", + "__..,,,,", + "__..,,,,", + "__..,,,,", + "__..,,,,", + "__..,,,,", + "__..,,,,", + "_6||,,,," + ], + "palettes": [ "arcology_exterior" ], + "nested": { "6": { "chunks": [ [ "arcology_1x1_gate", 50 ], [ "arcology_1x1_gate_broken", 50 ] ] } }, + "computers": { + "5": { + "name": "East Entrance Gate Controls", + "security": 1, + "options": [ + { "name": "EMERGENCY OVERRIDE - OPEN GATES", "action": "open_gate", "security": 3 }, + { "name": "EMERGENCY OVERRIDE - CLOSE GATES", "action": "close_gate", "security": 1 } + ], + "failures": [ { "action": "damage" }, { "action": "shutdown" } ] + } + } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "arcology_8x8_gate_e_2", + "//": "Broken Console, closed gate", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + "__||,%,,", + "__..,,,,", + "__..,,,,", + "__..,,,,", + "__..,,,,", + "__..,,,,", + "__..,,,,", + "_6||,,,," + ], + "palettes": [ "arcology_exterior" ], + "nested": { "6": { "chunks": [ [ "arcology_1x1_gate", 50 ], [ "arcology_1x1_gate_broken", 50 ] ] } } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "arcology_8x8_gate_e_3", + "//": "Broken Console, open gate", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + "__||,%,,", + "__OO,,,,", + "__OO,,,,", + "__OO,,,,", + "__OO,,,,", + "__OO,,,,", + "__OO,,,,", + "_6||,,,," + ], + "palettes": [ "arcology_exterior" ], + "nested": { "6": { "chunks": [ [ "arcology_1x1_gate", 50 ], [ "arcology_1x1_gate_broken", 50 ] ] } } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "arcology_8x8_gate_e_4", + "//": "Working Console, open gate", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + "__||,5,,", + "__OO,,,,", + "__OO,,,,", + "__OO,,,,", + "__OO,,,,", + "__OO,,,,", + "__OO,,,,", + "_6||,,,," + ], + "palettes": [ "arcology_exterior" ], + "nested": { "6": { "chunks": [ [ "arcology_1x1_gate", 50 ], [ "arcology_1x1_gate_broken", 50 ] ] } }, + "computers": { + "5": { + "name": "East Entrance Gate Controls", + "security": 1, + "options": [ + { "name": "EMERGENCY OVERRIDE - OPEN GATES", "action": "open_gate", "security": 3 }, + { "name": "EMERGENCY OVERRIDE - CLOSE GATES", "action": "close_gate", "security": 1 } + ], + "failures": [ { "action": "damage" }, { "action": "shutdown" } ] + } + } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "arcology_8x8_gate_e_5", + "//": "Broken Console, broke gate", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + "__||,%,,", + "__..,,,,", + "__.W,,,,", + "__CW,,,,", + "__W.,,,,", + "__OP,,,,", + "__C.,,,,", + "_6||,,,," + ], + "palettes": [ "arcology_exterior" ], + "nested": { "6": { "chunks": [ [ "arcology_1x1_gate", 50 ], [ "arcology_1x1_gate_broken", 50 ] ] } }, + "terrain": { "P": "t_metal_floor", "C": "t_metal_floor", "W": "t_metal_floor" }, + "items": { + "W": [ { "item": "building_rubble", "chance": 80, "repeat": [ 1, 3 ] } ], + "C": [ { "item": "wreckage", "chance": 100, "repeat": [ 1, 2 ] } ] + }, + "furniture": { "P": "f_ash" } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "arcology_8x8_gate_e_6", + "//": "Working Console, broken gate", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + "__||,5,,", + "__..,,,,", + "__.W,,,,", + "__CW,,,,", + "__W.,,,,", + "__OP,,,,", + "__C.,,,,", + "_6||,,,," + ], + "palettes": [ "arcology_exterior" ], + "nested": { "6": { "chunks": [ [ "arcology_1x1_gate", 50 ], [ "arcology_1x1_gate_broken", 50 ] ] } }, + "terrain": { "P": "t_broken_metal_floor", "C": "t_broken_metal_floor", "W": "t_broken_metal_floor" }, + "items": { + "W": [ { "item": "building_rubble", "chance": 80, "repeat": [ 1, 3 ] } ], + "C": [ { "item": "wreckage", "chance": 100, "repeat": [ 1, 2 ] } ] + }, + "furniture": { "P": "f_ash" }, + "computers": { + "5": { + "name": "East Entrance Gate Controls", + "security": 1, + "options": [ + { "name": "EMERGENCY OVERRIDE - OPEN GATES", "action": "open_gate", "security": 3 }, + { "name": "EMERGENCY OVERRIDE - CLOSE GATES", "action": "close_gate", "security": 1 } + ], + "failures": [ { "action": "damage" }, { "action": "shutdown" } ] + } + } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "arcology_8x8_gate_n_1", + "//": "Working Console, closed gate", + "//2": "Go back and make interior consoles have their own 1x1 nested chunk for broken and working consoles.", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + ",,,,,,,,", + "5,,,,,,,", + ",,,,,,,,", + "|......|", + "|......|", + "_______6", + "________", + "________" + ], + "palettes": [ "arcology_exterior" ], + "nested": { "6": { "chunks": [ [ "arcology_1x1_gate", 50 ], [ "arcology_1x1_gate_broken", 50 ] ] } }, + "computers": { + "5": { + "name": "North Entrance Gate Controls", + "security": 1, + "options": [ + { "name": "EMERGENCY OVERRIDE - OPEN GATES", "action": "open_gate", "security": 3 }, + { "name": "EMERGENCY OVERRIDE - CLOSE GATES", "action": "close_gate", "security": 1 } + ], + "failures": [ { "action": "damage" }, { "action": "shutdown" } ] + } + } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "arcology_8x8_gate_n_2", + "//": "Broken Console, closed gate", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + ",,,,,,,,", + "%,,,,,,,", + ",,,,,,,,", + "|......|", + "|......|", + "_______6", + "________", + "________" + ], + "palettes": [ "arcology_exterior" ], + "nested": { "6": { "chunks": [ [ "arcology_1x1_gate", 50 ], [ "arcology_1x1_gate_broken", 50 ] ] } } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "arcology_8x8_gate_n_3", + "//": "Broken Console, open gate", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + ",,,,,,,,", + "%,,,,,,,", + ",,,,,,,,", + "|OOOOOO|", + "|OOOOOO|", + "_______6", + "________", + "________" + ], + "palettes": [ "arcology_exterior" ], + "nested": { "6": { "chunks": [ [ "arcology_1x1_gate", 50 ], [ "arcology_1x1_gate_broken", 50 ] ] } } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "arcology_8x8_gate_n_4", + "//": "Working Console, open gate", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + ",,,,,,,,", + "5,,,,,,,", + ",,,,,,,,", + "|OOOOOO|", + "|OOOOOO|", + "_______6", + "________", + "________" + ], + "palettes": [ "arcology_exterior" ], + "nested": { "6": { "chunks": [ [ "arcology_1x1_gate", 50 ], [ "arcology_1x1_gate_broken", 50 ] ] } }, + "computers": { + "5": { + "name": "North Entrance Gate Controls", + "security": 1, + "options": [ + { "name": "EMERGENCY OVERRIDE - OPEN GATES", "action": "open_gate", "security": 3 }, + { "name": "EMERGENCY OVERRIDE - CLOSE GATES", "action": "close_gate", "security": 1 } + ], + "failures": [ { "action": "damage" }, { "action": "shutdown" } ] + } + } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "arcology_8x8_gate_n_5", + "//": "Broken Console, broke gate", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + ",,,,,,,,", + "%,,,,,,,", + ",,,,,,,,", + "|.CWCOO|", + "|COWPW.|", + "_______6", + "________", + "________" + ], + "palettes": [ "arcology_exterior" ], + "nested": { "6": { "chunks": [ [ "arcology_1x1_gate", 50 ], [ "arcology_1x1_gate_broken", 50 ] ] } }, + "terrain": { "P": "t_metal_floor", "C": "t_metal_floor", "W": "t_metal_floor" }, + "items": { + "W": [ { "item": "building_rubble", "chance": 80, "repeat": [ 1, 3 ] } ], + "C": [ { "item": "wreckage", "chance": 100, "repeat": [ 1, 2 ] } ] + }, + "furniture": { "P": "f_ash" } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "arcology_8x8_gate_n_6", + "//": "Working Console, broken gate", + "object": { + "mapgensize": [ 8, 8 ], + "rotation": [ 0, 3 ], + "rows": [ + ",,,,,,,,", + "5,,,,,,,", + ",,,,,,,,", + "|.CWCOO|", + "|COWPW.|", + "_______6", + "________", + "________" + ], + "palettes": [ "arcology_exterior" ], + "nested": { "6": { "chunks": [ [ "arcology_1x1_gate", 50 ], [ "arcology_1x1_gate_broken", 50 ] ] } }, + "terrain": { "P": "t_broken_metal_floor", "C": "t_broken_metal_floor", "W": "t_broken_metal_floor" }, + "items": { + "W": [ { "item": "building_rubble", "chance": 80, "repeat": [ 1, 3 ] } ], + "C": [ { "item": "wreckage", "chance": 100, "repeat": [ 1, 2 ] } ] + }, + "furniture": { "P": "f_ash" }, + "computers": { + "5": { + "name": "North Entrance Gate Controls", + "security": 1, + "options": [ + { "name": "EMERGENCY OVERRIDE - OPEN GATES", "action": "open_gate", "security": 3 }, + { "name": "EMERGENCY OVERRIDE - CLOSE GATES", "action": "close_gate", "security": 1 } + ], + "failures": [ { "action": "damage" }, { "action": "shutdown" } ] + } + } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "arcology_1x1_gate", + "//": "Working Console", + "object": { + "mapgensize": [ 1, 1 ], + "rows": [ "5" ], + "palettes": [ "arcology_exterior" ], + "computers": { + "5": { + "name": "Interior Gate Controls", + "security": 1, + "options": [ { "name": "EMERGENCY OVERRIDE - OPEN GATES", "action": "open_gate", "security": 1 } ], + "failures": [ { "action": "damage" }, { "action": "shutdown" } ] + } + } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "arcology_1x1_gate_broken", + "//": "Broken Console", + "object": { "mapgensize": [ 1, 1 ], "rows": [ "%" ], "palettes": [ "arcology_exterior" ] } + } +] diff --git a/data/mods/Aftershock/maps/overmap_terrain.json b/data/mods/Aftershock/maps/overmap_terrain.json index e3652bdb5d281..1c66b6f0f4b9a 100644 --- a/data/mods/Aftershock/maps/overmap_terrain.json +++ b/data/mods/Aftershock/maps/overmap_terrain.json @@ -243,5 +243,69 @@ "sym": "<", "color": "green", "see_cost": 3 + }, + { + "type": "overmap_terrain", + "id": [ + "arcology_interior_center_robots", + "arcology_interior_w_side_robots", + "arcology_interior_e_side_robots", + "arcology_interior_n_side_robots", + "arcology_interior_s_side_robots", + "arcology_interior_ne_corner_robots", + "arcology_interior_nw_corner_robots", + "arcology_interior_se_corner_robots", + "arcology_interior_sw_corner_robots", + "arcology_exterior_e_side_robots", + "arcology_exterior_n_side_robots", + "arcology_exterior_s_side_robots", + "arcology_exterior_w_side_robots", + "arcology_exterior_ne_corner_robots", + "arcology_exterior_nw_corner_robots", + "arcology_exterior_se_corner_robots", + "arcology_exterior_sw_corner_robots", + "arcology_exterior_n_entrance_robots", + "arcology_exterior_s_entrance_robots", + "arcology_exterior_e_entrance_robots", + "arcology_exterior_w_entrance_robots" + ], + "name": "Desolate Arcology - Ground Level", + "sym": "A", + "color": "light_blue", + "see_cost": 2, + "mondensity": 2, + "flags": [ "RISK_HIGH" ] + }, + { + "type": "overmap_terrain", + "id": [ + "arcology_interior_center_uplifts", + "arcology_interior_w_side_uplifts", + "arcology_interior_e_side_uplifts", + "arcology_interior_n_side_uplifts", + "arcology_interior_s_side_uplifts", + "arcology_interior_ne_corner_uplifts", + "arcology_interior_nw_corner_uplifts", + "arcology_interior_se_corner_uplifts", + "arcology_interior_sw_corner_uplifts", + "arcology_exterior_e_side_uplifts", + "arcology_exterior_n_side_uplifts", + "arcology_exterior_s_side_uplifts", + "arcology_exterior_w_side_uplifts", + "arcology_exterior_ne_corner_uplifts", + "arcology_exterior_nw_corner_uplifts", + "arcology_exterior_se_corner_uplifts", + "arcology_exterior_sw_corner_uplifts", + "arcology_exterior_n_entrance_uplifts", + "arcology_exterior_s_entrance_uplifts", + "arcology_exterior_e_entrance_uplifts", + "arcology_exterior_w_entrance_uplifts" + ], + "name": "Arcology - Ground Level", + "sym": "A", + "color": "light_blue", + "see_cost": 2, + "mondensity": 2, + "flags": [ "RISK_HIGH" ] } ] diff --git a/src/computer.cpp b/src/computer.cpp index d8c789b65208c..d9e582d892f78 100644 --- a/src/computer.cpp +++ b/src/computer.cpp @@ -308,6 +308,8 @@ std::string enum_to_string( const computer_action act ) case COMPACT_MAPS: return "maps"; case COMPACT_MISS_DISARM: return "miss_disarm"; case COMPACT_OPEN: return "open"; + case COMPACT_OPEN_GATE: return "open_gate"; + case COMPACT_CLOSE_GATE: return "close_gate"; case COMPACT_OPEN_DISARM: return "open_disarm"; case COMPACT_PORTAL: return "portal"; case COMPACT_RADIO_ARCHIVE: return "radio_archive"; diff --git a/src/computer.h b/src/computer.h index 3e96434b2ea50..145af08d31566 100644 --- a/src/computer.h +++ b/src/computer.h @@ -38,6 +38,8 @@ enum computer_action { COMPACT_MISS_DISARM, COMPACT_OPEN, COMPACT_OPEN_DISARM, + COMPACT_OPEN_GATE, + COMPACT_CLOSE_GATE, COMPACT_PORTAL, COMPACT_RADIO_ARCHIVE, COMPACT_RELEASE, diff --git a/src/computer_session.cpp b/src/computer_session.cpp index 1535b9c928c8e..a82973bb29210 100644 --- a/src/computer_session.cpp +++ b/src/computer_session.cpp @@ -288,6 +288,8 @@ computer_session::computer_action_functions = { { COMPACT_MAPS, &computer_session::action_maps }, { COMPACT_MISS_DISARM, &computer_session::action_miss_disarm }, { COMPACT_OPEN, &computer_session::action_open }, + { COMPACT_OPEN_GATE, &computer_session::action_open_gate }, + { COMPACT_CLOSE_GATE, &computer_session::action_close_gate }, { COMPACT_OPEN_DISARM, &computer_session::action_open_disarm }, { COMPACT_PORTAL, &computer_session::action_portal }, { COMPACT_RADIO_ARCHIVE, &computer_session::action_radio_archive }, @@ -378,6 +380,20 @@ void computer_session::action_open() query_any( _( "Doors opened. Press any key…" ) ); } +void computer_session::action_open_gate() +{ + get_map().translate_radius( t_wall_metal, t_metal_floor, 8.0, get_player_character().pos(), + true ); + query_any( _( "Gates opened. Press any key…" ) ); +} + +void computer_session::action_close_gate() +{ + get_map().translate_radius( t_metal_floor, t_wall_metal, 8.0, get_player_character().pos(), + true ); + query_any( _( "Gates closed. Press any key…" ) ); +} + //LOCK AND UNLOCK are used to build more complex buildings // that can have multiple doors that can be locked and be // unlocked by different computers. diff --git a/src/computer_session.h b/src/computer_session.h index 47b686cc31406..3937995a99f64 100644 --- a/src/computer_session.h +++ b/src/computer_session.h @@ -108,6 +108,8 @@ class computer_session void action_maps(); void action_miss_disarm(); void action_open(); + void action_open_gate(); + void action_close_gate(); void action_open_disarm(); void action_portal(); void action_radio_archive();