From 86578cfe6c29e4f747424add9ac0501f95f29a58 Mon Sep 17 00:00:00 2001 From: curstwist <39442864+curstwist@users.noreply.github.com> Date: Thu, 12 Aug 2021 01:47:23 -0400 Subject: [PATCH] lab monster spawns and eoc (#50336) * lab monster spawns and eoc Update to match Kevin's fix for param defaults and change one fallback ID. --- .../lab/lab_modular/lab_1x1_security.json | 138 ++++-- .../lab/lab_modular/lab_1x1x2_RES_8.json | 171 +++++++- .../lab_1x1x2_RES_8_apartments.json | 2 + .../lab/lab_modular/lab_2x2_MUT_Tier_1.json | 27 +- .../lab/lab_modular/lab_2x2_MUT_Tier_2.json | 94 +--- .../lab/lab_modular/lab_2x2_cargo_depot.json | 18 +- .../lab_modular/lab_2x2x2_RES_8_bedrooms.json | 14 +- .../lab_modular/lab_2x2x2_RES_8_commons.json | 4 +- .../lab/lab_modular/lab_cargo_surface.json | 2 + .../lab/lab_modular/lab_central_hallway.json | 43 +- .../lab_modular/lab_maintenance_areas.json | 3 + .../lab_effect_on_condition.json | 415 ++++++++++++++++++ .../lab_nests_modular/lab_nested_mutagen.json | 33 ++ .../lab_nested_security.json | 118 +++++ .../lab_nests_modular/lab_shared_traps.json | 4 +- .../lab_modular/lab_mini_specials.json | 4 +- .../lab_modular/lab_mutagen_6_floor.json | 6 +- .../overmap_terrain/overmap_terrain_lab.json | 3 +- 18 files changed, 908 insertions(+), 191 deletions(-) create mode 100644 data/json/mapgen/lab/lab_modular/lab_nests_modular/lab_effect_on_condition.json diff --git a/data/json/mapgen/lab/lab_modular/lab_1x1_security.json b/data/json/mapgen/lab/lab_modular/lab_1x1_security.json index 0da9e29815e62..e8de67d2b35b3 100644 --- a/data/json/mapgen/lab/lab_modular/lab_1x1_security.json +++ b/data/json/mapgen/lab/lab_modular/lab_1x1_security.json @@ -42,9 +42,9 @@ "6": "t_card_science_transport_1" }, "place_monsters": [ - { "monster": "GROUP_LAB_MAINTENANCE", "x": [ 5, 20 ], "y": [ 5, 14 ], "density": 0.2 }, - { "monster": "GROUP_LAB_BASIC_SECURITY", "x": [ 5, 12 ], "y": 20, "density": 0.1 }, - { "monster": "GROUP_LAB_MAINTENANCE", "x": 20, "y": 20, "density": 0.1 } + { "monster": "GROUP_LAB_MAINTENANCE", "x": [ 5, 20 ], "y": [ 5, 14 ], "density": 0.15 }, + { "monster": "GROUP_LAB_BASIC_SECURITY", "x": [ 5, 12 ], "y": 20, "density": 0.05 }, + { "monster": "GROUP_LAB_MAINTENANCE", "x": [ 11, 21 ], "y": [ 19, 21 ], "density": 0.1 } ], "place_nested": [ { "chunks": [ [ "lab_security_6x6_open", 50 ], [ "lab_generic_6x6_open", 50 ] ], "x": 3, "y": 18 } ], "place_vehicles": [ { "vehicle": "semi_truck", "x": 16, "y": 10, "chance": 20, "rotation": 180 } ] @@ -91,23 +91,29 @@ "ƶ": "t_card_science_security_yellow", "i": "t_thconc_floor" }, + "place_loot": [ + { "item": "id_science_security_yellow", "x": 13, "y": 21, "chance": 10 }, + { "item": "id_science_security_yellow", "x": 13, "y": 2, "chance": 10 }, + { "item": "id_science_security_yellow", "x": 22, "y": 4, "chance": 100 }, + { "item": "id_science_maintenance_green", "x": 16, "y": 12, "chance": 100 } + ], "place_monsters": [ { "monster": "GROUP_LAB_BASIC_SECURITY", "x": [ 19, 23 ], "y": [ 5, 18 ], "density": 0.2 } ], "place_nested": [ { "chunks": [ [ "lab_security_3x3_EW", 50 ], [ "lab_generic_3x3_EW_open", 50 ] ], "x": 15, "y": 7 }, { "chunks": [ [ "lab_security_3x3_EW", 50 ], [ "lab_generic_3x3_EW_open", 50 ] ], "x": 15, "y": 14 } ], "place_monster": [ - { "monster": "mon_skitterbot", "x": 9, "y": 8, "chance": 100 }, - { "monster": "mon_skitterbot", "x": 9, "y": 9, "chance": 100 }, - { "monster": "mon_secubot", "x": 9, "y": 14, "chance": 100 }, - { "monster": "mon_secubot", "x": 9, "y": 15, "chance": 100 } + { "monster": "mon_flashbang_hack", "x": 9, "y": 8, "chance": 100 }, + { "monster": "mon_gasbomb_hack", "x": 9, "y": 9, "chance": 100 }, + { "monster": "mon_skitterbot", "x": 9, "y": 14, "chance": 100 }, + { "monster": "mon_manhack", "x": 9, "y": 15, "chance": 100 } ], "computers": { "6": { "name": "Security Public Relations Zone", "security": 3, - "options": [ { "name": "UNLOCK ENTRANCE", "action": "unlock_disarm", "security": 6 } ], - "failures": [ { "action": "damage" }, { "action": "shutdown" }, { "action": "manhacks" } ] + "options": [ { "name": "UNLOCK ENTRANCE", "action": "unlock_disarm", "security": 3 } ], + "failures": [ { "action": "damage" }, { "action": "manhacks" } ] } } } @@ -180,14 +186,14 @@ "|,,,,,,|;;;;;;;;;;;;;;;|", "|,,,,,,|;;;;;;;;;;;;;;;|", "||||-X||||||||ƶ=||||||||", - "|,|,,,,,,¥,iii,,,,Y|;;;|", - "|,|,,,,,,=,,,,,ê,,,+;;;|", + "|j,,,,,,,¥,iii,,,,Y|;;;|", + "|j,,,,,,,=,,,,,ê,,,+;;;|", "|||||,,||||JJJJ,h|||;;;|", "|<,,|,,122|P,hJ,,+<|||||", "|>,,-,,-22|P,,J,,+<|||||", "|||||,,||||J,JJ,h|||;;;|", - "|,|,,,,,,=,,,,,ê,,,+;;;|", - "|,|,,,,,,¥,iii,,,,Y|;;;|", + "|j,,,,,,,=,,,,,ê,,,+;;;|", + "|j,,,,,,,¥,iii,,,,Y|;;;|", "||||-X||||||||ƶ=||||||||", "|,,,,,,|;;;;;;;;;;;;;;;|", "|,,,,,,|;;;;;;;;;;;;;;;|", @@ -198,7 +204,16 @@ "||||||||||||||||||||||||" ], "palettes": [ "lab_common_palette", "lab_security_palette" ], + "place_monsters": [ { "monster": "GROUP_LAB_BASIC_SECURITY", "x": [ 1, 22 ], "y": [ 1, 22 ], "density": 0.2 } ], "terrain": { "¥": "t_card_science_security_yellow", "ƶ": "t_card_science_security_magenta" }, + "place_loot": [ + { "item": "id_science_maintenance_yellow", "x": 11, "y": 11, "chance": 30 }, + { "item": "id_science_mutagen_green", "x": 11, "y": 11, "chance": 30 }, + { "item": "id_science_medical_red", "x": 11, "y": 11, "chance": 30 }, + { "item": "id_science_maintenance_yellow", "x": 11, "y": 12, "chance": 30 }, + { "item": "id_science_mutagen_green", "x": 11, "y": 12, "chance": 30 }, + { "item": "id_science_medical_red", "x": 11, "y": 12, "chance": 30 } + ], "place_signs": [ { "snippet": "lab_security_signage", "x": [ 10, 13 ], "y": 7 }, { "snippet": "lab_security_signage", "x": [ 17, 18 ], "y": 7 }, @@ -251,6 +266,7 @@ "|,,,,,,,,,ƶ,,,,,|⁴⁴⁴⁴⁴⁴⁴" ], "palettes": [ "lab_common_palette", "lab_security_palette" ], + "place_monsters": [ { "monster": "GROUP_LAB_BASIC_SECURITY", "x": [ 1, 8 ], "y": [ 1, 22 ], "density": 0.1 } ], "terrain": { "ƶ": "t_card_science_security_magenta" }, "place_nested": [ { "chunks": [ [ "lab_security_10x10_S", 100 ], [ "null", 0 ] ], "x": 1, "y": 0 }, @@ -274,14 +290,14 @@ "|,,,,,,,|3,.,|```|;;££;;", "|,,,,,,,],.,.|||||;££;;;", "||||-|]]|.,.,|;;;;££;;;;", - "|;;|.,.,.,.,.|;;;££;;;;;", - "|;;+,.,.,.,.,X;;££;;;;;;", + "|U;|.,.,.,.,.|;;;££;;;;;", + "|U;+,.,.,.,.,X;;££;;;;;;", "|||||,.||||,.X;;££££££££", "|<,.|.,122|.,-;;££``````", "|,.,),.)22|,.-;;££``````", "|||||.,||||.,X;;££££££££", - "|;;+.,.,.,.,.X;;££;;;;;;", - "|;;|,.,.,.,.,|;;;££;;;;;", + "|U;+.,.,.,.,.X;;££;;;;;;", + "|U;|,.,.,.,.,|;;;££;;;;;", "||||-|]]|,.,.|;;;;££;;;;", "|,,,,,,,].,.,|||||;££;;;", "|,,,,,,,|4.,.|```|;;££;;", @@ -292,7 +308,13 @@ "|,,,,,,,|;|;;;;;;;;;;|;|" ], "palettes": [ "lab_common_palette", "lab_security_palette" ], + "place_loot": [ { "item": "id_science_maintenance_green", "x": 1, "y": 8, "chance": 100 } ], "terrain": { "¥": "t_card_science_security_yellow", "ƶ": "t_card_science_security_magenta" }, + "place_signs": [ + { "signage": "Badges Mandatory Beyond This Point.", "x": 13, "y": 10 }, + { "signage": "Badges Mandatory Beyond This Point.", "x": 13, "y": 13 } + ], + "place_monsters": [ { "monster": "GROUP_LAB_BASIC_SECURITY", "x": [ 1, 22 ], "y": [ 1, 22 ], "density": 0.1 } ], "place_monster": [ { "monster": "mon_flashbang_hack", "x": 22, "y": 0, "chance": 100 }, { "monster": "mon_gasbomb_hack", "x": 22, "y": 1, "chance": 100 }, @@ -348,7 +370,8 @@ "||||||||||||||||||||||||" ], "palettes": [ "lab_common_palette", "lab_security_palette" ], - "terrain": { "¥": "t_card_science_security_magenta", "ƶ": "t_card_science_maintenance_blue" }, + "terrain": { "¥": "t_card_science_security_magenta", "ƶ": "t_card_science_security_black" }, + "place_monsters": [ { "monster": "GROUP_LAB_MILITARY", "x": [ 1, 22 ], "y": [ 1, 22 ], "density": 0.2 } ], "place_nested": [ { "chunks": [ [ "lab_security_10x10_S", 100 ], [ "null", 0 ] ], "x": 1, "y": 1 }, { "chunks": [ [ "lab_security_10x10_N", 100 ], [ "null", 0 ] ], "x": 1, "y": 13 }, @@ -365,42 +388,58 @@ { "method": "json", "om_terrain": "lab_security_z-5", - "//": "TODO: add nested rooms to right side.", "type": "mapgen", "weight": 200, "object": { "fill_ter": "t_metal_floor", "rows": [ "||||||||||||||||||||||||", - "|,,,,,,,,,|`````¥``````ɜ", - "|,,,,,,,,,|`````=```````", - "|,,,,,,,,,|``|##|```````", - "|,,,,,,,,,|``|><|`ɜ`````", - "|,,,,,,,,,|``|||||||||||", - "|,,,,,,,,,|``|||||||||||", - "|,,,,,,,,,|``|||||||||||", - "|,,,,,,,,,|``|||||||||||", - "|,,,,,,,,,|``||,,,,,,|||", - "|,,,,,,,,,|``||,,,,,,|||", - "|||||,,,,,=``=,,,,,,,|||", - "|||||,,,,,=``=,,,,,,,|||", - "|,,,,,,,,,|``ƶ|,,,,,,|||", - "|,,,,,,,,,|``||,,,,,,|||", - "|,,,,,,,,,|``|||||||||||", - "|,,,,,,,,,|``|||||||||||", - "|,,,,,,,,,|``|||||||||||", - "|,,,,,,,,,|``|||||||||||", - "|,,,,,,,,,|``|><|`ɜ`````", - "|,,,,,,,,,|``|##|```````", - "|,,,,,,,,,|`````=```````", - "|,,,,,,,,,|`````¥``````ɜ", + "|,,,,,,,,,,,,|``````````", + "|,,,,,,,,,,,,|``````````", + "|,,,,,,,,,,,,|##||||||||", + "|,,,,,,,,,,,,|><|``||``|", + "|,,,,,,,,,,,,|||||||||||", + "|,,,,,,,,,,,,|||||||||||", + "|,,,,,,,,,,,,|||||||||||", + "|,,,,,,,,,,,,|||||||||||", + "|,,,,,,,,,,,,||≠LLLL≠|||", + "|,,,,,,,,,,,,||``````|||", + "|,,,,,,,,,,,,```j``j````", + "|,,,,,,,,,,,,```j``j````", + "|,,,,,,,,,,,,||``````|||", + "|,,,,,,,,,,,,||≠LLLL≠|||", + "|,,,,,,,,,,,,|||||||||||", + "|,,,,,,,,,,,,|||||||||||", + "|,,,,,,,,,,,,|||||||||||", + "|,,,,,,,,,,,,|||||||||||", + "|,,,,,,,,,,,,|><|``||``|", + "|,,,,,,,,,,,,|##||||||||", + "|,,,,,,,,,,,,|``````````", + "|,,,,,,,,,,,,|``````````", "||||||||||||||||||||||||" ], "palettes": [ "lab_common_palette", "lab_security_palette" ], - "terrain": { "¥": "t_card_science_security_black", "ƶ": "t_card_science_security_magenta" }, + "place_monsters": [ { "monster": "GROUP_LAB_MILITARY", "x": [ 1, 22 ], "y": [ 1, 22 ], "density": 0.1 } ], + "items": { + "L": { "item": "guns_milspec", "chance": 50 }, + "≠": [ + { "item": "ammo_milspec", "chance": 70, "repeat": [ 1, 2 ] }, + { "item": "mags_milspec", "chance": 70, "repeat": [ 1, 2 ] } + ] + }, + "place_monster": [ + { "monster": "mon_flashbang_hack", "x": 17, "y": 4, "chance": 100 }, + { "monster": "mon_gasbomb_hack", "x": 18, "y": 4, "chance": 100 }, + { "monster": "mon_skitterbot", "x": 21, "y": 4, "chance": 100 }, + { "monster": "mon_tazer_hack", "x": 22, "y": 4, "chance": 100 }, + { "monster": "mon_gasbomb_hack", "x": 17, "y": 19, "chance": 100 }, + { "monster": "mon_manhack", "x": 18, "y": 19, "chance": 100 }, + { "monster": "mon_tazer_hack", "x": 21, "y": 19, "chance": 100 }, + { "monster": "mon_skitterbot", "x": 22, "y": 19, "chance": 100 } + ], "place_nested": [ - { "chunks": [ [ "lab_security_10x10_S", 100 ], [ "null", 0 ] ], "x": 1, "y": 1 }, - { "chunks": [ [ "lab_security_10x10_N", 100 ], [ "null", 0 ] ], "x": 1, "y": 13 } + { "chunks": [ [ "12x12_obstacle_course_N", 100 ] ], "x": 1, "y": 1 }, + { "chunks": [ [ "12x12_obstacle_course_S", 100 ] ], "x": 1, "y": 11 } ] } }, @@ -440,11 +479,16 @@ ], "palettes": [ "lab_common_palette", "lab_security_palette" ], "terrain": { "ɜ": "t_metal_floor", "¥": "t_card_science_security_black", "ƶ": "t_card_science_security_magenta" }, - "place_loot": [ { "item": "huge_atomic_battery_cell", "x": 21, "y": [ 15, 16 ], "chance": 50 } ], - "place_monster": [ { "monster": [ "mon_mech_recon", "mon_mech_combat" ], "x": 15, "y": [ 15, 16 ], "chance": 30 } ], + "place_monsters": [ + { "monster": "GROUP_LAB_MILITARY", "x": [ 1, 12 ], "y": [ 1, 22 ], "chance": 100, "repeat": [ 3, 8 ] }, + { "monster": "GROUP_LAB_MILITARY", "x": [ 16, 20 ], "y": [ 8, 12 ], "chance": 100, "repeat": [ 1, 3 ] } + ], + "place_loot": [ { "item": "huge_atomic_battery_cell", "x": 21, "y": [ 15, 16 ], "chance": 85 } ], + "place_monster": [ { "monster": [ "mon_mech_recon", "mon_mech_combat" ], "x": 15, "y": [ 15, 16 ], "chance": 85 } ], "items": { "q": { "item": "guns_milspec", "chance": 40, "repeat": [ 1, 2 ] }, "r": { "item": "tools_gunsmith", "chance": 10 }, + "N": [ { "item": "tools_gunsmith", "chance": 100 }, { "item": "mechanics", "chance": 50 } ], "≠": [ { "item": "ammo_milspec", "chance": 70, "repeat": [ 1, 2 ] }, { "item": "mags_milspec", "chance": 40, "repeat": [ 1, 2 ] } @@ -454,7 +498,7 @@ "6": { "name": "Magazine Entrance", "security": 6, - "options": [ { "name": "UNLOCK ENTRANCE", "action": "unlock", "security": 7 } ], + "options": [ { "name": "UNLOCK ENTRANCE", "action": "unlock", "security": 6 } ], "failures": [ { "action": "damage" }, { "action": "shutdown" } ] } } diff --git a/data/json/mapgen/lab/lab_modular/lab_1x1x2_RES_8.json b/data/json/mapgen/lab/lab_modular/lab_1x1x2_RES_8.json index 7cef9e9b85911..75d609e6d74b2 100644 --- a/data/json/mapgen/lab/lab_modular/lab_1x1x2_RES_8.json +++ b/data/json/mapgen/lab/lab_modular/lab_1x1x2_RES_8.json @@ -33,6 +33,17 @@ "|||||||||||±||||||||||||" ], "palettes": [ "lab_common_palette", "lab_residential_palette", "standard_domestic_lino_bathroom" ], + "place_loot": [ { "item": "id_science_maintenance_blue", "x": 22, "y": 17, "chance": 50 } ], + "place_monsters": [ { "monster": "GROUP_LAB_MAINTENANCE", "x": [ 1, 22 ], "y": [ 1, 22 ], "density": 0.2 } ], + "place_monster": [ + { + "monster": [ "mon_feral_human_pipe", "mon_feral_human_crowbar" ], + "x": 19, + "y": 19, + "chance": 100, + "pack_size": [ 3, 5 ] + } + ], "terrain": { "!": "t_open_air_rooved", "U": "t_linoleum_gray" } } }, @@ -69,6 +80,17 @@ "|9|9|8S|;;|UU|;;|IIy|S9|", "|||||||||||±||||||||||||" ], + "place_monsters": [ { "monster": "GROUP_LAB_BASIC_SECURITY", "x": [ 1, 22 ], "y": [ 1, 22 ], "density": 0.2 } ], + "place_loot": [ { "item": "id_science_security_magenta", "x": 22, "y": 17, "chance": 100 } ], + "place_monster": [ + { + "monster": [ "mon_feral_labsecurity_flashlight", "mon_feral_labsecurity_9mm" ], + "x": 19, + "y": 19, + "chance": 100, + "pack_size": [ 3, 5 ] + } + ], "palettes": [ "lab_common_palette", "lab_security_palette", "standard_domestic_lino_bathroom" ], "terrain": { "!": "t_open_air_rooved", "U": "t_linoleum_gray" }, "items": { @@ -86,7 +108,7 @@ }, { "method": "json", - "om_terrain": "lab_1x1_RES_8_commons", + "om_terrain": [ "lab_1x1_RES_8_commons_SEC" ], "type": "mapgen", "weight": 200, "object": { @@ -107,13 +129,145 @@ "|2_________!!___||||||||", "|157F3____!!!!__|ÿÿÿÿÿÿ|", "||||||_||_!!!!__|ÿÿÿÿÿÿ|", - "|6______+_!!!!__|ÿÿÿÿÿÿ|", - "|66JJJ66|_!!!!__+ÿÿÿÿÿÿ|", + "|_|6____+_!!!!__|ÿÿÿÿÿÿ|", + "|_|JJJ66|_!!!!__+ÿÿÿÿÿÿ|", "|||||||||__!!___|ÿÿÿÿÿÿ|", "|_________|<<|__|ÿÿÿÿÿÿ|", "|_____||+|||||__||||||||", + "|_____|___|UU+__+YS,,+t|", + "|_____|___|,,||||,,,,|||", "|_____|___|UU|__|YS,,+t|", - "|_____|___|,,+__+,,,,|||", + "|||||||||||±||||||||||||" + ], + "parameters": { + "carpet_type": { + "type": "ter_str_id", + "default": { + "distribution": [ + [ "t_carpet_concrete_yellow", 2 ], + [ "t_carpet_concrete_green", 2 ], + [ "t_carpet_concrete_purple", 1 ], + [ "t_carpet_concrete_red", 1 ], + [ "t_thconc_floor", 2 ] + ] + } + }, + "floor_type": { + "type": "ter_str_id", + "default": { + "distribution": [ + [ "t_carpet_concrete_yellow", 2 ], + [ "t_carpet_concrete_green", 2 ], + [ "t_carpet_concrete_purple", 1 ], + [ "t_carpet_concrete_red", 1 ], + [ "t_floor", 1 ], + [ "t_thconc_floor", 2 ] + ] + } + } + }, + "palettes": [ "lab_common_palette", "lab_residential_palette", "standard_domestic_lino_bathroom" ], + "terrain": { + "U": "t_linoleum_gray", + "Y": "t_linoleum_gray", + "!": { "param": "carpet_type", "fallback": "t_carpet_concrete_yellow" }, + "ÿ": { "param": "floor_type", "fallback": "t_thconc_floor" } + }, + "place_monsters": [ { "monster": "GROUP_LAB_BASIC_SECURITY", "x": [ 1, 22 ], "y": [ 1, 22 ], "density": 0.2 } ], + "place_monster": [ + { "monster": "mon_flashbang_hack", "x": 1, "y": 15, "chance": 100 }, + { "monster": "mon_manhack", "x": 1, "y": 16, "chance": 100 }, + { "monster": "mon_flashbang_hack", "x": 14, "y": 22, "chance": 100 }, + { "monster": "mon_gasbomb_hack", "x": 15, "y": 22, "chance": 100 } + ], + "place_nested": [ + { + "chunks": [ + [ "diningroom_6x6_E_W_1", 20 ], + [ "diningroom_6x6_E_W_2", 20 ], + [ "diningroom_6x6_N_S_2", 20 ], + [ "diningroom_6x6_N_S_1B", 20 ], + [ "diningroom_6x6_N_S_1A", 20 ] + ], + "x": 2, + "y": 1 + }, + { + "chunks": [ + [ "bonus_room_3x3_1", 20 ], + [ "bonus_room_3x3_3", 20 ], + [ "bonus_room_3x3_E_5", 20 ], + [ "bonus_room_3x3_E_6", 20 ], + [ "bonus_room_3x3_W_6", 20 ], + [ "bonus_room_3x3_E_8", 20 ], + [ "bonus_room_3x3_S_8", 20 ], + [ "bonus_room_3x3_W_8", 20 ], + [ "bonus_room_3x3_S_6", 20 ] + ], + "x": 7, + "y": 20 + }, + { "chunks": [ [ "lab_residential_6x6_W", 100 ] ], "x": 17, "y": 6 }, + { "chunks": [ [ "lab_residential_6x6_W", 100 ] ], "x": 17, "y": 13 }, + { + "chunks": [ + [ "livingroom_5x5_N_2", 30 ], + [ "livingroom_5x5_S_2", 20 ], + [ "livingroom_5x5_W_2", 30 ], + [ "5x5_pool", 10 ], + [ "5x5_gym_S", 20 ], + [ "5x5_dojo", 20 ], + [ "5x5_gym_W", 20 ] + ], + "x": 1, + "y": 18 + }, + { + "chunks": [ + [ "livingroom_5x5_N_1", 10 ], + [ "livingroom_5x5_S_1", 10 ], + [ "livingroom_5x5_W_1", 10 ], + [ "livingroom_5x5_N_2", 10 ], + [ "livingroom_5x5_S_2", 10 ], + [ "livingroom_5x5_E_2", 10 ], + [ "livingroom_5x5_W_2", 10 ] + ], + "x": 18, + "y": 1 + } + ] + } + }, + { + "method": "json", + "om_terrain": [ "lab_1x1_RES_8_commons_MAINT" ], + "type": "mapgen", + "weight": 200, + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "|||||||||||++|||||||||||", + "|_ÿÿÿÿÿÿ___!!____!!!!!!|", + "|_ÿÿÿÿÿÿ___!!____!!!!!!|", + "|_ÿÿÿÿÿÿ___!!____!!!!!!|", + "|_ÿÿÿÿÿÿ___!!____!!!!!!|", + "|_ÿÿÿÿÿÿ___!!____!!!!!!|", + "|_ÿÿÿÿÿÿ___!!____!!!!!!|", + "||||JJJ____!!____!!!!!!|", + "|y____JA___!!____!!!!!!|", + "|3____J_A__!!____!!!!!!|", + "|4____JA___!!____!!!!!!|", + "|O____J_A__!!____!!!!!!|", + "|2_________!!___||||||||", + "|157F3____!!!!__|ÿÿÿÿÿÿ|", + "||||||_||_!!!!__|ÿÿÿÿÿÿ|", + "|_|6____+_!!!!__|ÿÿÿÿÿÿ|", + "|_|JJJ66|_!!!!__+ÿÿÿÿÿÿ|", + "|||||||||__!!___|ÿÿÿÿÿÿ|", + "|_________|<<|__|ÿÿÿÿÿÿ|", + "|_____||+|||||__||||||||", + "|_____|___|UU+__+YS,,+t|", + "|_____|___|,,||||,,,,|||", "|_____|___|UU|__|YS,,+t|", "|||||||||||±||||||||||||" ], @@ -149,8 +303,15 @@ "U": "t_linoleum_gray", "Y": "t_linoleum_gray", "!": { "param": "carpet_type", "fallback": "t_carpet_concrete_yellow" }, - "ÿ": { "param": "floor_type", "fallback": "t_floor" } + "ÿ": { "param": "floor_type", "fallback": "t_thconc_floor" } }, + "place_monsters": [ { "monster": "GROUP_LAB_MAINTENANCE", "x": [ 1, 22 ], "y": [ 1, 22 ], "density": 0.2 } ], + "place_monster": [ + { "monster": "mon_flashbang_hack", "x": 1, "y": 15, "chance": 100 }, + { "monster": "mon_manhack", "x": 1, "y": 16, "chance": 100 }, + { "monster": "mon_flashbang_hack", "x": 14, "y": 22, "chance": 100 }, + { "monster": "mon_gasbomb_hack", "x": 15, "y": 22, "chance": 100 } + ], "place_nested": [ { "chunks": [ diff --git a/data/json/mapgen/lab/lab_modular/lab_1x1x2_RES_8_apartments.json b/data/json/mapgen/lab/lab_modular/lab_1x1x2_RES_8_apartments.json index af87a6c5339d1..91173bcc162c9 100644 --- a/data/json/mapgen/lab/lab_modular/lab_1x1x2_RES_8_apartments.json +++ b/data/json/mapgen/lab/lab_modular/lab_1x1x2_RES_8_apartments.json @@ -33,6 +33,7 @@ "|||||||||||±||||||||||||" ], "palettes": [ "lab_common_palette", "lab_residential_palette", "standard_domestic_lino_bathroom" ], + "place_monsters": [ { "monster": "GROUP_LAB_HOSPTIAL", "x": [ 1, 22 ], "y": [ 1, 22 ], "density": 0.1 } ], "terrain": { ":": "t_window_domestic", "Y": "t_linoleum_gray" } } }, @@ -70,6 +71,7 @@ "|||||||||||±||||||||||||" ], "palettes": [ "lab_common_palette", "lab_residential_palette", "standard_domestic_lino_bathroom" ], + "place_monsters": [ { "monster": "GROUP_LAB_HOSPTIAL", "x": [ 1, 22 ], "y": [ 1, 22 ], "density": 0.1 } ], "terrain": { ":": "t_window_domestic", "Y": "t_linoleum_gray" } } } diff --git a/data/json/mapgen/lab/lab_modular/lab_2x2_MUT_Tier_1.json b/data/json/mapgen/lab/lab_modular/lab_2x2_MUT_Tier_1.json index 1f87839295114..45522bce65e58 100644 --- a/data/json/mapgen/lab/lab_modular/lab_2x2_MUT_Tier_1.json +++ b/data/json/mapgen/lab/lab_modular/lab_2x2_MUT_Tier_1.json @@ -33,10 +33,7 @@ "|......|;;;|.......X,..." ], "palettes": [ "lab_common_palette", "lab_mutagen_palette" ], - "place_traps": [ - { "trap": "tr_light_on_res_8_NW", "x": [ 8, 10 ], "y": [ 1, 23 ], "repeat": [ 1, 2 ] }, - { "trap": "tr_concrete_wall_door_lab_res_8_NW", "x": [ 8, 10 ], "y": [ 1, 23 ], "repeat": [ 2, 3 ] } - ], + "place_traps": [ { "trap": "tr_light_on_res_8_NW", "x": [ 8, 10 ], "y": [ 1, 23 ], "repeat": [ 1, 2 ] } ], "place_monsters": [ { "monster": "GROUP_LAB_RESEARCHERS", "x": [ 13, 22 ], "y": [ 7, 22 ], "density": 0.1 }, { "monster": "GROUP_LAB_RESEARCHERS", "x": [ 1, 4 ], "y": [ 2, 22 ], "density": 0.1 } @@ -89,8 +86,8 @@ "...,........|;;;X......|", ",,,,........|;;;-......|", "-XXX|||¢ȣ¢|||;;;-......|", - ".,.,->|...|;|;;;X......|", - ",.,.|>|...|;|;;;|......|", + ".,.,=>|...|;|;;;X......|", + ",.,.¥>|...|;|;;;|......|", "-XXX|||¢ȣ¢|||;;;||||||||", ",,,,X.......|;;;|......|", "...,X.......|;;;|......|", @@ -100,6 +97,7 @@ "...,X.......|;;;|......|" ], "palettes": [ "lab_common_palette", "lab_mutagen_palette" ], + "terrain": { "¥": "t_card_science_mutagen_cyan" }, "place_nested": [ { "chunks": [ [ "lab_common_9x9_W", 50 ], [ "lab_mutagen_9x9_W", 50 ] ], "x": 14, "y": 1 }, { "chunks": [ [ "lab_medium_animal_1x1", 30 ] ], "x": 8, "y": 15 }, @@ -119,10 +117,7 @@ "y": 17 } ], - "place_traps": [ - { "trap": "tr_light_on_res_8_NE", "x": [ 13, 15 ], "y": [ 1, 23 ], "repeat": [ 2, 3 ] }, - { "trap": "tr_concrete_wall_door_lab_res_8_NE", "x": [ 13, 15 ], "y": [ 1, 23 ], "repeat": [ 1, 2 ] } - ], + "place_traps": [ { "trap": "tr_light_on_res_8_NE", "x": [ 13, 15 ], "y": [ 1, 23 ], "repeat": [ 2, 3 ] } ], "place_monsters": [ { "monster": "GROUP_LAB_RESEARCHERS", "x": [ 1, 8 ], "y": [ 7, 22 ], "density": 0.1 }, { "monster": "GROUP_LAB_RESEARCHERS", "x": [ 19, 21 ], "y": [ 2, 22 ], "density": 0.1 } @@ -168,10 +163,7 @@ ], "palettes": [ "lab_common_palette", "lab_mutagen_palette" ], "terrain": { "J": "t_linoleum_gray" }, - "place_traps": [ - { "trap": "tr_light_on_res_8_SW_2", "x": [ 7, 10 ], "y": [ 1, 5 ], "repeat": [ 1, 2 ] }, - { "trap": "tr_concrete_wall_door_lab_MUT_SW", "x": [ 7, 10 ], "y": [ 1, 5 ] } - ], + "place_traps": [ { "trap": "tr_light_on_res_8_SW_2", "x": [ 7, 10 ], "y": [ 1, 5 ], "repeat": [ 1, 2 ] } ], "place_monsters": [ { "monster": "GROUP_LAB_RESEARCHERS", "x": [ 1, 4 ], "y": [ 1, 3 ], "density": 0.05 }, { "monster": "GROUP_LAB_RESEARCHERS", "x": [ 14, 22 ], "y": [ 0, 10 ], "density": 0.1 } @@ -239,11 +231,9 @@ "||||||||||||||||||||||||" ], "palettes": [ "lab_common_palette", "lab_mutagen_palette" ], + "place_loot": [ { "item": "id_science_mutagen_cyan", "x": 1, "y": 12, "chance": 100 } ], "terrain": { "J": "t_linoleum_gray" }, - "place_traps": [ - { "trap": "tr_light_on_MUT_SE_2", "x": [ 13, 16 ], "y": [ 1, 5 ], "repeat": [ 1, 2 ] }, - { "trap": "tr_concrete_wall_door_lab_MUT_SE", "x": [ 13, 16 ], "y": [ 1, 5 ] } - ], + "place_traps": [ { "trap": "tr_light_on_MUT_SE_2", "x": [ 13, 16 ], "y": [ 1, 5 ], "repeat": [ 1, 2 ] } ], "place_nested": [ { "chunks": [ [ "lab_common_3x3_EW_open", 20 ], [ "lab_generic_3x3_EW_open", 20 ], [ "lab_mutagen_3x3_EW_open", 60 ] ], @@ -272,6 +262,7 @@ { "monster": "GROUP_LAB_RESEARCHERS", "x": [ 0, 8 ], "y": [ 0, 10 ], "density": 0.1 } ], "place_monster": [ + { "monster": "mon_mutant_experimental", "x": 1, "y": 7, "chance": 100, "repeat": [ 1, 3 ] }, { "monster": "mon_skitterbot", "x": 11, "y": 3, "chance": 100 }, { "monster": "mon_skitterbot", "x": 11, "y": 4, "chance": 100 }, { "monster": "mon_skitterbot", "x": 11, "y": 5, "chance": 100 } diff --git a/data/json/mapgen/lab/lab_modular/lab_2x2_MUT_Tier_2.json b/data/json/mapgen/lab/lab_modular/lab_2x2_MUT_Tier_2.json index c974c4e9ea640..fc837e22ce5d4 100644 --- a/data/json/mapgen/lab/lab_modular/lab_2x2_MUT_Tier_2.json +++ b/data/json/mapgen/lab/lab_modular/lab_2x2_MUT_Tier_2.json @@ -34,28 +34,17 @@ "|......|;;;|.......X;£;;" ], "palettes": [ "lab_common_palette", "lab_mutagen_palette" ], - "terrain": { "¥": "t_card_science_maintenance_blue" }, + "terrain": { "¥": "t_card_science_mutagen_cyan" }, "place_monsters": [ { "monster": "GROUP_LAB_RESEARCHERS", "x": [ 13, 22 ], "y": [ 7, 22 ], "density": 0.1 }, { "monster": "GROUP_LAB_RESEARCHERS", "x": [ 1, 4 ], "y": [ 2, 22 ], "density": 0.1 } ], - "place_traps": [ - { "trap": "tr_light_on_res_8_NW", "x": [ 8, 10 ], "y": [ 1, 23 ], "repeat": [ 1, 2 ] }, - { "trap": "tr_concrete_wall_door_lab_res_8_NW", "x": [ 8, 10 ], "y": [ 1, 23 ], "repeat": [ 2, 3 ] } - ], - "computers": { - "6": { - "name": "Tier 3 Access", - "security": 4, - "options": [ { "name": "UNLOCK ENTRANCE", "action": "unlock", "security": 4 } ], - "failures": [ { "action": "damage" }, { "action": "shutdown" }, { "action": "secubots" } ] - } - }, + "place_traps": [ { "trap": "tr_light_on_res_8_NW", "x": [ 8, 10 ], "y": [ 1, 23 ], "repeat": [ 1, 2 ] } ], "place_nested": [ { "chunks": [ [ "lab_common_9x9_E", 30 ], [ "lab_mutagen_9x9_E", 70 ] ], "x": 1, "y": 1 }, - { "chunks": [ [ "lab_medium_animal_1x1", 30 ] ], "x": 15, "y": 15 }, - { "chunks": [ [ "lab_medium_animal_1x1", 30 ] ], "x": 15, "y": 16 }, - { "chunks": [ [ "lab_mutagen_8x8_west", 70 ], [ "lab_mutagen_8x8_vault_west", 30 ] ], "x": 12, "y": 6 }, + { "chunks": [ [ "lab_medium_animal_1x1_MUTANT", 30 ] ], "x": 15, "y": 15 }, + { "chunks": [ [ "lab_medium_animal_1x1_MUTANT", 30 ] ], "x": 15, "y": 16 }, + { "chunks": [ [ "lab_mutagen_8x8_vault_west", 100 ] ], "x": 12, "y": 6 }, { "chunks": [ [ "lab_mutagen_8x8_west", 100 ] ], "x": 12, "y": 18 }, { "chunks": [ [ "lab_common_6x6", 100 ] ], "x": 1, "y": 11 }, { "chunks": [ [ "lab_common_6x6", 100 ] ], "x": 1, "y": 18 }, @@ -75,9 +64,7 @@ { "monster": "mon_skitterbot", "x": 12, "y": 16, "chance": 100 }, { "monster": "mon_skitterbot", "x": 18, "y": 15, "chance": 100 }, { "monster": "mon_skitterbot", "x": 18, "y": 16, "chance": 100 } - ], - "traps": { "(": "tr_rollmat" }, - "furniture": { "!": "f_exercise", "}": [ "f_ergometer", "f_ergometer_mechanical" ], "{": "f_punching_bag" } + ] } }, { @@ -114,10 +101,7 @@ ";;£;X.......|;;;|......|" ], "palettes": [ "lab_common_palette", "lab_mutagen_palette" ], - "place_traps": [ - { "trap": "tr_light_on_res_8_NE", "x": [ 13, 15 ], "y": [ 1, 23 ], "repeat": [ 2, 3 ] }, - { "trap": "tr_concrete_wall_door_lab_res_8_NE", "x": [ 13, 15 ], "y": [ 1, 23 ], "repeat": [ 1, 2 ] } - ], + "place_traps": [ { "trap": "tr_light_on_res_8_NE", "x": [ 13, 15 ], "y": [ 1, 23 ], "repeat": [ 2, 3 ] } ], "place_vehicles": [ { "vehicle": "cart_animal_compartment", "x": 0, "y": 10, "chance": 30, "status": 0, "rotation": 270 }, { "vehicle": "cart_livestock_stall", "x": 0, "y": 5, "chance": 30, "status": 0, "rotation": 270 } @@ -128,8 +112,8 @@ ], "place_nested": [ { "chunks": [ [ "lab_common_9x9_W", 30 ], [ "lab_mutagen_9x9_W", 70 ] ], "x": 14, "y": 1 }, - { "chunks": [ [ "lab_medium_animal_1x1", 30 ] ], "x": 8, "y": 15 }, - { "chunks": [ [ "lab_medium_animal_1x1", 30 ] ], "x": 9, "y": 16 }, + { "chunks": [ [ "lab_medium_animal_1x1_MUTANT", 30 ] ], "x": 8, "y": 15 }, + { "chunks": [ [ "lab_medium_animal_1x1_MUTANT", 30 ] ], "x": 9, "y": 16 }, { "chunks": [ [ "lab_mutagen_8x8_east", 95 ], [ "lab_mutagen_8x8_vault_east", 5 ] ], "x": 4, "y": 6 }, { "chunks": [ [ "lab_mutagen_8x8_east", 100 ] ], "x": 4, "y": 18 }, { "chunks": [ [ "lab_common_6x6", 100 ] ], "x": 17, "y": 11 }, @@ -186,10 +170,7 @@ ], "palettes": [ "lab_common_palette", "lab_mutagen_palette" ], "terrain": { "~": "t_region_groundcover_urban" }, - "place_traps": [ - { "trap": "tr_light_on_res_8_SW_2", "x": [ 7, 10 ], "y": [ 1, 5 ], "repeat": [ 1, 2 ] }, - { "trap": "tr_concrete_wall_door_lab_MUT_SW", "x": [ 7, 10 ], "y": [ 1, 5 ] } - ], + "place_traps": [ { "trap": "tr_light_on_res_8_SW_2", "x": [ 7, 10 ], "y": [ 1, 5 ], "repeat": [ 1, 2 ] } ], "place_nested": [ { "chunks": [ [ "lab_mutagen_16x16_animal_pen", 100 ] ], "x": 1, "y": 7 }, { @@ -224,31 +205,6 @@ ] } }, - { - "type": "trap", - "id": "tr_concrete_wall_door_lab_MUT_SW", - "name": "door", - "color": "light_gray", - "symbol": "+", - "visibility": 99, - "avoidance": 99, - "difficulty": 99, - "action": "map_regen", - "map_regen": "concrete_wall_o_lab_MUT_SW", - "benign": false - }, - { - "type": "mapgen", - "update_mapgen_id": "concrete_wall_o_lab_MUT_SW", - "method": "json", - "object": { - "place_terrain": [ - { "ter": "t_strconc_floor", "x": 11, "y": 3 }, - { "ter": "t_strconc_floor", "x": 11, "y": 4 }, - { "ter": "t_strconc_floor", "x": 11, "y": 5 } - ] - } - }, { "type": "trap", "id": "tr_light_on_res_8_SW_2", @@ -303,10 +259,7 @@ ], "palettes": [ "lab_common_palette", "lab_mutagen_palette" ], "terrain": { "~": "t_region_groundcover_urban" }, - "place_traps": [ - { "trap": "tr_light_on_MUT_SE_2", "x": [ 13, 16 ], "y": [ 1, 5 ], "repeat": [ 1, 2 ] }, - { "trap": "tr_concrete_wall_door_lab_MUT_SE", "x": [ 13, 16 ], "y": [ 1, 5 ] } - ], + "place_traps": [ { "trap": "tr_light_on_MUT_SE_2", "x": [ 13, 16 ], "y": [ 1, 5 ], "repeat": [ 1, 2 ] } ], "place_nested": [ { "chunks": [ @@ -341,31 +294,6 @@ ] } }, - { - "type": "trap", - "id": "tr_concrete_wall_door_lab_MUT_SE", - "name": "door", - "color": "light_gray", - "symbol": "+", - "visibility": 99, - "avoidance": 99, - "difficulty": 99, - "action": "map_regen", - "map_regen": "concrete_wall_o_lab_MUT_SE", - "benign": false - }, - { - "type": "mapgen", - "update_mapgen_id": "concrete_wall_o_lab_MUT_SE", - "method": "json", - "object": { - "place_terrain": [ - { "ter": "t_strconc_floor", "x": 12, "y": 3 }, - { "ter": "t_strconc_floor", "x": 12, "y": 4 }, - { "ter": "t_strconc_floor", "x": 12, "y": 5 } - ] - } - }, { "type": "trap", "id": "tr_light_on_MUT_SE_2", diff --git a/data/json/mapgen/lab/lab_modular/lab_2x2_cargo_depot.json b/data/json/mapgen/lab/lab_modular/lab_2x2_cargo_depot.json index 38b2679b0a889..dd73479039d8e 100644 --- a/data/json/mapgen/lab/lab_modular/lab_2x2_cargo_depot.json +++ b/data/json/mapgen/lab/lab_modular/lab_2x2_cargo_depot.json @@ -59,6 +59,10 @@ { "chunks": [ [ "lab_wall_chain_5x5", 50 ], [ "lab_wall_door_5x5", 50 ], [ "null", 50 ] ], "x": 1, "y": 12 }, { "chunks": [ [ "lab_wall_chain_5x5", 50 ], [ "lab_wall_door_5x5", 50 ], [ "null", 50 ] ], "x": 1, "y": 18 } ], + "place_monsters": [ + { "monster": "GROUP_LAB_RESEARCHERS", "x": [ 13, 22 ], "y": [ 2, 22 ], "density": 0.08 }, + { "monster": "GROUP_LAB_MAINTENANCE", "x": [ 1, 4 ], "y": [ 2, 22 ], "density": 0.2 } + ], "place_monster": [ { "monster": "mon_skitterbot", "x": 12, "y": 15, "chance": 100 }, { "monster": "mon_skitterbot", "x": 12, "y": 16, "chance": 100 } @@ -111,6 +115,10 @@ { "chunks": [ [ "lab_wall_chain_5x5", 50 ], [ "lab_wall_door_5x5", 50 ], [ "null", 50 ] ], "x": 18, "y": 12 }, { "chunks": [ [ "lab_wall_chain_5x5", 50 ], [ "lab_wall_door_5x5", 50 ], [ "null", 50 ] ], "x": 18, "y": 18 } ], + "place_monsters": [ + { "monster": "GROUP_LAB_RESEARCHERS", "x": [ 1, 8 ], "y": [ 2, 22 ], "density": 0.05 }, + { "monster": "GROUP_LAB_MAINTENANCE", "x": [ 19, 21 ], "y": [ 2, 22 ], "density": 0.2 } + ], "place_monster": [ { "monster": "mon_skitterbot", "x": 11, "y": 15, "chance": 100 }, { "monster": "mon_skitterbot", "x": 11, "y": 16, "chance": 100 } @@ -158,7 +166,10 @@ { "chunks": [ [ "lab_wall_chain_5x5", 50 ], [ "lab_wall_door_5x5", 50 ], [ "null", 50 ] ], "x": 1, "y": 0 }, { "chunks": [ [ "lab_wall_chain_5x5", 50 ], [ "lab_wall_door_5x5", 50 ], [ "null", 50 ] ], "x": 1, "y": 6 } ], - "place_monster": [ { "monster": "mon_skitterbot", "x": 7, "y": 12, "chance": 100 } ] + "place_monsters": [ + { "monster": "GROUP_LAB_MAINTENANCE", "x": [ 15, 20 ], "y": [ 4, 11 ], "density": 0.1 }, + { "monster": "GROUP_LAB_MAINTENANCE", "x": [ 1, 4 ], "y": [ 1, 4 ], "density": 0.1 } + ] } }, { @@ -201,7 +212,10 @@ { "chunks": [ [ "lab_wall_chain_5x5", 50 ], [ "lab_wall_door_5x5", 50 ], [ "null", 50 ] ], "x": 18, "y": 0 }, { "chunks": [ [ "lab_wall_chain_5x5", 50 ], [ "lab_wall_door_5x5", 50 ], [ "null", 50 ] ], "x": 18, "y": 6 } ], - "place_monster": [ { "monster": "mon_skitterbot", "x": 11, "y": 12, "chance": 30 } ] + "place_monsters": [ + { "monster": "GROUP_LAB_MAINTENANCE", "x": [ 0, 8 ], "y": [ 4, 11 ], "density": 0.1 }, + { "monster": "GROUP_LAB_MAINTENANCE", "x": [ 19, 21 ], "y": [ 1, 4 ], "density": 0.1 } + ] } } ] diff --git a/data/json/mapgen/lab/lab_modular/lab_2x2x2_RES_8_bedrooms.json b/data/json/mapgen/lab/lab_modular/lab_2x2x2_RES_8_bedrooms.json index 4e068479e97a1..7fb850614ab9a 100644 --- a/data/json/mapgen/lab/lab_modular/lab_2x2x2_RES_8_bedrooms.json +++ b/data/json/mapgen/lab/lab_modular/lab_2x2x2_RES_8_bedrooms.json @@ -38,6 +38,12 @@ { "trap": "tr_light_on_res_8_NW", "x": [ 8, 10 ], "y": [ 1, 23 ], "repeat": [ 1, 2 ] }, { "trap": "tr_concrete_wall_door_lab_res_8_NW", "x": [ 8, 10 ], "y": [ 1, 23 ], "repeat": [ 2, 3 ] } ], + "place_loot": [ + { "item": "id_science_mutagen_pink", "x": 14, "y": 9, "chance": 25 }, + { "item": "id_science_mutagen_pink", "x": 14, "y": 11, "chance": 25 }, + { "item": "id_science_mutagen_pink", "x": 14, "y": 20, "chance": 25 }, + { "item": "id_science_mutagen_pink", "x": 14, "y": 22, "chance": 25 } + ], "place_nested": [ { "chunks": [ [ "lab_cargo_5x5", 100 ] ], "x": 1, "y": 18 }, { "chunks": [ [ "lab_6x6_shop_backroom", 100 ] ], "x": 1, "y": 11 }, @@ -97,6 +103,12 @@ { "chunks": [ [ "lab_6x6_shop_backroom", 100 ] ], "x": 17, "y": 11 }, { "chunks": [ [ "lab_maintenance_9x9_W", 100 ] ], "x": 14, "y": 1 } ], + "place_loot": [ + { "item": "id_science_mutagen_pink", "x": 9, "y": 9, "chance": 25 }, + { "item": "id_science_mutagen_pink", "x": 9, "y": 11, "chance": 25 }, + { "item": "id_science_mutagen_pink", "x": 9, "y": 20, "chance": 25 }, + { "item": "id_science_mutagen_pink", "x": 9, "y": 22, "chance": 25 } + ], "place_monsters": [ { "monster": "GROUP_LAB_RESEARCHERS", "x": [ 1, 8 ], "y": [ 8, 22 ], "density": 0.05 }, { "monster": "GROUP_LAB_MAINTENANCE", "x": [ 19, 21 ], "y": [ 2, 22 ], "density": 0.1 } @@ -146,7 +158,7 @@ "U": "t_thconc_floor", "Q": "t_thconc_floor", "Г": "t_ladder_down", - "¥": "t_card_science_maintenance_yellow" + "¥": "t_card_science_maintenance_green" }, "place_nested": [ { "chunks": [ [ "lab_cargo_5x5", 100 ] ], "x": 1, "y": 1 }, diff --git a/data/json/mapgen/lab/lab_modular/lab_2x2x2_RES_8_commons.json b/data/json/mapgen/lab/lab_modular/lab_2x2x2_RES_8_commons.json index a78eb0dbeccbf..26dc3337038f2 100644 --- a/data/json/mapgen/lab/lab_modular/lab_2x2x2_RES_8_commons.json +++ b/data/json/mapgen/lab/lab_modular/lab_2x2x2_RES_8_commons.json @@ -216,8 +216,8 @@ "h..........E|;;;|......|", "....yRY....T|;;;|......|", "....|||;a;|||;;;|......|", - "....=>|||||;|;;;|......|", - "....ƶ>|||||;|;;;|......|", + "....->|||||;|;;;|......|", + "....X>|||||;|;;;|......|", "....|||PPP|||;;;||||||||", ".....:.....R|;;;|;;;;;;|", "եե...:.ErE.R|;;;|;;;;;;|", diff --git a/data/json/mapgen/lab/lab_modular/lab_cargo_surface.json b/data/json/mapgen/lab/lab_modular/lab_cargo_surface.json index 3af469ed8a7f9..6feaeaeac8250 100644 --- a/data/json/mapgen/lab/lab_modular/lab_cargo_surface.json +++ b/data/json/mapgen/lab/lab_modular/lab_cargo_surface.json @@ -284,6 +284,8 @@ "q": [ { "item": "mechanics", "chance": 30 } ] }, "place_loot": [ + { "item": "id_science_maintenance_yellow", "x": 6, "y": 7, "chance": 100 }, + { "item": "id_science_maintenance_yellow", "x": 6, "y": 16, "chance": 100 }, { "item": "hd_tow_cable", "x": 22, "y": [ 7, 8 ], "chance": 10 }, { "item": "jumper_cable", "x": 22, "y": [ 7, 8 ], "chance": 10 }, { "item": "jumper_cable_heavy", "x": 22, "y": [ 7, 8 ], "chance": 7 }, diff --git a/data/json/mapgen/lab/lab_modular/lab_central_hallway.json b/data/json/mapgen/lab/lab_modular/lab_central_hallway.json index 375ae3f30b664..bd9a7c5bb7198 100644 --- a/data/json/mapgen/lab/lab_modular/lab_central_hallway.json +++ b/data/json/mapgen/lab/lab_modular/lab_central_hallway.json @@ -91,11 +91,11 @@ { "chunks": [ [ "null", 10 ], [ "lab_recreational_3x3_open", 90 ] ], "x": 5, "y": 15 } ], "place_monster": [ - { "monster": "mon_skitterbot", "x": 17, "y": 3, "chance": 100 }, - { "monster": "mon_skitterbot", "x": 16, "y": 3, "chance": 100 }, + { "monster": "mon_flashbang_hack", "x": 17, "y": 3, "chance": 100 }, + { "monster": "mon_gasbomb_hack", "x": 16, "y": 3, "chance": 100 }, { "monster": "mon_skitterbot", "x": 17, "y": 4, "chance": 100 }, - { "monster": "mon_skitterbot", "x": 17, "y": 19, "chance": 100 }, - { "monster": "mon_skitterbot", "x": 16, "y": 20, "chance": 100 }, + { "monster": "mon_flashbang_hack", "x": 17, "y": 19, "chance": 100 }, + { "monster": "mon_gasbomb_hack", "x": 16, "y": 20, "chance": 100 }, { "monster": "mon_skitterbot", "x": 17, "y": 20, "chance": 100 } ] } @@ -306,22 +306,22 @@ "|``````|;£♠♠♠♠£;|``````|", "|````|||;£;;;;£;|||````|", "|ßßßß|||;£;;;;£;|||ßßßß|", - "|````|||;£;;;;£;|||````|", + "|ɜ```|||;£;;;;£;|||```ɜ|", "|````|||;£;;;;£;|||````|", "|````|||;££££££;|||````|", - "|`î```||||||||||||```î`|", - "|`````||||||||||||`````|", - "|`````||||||||||||`````|" + "||=¥||||||||||||||||=¥||", + "|``````````````````````|", + "|``````````````````````|" ], "palettes": [ "lab_common_palette", "lab_security_palette" ], - "terrain": { "ɜ": "t_metal_floor" }, + "terrain": { "ɜ": "t_metal_floor", "¥": "t_card_science_security_black", "ƶ": "t_card_science_security_magenta" }, "place_traps": [ { "trap": "tr_lab_security_corridor_a", "x": [ 19, 22 ], "y": [ 3, 21 ], "repeat": [ 2, 5 ] }, { "trap": "tr_lab_security_corridor_b", "x": [ 1, 4 ], "y": [ 3, 21 ], "repeat": [ 2, 5 ] } ], "place_nested": [ - { "chunks": [ [ "null", 5 ], [ "lab_security_14x14_corridor_1", 95 ] ], "x": 17, "y": 3 }, - { "chunks": [ [ "null", 5 ], [ "lab_security_14x14_corridor_2", 95 ] ], "x": 1, "y": 3 } + { "chunks": [ [ "lab_security_14x14_corridor_1", 100 ] ], "x": 17, "y": 3 }, + { "chunks": [ [ "lab_security_14x14_corridor_2", 100 ] ], "x": 1, "y": 3 } ] } }, @@ -436,37 +436,30 @@ ";;;;;;;;;;;;;;;;;;;;;;;;", "££££££££££;;;;££££££££££", "|$|||;;;;£;;;;£;;;;|||$|", - "|=|||;;;;£;;;;£;;;;|||=|", - "6```|;;;;£;;;;£;;;;|```6", - "````|;;;;££££££;;;;|````", + "|=¥||;;;;£;;;;£;;;;||¥=|", "````|;;;;£;;;;£;;;;|````", - "`î``|;;;;£;;;;£;;;;|``î`", + "^``^|;;;;££££££;;;;|^``^", "````|;;;;£;;;;£;;;;|````", + "`î``|;;;;£;;;;£;;;;|``î`", "````|;;;;£;;;;£;;;;|````", "````|;;;;£;;;;£;;;;|````", + "^``^|;;;;£;;;;£;;;;|^``^", "````|;;;;£;;;;£;;;;|````", "````|;;;;£;;;;£;;;;|````", "`î``|;;;;£;;;;£;;;;|``î`", "````|;;;;£♣♣♣♣£;;;;|````", "````|;;;;£♦♦♦♦£;;;;|````", - "````|;;;;£;;;;£;;;;|````", + "^``^|;;;;£;;;;£;;;;|^``^", "````|;;;;£;;;;£;;;;|````", "````|;;;;£;;;;£;;;;|````", "`î``|;;;;£;;;;£;;;;|``î`", "````|;;;;££££££;;;;|````", - "````|;;;;£;;;;£;;;;|````", + "^``^|;;;;£;;;;£;;;;|^``^", "````|;;;;££££££;;;;|````", "|```||||||||||||||||```|" ], "palettes": [ "lab_common_palette", "lab_security_palette" ], - "computers": { - "6": { - "name": "Emergency Containment Entrance", - "security": 8, - "options": [ { "name": "UNLOCK ENTRANCE", "action": "unlock", "security": 6 } ], - "failures": [ { "action": "damage" }, { "action": "shutdown" }, { "action": "secubots" } ] - } - } + "terrain": { "¥": "t_card_science_security_black" } } }, { diff --git a/data/json/mapgen/lab/lab_modular/lab_maintenance_areas.json b/data/json/mapgen/lab/lab_modular/lab_maintenance_areas.json index 4affba76537eb..7c1ecc4a27730 100644 --- a/data/json/mapgen/lab/lab_modular/lab_maintenance_areas.json +++ b/data/json/mapgen/lab/lab_modular/lab_maintenance_areas.json @@ -34,6 +34,7 @@ "|||||||?????????????????" ], "palettes": [ "lab_common_palette", "lab_maintenance_palette" ], + "place_loot": [ { "item": "id_science_maintenance_blue", "x": 21, "y": [ 7, 20 ], "chance": 100 } ], "place_signs": [ { "snippet": "lab_maintenance_signage", "x": 6, "y": [ 5, 9 ] }, { "snippet": "lab_maintenance_signage", "x": [ 0, 6 ], "y": 18 }, @@ -87,6 +88,7 @@ "||||||||||||||||||||||||" ], "palettes": [ "lab_common_palette", "lab_maintenance_palette" ], + "place_loot": [ { "item": "id_science_maintenance_blue", "x": 22, "y": [ 4, 15 ], "chance": 100 } ], "place_signs": [ { "snippet": "lab_maintenance_signage", "x": [ 9, 11 ], "y": 8 }, { "snippet": "lab_maintenance_signage", "x": 7, "y": 17 }, @@ -142,6 +144,7 @@ "|||||||||||||||||????|||" ], "palettes": [ "lab_common_palette", "lab_maintenance_palette" ], + "place_loot": [ { "item": "id_science_maintenance_blue", "x": 22, "y": [ 8, 19 ], "chance": 100 } ], "place_monster": [ { "monster": "mon_manhack", "x": 20, "y": 5, "chance": 90 } ], "place_nested": [ { "chunks": [ [ "lab_maintenance_3x3_NS_open", 90 ], [ "null", 10 ] ], "x": 1, "y": 7 }, diff --git a/data/json/mapgen/lab/lab_modular/lab_nests_modular/lab_effect_on_condition.json b/data/json/mapgen/lab/lab_modular/lab_nests_modular/lab_effect_on_condition.json new file mode 100644 index 0000000000000..42d6b097cb2ea --- /dev/null +++ b/data/json/mapgen/lab/lab_modular/lab_nests_modular/lab_effect_on_condition.json @@ -0,0 +1,415 @@ +[ + { + "type": "effect_on_condition", + "id": "lab_security_check", + "recurrence_min": 1, + "recurrence_max": 1, + "condition": { + "and": [ { "u_at_om_location": "lab_1x1x2_RES_8_apartments_lower" }, { "not": { "u_has_item": "id_science_medical_red" } } ] + }, + "effect": { "mapgen_update": "release_the_bots", "om_terrain": "lab_health_z-3_A" } + }, + { + "//": "Opens bot release if you lack a red science ID card.", + "type": "mapgen", + "update_mapgen_id": "release_the_bots", + "method": "json", + "object": { "place_terrain": [ { "ter": "t_thconc_r", "x": 5, "y": 0 } ] } + }, + { + "type": "effect_on_condition", + "id": "lab_security_check_surface_1", + "recurrence_min": 1, + "recurrence_max": 1, + "condition": { + "and": [ { "u_at_om_location": "lab_res_8_SWU_ground" }, { "not": { "u_has_item": "id_science_maintenance_green" } } ] + }, + "effect": { "mapgen_update": "release_the_bots_2", "om_terrain": "lab_res_8_SEU_ground" } + }, + { + "type": "effect_on_condition", + "id": "lab_security_check_surface_2", + "recurrence_min": 1, + "recurrence_max": 1, + "condition": { + "and": [ { "u_at_om_location": "lab_res_8_SWD_ground" }, { "not": { "u_has_item": "id_science_maintenance_green" } } ] + }, + "effect": { "mapgen_update": "release_the_bots_2", "om_terrain": "lab_res_8_SED_ground" } + }, + { + "//": "Opens bot release if you lack a green maintenance ID card.", + "type": "mapgen", + "update_mapgen_id": "release_the_bots_2", + "method": "json", + "object": { + "place_terrain": [ + { "ter": "t_thconc_r", "x": 7, "y": 0 }, + { "ter": "t_thconc_r", "x": 11, "y": 0 }, + { "ter": "t_thconc_r", "x": 15, "y": 0 }, + { "ter": "t_thconc_r", "x": 19, "y": 0 } + ] + } + }, + { + "type": "effect_on_condition", + "id": "lab_security_check_surface_1", + "recurrence_min": 1, + "recurrence_max": 1, + "condition": { + "and": [ { "u_at_om_location": "lab_CORE_2x1_WC_ground" }, { "not": { "u_has_item": "id_science_maintenance_green" } } ] + }, + "effect": [ + { "mapgen_update": "release_bots_garage", "om_terrain": "lab_security_z0" }, + { "mapgen_update": "open_walls_garage", "om_terrain": "lab_CORE_2x1_WC_ground" } + ] + }, + { + "//": "Opens bot release if you lack a green maintenance ID card.", + "type": "mapgen", + "update_mapgen_id": "release_bots_garage", + "method": "json", + "object": { + "place_terrain": [ + { "ter": "t_thconc_r", "x": 10, "y": 8 }, + { "ter": "t_thconc_r", "x": 10, "y": 9 }, + { "ter": "t_thconc_r", "x": 10, "y": 14 }, + { "ter": "t_thconc_r", "x": 10, "y": 15 } + ] + } + }, + { + "//": "Opens walls for bot pathing if you lack a green maintenance ID card.", + "type": "mapgen", + "update_mapgen_id": "open_walls_garage", + "method": "json", + "object": { + "place_terrain": [ + { "ter": "t_thconc_r", "x": 0, "y": 1 }, + { "ter": "t_thconc_r", "x": 0, "y": 2 }, + { "ter": "t_thconc_r", "x": 0, "y": 21 }, + { "ter": "t_thconc_r", "x": 0, "y": 22 } + ] + } + }, + { + "type": "effect_on_condition", + "id": "lab_check_magenta_security_drop", + "recurrence_min": 3, + "recurrence_max": 5, + "condition": { + "and": [ + { "u_at_om_location": "lab_security_z-1" }, + { "u_has_item": "id_science_security_yellow" }, + { + "not": { "u_has_var": "valid_security_employee", "type": "check", "context": "trap trigger", "value": "yes" } + } + ] + }, + "effect": [ + { "mapgen_update": "magenta_security_card_spawn", "om_terrain": "lab_security_z-1" }, + { "u_add_var": "valid_security_employee", "type": "check", "context": "trap trigger", "value": "yes" } + ] + }, + { + "//": "Spawns a special monster fight and ID badge spwan if you have the yellow security badge.", + "type": "mapgen", + "update_mapgen_id": "magenta_security_card_spawn", + "method": "json", + "object": { + "place_loot": [ { "item": "id_science_security_magenta", "x": 21, "y": 14, "chance": 100 } ], + "place_monster": [ { "monster": [ "mon_zombie_brute", "mon_zombie_bio_op" ], "x": 21, "y": 14, "chance": 100 } ] + } + }, + { + "type": "effect_on_condition", + "id": "lab_1x1x2_RES_8_check_SEC", + "recurrence_min": 5, + "recurrence_max": 10, + "condition": { + "and": [ { "u_at_om_location": "lab_1x1_RES_8_commons_SEC" }, { "not": { "u_has_item": "id_science_security_yellow" } } ] + }, + "effect": [ { "mapgen_update": "release_bots_3", "om_terrain": "lab_1x1_RES_8_commons_SEC" } ] + }, + { + "//": "Opens bot release if you lack a yellow security ID card.", + "type": "mapgen", + "update_mapgen_id": "release_bots_3", + "method": "json", + "object": { + "place_terrain": [ + { "ter": "t_thconc_r", "x": 1, "y": 17 }, + { "ter": "t_thconc_r", "x": 14, "y": 21 }, + { "ter": "t_thconc_r", "x": 15, "y": 21 } + ] + } + }, + { + "type": "effect_on_condition", + "id": "lab_1x1x2_RES_8_check_MAINT", + "recurrence_min": 5, + "recurrence_max": 10, + "condition": { + "and": [ { "u_at_om_location": "lab_1x1_RES_8_commons_MAINT" }, { "not": { "u_has_item": "id_science_maintenance_yellow" } } ] + }, + "effect": [ { "mapgen_update": "release_bots_3", "om_terrain": "lab_1x1_RES_8_commons_MAINT" } ] + }, + { + "//": "Opens bot release if you lack a yellow security ID card.", + "type": "mapgen", + "update_mapgen_id": "release_bots_3", + "method": "json", + "object": { + "place_terrain": [ + { "ter": "t_thconc_r", "x": 1, "y": 17 }, + { "ter": "t_thconc_r", "x": 14, "y": 21 }, + { "ter": "t_thconc_r", "x": 15, "y": 21 } + ] + } + }, + { + "type": "effect_on_condition", + "id": "lab_concourse_bot_release", + "recurrence_min": 5, + "recurrence_max": 10, + "condition": { + "and": [ + { "u_at_om_location": "lab_CORE_2x1_1DN" }, + { + "not": { + "or": [ + { "u_has_item": "id_science_maintenance_yellow" }, + { "u_has_item": "id_science_transport_1" }, + { "u_has_item": "id_science_visitor_1" }, + { "u_has_item": "id_science_maintenance_green" }, + { "u_has_item": "id_science_maintenance_blue" }, + { "u_has_item": "id_science_security_yellow" }, + { "u_has_item": "id_science_security_magenta" }, + { "u_has_item": "id_science_security_black" }, + { "u_has_item": "id_science_mutagen_green" }, + { "u_has_item": "id_science_mutagen_pink" }, + { "u_has_item": "id_science_mutagen_cyan" }, + { "u_has_item": "id_science_medical_red" } + ] + } + } + ] + }, + "effect": [ { "mapgen_update": "release_bots_concourse", "om_terrain": "lab_CORE_2x1_1DN" } ] + }, + { + "//": "Opens bot release if you have no ID badges.", + "type": "mapgen", + "update_mapgen_id": "release_bots_concourse", + "method": "json", + "object": { + "place_terrain": [ + { "ter": "t_thconc_r", "x": 15, "y": 3 }, + { "ter": "t_thconc_r", "x": 15, "y": 4 }, + { "ter": "t_thconc_r", "x": 16, "y": 4 }, + { "ter": "t_thconc_r", "x": 16, "y": 5 }, + { "ter": "t_thconc_r", "x": 17, "y": 5 }, + { "ter": "t_thconc_r", "x": 17, "y": 6 }, + { "ter": "t_thconc_r", "x": 15, "y": 20 }, + { "ter": "t_thconc_r", "x": 15, "y": 19 }, + { "ter": "t_thconc_r", "x": 16, "y": 19 }, + { "ter": "t_thconc_r", "x": 16, "y": 18 }, + { "ter": "t_thconc_r", "x": 17, "y": 18 }, + { "ter": "t_thconc_r", "x": 17, "y": 17 } + ] + } + }, + { + "type": "effect_on_condition", + "id": "lab_concourse_bot_release_2", + "recurrence_min": 5, + "recurrence_max": 10, + "condition": { + "and": [ + { "u_at_om_location": "lab_CORE_2x1_2DN" }, + { + "not": { + "or": [ + { "u_has_item": "id_science_transport_1" }, + { "u_has_item": "id_science_visitor_1" }, + { "u_has_item": "id_science_maintenance_yellow" }, + { "u_has_item": "id_science_maintenance_green" }, + { "u_has_item": "id_science_maintenance_blue" }, + { "u_has_item": "id_science_security_yellow" }, + { "u_has_item": "id_science_security_magenta" }, + { "u_has_item": "id_science_security_black" }, + { "u_has_item": "id_science_mutagen_green" }, + { "u_has_item": "id_science_mutagen_pink" }, + { "u_has_item": "id_science_mutagen_cyan" }, + { "u_has_item": "id_science_medical_red" } + ] + } + } + ] + }, + "effect": [ { "mapgen_update": "release_bots_concourse_2", "om_terrain": "lab_CORE_2x1_2DN" } ] + }, + { + "//": "Opens bot release if you have no ID badges.", + "type": "mapgen", + "update_mapgen_id": "release_bots_concourse_2", + "method": "json", + "object": { + "place_terrain": [ + { "ter": "t_thconc_r", "x": 8, "y": 3 }, + { "ter": "t_thconc_r", "x": 8, "y": 4 }, + { "ter": "t_thconc_r", "x": 7, "y": 4 }, + { "ter": "t_thconc_r", "x": 6, "y": 5 }, + { "ter": "t_thconc_r", "x": 7, "y": 5 }, + { "ter": "t_thconc_r", "x": 6, "y": 6 }, + { "ter": "t_thconc_r", "x": 8, "y": 20 }, + { "ter": "t_thconc_r", "x": 8, "y": 19 }, + { "ter": "t_thconc_r", "x": 7, "y": 19 }, + { "ter": "t_thconc_r", "x": 6, "y": 18 }, + { "ter": "t_thconc_r", "x": 7, "y": 18 }, + { "ter": "t_thconc_r", "x": 6, "y": 17 } + ] + } + }, + { + "type": "effect_on_condition", + "id": "lab_magenta_security_check", + "recurrence_min": 15, + "recurrence_max": 30, + "condition": { "and": [ { "u_at_om_location": "lab_security_z-5" }, { "not": { "u_has_item": "id_science_security_magenta" } } ] }, + "effect": [ { "mapgen_update": "release_bots_4", "om_terrain": "lab_security_z-5" } ] + }, + { + "//": "Opens bot release if you lack a magenta security ID card.", + "type": "mapgen", + "update_mapgen_id": "release_bots_4", + "method": "json", + "object": { + "set": [ + { "line": "terrain", "id": "t_thconc_r", "x": 17, "y": 3, "x2": 23, "y2": 3 }, + { "line": "terrain", "id": "t_thconc_r", "x": 17, "y": 20, "x2": 23, "y2": 20 } + ] + } + }, + { + "type": "effect_on_condition", + "id": "lab_cyan_mutagen_check", + "recurrence_min": 15, + "recurrence_max": 30, + "condition": { "and": [ { "u_at_om_location": "lab_2x2_MUT_tier_2_NE" }, { "not": { "u_has_item": "id_science_mutagen_cyan" } } ] }, + "effect": [ { "mapgen_update": "release_bots_5", "om_terrain": "lab_2x2_MUT_tier_2_NE" } ] + }, + { + "//": "Opens bot release if you lack a mutagen security ID card.", + "type": "mapgen", + "update_mapgen_id": "release_bots_5", + "method": "json", + "object": { "set": [ { "line": "terrain", "id": "t_thconc_r", "x": 12, "y": 15, "x2": 12, "y2": 16 } ] } + }, + { + "type": "effect_on_condition", + "id": "lab_cyan_mutagen_check_2", + "recurrence_min": 15, + "recurrence_max": 30, + "condition": { + "and": [ { "u_at_om_location": "lab_2x2_MUT_tier_2_NW_final_flr" }, { "not": { "u_has_item": "id_science_mutagen_cyan" } } ] + }, + "effect": [ { "mapgen_update": "release_bots_6", "om_terrain": "lab_2x2_MUT_tier_2_NW_final_flr" } ] + }, + { + "//": "Opens bot release if you lack a mutagen security ID card.", + "type": "mapgen", + "update_mapgen_id": "release_bots_6", + "method": "json", + "object": { "set": [ { "line": "terrain", "id": "t_thconc_r", "x": 11, "y": 15, "x2": 11, "y2": 16 } ] } + }, + { + "type": "effect_on_condition", + "id": "lab_cyan_mutagen_check_3", + "recurrence_min": 15, + "recurrence_max": 30, + "condition": { "and": [ { "u_at_om_location": "lab_2x2_MUT_tier_2_SW" }, { "not": { "u_has_item": "id_science_mutagen_cyan" } } ] }, + "effect": [ { "mapgen_update": "release_bots_7", "om_terrain": "lab_2x2_MUT_tier_2_SW" } ] + }, + { + "//": "Opens bot release if you lack a mutagen security ID card.", + "type": "mapgen", + "update_mapgen_id": "release_bots_7", + "method": "json", + "object": { "set": [ { "line": "terrain", "id": "t_thconc_r", "x": 11, "y": 3, "x2": 11, "y2": 5 } ] } + }, + { + "type": "effect_on_condition", + "id": "lab_cyan_mutagen_check_4", + "recurrence_min": 15, + "recurrence_max": 30, + "condition": { "and": [ { "u_at_om_location": "lab_2x2_MUT_tier_2_SE" }, { "not": { "u_has_item": "id_science_mutagen_cyan" } } ] }, + "effect": [ { "mapgen_update": "release_bots_8", "om_terrain": "lab_2x2_MUT_tier_2_SE" } ] + }, + { + "//": "Opens bot release if you lack a mutagen ID card.", + "type": "mapgen", + "update_mapgen_id": "release_bots_8", + "method": "json", + "object": { "set": [ { "line": "terrain", "id": "t_thconc_r", "x": 12, "y": 3, "x2": 12, "y2": 5 } ] } + }, + { + "type": "effect_on_condition", + "id": "lab_pink_mutagen_check", + "recurrence_min": 15, + "recurrence_max": 30, + "condition": { "and": [ { "u_at_om_location": "lab_2x2_MUT_tier_1_NE" }, { "not": { "u_has_item": "id_science_mutagen_pink" } } ] }, + "effect": [ { "mapgen_update": "release_bots_5", "om_terrain": "lab_2x2_MUT_tier_1_NE" } ] + }, + { + "type": "effect_on_condition", + "id": "lab_pink_mutagen_check_2", + "recurrence_min": 15, + "recurrence_max": 30, + "condition": { "and": [ { "u_at_om_location": "lab_2x2_MUT_tier_1_NW" }, { "not": { "u_has_item": "id_science_mutagen_pink" } } ] }, + "effect": [ { "mapgen_update": "release_bots_6", "om_terrain": "lab_2x2_MUT_tier_1_NW" } ] + }, + { + "type": "effect_on_condition", + "id": "lab_pink_mutagen_check_3", + "recurrence_min": 15, + "recurrence_max": 30, + "condition": { "and": [ { "u_at_om_location": "lab_2x2_MUT_tier_1_SW" }, { "not": { "u_has_item": "id_science_mutagen_pink" } } ] }, + "effect": [ { "mapgen_update": "release_bots_7", "om_terrain": "lab_2x2_MUT_tier_1_SW" } ] + }, + { + "type": "effect_on_condition", + "id": "lab_pink_mutagen_check_4", + "recurrence_min": 15, + "recurrence_max": 30, + "condition": { "and": [ { "u_at_om_location": "lab_2x2_MUT_tier_1_SE" }, { "not": { "u_has_item": "id_science_mutagen_pink" } } ] }, + "effect": [ { "mapgen_update": "release_bots_8", "om_terrain": "lab_2x2_MUT_tier_1_SE" } ] + }, + { + "type": "effect_on_condition", + "id": "lab_black_secuirty_corridor", + "recurrence_min": 2, + "recurrence_max": 5, + "condition": { + "and": [ { "u_at_om_location": "underground_lab_central_-6W" }, { "not": { "u_has_item": "id_science_security_black" } } ] + }, + "effect": [ { "mapgen_update": "fire_gas_corridor", "om_terrain": "underground_lab_central_-6W" } ] + }, + { + "//": "Releases if you lack a black security ID card.", + "type": "mapgen", + "update_mapgen_id": "fire_gas_corridor", + "method": "json", + "object": { + "place_fields": [ + { "field": "fd_toxic_gas", "x": 0, "y": 10, "intensity": 2, "age": 20 }, + { "field": "fd_shock_vent", "x": 0, "y": 16, "intensity": 2, "age": 20 }, + { "field": "fd_shock_vent", "x": 3, "y": 10, "intensity": 2, "age": 20 }, + { "field": "fd_toxic_gas", "x": 3, "y": 16, "intensity": 2, "age": 20 }, + { "field": "fd_toxic_gas", "x": 20, "y": 10, "intensity": 2, "age": 20 }, + { "field": "fd_shock_vent", "x": 20, "y": 16, "intensity": 2, "age": 20 }, + { "field": "fd_shock_vent", "x": 23, "y": 10, "intensity": 2, "age": 20 }, + { "field": "fd_toxic_gas", "x": 23, "y": 16, "intensity": 2, "age": 20 } + ] + } + } +] diff --git a/data/json/mapgen/lab/lab_modular/lab_nests_modular/lab_nested_mutagen.json b/data/json/mapgen/lab/lab_modular/lab_nests_modular/lab_nested_mutagen.json index f4ee8f04a371c..972688d9fe14e 100644 --- a/data/json/mapgen/lab/lab_modular/lab_nests_modular/lab_nested_mutagen.json +++ b/data/json/mapgen/lab/lab_modular/lab_nests_modular/lab_nested_mutagen.json @@ -353,6 +353,17 @@ "place_monster": [ { "monster": "mon_dog", "x": 0, "y": 0, "chance": 100 } ] } }, + { + "type": "mapgen", + "method": "json", + "//": "A nested map for mutagen research areas. Dogs for cages.", + "nested_mapgen_id": "lab_dog_1x1_MUTANT", + "object": { + "mapgensize": [ 1, 1 ], + "rotation": [ 0, 3 ], + "place_monster": [ { "monster": "mon_dog_mutant_mongrel", "x": 0, "y": 0, "chance": 100 } ] + } + }, { "type": "mapgen", "method": "json", @@ -364,6 +375,17 @@ "place_monster": [ { "monster": "mon_cat", "x": 0, "y": 0, "chance": 100 } ] } }, + { + "type": "mapgen", + "method": "json", + "//": "A nested map for mutagen research areas. Mutant cats for cages.", + "nested_mapgen_id": "lab_cats_1x1_MUTANT", + "object": { + "mapgensize": [ 1, 1 ], + "rotation": [ 0, 3 ], + "place_monster": [ { "monster": "mon_cat_mutant_prism", "x": 0, "y": 0, "chance": 100 } ] + } + }, { "type": "mapgen", "method": "json", @@ -422,6 +444,17 @@ "place_nested": [ { "chunks": [ [ "lab_cats_1x1", 50 ], [ "lab_dog_1x1", 50 ] ], "x": 0, "y": 0 } ] } }, + { + "type": "mapgen", + "method": "json", + "//": "A nested map for mutagen research areas. mid size animals.", + "nested_mapgen_id": "lab_medium_animal_1x1_MUTANT", + "object": { + "mapgensize": [ 1, 1 ], + "rotation": [ 0, 3 ], + "place_nested": [ { "chunks": [ [ "lab_cats_1x1_MUTANT", 50 ], [ "lab_dog_1x1_MUTANT", 50 ] ], "x": 0, "y": 0 } ] + } + }, { "type": "mapgen", "method": "json", diff --git a/data/json/mapgen/lab/lab_modular/lab_nests_modular/lab_nested_security.json b/data/json/mapgen/lab/lab_modular/lab_nests_modular/lab_nested_security.json index bbd3df0f72bb9..c4746ecae5a8d 100644 --- a/data/json/mapgen/lab/lab_modular/lab_nests_modular/lab_nested_security.json +++ b/data/json/mapgen/lab/lab_modular/lab_nests_modular/lab_nested_security.json @@ -1039,5 +1039,123 @@ } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "12x12_obstacle_course_N", + "object": { + "mapgensize": [ 12, 12 ], + "rows": [ + " ", + " !!! ", + " $ $ ", + " i$ $ i", + " i!!! i", + " i$ $ i", + " $ $ ", + " === ", + " & =%= ", + " &&& === ", + " ", + " " + ], + "palettes": [ "standard_domestic_palette" ], + "terrain": { "=": "t_linoleum_white", "%": "t_linoleum_white" }, + "furniture": { "&": "f_barricade_road", "%": "f_floor_canvas", "!": "f_sandbag_wall", "$": "f_sandbag_half" }, + "place_loot": [ + { "item": "towel", "x": 5, "y": [ 3, 5 ], "chance": 100, "repeat": [ 1, 2 ] }, + { "item": "wheel_wide", "x": 1, "y": 1, "chance": 100 }, + { "item": "wheel_wide", "x": 2, "y": 2, "chance": 100 }, + { "item": "wheel_wide", "x": 1, "y": 3, "chance": 100 }, + { "item": "wheel_wide", "x": 2, "y": 4, "chance": 100 }, + { "item": "wheel_wide", "x": 1, "y": 5, "chance": 100 }, + { "item": "wheel_wide", "x": 2, "y": 6, "chance": 100 }, + { "item": "wheel_wide", "x": 1, "y": 7, "chance": 100 } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "12x12_obstacle_course_N", + "object": { + "mapgensize": [ 12, 12 ], + "rows": [ + " ĉĉĉ ", + " ććĉ!ĉćććć ", + " ć ĉĉĉ ć ", + " ć ććć j", + " ƨƨƨ ććć j", + " ƨƨƨ ććć j", + " ƨƨƨ ć ", + " ƨƨƨ ććć ", + " ƨƨƨ ć ", + " ć ", + " ", + " " + ], + "palettes": [ "lab_common_palette", "lab_security_palette" ], + "terrain": { "ĉ": "t_sandbox", "!": "t_sandbox", "ć": "t_monkey_bars" }, + "furniture": { "!": "f_dancing_pole" } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "12x12_obstacle_course_S", + "object": { + "mapgensize": [ 12, 12 ], + "rows": [ + " ", + " ƨƨƨƨ ", + " ƨƨƨƨ ĉĉĉĉ ", + " ƨƨƨƨ ĉĉĉĉ ", + " ƨƨƨƨ ĉĉĉĉ ", + " ĉĉĉĉ ", + " ʋʋʋʋ ĉĉĉĉ ", + " ʉ ĉĉĉĉ ", + " ʉ ĉĉĉĉ ", + " ʋ ʉ ĉĉĉĉ ", + " ʋ ĉĉĉĉ ", + " 5ʋ5ʉ " + ], + "palettes": [ "lab_common_palette", "lab_security_palette" ], + "terrain": { "ĉ": "t_sandbox" }, + "furniture": { "!": "f_barricade_road", "A": "f_floor_canvas" }, + "place_loot": [ + { "item": "towel", "x": 5, "y": [ 3, 5 ], "chance": 100, "repeat": [ 1, 2 ] }, + { "item": "wheel_wide", "x": 9, "y": 9, "chance": 100 }, + { "item": "wheel_wide", "x": 8, "y": 8, "chance": 100 }, + { "item": "wheel_wide", "x": 9, "y": 7, "chance": 100 }, + { "item": "wheel_wide", "x": 8, "y": 6, "chance": 100 }, + { "item": "wheel_wide", "x": 9, "y": 5, "chance": 100 }, + { "item": "wheel_wide", "x": 8, "y": 4, "chance": 100 }, + { "item": "wheel_wide", "x": 9, "y": 3, "chance": 100 } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "12x12_obstacle_course_S", + "object": { + "mapgensize": [ 12, 12 ], + "rows": [ + " ", + " ", + " ʉʉʉʉʉʉʉʉʉʉ ", + " ʉ5 ", + " ʉ ʉʉʉʉʉʉʉʉʉ", + " ʉ 5", + " ʉʉʉʉ ʉʉʉ ʉ ", + "5 ʉ ʉ ʉ ", + "ʉʉʉ ʉ ʉ ʉʉʉ ", + " 5ʉ ʉ5ʉ 5ʉ ", + " ʉʉ ʉʉʉʉʉ ʉ ", + "5 ʉ5" + ], + "palettes": [ "lab_common_palette", "lab_security_palette" ] + } } ] diff --git a/data/json/mapgen/lab/lab_modular/lab_nests_modular/lab_shared_traps.json b/data/json/mapgen/lab/lab_modular/lab_nests_modular/lab_shared_traps.json index 9774faf389a84..9245b7f9e9986 100644 --- a/data/json/mapgen/lab/lab_modular/lab_nests_modular/lab_shared_traps.json +++ b/data/json/mapgen/lab/lab_modular/lab_nests_modular/lab_shared_traps.json @@ -16,7 +16,7 @@ "type": "mapgen", "update_mapgen_id": "concrete_wall_o_lab_res_8_NW", "method": "json", - "object": { "place_terrain": [ { "ter": "t_thconc_floor", "x": 11, "y": 15 }, { "ter": "t_thconc_floor", "x": 11, "y": 16 } ] } + "object": { "place_terrain": [ { "ter": "t_thconc_r", "x": 11, "y": 15 }, { "ter": "t_thconc_r", "x": 11, "y": 16 } ] } }, { "type": "trap", @@ -35,7 +35,7 @@ "type": "mapgen", "update_mapgen_id": "concrete_wall_o_lab_res_8_NE", "method": "json", - "object": { "place_terrain": [ { "ter": "t_thconc_floor", "x": 12, "y": 15 }, { "ter": "t_thconc_floor", "x": 12, "y": 16 } ] } + "object": { "place_terrain": [ { "ter": "t_thconc_r", "x": 12, "y": 15 }, { "ter": "t_thconc_r", "x": 12, "y": 16 } ] } }, { "type": "trap", diff --git a/data/json/overmap/overmap_special/lab_modular/lab_mini_specials.json b/data/json/overmap/overmap_special/lab_modular/lab_mini_specials.json index 496b51892964a..0eafc5e7d03c8 100644 --- a/data/json/overmap/overmap_special/lab_modular/lab_mini_specials.json +++ b/data/json/overmap/overmap_special/lab_modular/lab_mini_specials.json @@ -127,7 +127,7 @@ "id": "Lab_RES_1x1x2_maintenance", "overmaps": [ { "point": [ 2, 1, -2 ], "overmap": "lab_1x1_RES_8_bedrooms_maintenance_north" }, - { "point": [ 2, 1, -3 ], "overmap": "lab_1x1_RES_8_commons_north" } + { "point": [ 2, 1, -3 ], "overmap": "lab_1x1_RES_8_commons_MAINT_north" } ], "locations": [ "land" ], "city_distance": [ 3, -1 ], @@ -140,7 +140,7 @@ "id": "Lab_RES_1x1x2_security", "overmaps": [ { "point": [ 2, 1, -2 ], "overmap": "lab_1x1_RES_8_bedrooms_security_north" }, - { "point": [ 2, 1, -3 ], "overmap": "lab_1x1_RES_8_commons_north" } + { "point": [ 2, 1, -3 ], "overmap": "lab_1x1_RES_8_commons_SEC_north" } ], "locations": [ "land" ], "city_distance": [ 3, -1 ], diff --git a/data/json/overmap/overmap_special/lab_modular/lab_mutagen_6_floor.json b/data/json/overmap/overmap_special/lab_modular/lab_mutagen_6_floor.json index 7261053bd8350..3dd616df53e15 100644 --- a/data/json/overmap/overmap_special/lab_modular/lab_mutagen_6_floor.json +++ b/data/json/overmap/overmap_special/lab_modular/lab_mutagen_6_floor.json @@ -84,9 +84,9 @@ { "point": [ -1, -2, -3 ], "overmap": "lab_maintenance_z-2&3_B_south" }, { "point": [ -1, -2, -2 ], "overmap": "lab_maintenance_z-2&3_B_south" }, { "point": [ -1, -1, -2 ], "overmap": "lab_1x1_RES_8_bedrooms_security_south" }, - { "point": [ -1, 1, -3 ], "overmap": "lab_1x1_RES_8_commons_north" }, + { "point": [ -1, 1, -3 ], "overmap": "lab_1x1_RES_8_commons_SEC_north" }, { "point": [ -1, 0, -3 ], "overmap": "lab_security_z-3_north" }, - { "point": [ -1, -1, -3 ], "overmap": "lab_1x1_RES_8_commons_south" }, + { "point": [ -1, -1, -3 ], "overmap": "lab_1x1_RES_8_commons_SEC_south" }, { "point": [ -1, 0, -4 ], "overmap": "lab_security_z-4_north" }, { "point": [ -1, 0, -5 ], "overmap": "lab_security_z-5_north" }, { "point": [ -1, 0, -6 ], "overmap": "lab_security_z-6_final_flr_north" }, @@ -95,7 +95,7 @@ { "point": [ 2, -2, -2 ], "overmap": "lab_maintenance_z-2&3_A_south" }, { "point": [ 2, -1, -3 ], "overmap": "lab_1x1x2_RES_8_apartments_lower_south" }, { "point": [ 2, 0, -3 ], "overmap": "lab_health_z-3_A_north" }, - { "point": [ 2, 1, -3 ], "overmap": "lab_1x1_RES_8_commons_north" }, + { "point": [ 2, 1, -3 ], "overmap": "lab_1x1_RES_8_commons_MAINT_north" }, { "point": [ 3, 0, -3 ], "overmap": "lab_health_z-3_B_north" }, { "point": [ 0, 1, -2 ], "overmap": "lab_res_8_NW_north" }, { "point": [ 1, 1, -2 ], "overmap": "lab_res_8_NE_north" }, diff --git a/data/json/overmap/overmap_terrain/overmap_terrain_lab.json b/data/json/overmap/overmap_terrain/overmap_terrain_lab.json index e4fb0248c6697..5727432ef2f08 100644 --- a/data/json/overmap/overmap_terrain/overmap_terrain_lab.json +++ b/data/json/overmap/overmap_terrain/overmap_terrain_lab.json @@ -588,7 +588,8 @@ "id": [ "lab_1x1_RES_8_bedrooms_maintenance", "lab_1x1_RES_8_bedrooms_security", - "lab_1x1_RES_8_commons", + "lab_1x1_RES_8_commons_MAINT", + "lab_1x1_RES_8_commons_SEC", "lab_res_8_NW", "lab_res_8_NE", "lab_res_8_SW",