From 59f250095199cafd9f02d79a51a6c29a3c1dc3db Mon Sep 17 00:00:00 2001 From: curstwist <39442864+curstwist@users.noreply.github.com> Date: Thu, 16 Dec 2021 18:33:25 -0500 Subject: [PATCH 1/3] TCL armory update --- data/json/itemgroups/Labs/lab_security.json | 169 ++++++++++++++++++ .../lab/lab_modular/lab_1x1_security.json | 46 ++--- .../lab_nested_security.json | 14 ++ 3 files changed, 208 insertions(+), 21 deletions(-) create mode 100644 data/json/itemgroups/Labs/lab_security.json diff --git a/data/json/itemgroups/Labs/lab_security.json b/data/json/itemgroups/Labs/lab_security.json new file mode 100644 index 0000000000000..8a5c8e12f160d --- /dev/null +++ b/data/json/itemgroups/Labs/lab_security.json @@ -0,0 +1,169 @@ +[ + { + "id": "power_armor_sets", + "type": "item_group", + "//": "This group is for matched power armor sets and combat armor for end game reward locations.", + "subtype": "collection", + "entries": [ + { + "distribution": [ + { + "collection": [ { "item": "power_armor_frame" }, { "item": "power_armor_basic" }, { "item": "power_armor_helmet_basic" } ], + "prob": 55 + }, + { + "collection": [ { "item": "power_armor_frame" }, { "item": "power_armor_heavy" }, { "item": "power_armor_helmet_heavy" } ], + "prob": 10 + }, + { + "collection": [ { "item": "power_armor_frame" }, { "item": "power_armor_helmet_light" }, { "item": "power_armor_light" } ], + "prob": 30 + }, + { + "collection": [ { "item": "rm13_armor" }, { "item": "heavy_atomic_battery_cell", "charges": 10000 } ], + "prob": 5 + } + ], + "prob": 100 + } + ] + }, + { + "id": "UPS_power", + "type": "item_group", + "//": "This group is for UPS spawns.", + "subtype": "distribution", + "entries": [ + { "item": "UPS_off", "prob": 70 }, + { "item": "heavy_battery_cell", "prob": 70 }, + { "item": "heavy_plus_battery_cell", "prob": 40 }, + { "item": "adv_UPS_off", "prob": 40 } + ] + }, + { + "id": "SUS_rivtech_loot", + "type": "item_group", + "//": "This group is for rare spawns of rivetech matched sets.", + "subtype": "distribution", + "entries": [ + { "group": "SUS_rivtech_20x66", "prob": 40 }, + { "group": "SUS_rivtech_8x40", "prob": 80 }, + { "group": "SUS_rivtech_40mm", "prob": 60 }, + { "group": "SUS_rivtech_misc", "prob": 60 } + ] + }, + { + "id": "SUS_rivtech_20x66", + "type": "item_group", + "//": "This group is for rare spawns of rivetech matched sets.", + "subtype": "collection", + "entries": [ + { "item": "20x66_10_mag" }, + { + "distribution": [ + { "item": "20x66_beanbag", "prob": 60, "count": [ 1, 3 ] }, + { "item": "20x66_exp", "prob": 10, "count": [ 1, 3 ] }, + { "item": "20x66_flare", "prob": 40, "count": [ 1, 3 ] }, + { "item": "20x66_inc", "prob": 20, "count": [ 1, 3 ] }, + { "item": "20x66_frag", "prob": 30, "count": [ 1, 3 ] }, + { "item": "20x66_flechette", "prob": 30, "count": [ 1, 3 ] }, + { "item": "20x66_shot", "prob": 60, "count": [ 1, 3 ] }, + { "item": "20x66_slug", "prob": 60, "count": [ 1, 3 ] } + ] + }, + { + "distribution": [ { "item": "rm120c", "prob": 50 }, { "item": "rm20", "prob": 50 }, { "item": "rm228", "prob": 40 } ] + } + ] + }, + { + "id": "SUS_rivtech_8x40", + "type": "item_group", + "//": "This group is for rare spawns of rivetech matched sets.", + "subtype": "collection", + "entries": [ + { + "distribution": [ + { "item": "8mm_caseless", "prob": 60, "count": [ 1, 3 ] }, + { "item": "8mm_civilian", "prob": 70, "count": [ 1, 3 ] }, + { "item": "8mm_fmj", "prob": 40, "count": [ 1, 3 ] }, + { "item": "8mm_hvp", "prob": 40, "count": [ 1, 3 ] }, + { "item": "8mm_inc", "prob": 20, "count": [ 1, 3 ] }, + { "item": "8mm_jhp", "prob": 30, "count": [ 1, 3 ] } + ] + }, + { + "distribution": [ + { "item": "8x40_100_mag", "prob": 10 }, + { "item": "8x40_10_mag", "prob": 80 }, + { "item": "8x40_250_mag", "prob": 10 }, + { "item": "8x40_500_mag", "prob": 10 }, + { "item": "8x40_25_mag", "prob": 60 }, + { "item": "8x40_50_mag", "prob": 40 } + ] + }, + { + "distribution": [ + { "item": "rm103a_pistol", "prob": 80 }, + { "item": "rm11b_sniper_rifle", "prob": 10 }, + { "item": "rm298", "prob": 30 }, + { "item": "rm51_assault_rifle", "prob": 30 }, + { "item": "rm614_lmg", "prob": 50 }, + { "item": "rm88_battle_rifle", "prob": 20 }, + { "item": "rm2000_smg", "prob": 60 } + ] + } + ] + }, + { + "id": "SUS_rivtech_5x50", + "type": "item_group", + "//": "This group is for rare spawns of rivetech matched sets.", + "subtype": "collection", + "entries": [ + { + "distribution": [ { "item": "5x50dart", "prob": 80, "count": [ 1, 3 ] }, { "item": "5x50heavy", "prob": 20, "count": [ 1, 3 ] } ] + }, + { "distribution": [ { "item": "needlegun", "prob": 50 }, { "item": "needlepistol", "prob": 50 } ] }, + { "distribution": [ { "item": "5x50_50_mag", "prob": 80 }, { "item": "5x50_100_mag", "prob": 20 } ] } + ] + }, + { + "id": "SUS_rivtech_40mm", + "type": "item_group", + "//": "This group is for rare spawns of rivetech matched sets.", + "subtype": "collection", + "entries": [ + { + "distribution": [ { "item": "rm802", "prob": 80 }, { "item": "rm451_flamethrower", "prob": 20, "charges": [ 100, 1000 ] } ] + }, + { + "distribution": [ + { "item": "40x46mm_m1006", "prob": 50, "count": [ 1, 3 ] }, + { "item": "40x46mm_m433", "prob": 50, "count": [ 1, 3 ] }, + { "item": "40x46mm_m576", "prob": 50, "count": [ 1, 3 ] }, + { "item": "40x46mm_m651", "prob": 50, "count": [ 1, 3 ] } + ] + } + ] + }, + { + "id": "SUS_rivtech_misc", + "type": "item_group", + "//": "This group is for rare spawns of rivetech matched sets.", + "subtype": "distribution", + "entries": [ + { "item": "recipe_caseless", "prob": 50 }, + { "item": "rm121aux", "prob": 50 }, + { "item": "knife_rm42", "prob": 50 }, + { + "collection": [ { "item": "rx12_injector" }, { "item": "ampoule", "prob": 60, "repeat": [ 1, 3 ] } ], + "prob": 60 + }, + { + "collection": [ { "item": "rx11_stimpack" }, { "item": "stimpack_ammo", "prob": 60, "repeat": [ 1, 3 ] } ], + "prob": 60 + } + ] + } +] 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 148fcca4dcd6f..f5e1eb8e8ec9f 100644 --- a/data/json/mapgen/lab/lab_modular/lab_1x1_security.json +++ b/data/json/mapgen/lab/lab_modular/lab_1x1_security.json @@ -491,32 +491,33 @@ "fill_ter": "t_linoleum_gray", "rows": [ "||||||||||||||||||||||||", - "|@@∞|,|∞@@|`````|```````", + "|@@∞|,|∞@@|`````|```î```", "|r,,+,+,hr|`````#```````", - "|rh,|,|,,r|``|##|```î```", - "|||||ê|||||``|`<|``````|", - "|@@∞|,|∞@@|``|||||||||||", - "|r,,+,+,hr|``|||||||||||", - "|rh,|,|,,r|``||qqqqqqq||", - "|||||,|||||``||,,,,,,,||", - "|9,S|ê,,,,|``||,,≠≠≠≠≠||", - "|9,,|,hfh,|``||,,,ê,,,||", + "|rh,|,|,,r|``|##||||||||", + "|||||ê|||||``|`<||||||||", + "|@@∞|,|∞@@|``|||||QQQQ||", + "|r,,+,+,hr|``|||||,,,Q||", + "|rh,|,|,,r|``||||||¥=|||", + "|||||,|||||``||qqqq,,q||", + "|9,S|ê,,,,|``||,,,,,,q||", + "|9,,|,hfh,#``=,,ê≠≠≠≠≠||", "|||+|,hfh,#``=,,,≠≠≠≠≠||", - "|t+,#,hfh,#``=,,,,,ɜ,,||", - "|||,|,hfh,|`6||qqq,,qq||", - "|t+,|ê,,,,|``|||||=¥||||", - "|||||,|||||``||,$,êA,Q||", - "|@@∞|,|∞@@|``||,$,NN,Q||", - "|r,,+,+,,r|``|||||||||||", - "|rh,|,|,hr|``|||||||||||", - "|||||ê|||||``|`<|``````|", - "|@@∞|,|∞@@|``|##|``î````", + "|t+,#,hfh,|`6||,,,,ɜ,q||", + "|||,|,hfh,|``||qqqq,,q||", + "|t+,|ê,,,,|``||||||¥=|||", + "|||||,|||||``||,$,êA,N||", + "|@@∞|,|∞@@|``||,$,NNYN||", + "|r,,+,+,,r|``|||||||$|||", + "|rh,|,|,hr|``|||||,,,V||", + "|||||ê|||||``|`<||||||||", + "|@@∞|,|∞@@|``|##||||||||", "|r,,+,+,,r|`````#```````", - "|rh,|,|,hr|`````|```````", + "|rh,|,|,hr|`````|```î```", "||||||||||||||||||||||||" ], "palettes": [ "lab_common_palette", "lab_security_palette" ], - "terrain": { "ɜ": "t_metal_floor", "¥": "t_card_science_security_black", "ƶ": "t_card_science_security_magenta" }, + "terrain": { "¥": "t_card_science_security_black", "ƶ": "t_card_science_security_magenta" }, + "place_furniture": [ { "furn": "f_mannequin", "x": 18, "y": 18 } ], "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 ] } @@ -525,6 +526,8 @@ "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 ] }, + "Q": { "item": "SUS_rivtech_loot", "chance": 80 }, + "V": { "item": "UPS_power", "chance": 100, "repeat": [ 1, 2 ] }, "r": { "item": "tools_gunsmith", "chance": 10 }, "N": [ { "item": "tools_gunsmith", "chance": 100 }, { "item": "mechanics", "chance": 50 } ], "≠": [ @@ -532,11 +535,12 @@ { "item": "mags_milspec", "chance": 40, "repeat": [ 1, 2 ] } ] }, + "place_nested": [ { "chunks": [ "power_armor_roulette" ], "x": 18, "y": 18 } ], "computers": { "6": { "name": "Magazine Entrance", "security": 6, - "options": [ { "name": "UNLOCK ENTRANCE", "action": "unlock", "security": 6 } ], + "options": [ { "name": "UNLOCK ENTRANCE", "action": "unlock_disarm", "security": 4 } ], "failures": [ { "action": "damage" }, { "action": "shutdown" } ] } } 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 4b88a5cf0086e..001c0a0d3e075 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 @@ -1159,5 +1159,19 @@ ], "palettes": [ "lab_common_palette", "lab_security_palette" ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "power_armor_roulette", + "weight": 100, + "object": { "mapgensize": [ 1, 1 ], "place_loot": [ { "group": "power_armor_sets", "x": 0, "y": 0, "chance": 100 } ] } + }, + { + "type": "mapgen", + "method": "json", + "weight": 600, + "nested_mapgen_id": "power_armor_roulette", + "object": { "mapgensize": [ 1, 1 ], "place_monster": [ { "monster": "mon_zombie_armored", "x": 0, "y": 0 } ] } } ] From dadbb44c4f1a204676d405b500f256a29c3b64d9 Mon Sep 17 00:00:00 2001 From: curstwist <39442864+curstwist@users.noreply.github.com> Date: Thu, 16 Dec 2021 18:41:28 -0500 Subject: [PATCH 2/3] fix item_group count --- data/json/itemgroups/Labs/lab_security.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/json/itemgroups/Labs/lab_security.json b/data/json/itemgroups/Labs/lab_security.json index 8a5c8e12f160d..d74770afb1e7d 100644 --- a/data/json/itemgroups/Labs/lab_security.json +++ b/data/json/itemgroups/Labs/lab_security.json @@ -157,11 +157,11 @@ { "item": "rm121aux", "prob": 50 }, { "item": "knife_rm42", "prob": 50 }, { - "collection": [ { "item": "rx12_injector" }, { "item": "ampoule", "prob": 60, "repeat": [ 1, 3 ] } ], + "collection": [ { "item": "rx12_injector" }, { "item": "ampoule", "prob": 60, "count": [ 1, 3 ] } ], "prob": 60 }, { - "collection": [ { "item": "rx11_stimpack" }, { "item": "stimpack_ammo", "prob": 60, "repeat": [ 1, 3 ] } ], + "collection": [ { "item": "rx11_stimpack" }, { "item": "stimpack_ammo", "prob": 60, "count": [ 1, 3 ] } ], "prob": 60 } ] From afc30f35bf1bc2f5d61803558e18382bc676811b Mon Sep 17 00:00:00 2001 From: curstwist <39442864+curstwist@users.noreply.github.com> Date: Sat, 18 Dec 2021 15:00:35 -0500 Subject: [PATCH 3/3] adjust spawn weights for armor --- data/json/itemgroups/Labs/lab_security.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/json/itemgroups/Labs/lab_security.json b/data/json/itemgroups/Labs/lab_security.json index d74770afb1e7d..ddf20ad94544d 100644 --- a/data/json/itemgroups/Labs/lab_security.json +++ b/data/json/itemgroups/Labs/lab_security.json @@ -9,7 +9,7 @@ "distribution": [ { "collection": [ { "item": "power_armor_frame" }, { "item": "power_armor_basic" }, { "item": "power_armor_helmet_basic" } ], - "prob": 55 + "prob": 30 }, { "collection": [ { "item": "power_armor_frame" }, { "item": "power_armor_heavy" }, { "item": "power_armor_helmet_heavy" } ], @@ -17,7 +17,7 @@ }, { "collection": [ { "item": "power_armor_frame" }, { "item": "power_armor_helmet_light" }, { "item": "power_armor_light" } ], - "prob": 30 + "prob": 55 }, { "collection": [ { "item": "rm13_armor" }, { "item": "heavy_atomic_battery_cell", "charges": 10000 } ],