From 4e9c1b758e2159f4148baf7d6e4ee9953222bbbc Mon Sep 17 00:00:00 2001 From: Maleclypse <54345792+Maleclypse@users.noreply.github.com> Date: Sun, 12 Sep 2021 00:34:54 -0500 Subject: [PATCH] [Aftershock] Arcology First Floor (#49951) * Extend/Delete in requirements * Revert "Extend/Delete in requirements" This reverts commit 9da0eaeb4e429187370701047115fbf391acf99a. * Valentine Cards (#47438) * Add a proficiency for handloading, and a new profession (#47244) * Drug Dealer Profession (#47255) * Adds hallula, a type of bread popular in Bolivia and Chile * Arm mounted pouch (#46946) * Tazer drone iii (#47353) * Added Gelatin and Several Gelatin Based Recipes (#47080) * Content: bread in a can (#45680) * New random mission (#44999) * Mycus fruit Juice (#44952) * Milleable corn (#46254) * Talk Tag Additions (#47010) * Fix typo in Valentines Card (#47583) * (CrazyCataclysm) Crazy Hallucinations (#47386) * Mealgurb (#47685) * Add duct tape blindfold for old reciepe plus tweaks for reciepe (#47527) * Prepare npc, spell, character, and item for new ai (#47207) * Make acetylene torch cut metal walls. (#46255) * Added disassembly recipes for several items (#46316) * Celsius temperature for freezing point (#47028) * Stand up peek (#47257) * [AFTERSHOCK] Basic Ballistic Weapons (#47559) * makes glass walls and glass doors constructable (#47692) * Crackers as bread and jam&cheese sandwich (#47649) * [Aftershock] misc typograpical fixes (#47783) * Tweaks for teas (#47848) * Have travis run for 0.F-dev Currently, .travis.yml has a 'development' branch specified as one to run tests for; the current equivalent is the 0.F-dev branch. * Tweakes to copper and metal pipes. (#47825) * Fried eggs deluxe, sandwiches, and condiment list (#47786) * Homemade toastems, buttercream frosting and recipes (#47696) * Chocolate Cow don't drop "cow pies" * Remove unused FATIGUE energy source from spells * [Magiclysm] add owlbear origin snippet (#47752) * [Magiclysm] add lesser banishment spell, buff greater banishment (#47537) * Unhardcode bio_heatsink and bio_climate * Hunting lodge Location (#44378) * fungal evolution (#47247) * Add book strap carrier (#47665) * Partial mine jsonify; new zombie miner (#47790) * Moved mine_entrance OMT from the list of hardcoded locations to industial locations Also removed mine_shaft OMT and replaced it with mine_shaft_middle and mine_shaft_lower OMTs. Also added mine_entrance_roof OMT. * Added mine_entrance and mine_shaft to the list of obsoleted terrains * Added a zombie miner and its death drops * Created a json-version of mine entrance and its roof * Created a json-version of mine shaft (middle and lower variants) * Changed overmap special definition of a mine to include new json chunks * Applied migration of hardcoded mine_entrance and mine_shaft OMTs to new json variants * Made hardcoded mine chunks generate to the west of lower section of new mine shaft OMT Also removed mine_entrance and mine_shaft from the list of hardocoded mapgen. * Completely removed build_mine_room function as all mine rooms are now defined in json Also removed hardcoded generation of mine entrance and mine shaft. * Removed mentions of mine rooms from mapgen.h * Updated alt_map_key mod * Updated graphical overmap mod * Added missing harvest * Appease clang and constify * Quickfix * Appease clang one more time * Add 0.F-dev to matrix.yml (Getting 0.F-dev working with Travis appears to require additional settings by someone with permissions.) This change enables both pushes and pull requests of 0.F-dev to get checked by the General Matrix. As it is, if one bases a PR off of 0.F-dev, it doesn't get checked by Github. * 0.F-dev workflows (#47875) * Alter brown bread recipe to match canned version Fixes #47874. * Mine entrance expand (#47928) * Added mine_materials item group * Added Trolley vehicle * Expanded and tweaked above-ground and underground levels of mine entrance * [DinoMod] Mushroom Madness (#47907) * misc typograpical fixes * body pillow recipe makes makeshift body pillow now (#47917) * Traffic Bollards and an example of deployment (#48017) * add description for Uyen's missions * JSONize some trap features, replace trap int_id externs with string_ids (#47933) * JSONize trap sonar detectibility Add trap flags - just the same as normal flags, but for traps! Stick them in their own separate file to avoid confusion. * JSONize trap memorial messages light_snare and heavy_snare seem to no longer exist, or I couldn't find any reference to them but this and tilesets. Updated dissector trap message, and added a trap message to some traps (the hallway ones, one or two of the similar-but-not-the-same variants of existing traps). * JSONize trap temperature convection Not quite sure how to describe it, went the lazy route. * Move traps externs from int to string ids When loading the game without this content, these will now only give an error on the use of these, instead of at the end data loading for traps. Previously there were performance concerns with this, but this should be fine since #44261 - see #44500. tr_null must remain an int id, as it used in the string to int id conversion. This is fine, as it will always be loaded (it's in data/core). Move the ledge trap over to data/core as well, because everything will need the 'open space' trap. * Clean up character mutation gain a bit Reduce duplicated code. I presume there's a reason that set_mutations didn't just call set_mutation, and the only difference is that it doesn't do the cache updates till the end, so preserve that behaviour. * Allow CBMs to specify mutations that prevent installation. (#47822) * Move CBM installation checks to Character Reduce code duplication, encapsulate things better, and make this available outside of the inventory menus. * Allow mutations to prevent installing CBMs Bionics can currently cancel mutations when installed, but can't have mutations prevent installation. * Spiral mine jsonify (#48003) * prevent bell spam (#47987) * Note that vat is required for fermentation in vinegar brewing * Unhardcode ease of sleep * calorie test * Revert "calorie test" This reverts commit e5355755a9f6abc1f3c6152210a9fdcdaeac4749. * Arcology Start Adding windows and entrances organization more mapgen organization and more overmaps Update arcology_ground.json Update arcology_ground.json Last of the gates Update arcology_gate_chunks.json city special and terrain chunks Update arcology_ground.json Update arcology_chunks.json Update data/mods/Aftershock/itemgroups/arcology_groups.json Update recipe_obsolete.json chunkening testing fixes Update arcology_ground.json Update arcology_ground.json fixes neverending fixes the lintening Update arcology_gate_chunks.json Update arcology_gate_chunks.json Update arcology_gate_chunks.json Can force spawn now but it is blank Update arcology_chunks.json 15 tons and whadya get reverses north and south Ready for testing Gates open Open and Close gates using console broken metal flooring * Open and Close * Lint * Apply suggestions from code review Co-authored-by: John Candlebury Co-authored-by: LaVeyanFiend <51099123+LaVeyanFiend@users.noreply.github.com> Co-authored-by: slimeboy460 <68845349+slimeboy460@users.noreply.github.com> Co-authored-by: ToxiClay Co-authored-by: Jamuro-g <76928284+Jamuro-g@users.noreply.github.com> Co-authored-by: Xenomorph-III Co-authored-by: grawprog <77870049+grawprog@users.noreply.github.com> Co-authored-by: Xaleth Co-authored-by: El-Jekozo <72350516+El-Jekozo@users.noreply.github.com> Co-authored-by: RobertoVGoulart Co-authored-by: Zukulini Co-authored-by: klorpa <30924131+klorpa@users.noreply.github.com> Co-authored-by: UmbralReaper <67179462+UmbralReaper@users.noreply.github.com> Co-authored-by: SariusSkelrets <68650913+SariusSkelrets@users.noreply.github.com> Co-authored-by: Fosheze <50811445+Fosheze@users.noreply.github.com> Co-authored-by: Lamandus <33199510+Lamandus@users.noreply.github.com> Co-authored-by: Curtis Merrill Co-authored-by: NeviNovat <51816321+NeviNovat@users.noreply.github.com> Co-authored-by: Karol1223 <68503002+Karol1223@users.noreply.github.com> Co-authored-by: Hirmuolio <22011552+Hirmuolio@users.noreply.github.com> Co-authored-by: Charlie Gardai <32105250+Moltenhead@users.noreply.github.com> Co-authored-by: Mom-Bun <43492737+Mom-Bun@users.noreply.github.com> Co-authored-by: OromisElf Co-authored-by: casswedson <58050969+casswedson@users.noreply.github.com> Co-authored-by: actual-nh <74678550+actual-nh@users.noreply.github.com> Co-authored-by: Fris0uman Co-authored-by: Ramza13 <52087122+Ramza13@users.noreply.github.com> Co-authored-by: LyleSY Co-authored-by: FuelType-Memes <42695732+FuelType-Memes@users.noreply.github.com> Co-authored-by: Anton Burmistrov Co-authored-by: actual-nh Co-authored-by: casswedson Co-authored-by: akirashirosawa <38557723+akirashirosawa@users.noreply.github.com> Co-authored-by: anothersimulacrum Co-authored-by: Jeremy Rose Co-authored-by: John Candlebury --- .../terrain-floors-indoor.json | 23 + .../itemgroups/arcology_groups.json | 7 + data/mods/Aftershock/maps/city_buildings.json | 66 ++ .../{ => furniture_and_terrain}/terrain.json | 0 .../terrain_floraxeno.json | 0 .../terrain_groundxeno.json | 0 .../terrain_spaceship.json | 0 .../maps/mapgen/arcology_ground.json | 867 ++++++++++++++++++ .../maps/mapgen_pallete/arcology.json | 85 ++ .../maps/nested/arcology/arcology_chunks.json | 445 +++++++++ .../nested/arcology/arcology_gate_chunks.json | 733 +++++++++++++++ .../mods/Aftershock/maps/overmap_terrain.json | 64 ++ src/computer.cpp | 2 + src/computer.h | 2 + src/computer_session.cpp | 16 + src/computer_session.h | 2 + 16 files changed, 2312 insertions(+) create mode 100644 data/mods/Aftershock/itemgroups/arcology_groups.json rename data/mods/Aftershock/maps/{ => furniture_and_terrain}/terrain.json (100%) rename data/mods/Aftershock/maps/{ => furniture_and_terrain}/terrain_floraxeno.json (100%) rename data/mods/Aftershock/maps/{ => furniture_and_terrain}/terrain_groundxeno.json (100%) rename data/mods/Aftershock/maps/{ => furniture_and_terrain}/terrain_spaceship.json (100%) create mode 100644 data/mods/Aftershock/maps/mapgen/arcology_ground.json create mode 100644 data/mods/Aftershock/maps/mapgen_pallete/arcology.json create mode 100644 data/mods/Aftershock/maps/nested/arcology/arcology_chunks.json create mode 100644 data/mods/Aftershock/maps/nested/arcology/arcology_gate_chunks.json 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();