From 557eb58aea6581c81a1b20253c232de032bee118 Mon Sep 17 00:00:00 2001 From: Chaosvolt Date: Tue, 18 Feb 2025 15:28:31 -0600 Subject: [PATCH 1/2] feat(balance): allow hydraulic press to be grid furntiure, minor updates to press and brass items --- data/json/construction.json | 12 ++++++++ data/json/construction_group.json | 5 ++++ .../furniture-appliances.json | 29 +++++++++++++++++++ .../furniture-tools.json | 28 ------------------ data/json/items/fake.json | 10 +++++++ data/json/items/resources/metal.json | 5 ++-- data/json/items/tool/metalworking.json | 7 +++-- 7 files changed, 63 insertions(+), 33 deletions(-) diff --git a/data/json/construction.json b/data/json/construction.json index baebe08489ba..704f3b290327 100644 --- a/data/json/construction.json +++ b/data/json/construction.json @@ -5305,5 +5305,17 @@ "pre_note": "Will only work if constructed in/on a building that has an electric grid with a mounted battery.", "pre_flags": [ "WALL" ], "post_furniture": "f_light_switch" + }, + { + "type": "construction", + "id": "constr_hydraulic_press", + "group": "install_hydraulic_press", + "category": "WORKSHOP", + "required_skills": [ ], + "time": "10 m", + "components": [ [ [ "hydraulic_press", 1 ] ] ], + "pre_note": "Will only work if constructed in/on a building that has an electric grid with a mounted battery.", + "pre_special": "check_empty", + "post_furniture": "f_hydraulic_press" } ] diff --git a/data/json/construction_group.json b/data/json/construction_group.json index 42c1c2957567..a94d16a51f13 100644 --- a/data/json/construction_group.json +++ b/data/json/construction_group.json @@ -1533,5 +1533,10 @@ "type": "construction_group", "id": "build_light_switch", "name": "Install a light switch" + }, + { + "type": "construction_group", + "id": "install_hydraulic_press", + "name": "Install Hydraulic Press" } ] diff --git a/data/json/furniture_and_terrain/furniture-appliances.json b/data/json/furniture_and_terrain/furniture-appliances.json index 8b41a750745c..2a2397f1761d 100644 --- a/data/json/furniture_and_terrain/furniture-appliances.json +++ b/data/json/furniture_and_terrain/furniture-appliances.json @@ -2770,5 +2770,34 @@ "examine_action": "toggle_lights", "transforms_into": "f_light_switch", "message": "You switched off the lights." + }, + { + "type": "furniture", + "id": "f_hydraulic_press", + "name": "grid hydraulic press", + "looks_like": "t_machinery_light", + "description": "If you really want to squash something a lot, this would be exactly the right industrial tool for you.", + "symbol": "9", + "color": "black_red", + "move_cost_mod": -1, + "coverage": 75, + "required_str": 16, + "flags": [ "BLOCKSDOOR", "TRANSPARENT", "EASY_DECONSTRUCT" ], + "bash": { + "str_min": 40, + "str_max": 150, + "sound_fail": "clang!", + "items": [ + { "item": "cable", "charges": [ 0, 4 ] }, + { "item": "scrap", "count": [ 8, 12 ] }, + { "item": "steel_chunk", "count": [ 2, 4 ] }, + { "item": "steel_lump", "count": [ 1, 2 ] }, + { "item": "steel_plate", "count": [ 1, 2 ] } + ], + "//": "Variable reduction since might hit more or less material.", + "ranged": { "reduction": [ 20, 40 ], "destroy_threshold": 150, "block_unaimed_chance": "75%" } + }, + "crafting_pseudo_item": [ "grid_hydraulic_press" ], + "deconstruct": { "items": [ { "item": "hydraulic_press", "count": 1 } ] } } ] diff --git a/data/json/furniture_and_terrain/furniture-tools.json b/data/json/furniture_and_terrain/furniture-tools.json index dc447a88ed36..c5838f8d7c0c 100644 --- a/data/json/furniture_and_terrain/furniture-tools.json +++ b/data/json/furniture_and_terrain/furniture-tools.json @@ -843,34 +843,6 @@ ] } }, - { - "type": "furniture", - "id": "f_hydraulic_press", - "name": "hydraulic press", - "looks_like": "t_machinery_light", - "description": "If you really want to squash something a lot, this would be exactly the right industrial tool for you. If, you know, it had power.", - "symbol": "9", - "color": "black_red", - "move_cost_mod": -1, - "coverage": 75, - "required_str": 16, - "flags": [ "BLOCKSDOOR", "TRANSPARENT" ], - "bash": { - "str_min": 40, - "str_max": 150, - "sound_fail": "clang!", - "items": [ - { "item": "cable", "charges": [ 0, 4 ] }, - { "item": "scrap", "count": [ 8, 12 ] }, - { "item": "steel_chunk", "count": [ 2, 4 ] }, - { "item": "steel_lump", "count": [ 1, 2 ] }, - { "item": "steel_plate", "count": [ 1, 2 ] } - ], - "//": "Variable reduction since might hit more or less material.", - "ranged": { "reduction": [ 20, 40 ], "destroy_threshold": 150, "block_unaimed_chance": "75%" } - }, - "deconstruct": { "items": [ { "item": "hydraulic_press", "count": 1 } ] } - }, { "type": "furniture", "id": "f_heavy_lathe", diff --git a/data/json/items/fake.json b/data/json/items/fake.json index f484c0dbeb6b..a1e6d9b20bea 100644 --- a/data/json/items/fake.json +++ b/data/json/items/fake.json @@ -440,5 +440,15 @@ "name": { "str": "installed reloading press" }, "//": "Doesn't substitute for hand press because we want to define this tool in crafting requirements separately, due to disassembly code.", "qualities": [ [ "PULL", 2 ] ] + }, + { + "id": "grid_hydraulic_press", + "copy-from": "fake_item", + "type": "TOOL", + "name": { "str": "grid hydraulic press" }, + "sub": "hydraulic_press", + "max_charges": 2500, + "charges_per_use": 5, + "flags": [ "USES_GRID_POWER" ] } ] diff --git a/data/json/items/resources/metal.json b/data/json/items/resources/metal.json index deb27a94a72f..2a4fc2767995 100644 --- a/data/json/items/resources/metal.json +++ b/data/json/items/resources/metal.json @@ -24,9 +24,10 @@ "id": "cartridgebrass", "symbol": ",", "color": "light_gray", - "name": { "str_sp": "cartridge brass" }, + "looks_like": "scrap_bronze", + "name": { "str_sp": "brass" }, "category": "scrap_metal", - "description": "Some brass that has been made specifically to be formed into cartridge casings.", + "description": "Some brass scraps, if you have the right tools they could be formed into cartridge casings.", "price": "10 USD", "price_postapoc": "10 cent", "material": "brass", diff --git a/data/json/items/tool/metalworking.json b/data/json/items/tool/metalworking.json index 16abaef2151c..cfce60f620c3 100644 --- a/data/json/items/tool/metalworking.json +++ b/data/json/items/tool/metalworking.json @@ -226,16 +226,17 @@ "type": "TOOL", "category": "tools_workshop", "name": { "str": "hydraulic press" }, - "description": "A large, barely portable hydraulic press, that uses a 36kW motor to squash whatever needs squashing. Do not put your hand in here, it will get squashed.", + "description": "A large, barely portable hydraulic press, that uses a 36kW motor to squash whatever needs squashing. Do not put your hand in here, it will get squashed. Can run off heavy-duty batteries, or installed to run off a power grid instead.", "weight": "320 kg", "volume": "130 L", - "price": 120000, - "price_postapoc": 14000, + "price": "1200 USD", + "price_postapoc": "40 USD", "to_hit": -2, "bashing": 8, "material": [ "steel", "plastic" ], "symbol": ";", "color": "light_gray", + "looks_like": "jack", "ammo": "battery", "charges_per_use": 20, "flags": [ "ALLOWS_REMOTE_USE" ], From c0b7f2d17ecad4642736b02642bb513f7af0bf26 Mon Sep 17 00:00:00 2001 From: Chaosvolt Date: Tue, 18 Feb 2025 16:09:10 -0600 Subject: [PATCH 2/2] Update metalworking.json --- data/json/items/tool/metalworking.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/items/tool/metalworking.json b/data/json/items/tool/metalworking.json index cfce60f620c3..3fde59462554 100644 --- a/data/json/items/tool/metalworking.json +++ b/data/json/items/tool/metalworking.json @@ -236,7 +236,7 @@ "material": [ "steel", "plastic" ], "symbol": ";", "color": "light_gray", - "looks_like": "jack", + "looks_like": "f_hydraulic_press", "ammo": "battery", "charges_per_use": 20, "flags": [ "ALLOWS_REMOTE_USE" ],