From 71abfed470a8246429c9c13fb7df4687eeb7277d Mon Sep 17 00:00:00 2001 From: Brian-Otten <47374323+Brian-Otten@users.noreply.github.com> Date: Fri, 24 Apr 2020 08:25:14 +0200 Subject: [PATCH] Spear and staff weapon balance (Part 7 of melee weapon balance project) (#39652) --- data/json/items/melee/bludgeons.json | 8 +- .../json/items/melee/spears_and_polearms.json | 85 +++++++++---------- data/json/items/tool/landscaping.json | 2 +- tests/iteminfo_test.cpp | 11 ++- 4 files changed, 49 insertions(+), 57 deletions(-) diff --git a/data/json/items/melee/bludgeons.json b/data/json/items/melee/bludgeons.json index bf7dda16ac2ce..3f3c1fcf9c3af 100644 --- a/data/json/items/melee/bludgeons.json +++ b/data/json/items/melee/bludgeons.json @@ -477,9 +477,9 @@ "techniques": [ "WBLOCK_1" ], "weight": "420 g", "volume": "1750 ml", - "bashing": 14, + "bashing": 18, "cutting": 1, - "to_hit": 1 + "to_hit": 2 }, { "type": "GENERIC", @@ -514,7 +514,7 @@ "flags": [ "DURABLE_MELEE", "NONCONDUCTIVE", "SHEATH_SPEAR", "ALWAYS_TWOHAND" ], "weight": "2200 g", "volume": "3 L", - "bashing": 25, + "bashing": 29, "category": "weapons", "to_hit": 3, "qualities": [ [ "HAMMER", 1 ] ] @@ -530,7 +530,7 @@ "price": 5000, "price_postapoc": 3000, "to_hit": 3, - "bashing": 18, + "bashing": 24, "material": [ "superalloy", "steel" ], "symbol": "/", "color": "light_gray", diff --git a/data/json/items/melee/spears_and_polearms.json b/data/json/items/melee/spears_and_polearms.json index 916e8fdf0774b..d3bc7aafdf510 100644 --- a/data/json/items/melee/spears_and_polearms.json +++ b/data/json/items/melee/spears_and_polearms.json @@ -6,7 +6,6 @@ "category": "tools", "description": "An agricultural tool with long wooden shaft and four spikes. Is used to lift hay.", "weight": "1000 g", - "to_hit": 1, "color": "brown", "symbol": "/", "material": [ "steel", "wood" ], @@ -29,9 +28,9 @@ "material": "wood", "volume": "1250 ml", "weight": "900 g", - "bashing": 4, - "cutting": 8, - "to_hit": 1, + "bashing": 5, + "cutting": 9, + "to_hit": -1, "price_postapoc": 10, "flags": [ "SPEAR" ], "techniques": [ "WBLOCK_1" ], @@ -50,8 +49,8 @@ "material": [ "wood" ], "techniques": "WBLOCK_1", "volume": "1250 ml", - "bashing": 5, - "cutting": 13, + "bashing": 4, + "cutting": 15, "flags": [ "SPEAR", "REACH_ATTACK", "NPC_THROWN", "SHEATH_SPEAR" ], "price": 4000, "qualities": [ [ "COOK", 1 ] ] @@ -85,9 +84,8 @@ "volume": "1250 ml", "price": 400, "price_postapoc": 50, - "to_hit": 1, "bashing": 4, - "cutting": 13, + "cutting": 14, "material": [ "wood", "iron" ], "symbol": "/", "color": "brown", @@ -106,8 +104,8 @@ "price": 700, "price_postapoc": 150, "to_hit": 1, - "bashing": 4, - "cutting": 15, + "bashing": 5, + "cutting": 17, "material": [ "wood", "iron" ], "symbol": "/", "color": "brown", @@ -126,7 +124,7 @@ "price": 12000, "price_postapoc": 500, "to_hit": 1, - "bashing": 4, + "bashing": 5, "cutting": 17, "material": [ "wood", "iron" ], "symbol": "/", @@ -145,9 +143,8 @@ "volume": "1500 ml", "price": 1400, "price_postapoc": 750, - "to_hit": 1, - "bashing": 2, - "cutting": 19, + "bashing": 6, + "cutting": 22, "material": [ "wood", "iron" ], "symbol": "/", "color": "brown", @@ -161,7 +158,6 @@ "description": "A wooden pole with three spikes tied to it and decent grip. It's specialized for catching weapons, and not intended for extended use in combat.", "weight": "1650 g", "//": "Block 2 until we re-implement defensive-disarm, I'm afraid.", - "to_hit": 1, "price_postapoc": 750, "color": "brown", "symbol": "/", @@ -169,7 +165,7 @@ "techniques": [ "WBLOCK_2", "DEF_DISARM" ], "volume": "1500 ml", "bashing": 6, - "cutting": 17, + "cutting": 18, "flags": [ "SPEAR", "REACH_ATTACK", "NONCONDUCTIVE", "FRAGILE_MELEE", "SHEATH_SPEAR" ], "price": 4900, "qualities": [ [ "COOK", 1 ] ] @@ -187,8 +183,8 @@ "material": [ "copper", "wood" ], "techniques": [ "WBLOCK_1" ], "volume": "1500 ml", - "bashing": 5, - "cutting": 16, + "bashing": 6, + "cutting": 31, "flags": [ "SPEAR", "REACH_ATTACK", "NONCONDUCTIVE", "SHEATH_SPEAR" ], "price": 1400, "qualities": [ [ "COOK", 1 ] ] @@ -199,15 +195,15 @@ "name": { "str": "steel spear" }, "description": "A stout wooden pole with a hand-forged steel spearhead.", "weight": "1498 g", - "to_hit": 2, + "to_hit": 1, "price_postapoc": 5500, "color": "light_gray", "symbol": "/", "material": [ "steel", "wood" ], "techniques": [ "WBLOCK_1", "IMPALE" ], "volume": "3 L", - "bashing": 5, - "cutting": 29, + "bashing": 6, + "cutting": 30, "flags": [ "DURABLE_MELEE", "SPEAR", "REACH_ATTACK", "NONCONDUCTIVE", "SHEATH_SPEAR" ], "price": 16000, "qualities": [ [ "COOK", 1 ] ] @@ -219,7 +215,7 @@ "name": { "str": "pipe spear" }, "description": "A stout metal pole with a sharp point.", "weight": "1398 g", - "to_hit": 1, + "to_hit": -1, "price_postapoc": 50, "color": "light_gray", "symbol": "/", @@ -227,7 +223,7 @@ "techniques": [ "WBLOCK_1", "IMPALE" ], "volume": "1250 ml", "bashing": 6, - "cutting": 20, + "cutting": 22, "flags": [ "SPEAR", "REACH_ATTACK", "SHEATH_SPEAR" ], "price": 8000, "qualities": [ [ "COOK", 1 ] ] @@ -238,16 +234,16 @@ "symbol": "/", "color": "dark_gray", "name": { "str": "sharpened rebar" }, - "description": "A somewhat sharpened piece of rebar, it is still better at bashing than stabbing but the added flexibility is nice.", + "description": "A somewhat sharpened piece of rebar.", "price": 500, "price_postapoc": 50, "material": "iron", "weight": "908 g", "volume": "1500 ml", - "bashing": 14, + "bashing": 5, "techniques": [ "WBLOCK_1" ], "flags": [ "SPEAR", "REACH_ATTACK", "SHEATH_SPEAR" ], - "cutting": 8, + "cutting": 15, "qualities": [ [ "COOK", 1 ], [ "HAMMER", 1 ] ] }, { @@ -256,15 +252,14 @@ "name": { "str": "qiang" }, "description": "An ancient Chinese spear, typically with a tassel just below the spearhead. One of the four major weapons in folklore, alongside the dao sabre, jian sword, and gun staff.", "weight": "1398 g", - "to_hit": 2, "price_postapoc": 3500, "color": "light_gray", "symbol": "/", "material": [ "steel", "wood" ], "techniques": [ "WBLOCK_1", "PRECISE", "IMPALE" ], "volume": "2500 ml", - "bashing": 4, - "cutting": 28, + "bashing": 5, + "cutting": 31, "flags": [ "DURABLE_MELEE", "SPEAR", "REACH_ATTACK", "NONCONDUCTIVE", "SHEATH_SPEAR" ], "price": 80000, "qualities": [ [ "COOK", 1 ] ] @@ -414,7 +409,6 @@ "material": [ "wood" ], "techniques": "WBLOCK_1", "volume": "1 L", - "bashing": 5, "cutting": 11, "thrown_damage": [ { "damage_type": "bash", "amount": 5 }, { "damage_type": "stab", "amount": 11 } ], "flags": [ "SPEAR", "SHEATH_SPEAR", "JAVELIN" ], @@ -428,14 +422,14 @@ "name": { "str": "iron javelin" }, "description": "An iron-tipped wooden throwing spear. The grip area has been carved and covered for better grip.", "weight": "960 g", - "to_hit": 2, + "to_hit": -1, "color": "light_gray", "symbol": "/", "material": [ "wood", "iron" ], "techniques": "WBLOCK_1", "volume": "1 L", "bashing": 5, - "cutting": 17, + "cutting": 19, "thrown_damage": [ { "damage_type": "bash", "amount": 5 }, { "damage_type": "stab", "amount": 17 } ], "flags": [ "SPEAR", "NONCONDUCTIVE", "SHEATH_SPEAR", "JAVELIN" ], "price": 9000, @@ -452,9 +446,8 @@ "volume": "3500 ml", "price": 40000, "price_postapoc": 5000, - "to_hit": -2, - "bashing": 8, - "cutting": 25, + "bashing": 9, + "cutting": 32, "material": [ "iron", "wood" ], "symbol": "/", "color": "brown", @@ -472,9 +465,9 @@ "volume": "3500 ml", "price": 4000, "price_postapoc": 500, - "to_hit": -2, - "bashing": 6, - "cutting": 15, + "to_hit": 1, + "bashing": 13, + "cutting": 2, "material": [ "aluminum", "wood" ], "symbol": "/", "color": "brown", @@ -493,9 +486,9 @@ "volume": "3500 ml", "price": 40000, "price_postapoc": 1250, - "to_hit": -2, - "bashing": 8, - "cutting": 25, + "to_hit": -1, + "bashing": 25, + "cutting": 8, "material": [ "budget_steel", "wood" ], "symbol": "/", "color": "brown", @@ -532,9 +525,9 @@ "volume": "3500 ml", "price": 10000, "price_postapoc": 3500, - "to_hit": 2, - "bashing": 5, - "cutting": 27, + "to_hit": 1, + "bashing": 6, + "cutting": 30, "material": [ "bronze", "wood" ], "symbol": "/", "color": "yellow", @@ -571,8 +564,8 @@ "price": 1300, "price_postapoc": 50, "to_hit": 1, - "bashing": 5, - "cutting": 14, + "bashing": 4, + "cutting": 15, "material": [ "wood", "stone" ], "symbol": "/", "color": "light_gray", diff --git a/data/json/items/tool/landscaping.json b/data/json/items/tool/landscaping.json index cfe37bcca9526..905e16e336306 100644 --- a/data/json/items/tool/landscaping.json +++ b/data/json/items/tool/landscaping.json @@ -43,7 +43,7 @@ "volume": "3500 ml", "price": 2000, "price_postapoc": 250, - "to_hit": 3, + "to_hit": 1, "bashing": 10, "cutting": 6, "material": [ "steel", "wood" ], diff --git a/tests/iteminfo_test.cpp b/tests/iteminfo_test.cpp index e6aa5144ce8d4..428aaff4adabf 100644 --- a/tests/iteminfo_test.cpp +++ b/tests/iteminfo_test.cpp @@ -179,17 +179,16 @@ TEST_CASE( "weapon attack ratings and moves", "[item][iteminfo][weapon]" ) test_info_equals( item( "pointy_stick" ), q, "--\n" - "Melee damage: Bash: 4" - " Pierce: 8" - " To-hit bonus: +1\n" + "Melee damage: Bash: 5" + " Pierce: 9" + " To-hit bonus: -1\n" "Moves per attack: 100\n" "Typical damage per second:\n" - "Best: 8.01" - " Vs. Agile: 4.54" + "Best: 6.87" + " Vs. Agile: 3.20" " Vs. Armored: 0.12\n" ); } - SECTION( "melee and ranged damaged" ) { test_info_equals( item( "arrow_wood" ), q,