summaryrefslogtreecommitdiff
path: root/backport-03_feat-balance-power-armor-updates-3625.patch
diff options
context:
space:
mode:
Diffstat (limited to 'backport-03_feat-balance-power-armor-updates-3625.patch')
-rw-r--r--backport-03_feat-balance-power-armor-updates-3625.patch386
1 files changed, 386 insertions, 0 deletions
diff --git a/backport-03_feat-balance-power-armor-updates-3625.patch b/backport-03_feat-balance-power-armor-updates-3625.patch
new file mode 100644
index 0000000..82e82c5
--- /dev/null
+++ b/backport-03_feat-balance-power-armor-updates-3625.patch
@@ -0,0 +1,386 @@
+From c2dd98cb3371d174862d729097dea9bbea24c70e Mon Sep 17 00:00:00 2001
+From: Chaosvolt <chaosvolt@users.noreply.github.com>
+Date: Fri, 10 Nov 2023 23:34:00 -0600
+Subject: [PATCH] feat(balance): power armor updates (#3625)
+
+Power armor updates
+---
+ data/json/items/armor/power_armor.json | 50 ++++++++--------
+ data/json/monsterdrops/zombie.json | 80 +++++++++++++++++++++++---
+ data/json/uncraft/generic.json | 78 +++++++++++++++++++++++++
+ 3 files changed, 174 insertions(+), 34 deletions(-)
+
+diff --git a/data/json/items/armor/power_armor.json b/data/json/items/armor/power_armor.json
+index 447ff9425c8..f428456bc2f 100644
+--- a/data/json/items/armor/power_armor.json
++++ b/data/json/items/armor/power_armor.json
+@@ -5,7 +5,7 @@
+ "name": { "str": "salvaged power armor" },
+ "//": "These are much cheaper than powered suits, because they're extremely heavy and impractical. The good stuff is gone!",
+ "description": "This used to be a powered exoskeleton with a set of heavy armor plates, made wearable by the assist of the servos. Now it's just the armor plating and a stripped down chassis: as one might expect, it's a lot harder to wear.",
+- "weight": "12214 g",
++ "weight": "12 kg",
+ "volume": "25 L",
+ "price": 70000,
+ "price_postapoc": 15000,
+@@ -17,8 +17,8 @@
+ "color": "light_gray",
+ "covers": [ "torso", "arms", "hands", "legs", "feet" ],
+ "coverage": 95,
+- "encumbrance": 40,
+- "storage": "2500 ml",
++ "encumbrance": 35,
++ "storage": "4 L",
+ "warmth": 50,
+ "material_thickness": 8,
+ "environmental_protection": 6,
+@@ -29,8 +29,8 @@
+ "type": "ARMOR",
+ "name": { "str": "salvaged power armor helmet" },
+ "description": "This used to be a military-grade full-head helmet with advanced optics and environmental filters. It looks like it was decommissioned or otherwise stripped for parts; now it's a very expensive hat. It's still quite durable, but quite hard to see out of.",
+- "weight": "2416 g",
+- "volume": "5 L",
++ "weight": "1200 g",
++ "volume": "2500 ml",
+ "price": 30000,
+ "price_postapoc": 5000,
+ "to_hit": 1,
+@@ -41,7 +41,7 @@
+ "color": "light_gray",
+ "covers": [ "head", "eyes", "mouth" ],
+ "coverage": 95,
+- "encumbrance": 40,
++ "encumbrance": 35,
+ "warmth": 50,
+ "material_thickness": 8,
+ "environmental_protection": 6,
+@@ -66,8 +66,8 @@
+ "covers": [ "torso", "arms", "hands", "legs", "feet" ],
+ "coverage": 100,
+ "encumbrance": 50,
+- "storage": "2500 ml",
+- "warmth": 90,
++ "storage": "4 L",
++ "warmth": 60,
+ "material_thickness": 11,
+ "environmental_protection": 16,
+ "use_action": {
+@@ -151,7 +151,7 @@
+ "name": { "str": "heavy power armor (active)", "str_pl": "suits of heavy power armor (active)" },
+ "description": "Colloquially known as a 'tank suit' in the media, these bulky exoskeletons, covered in thick segmented armor plates, were tested in military service a few years back and determined to be too heavy and expensive for regular use. Now that it's in your hands, though, you have a massive suit of power armor capable of resisting almost any small arms fire and most other forms of attack. On the other hand, it doubles your effective weight, and it's almost impossible not to bump into things. There is an integrated chemical resistant bodyglove that precludes wearing other clothing. It is currently turned on, activate it to turn it off.",
+ "extend": { "flags": [ "CLIMATE_CONTROL", "TRADER_AVOID" ] },
+- "power_draw": 1500000,
++ "power_draw": 2250000,
+ "revert_to": "power_armor_heavy",
+ "use_action": {
+ "type": "set_transform",
+@@ -170,8 +170,8 @@
+ "type": "TOOL_ARMOR",
+ "name": { "str": "light power armor", "str_pl": "suits of light power armor" },
+ "description": "The final iteration of military power armor before the fall of civilization, this type - a powered exoskeleton with high-tech segmented plating - was designed for actual widespread combat use and was seen on the front lines during the last days of the cataclysm. Like the heavier suits, it is resistant to most modern weaponry, but it is light and maneuverable, and can fit into normal vehicles and doorways without fuss, a huge advantage over predecessors. Unfortunately, the world ended before it could roll out in significant numbers. There is an integrated chemical resistant bodyglove that precludes wearing other clothing.",
+- "weight": "12670 g",
+- "volume": "15 L",
++ "weight": "25 kg",
++ "volume": "30 L",
+ "price": 11500000,
+ "price_postapoc": 40000,
+ "to_hit": 1,
+@@ -208,7 +208,7 @@
+ "name": { "str": "light power armor (active)", "str_pl": "suits of light power armor (active)" },
+ "description": "The final iteration of military power armor before the fall of civilization, this type - a powered exoskeleton with high-tech segmented plating - was designed for actual widespread combat use and was seen on the front lines during the last days of the cataclysm. Like the heavier suits, it is resistant to most modern weaponry, but it is light and maneuverable, and can fit into normal vehicles and doorways without fuss, a huge advantage over predecessors. Unfortunately, the world ended before it could roll out in significant numbers. There is an integrated chemical resistant bodyglove that precludes wearing other clothing. It is currently turned on, activate it to turn it off.",
+ "extend": { "flags": [ "CLIMATE_CONTROL", "TRADER_AVOID" ] },
+- "power_draw": 1500000,
++ "power_draw": 750000,
+ "revert_to": "power_armor_light",
+ "use_action": {
+ "type": "set_transform",
+@@ -220,15 +220,15 @@
+ },
+ "covers": [ "torso", "arms", "hands", "legs", "feet" ],
+ "encumbrance": 0,
+- "weight_capacity_bonus": "12670 g"
++ "weight_capacity_bonus": "25 kg"
+ },
+ {
+ "id": "power_armor_helmet_basic",
+ "type": "TOOL_ARMOR",
+ "name": { "str": "power armor helmet" },
+ "description": "A fully enclosed combat helmet for hazardous environments, this was designed to fit with a powered exoskeleton, using cameras to expand visual range. In practice, the cameras were unreliable and easily fouled. The environmental controls function best with direct-skin contact.",
+- "weight": "3628 g",
+- "volume": "5 L",
++ "weight": "5500 g",
++ "volume": "10 L",
+ "price": 2500000,
+ "price_postapoc": 7500,
+ "to_hit": 1,
+@@ -240,7 +240,7 @@
+ "covers": [ "head", "eyes", "mouth" ],
+ "coverage": 100,
+ "encumbrance": 50,
+- "warmth": 90,
++ "warmth": 60,
+ "material_thickness": 11,
+ "environmental_protection": 16,
+ "qualities": [ [ "GLARE", 2 ] ],
+@@ -275,15 +275,15 @@
+ },
+ "covers": [ "head", "eyes", "mouth" ],
+ "encumbrance": 10,
+- "weight_capacity_bonus": "3628 g"
++ "weight_capacity_bonus": "5500 g"
+ },
+ {
+ "id": "power_armor_helmet_heavy",
+ "type": "TOOL_ARMOR",
+ "name": { "str": "heavy power armor helmet" },
+ "description": "An extremely heavy-duty fully enclosed combat helmet for hazardous environments, this was designed to fit with a powered exoskeleton. In the field, soldiers reported that the protection was not worth the awkward size and limited visuals. The environmental controls function best with direct-skin contact.",
+- "weight": "5442 g",
+- "volume": "7 L",
++ "weight": "7500 g",
++ "volume": "13 L",
+ "price": 3750000,
+ "price_postapoc": 10000,
+ "to_hit": 1,
+@@ -318,7 +318,7 @@
+ "name": { "str": "heavy power armor helmet (active)", "str_pl": "heavy power armor helmets (active)" },
+ "description": "An extremely heavy-duty fully enclosed combat helmet for hazardous environments, this was designed to fit with a powered exoskeleton. In the field, soldiers reported that the protection was not worth the awkward size and limited visuals. The environmental controls function best with direct-skin contact.",
+ "extend": { "flags": [ "WATCH", "THERMOMETER", "CLIMATE_CONTROL", "TRADER_AVOID" ] },
+- "power_draw": 500000,
++ "power_draw": 250000,
+ "qualities": [ [ "GLARE", 2 ] ],
+ "revert_to": "power_armor_helmet_heavy",
+ "use_action": {
+@@ -330,15 +330,15 @@
+ },
+ "covers": [ "head", "eyes", "mouth" ],
+ "encumbrance": 20,
+- "weight_capacity_bonus": "5442 g"
++ "weight_capacity_bonus": "7500 g"
+ },
+ {
+ "id": "power_armor_helmet_light",
+ "type": "TOOL_ARMOR",
+ "name": { "str": "light power armor helmet" },
+ "description": "This full-enclosure helmet was designed based on commercial diving equipment, in response to complaints that earlier designs were impossible to use in combat. While still a little more restrictive than regular combat headgear - and frustrating should your nose itch - this one received far better reviews from soldiers. Sadly, civilization ended before they could roll out in significant numbers. The environmental controls function best with direct-skin contact.",
+- "weight": "1814 g",
+- "volume": "4 L",
++ "weight": "2500 g",
++ "volume": "3 L",
+ "price": 3750000,
+ "price_postapoc": 10000,
+ "to_hit": 1,
+@@ -373,7 +373,7 @@
+ "name": { "str": "light power armor helmet (active)", "str_pl": "light power armor helmets (active)" },
+ "description": "This full-enclosure helmet was designed based on commercial diving equipment, in response to complaints that earlier designs were impossible to use in combat. While still a little more restrictive than regular combat headgear - and frustrating should your nose itch - this one received far better reviews from soldiers. Sadly, civilization ended before they could roll out in significant numbers. The environmental controls function best with direct-skin contact.",
+ "extend": { "flags": [ "WATCH", "THERMOMETER", "CLIMATE_CONTROL", "TRADER_AVOID" ] },
+- "power_draw": 500000,
++ "power_draw": 750000,
+ "qualities": [ [ "GLARE", 1 ] ],
+ "revert_to": "power_armor_helmet_light",
+ "use_action": {
+@@ -385,7 +385,7 @@
+ },
+ "covers": [ "head", "eyes", "mouth" ],
+ "encumbrance": 0,
+- "weight_capacity_bonus": "1814 g"
++ "weight_capacity_bonus": "2500 g"
+ },
+ {
+ "id": "power_armor_frame",
+diff --git a/data/json/monsterdrops/zombie.json b/data/json/monsterdrops/zombie.json
+index 545c78374cb..bc2a159dbe0 100644
+--- a/data/json/monsterdrops/zombie.json
++++ b/data/json/monsterdrops/zombie.json
+@@ -4,15 +4,77 @@
+ "subtype": "collection",
+ "id": "mon_zombie_armored_death_drops",
+ "entries": [
+- { "item": "power_supply", "count": [ 0, 7 ], "prob": 25 },
+- { "item": "element", "count": [ 0, 3 ], "prob": 40 },
+- { "item": "cable", "charges": [ 0, 12 ], "prob": 60 },
+- { "item": "transponder", "count": [ 0, 1 ], "prob": 25 },
+- { "item": "circuit", "count": [ 0, 8 ], "prob": 40 },
+- { "item": "small_lcd_screen", "count": [ 0, 2 ], "prob": 25 },
+- { "item": "RAM", "count": [ 0, 1 ], "prob": 25 },
+- { "item": "depowered_helmet", "count": [ 0, 1 ], "prob": 20 },
+- { "item": "depowered_armor", "count": [ 0, 1 ], "prob": 20 }
++ {
++ "distribution": [
++ {
++ "collection": [
++ { "item": "power_armor_basic", "damage": [ 1, 4 ] },
++ { "item": "power_armor_helmet_basic", "damage": [ 1, 4 ], "prob": 75 }
++ ],
++ "prob": 10
++ },
++ {
++ "collection": [
++ { "item": "power_armor_light", "damage": [ 1, 4 ] },
++ { "item": "power_armor_helmet_light", "damage": [ 1, 4 ], "prob": 75 }
++ ],
++ "prob": 10
++ },
++ {
++ "collection": [
++ { "item": "power_armor_heavy", "damage": [ 1, 4 ] },
++ { "item": "power_armor_helmet_heavy", "damage": [ 1, 4 ], "prob": 75 }
++ ],
++ "prob": 5
++ },
++ {
++ "collection": [
++ {
++ "distribution": [
++ {
++ "collection": [
++ { "item": "steel_armor", "count": [ 1, 10 ], "prob": 50 },
++ { "item": "power_supply", "count": [ 1, 7 ], "prob": 50 },
++ { "item": "element", "count": [ 1, 3 ], "prob": 50 },
++ { "item": "circuit", "count": [ 1, 8 ], "prob": 50 },
++ { "item": "small_lcd_screen", "count": [ 1, 2 ], "prob": 50 }
++ ],
++ "prob": 10
++ },
++ {
++ "collection": [
++ { "item": "alloy_sheet", "count": [ 1, 6 ], "prob": 50 },
++ { "item": "power_supply", "count": [ 1, 4 ], "prob": 50 },
++ { "item": "element", "count": [ 1, 2 ], "prob": 50 },
++ { "item": "circuit", "count": [ 1, 7 ], "prob": 50 },
++ { "item": "e_scrap", "count": [ 1, 4 ], "prob": 50 }
++ ],
++ "prob": 10
++ },
++ {
++ "collection": [
++ { "item": "hard_steel_armor", "count": [ 1, 14 ], "prob": 50 },
++ { "item": "steel_armor", "count": [ 1, 7 ], "prob": 50 },
++ { "item": "power_supply", "count": [ 1, 11 ], "prob": 50 },
++ { "item": "element", "count": [ 1, 3 ], "prob": 50 },
++ { "item": "circuit", "count": [ 1, 8 ], "prob": 50 },
++ { "item": "small_lcd_screen", "count": [ 1, 2 ], "prob": 50 }
++ ],
++ "prob": 5
++ }
++ ]
++ },
++ { "item": "cable", "count": [ 1, 12 ], "prob": 50 },
++ { "item": "transponder", "prob": 50 },
++ { "item": "RAM", "prob": 50 },
++ { "item": "depowered_armor", "damage": [ 1, 4 ] },
++ { "item": "depowered_helmet", "damage": [ 1, 4 ], "prob": 75 }
++ ],
++ "prob": 75
++ }
++ ]
++ },
++ { "group": "pwr_armor_acc", "damage": [ 1, 4 ], "prob": 90 }
+ ]
+ },
+ {
+diff --git a/data/json/uncraft/generic.json b/data/json/uncraft/generic.json
+index 7e696a24e73..969de577ac8 100644
+--- a/data/json/uncraft/generic.json
++++ b/data/json/uncraft/generic.json
+@@ -2453,6 +2453,7 @@
+ "tools": [ [ [ "boltcutters", -1 ], [ "toolset", -1 ] ] ],
+ "components": [
+ [ [ "depowered_armor", 1 ] ],
++ [ [ "steel_armor", 8 ] ],
+ [ [ "power_supply", 6 ] ],
+ [ [ "element", 2 ] ],
+ [ [ "cable", 12 ] ],
+@@ -2471,6 +2472,7 @@
+ "tools": [ [ [ "boltcutters", -1 ], [ "toolset", -1 ] ] ],
+ "components": [
+ [ [ "depowered_helmet", 1 ] ],
++ [ [ "steel_armor", 2 ] ],
+ [ [ "power_supply", 1 ] ],
+ [ [ "element", 1 ] ],
+ [ [ "small_lcd_screen", 2 ] ],
+@@ -2478,6 +2480,82 @@
+ [ [ "RAM", 1 ] ]
+ ]
+ },
++ {
++ "result": "power_armor_light",
++ "type": "uncraft",
++ "skill_used": "fabrication",
++ "difficulty": 6,
++ "skills_required": [ "electronics", 4 ],
++ "time": "1 h",
++ "qualities": [ { "id": "SAW_M", "level": 1 }, { "id": "SCREW", "level": 1 }, { "id": "WRENCH", "level": 1 } ],
++ "tools": [ [ [ "boltcutters", -1 ], [ "toolset", -1 ] ] ],
++ "components": [
++ [ [ "depowered_armor", 1 ] ],
++ [ [ "alloy_sheet", 5 ] ],
++ [ [ "power_supply", 4 ] ],
++ [ [ "element", 2 ] ],
++ [ [ "cable", 12 ] ],
++ [ [ "circuit", 6 ] ],
++ [ [ "transponder", 1 ] ]
++ ]
++ },
++ {
++ "result": "power_armor_helmet_light",
++ "type": "uncraft",
++ "skill_used": "fabrication",
++ "difficulty": 7,
++ "skills_required": [ "electronics", 3 ],
++ "time": "1 h",
++ "qualities": [ { "id": "SAW_M", "level": 1 }, { "id": "SCREW", "level": 1 }, { "id": "WRENCH", "level": 1 } ],
++ "tools": [ [ [ "boltcutters", -1 ], [ "toolset", -1 ] ] ],
++ "components": [
++ [ [ "depowered_helmet", 1 ] ],
++ [ [ "alloy_sheet", 1 ] ],
++ [ [ "e_scrap", 4 ] ],
++ [ [ "circuit", 1 ] ],
++ [ [ "RAM", 1 ] ]
++ ]
++ },
++ {
++ "result": "power_armor_heavy",
++ "type": "uncraft",
++ "skill_used": "fabrication",
++ "difficulty": 8,
++ "skills_required": [ "electronics", 6 ],
++ "time": "1 h 40 m",
++ "qualities": [ { "id": "SAW_M", "level": 1 }, { "id": "SCREW", "level": 1 }, { "id": "WRENCH", "level": 1 } ],
++ "tools": [ [ [ "boltcutters", -1 ], [ "toolset", -1 ] ] ],
++ "components": [
++ [ [ "depowered_armor", 1 ] ],
++ [ [ "hard_steel_armor", 12 ] ],
++ [ [ "steel_armor", 6 ] ],
++ [ [ "power_supply", 9 ] ],
++ [ [ "element", 2 ] ],
++ [ [ "cable", 12 ] ],
++ [ [ "circuit", 6 ] ],
++ [ [ "transponder", 1 ] ]
++ ]
++ },
++ {
++ "result": "power_armor_helmet_heavy",
++ "type": "uncraft",
++ "skill_used": "fabrication",
++ "difficulty": 9,
++ "skills_required": [ "electronics", 5 ],
++ "time": "1 h 40 m",
++ "qualities": [ { "id": "SAW_M", "level": 1 }, { "id": "SCREW", "level": 1 }, { "id": "WRENCH", "level": 1 } ],
++ "tools": [ [ [ "boltcutters", -1 ], [ "toolset", -1 ] ] ],
++ "components": [
++ [ [ "depowered_helmet", 1 ] ],
++ [ [ "hard_steel_armor", 2 ] ],
++ [ [ "steel_armor", 1 ] ],
++ [ [ "power_supply", 2 ] ],
++ [ [ "element", 1 ] ],
++ [ [ "small_lcd_screen", 2 ] ],
++ [ [ "circuit", 2 ] ],
++ [ [ "RAM", 1 ] ]
++ ]
++ },
+ {
+ "result": "processor",
+ "type": "uncraft",
+--
+2.42.0
+