From 2f1ed18887f7f366f64418c4d5dcf3e203d4086a Mon Sep 17 00:00:00 2001 From: Kamejeir <99511880+Kamejeir@users.noreply.github.com> Date: Tue, 4 Jun 2024 09:47:32 +0200 Subject: [PATCH 1/5] merger readability commit --- data/json/itemgroups/SUS/domestic.json | 17 ++- data/json/items/melee/knives_kitchen.json | 170 ---------------------- data/json/items/tool/knives.json | 10 ++ 3 files changed, 24 insertions(+), 173 deletions(-) delete mode 100644 data/json/items/melee/knives_kitchen.json diff --git a/data/json/itemgroups/SUS/domestic.json b/data/json/itemgroups/SUS/domestic.json index c7d7c08b7803b..74a9a60d464f5 100644 --- a/data/json/itemgroups/SUS/domestic.json +++ b/data/json/itemgroups/SUS/domestic.json @@ -76,17 +76,28 @@ "//2": "This group is for a drawer full of knives and related implements.", "subtype": "collection", "entries": [ - { "distribution": [ { "item": "knife_chef", "prob": 10 }, { "item": "knife_vegetable_cleaver", "prob": 3 } ] }, + { + "distribution": [ + { "item": "knife_chef", "prob": 10 }, + { "item": "knife_vegetable_cleaver", "prob": 3 } + ] + }, { "item": "knife_paring" }, { "item": "knife_paring", "prob": 75 }, { "item": "knife_bread", "prob": 95 }, { "item": "knife_bread", "prob": 45 }, { - "distribution": [ { "item": "knife_butcher", "prob": 10 }, { "item": "knife_meat_cleaver", "prob": 10 } ], + "distribution": [ + { "item": "knife_butcher", "prob": 10 }, + { "item": "knife_meat_cleaver", "prob": 10 } + ], "prob": 65 }, { "item": "knife_steak", "count": [ 2, 4 ], "prob": 75 }, - { "collection": [ { "item": "knife_carving" }, { "item": "carving_fork", "prob": 90 } ], "prob": 85 }, + { + "collection": [ { "item": "knife_carving" }, { "item": "carving_fork", "prob": 90 } ], + "prob": 85 + }, { "item": "scissors", "prob": 80 }, { "item": "peeler", "prob": 75, "count": [ 1, 2 ] }, { "item": "cutting_board", "count": [ 1, 2 ] }, diff --git a/data/json/items/melee/knives_kitchen.json b/data/json/items/melee/knives_kitchen.json deleted file mode 100644 index e3acead1f9882..0000000000000 --- a/data/json/items/melee/knives_kitchen.json +++ /dev/null @@ -1,170 +0,0 @@ -[ - { - "abstract": "base_kitchen_knife", - "name": { "str": "generic kitchen knife", "str_pl": "generic kitchen knives" }, - "description": "generic item template", - "type": "TOOL", - "material": [ "steel" ], - "symbol": ";", - "color": "light_gray" - }, - { - "id": "knife_butcher", - "name": { "str": "butcher knife", "str_pl": "butcher knives" }, - "type": "TOOL", - "category": "weapons", - "description": "A sharp, heavy knife. It makes a good melee weapon, and is an ideal item for butchering corpses.", - "ascii_picture": "knife_butcher", - "copy-from": "base_kitchen_knife", - "weight": "380 g", - "volume": "300 ml", - "longest_side": "35 cm", - "price": "30 USD", - "price_postapoc": "50 cent", - "to_hit": { "grip": "weapon", "length": "short", "surface": "point", "balance": "neutral" }, - "qualities": [ [ "CUT", 2 ], [ "BUTCHER", 25 ] ], - "flags": [ "SHEATH_KNIFE", "ALLOWS_BODY_BLOCK" ], - "weapon_category": [ "KNIVES" ], - "melee_damage": { "bash": 2, "stab": 14 } - }, - { - "id": "knife_steak", - "name": { "str": "steak knife", "str_pl": "steak knives" }, - "type": "TOOL", - "category": "weapons", - "description": "A sharp knife designed for cutting meat. It makes a poor melee weapon, but is decent at butchering corpses.", - "ascii_picture": "knife_steak", - "copy-from": "base_kitchen_knife", - "weight": "112 g", - "volume": "100 ml", - "longest_side": "25 cm", - "price": "2 USD 50 cent", - "price_postapoc": "50 cent", - "to_hit": { "grip": "weapon", "length": "hand", "surface": "point", "balance": "neutral" }, - "qualities": [ [ "CUT", 2 ], [ "CUT_FINE", 1 ], [ "BUTCHER", 15 ] ], - "flags": [ "SHEATH_KNIFE", "ALLOWS_BODY_BLOCK" ], - "weapon_category": [ "SHIVS" ], - "melee_damage": { "bash": 2, "stab": 7 } - }, - { - "id": "knife_paring", - "name": { "str": "paring knife", "str_pl": "paring knives" }, - "type": "TOOL", - "category": "weapons", - "description": "A short-bladed knife with a sharp blade, made for fine controlled cuts to vegetables without using a cutting board.", - "ascii_picture": "knife_paring", - "copy-from": "base_kitchen_knife", - "looks_like": "knife_steak", - "weight": "50 g", - "volume": "30 ml", - "longest_side": "15 cm", - "price": "2 USD 50 cent", - "price_postapoc": "50 cent", - "to_hit": { "grip": "weapon", "length": "hand", "surface": "point", "balance": "neutral" }, - "qualities": [ [ "CUT", 2 ], [ "CUT_FINE", 1 ], [ "BUTCHER", 10 ] ], - "flags": [ "SHEATH_KNIFE", "ALLOWS_BODY_BLOCK" ], - "melee_damage": { "bash": 1, "stab": 6 }, - "weapon_category": [ "SHIVS" ] - }, - { - "id": "knife_chef", - "name": { "str": "chef knife", "str_pl": "chef knives" }, - "type": "TOOL", - "category": "weapons", - "description": "A long-bladed kitchen knife. The blade is wider than the handle, giving room for the wielder's knuckles, and it has a characteristic curve for a fast rocking action for chopping vegetables. It makes an acceptable melee weapon, but the wide blade is unwieldy for butchering.", - "copy-from": "base_kitchen_knife", - "looks_like": "knife_butcher", - "ascii_picture": "knife_chef", - "weight": "280 g", - "volume": "200 ml", - "longest_side": "30 cm", - "price": "15 USD", - "price_postapoc": "1 USD", - "to_hit": { "grip": "weapon", "length": "short", "surface": "point", "balance": "neutral" }, - "qualities": [ [ "CUT", 2 ], [ "CUT_FINE", 1 ], [ "BUTCHER", 10 ] ], - "flags": [ "SHEATH_KNIFE", "ALLOWS_BODY_BLOCK" ], - "weapon_category": [ "KNIVES" ], - "melee_damage": { "bash": 2, "stab": 16 } - }, - { - "id": "knife_carving", - "name": { "str": "carving knife", "str_pl": "carving knives" }, - "type": "TOOL", - "category": "weapons", - "description": "A long-bladed kitchen knife with a thin, slightly curved blade for deftly slicing meat either in flat sheets or around the bone. It makes a decent melee weapon, and is excellent for butchery.", - "ascii_picture": "knife_carving", - "copy-from": "base_kitchen_knife", - "looks_like": "knife_butcher", - "weight": "140 g", - "volume": "200 ml", - "longest_side": "30 cm", - "price": "20 USD", - "price_postapoc": "50 cent", - "to_hit": { "grip": "weapon", "length": "short", "surface": "point", "balance": "neutral" }, - "qualities": [ [ "CUT", 2 ], [ "CUT_FINE", 1 ], [ "BUTCHER", 22 ] ], - "flags": [ "SHEATH_KNIFE", "ALLOWS_BODY_BLOCK" ], - "weapon_category": [ "SHIVS" ], - "melee_damage": { "bash": 1, "stab": 18 }, - "//": "Based on https://www.amazon.com/dp/B0CGLW4JKC" - }, - { - "id": "knife_bread", - "name": { "str": "bread knife", "str_pl": "bread knives" }, - "type": "TOOL", - "category": "weapons", - "description": "This knife has quite a long blade with a scalloped edge for cutting bread. It's not that sharp, but its length and heft mean it could do a bit of damage and cause some nasty tearing.", - "ascii_picture": "knife_bread", - "copy-from": "base_kitchen_knife", - "looks_like": "knife_butcher", - "weight": "280 g", - "volume": "200 ml", - "longest_side": "35 cm", - "price": "5 USD", - "price_postapoc": "50 cent", - "to_hit": { "grip": "weapon", "length": "short", "surface": "line", "balance": "neutral" }, - "qualities": [ [ "CUT", 2 ], [ "CUT_FINE", 1 ], [ "BUTCHER", 8 ] ], - "flags": [ "SHEATH_KNIFE", "ALLOWS_BODY_BLOCK" ], - "melee_damage": { "bash": 4, "cut": 6 }, - "weapon_category": [ "SHIVS" ] - }, - { - "id": "knife_vegetable_cleaver", - "name": { "str": "vegetable cleaver" }, - "type": "TOOL", - "category": "weapons", - "description": "A menacing-looking knife with a broad, square shaped blade, curved for fast vegetable chopping. Its heft and sharpness make it a decent weapon as well, although not as good as a meat cleaver.", - "ascii_picture": "knife_vegetable_cleaver", - "copy-from": "base_kitchen_knife", - "looks_like": "knife_butcher", - "weight": "340 g", - "volume": "653 ml", - "//1": "Volume calculated by proportions from the attached image - 8in blade = proportionally calculated 12.8in total length and 3.41in total height at the widest point. Width taken from package dimensions.", - "longest_side": "33 cm", - "price": "22 USD", - "price_postapoc": "50 cent", - "to_hit": { "grip": "weapon", "length": "short", "surface": "line", "balance": "neutral" }, - "qualities": [ [ "CUT", 2 ], [ "BUTCHER", 15 ] ], - "flags": [ "SHEATH_KNIFE", "ALLOWS_BODY_BLOCK" ], - "melee_damage": { "bash": 3, "cut": 17 }, - "//2": "Based on https://www.amazon.com/dp/B001JL4J0G" - }, - { - "id": "knife_meat_cleaver", - "name": { "str": "meat cleaver" }, - "type": "TOOL", - "category": "weapons", - "description": "A menacing-looking knife with a broad, square-shaped blade. Its heft and sharpness would make it a very effective melee weapon and an excellent butchering tool.", - "ascii_picture": "knife_meat_cleaver", - "copy-from": "base_kitchen_knife", - "looks_like": "knife_butcher", - "weight": "450 g", - "volume": "1 L", - "longest_side": "30 cm", - "price": "35 USD", - "price_postapoc": "50 cent", - "to_hit": { "grip": "weapon", "length": "short", "surface": "line", "balance": "neutral" }, - "qualities": [ [ "CUT", 2 ], [ "BUTCHER", 25 ] ], - "flags": [ "SHEATH_KNIFE", "ALLOWS_BODY_BLOCK" ], - "melee_damage": { "bash": 6, "cut": 16 } - } -] diff --git a/data/json/items/tool/knives.json b/data/json/items/tool/knives.json index d97b5c3fbff57..f0a3c85da2865 100644 --- a/data/json/items/tool/knives.json +++ b/data/json/items/tool/knives.json @@ -1,4 +1,14 @@ [ + { + "abstract": "base_kitchen_knife", + "name": { "str": "generic kitchen knife", "str_pl": "generic kitchen knives" }, + "description": "generic item template", + "category": "weapons", + "type": "GENERIC", + "material": [ "steel" ], + "symbol": ";", + "color": "light_gray" + }, { "id": "copper_knife", "type": "TOOL", From 15e4e97508ddc5703cd3beca3990f2e268907b6b Mon Sep 17 00:00:00 2001 From: Kamejeir <99511880+Kamejeir@users.noreply.github.com> Date: Tue, 4 Jun 2024 10:04:16 +0200 Subject: [PATCH 2/5] small kitchen knife --- data/json/itemgroups/Food/food.json | 2 +- .../Locations_MapExtras/locations.json | 6 ++-- .../locations_commercial.json | 2 +- .../Locations_MapExtras/mansion.json | 2 +- .../monster_drops_lairs.json | 2 +- data/json/itemgroups/SUS/domestic.json | 10 +++---- .../json/itemgroups/collections_domestic.json | 6 ++-- data/json/itemgroups/food_service.json | 16 +++++----- data/json/itemgroups/furniture.json | 2 +- data/json/itemgroups/misc.json | 7 ++++- data/json/items/tool/knives.json | 30 +++++++++++++++++++ data/json/mapgen/basement/basement_meth.json | 2 +- data/json/monsterdrops/zombie_survivor.json | 2 +- data/json/npcs/godco/classes.json | 2 +- data/json/npcs/island_prison/prisoners.json | 6 ++-- data/json/npcs/items_generic.json | 2 +- .../NPC_Mangalpreet_Singh.json | 2 +- .../migration_items.json | 12 ++++++++ data/json/professions.json | 6 ++-- .../recipe_modular_firestation1.json | 2 +- .../recipe_modular_canteen_common.json | 2 +- .../recipe_modular_canteen_common.json | 2 +- data/json/recipes/recipe_deconstruction.json | 11 +------ data/json/recipes/tools/tool.json | 3 +- data/json/recipes/tools/tools_electronic.json | 4 +-- data/json/recipes/tools/tools_hand.json | 6 ++-- data/json/recipes/weapon/piercing.json | 27 ++--------------- data/json/requirements/melee.json | 3 +- .../requirements/spell_components.json | 3 +- .../innawood/recipes/tools_electronic.json | 4 +-- tests/crafting_test.cpp | 2 +- 31 files changed, 103 insertions(+), 85 deletions(-) diff --git a/data/json/itemgroups/Food/food.json b/data/json/itemgroups/Food/food.json index e6137443a4d4b..7cbdff9d2f049 100644 --- a/data/json/itemgroups/Food/food.json +++ b/data/json/itemgroups/Food/food.json @@ -851,7 +851,7 @@ { "prob": 45, "group": "cheese_bag_plastic" }, { "item": "mozzarella_cheese", "prob": 30 }, { "item": "ceramic_plate", "prob": 30 }, - { "item": "knife_steak", "prob": 45 }, + { "item": "knife_small", "variant": "knife_steak", "prob": 45 }, { "item": "tongs", "prob": 60 } ] }, diff --git a/data/json/itemgroups/Locations_MapExtras/locations.json b/data/json/itemgroups/Locations_MapExtras/locations.json index df9ed00f053b4..7daf889337d3b 100644 --- a/data/json/itemgroups/Locations_MapExtras/locations.json +++ b/data/json/itemgroups/Locations_MapExtras/locations.json @@ -451,7 +451,7 @@ [ "can_sealer", 5 ], [ "oil_press_manual", 5 ], [ "knife_butter", 90 ], - [ "knife_steak", 85 ], + { "item": "knife_small", "variant": "knife_steak", "prob": 85 }, [ "fork", 90 ], [ "spoon", 90 ], [ "knife_butcher", 10 ], @@ -887,7 +887,7 @@ [ "spoon", 35 ], [ "fork", 35 ], [ "knife_butter", 35 ], - [ "knife_steak", 35 ], + { "item": "knife_small", "variant": "knife_steak", "prob": 35 }, [ "tourist_table", 10 ], [ "canister_empty", 45 ], [ "tongs", 10 ], @@ -1656,7 +1656,7 @@ { "item": "chisel", "prob": 2 }, { "item": "scissors", "prob": 10 }, { "item": "screwdriver", "prob": 8 }, - { "item": "knife_steak", "prob": 4 }, + { "item": "knife_small", "variant": "knife_steak", "prob": 4 }, { "item": "chain", "prob": 10 }, { "item": "glass_shiv", "prob": 30 }, { "item": "bottle_glass", "prob": 5 }, diff --git a/data/json/itemgroups/Locations_MapExtras/locations_commercial.json b/data/json/itemgroups/Locations_MapExtras/locations_commercial.json index 1a36d86e99010..3a2b459b7fcdb 100644 --- a/data/json/itemgroups/Locations_MapExtras/locations_commercial.json +++ b/data/json/itemgroups/Locations_MapExtras/locations_commercial.json @@ -1297,7 +1297,7 @@ [ "spoon", 25 ], [ "fork", 25 ], [ "knife_butter", 20 ], - [ "knife_steak", 15 ], + { "item": "knife_small", "variant": "knife_steak", "prob": 15 }, [ "spork", 5 ], [ "foon", 5 ] ] diff --git a/data/json/itemgroups/Locations_MapExtras/mansion.json b/data/json/itemgroups/Locations_MapExtras/mansion.json index d51af3664e7ec..75821c1f79641 100644 --- a/data/json/itemgroups/Locations_MapExtras/mansion.json +++ b/data/json/itemgroups/Locations_MapExtras/mansion.json @@ -798,7 +798,7 @@ [ "hat_chef", 2 ], [ "pastaextruder", 10 ], [ "knife_butter", 90 ], - [ "knife_steak", 85 ], + { "item": "knife_small", "variant": "knife_steak", "prob": 85 }, [ "fork", 90 ], [ "spoon", 90 ], [ "glass", 20 ], diff --git a/data/json/itemgroups/Monsters_Animals_Lairs/monster_drops_lairs.json b/data/json/itemgroups/Monsters_Animals_Lairs/monster_drops_lairs.json index 2abebc2fb9ca2..4d6c6cc425fae 100644 --- a/data/json/itemgroups/Monsters_Animals_Lairs/monster_drops_lairs.json +++ b/data/json/itemgroups/Monsters_Animals_Lairs/monster_drops_lairs.json @@ -3,7 +3,7 @@ "type": "item_group", "id": "shia_stuff", "subtype": "distribution", - "entries": [ { "item": "knife_steak", "prob": 3 }, { "item": "ax", "prob": 1 } ] + "entries": [ { "item": "knife_small", "variant": "knife_steak", "prob": 3 }, { "item": "ax", "prob": 1 } ] }, { "type": "item_group", diff --git a/data/json/itemgroups/SUS/domestic.json b/data/json/itemgroups/SUS/domestic.json index 74a9a60d464f5..53260f912c7e0 100644 --- a/data/json/itemgroups/SUS/domestic.json +++ b/data/json/itemgroups/SUS/domestic.json @@ -8,8 +8,8 @@ "entries": [ { "item": "knife_butter", "count": [ 1, 6 ] }, { "item": "knife_butter", "count": [ 1, 6 ], "prob": 75 }, - { "item": "knife_steak", "count": [ 2, 6 ], "prob": 85 }, - { "item": "knife_paring", "prob": 75 }, + { "item": "knife_small", "variant": "knife_steak", "count": [ 2, 6 ], "prob": 85 }, + { "item": "knife_small", "variant": "knife_paring", "prob": 75 }, { "item": "fork", "count": [ 1, 6 ] }, { "item": "fork", "count": [ 1, 6 ], "prob": 75 }, { "item": "spoon", "count": [ 1, 6 ] }, @@ -82,8 +82,8 @@ { "item": "knife_vegetable_cleaver", "prob": 3 } ] }, - { "item": "knife_paring" }, - { "item": "knife_paring", "prob": 75 }, + { "item": "knife_small", "variant": "knife_paring" }, + { "item": "knife_small", "variant": "knife_paring", "prob": 75 }, { "item": "knife_bread", "prob": 95 }, { "item": "knife_bread", "prob": 45 }, { @@ -93,7 +93,7 @@ ], "prob": 65 }, - { "item": "knife_steak", "count": [ 2, 4 ], "prob": 75 }, + { "item": "knife_small", "variant": "knife_steak", "count": [ 2, 4 ], "prob": 75 }, { "collection": [ { "item": "knife_carving" }, { "item": "carving_fork", "prob": 90 } ], "prob": 85 diff --git a/data/json/itemgroups/collections_domestic.json b/data/json/itemgroups/collections_domestic.json index eca5df2d1d11a..81b6742534f4e 100644 --- a/data/json/itemgroups/collections_domestic.json +++ b/data/json/itemgroups/collections_domestic.json @@ -38,7 +38,7 @@ [ "fork", 90 ], [ "spoon", 90 ], [ "chopsticks", 90 ], - [ "knife_steak", 50 ], + { "item": "knife_small", "variant": "knife_steak", "prob": 50 }, [ "glass", 50 ], [ "ceramic_plate", 50 ], [ "ceramic_bowl", 50 ], @@ -97,13 +97,13 @@ [ "corkscrew", 10 ], [ "peeler", 15 ], [ "brush", 15 ], - [ "knife_paring", 25 ], [ "knife_bread", 20 ], [ "knife_chef", 20 ], [ "knife_carving", 20 ], [ "knife_butcher", 10 ], [ "knife_meat_cleaver", 10 ], [ "knife_vegetable_cleaver", 10 ], + { "item": "knife_small", "variant": "knife_paring", "prob": 25 }, [ "cutting_board", 20 ], [ "bottle_opener", 15 ], [ "mortar_pestle", 10 ] @@ -1241,7 +1241,7 @@ { "item": "wrapper", "prob": 50 }, { "item": "wrapper_foil", "prob": 5 }, { "item": "knife_butter", "prob": 90 }, - { "item": "knife_steak", "prob": 85 }, + { "item": "knife_small", "variant": "knife_steak", "prob": 85 }, { "item": "fork", "prob": 90 }, { "item": "spoon", "prob": 90 }, { "item": "spork", "prob": 5 }, diff --git a/data/json/itemgroups/food_service.json b/data/json/itemgroups/food_service.json index a804879ff4df1..bc3cab06167a3 100644 --- a/data/json/itemgroups/food_service.json +++ b/data/json/itemgroups/food_service.json @@ -660,7 +660,7 @@ "subtype": "distribution", "entries": [ { "item": "hat_ball", "prob": 30 }, - { "item": "knife_steak", "prob": 20 }, + { "item": "knife_small", "variant": "knife_steak", "prob": 20 }, { "item": "sm_extinguisher", "prob": 40, "charges": 10 }, { "item": "towel", "prob": 40 }, { "item": "soap", "prob": 30, "charges": [ 1, 10 ] }, @@ -910,7 +910,7 @@ [ "spoon", 50 ], [ "fork", 50 ], [ "knife_butter", 40 ], - [ "knife_steak", 35 ], + { "item": "knife_small", "variant": "knife_steak", "prob": 35 }, [ "spork", 10 ], [ "foon", 10 ], [ "bottle_glass", 15 ], @@ -935,7 +935,7 @@ [ "spoon", 50 ], [ "fork", 50 ], [ "knife_butter", 40 ], - [ "knife_steak", 35 ], + { "item": "knife_small", "variant": "knife_steak", "prob": 35 }, [ "bottle_glass", 15 ], { "group": "bar_alcohol", "prob": 68 }, [ "lobster_roll", 10 ], @@ -1067,7 +1067,7 @@ [ "cookbook", 8 ], [ "cookbook_italian", 9 ], [ "cornmeal", 3 ], - [ "knife_steak", 15 ], + { "item": "knife_small", "variant": "knife_steak", "prob": 15 }, { "prob": 15, "group": "chilly-p_various" }, { "prob": 15, "group": "curry_powder_various" }, [ "spaghetti_raw", 20 ], @@ -1106,7 +1106,7 @@ [ "cookbook", 8 ], [ "cookbook_daintydishes", 9 ], [ "cornmeal", 3 ], - [ "knife_steak", 15 ], + { "item": "knife_small", "variant": "knife_steak", "prob": 15 }, { "prob": 15, "group": "chilly-p_various" }, { "prob": 15, "group": "curry_powder_various" }, [ "macaroni_raw", 20 ], @@ -1151,7 +1151,7 @@ [ "ceramic_plate", 50 ], [ "glass", 50 ], [ "knife_butter", 30 ], - [ "knife_steak", 15 ], + { "item": "knife_small", "variant": "knife_steak", "prob": 15 }, [ "spoon", 20 ], [ "fork", 20 ], [ "spork", 5 ], @@ -1175,7 +1175,7 @@ [ "ceramic_plate", 50 ], [ "glass", 50 ], [ "knife_butter", 50 ], - [ "knife_steak", 25 ], + { "item": "knife_small", "variant": "knife_steak", "prob": 25 }, [ "spoon", 50 ], [ "fork", 50 ], [ "spork", 5 ], @@ -1350,8 +1350,8 @@ "id": "butcher_tools", "subtype": "distribution", "entries": [ - { "item": "knife_steak", "prob": 20 }, { "item": "knife_butcher", "prob": 30 }, + { "item": "knife_small", "variant": "knife_steak", "prob": 20 }, { "item": "butchering_kit", "prob": 5 }, { "item": "tongs", "prob": 10 }, { "item": "carver_off", "prob": 5, "charges": [ 0, 500 ] }, diff --git a/data/json/itemgroups/furniture.json b/data/json/itemgroups/furniture.json index 4d01bab1ae8ea..fc37c2496cdb4 100644 --- a/data/json/itemgroups/furniture.json +++ b/data/json/itemgroups/furniture.json @@ -4,8 +4,8 @@ "id": "knifeblock", "subtype": "distribution", "entries": [ - { "item": "knife_steak", "prob": 85 }, { "item": "knife_butcher", "prob": 10 }, + { "item": "knife_small", "variant": "knife_steak", "prob": 85 }, { "item": "kukri", "prob": 1 }, { "item": "tongs", "prob": 28 }, { "item": "meat", "prob": 1 } diff --git a/data/json/itemgroups/misc.json b/data/json/itemgroups/misc.json index cdaee7d0fd9af..390ddfcd7b748 100644 --- a/data/json/itemgroups/misc.json +++ b/data/json/itemgroups/misc.json @@ -92,7 +92,12 @@ "id": "silverware", "type": "item_group", "//": "Forks, spoons, knives, etc.", - "items": [ [ "knife_butter", 30 ], [ "knife_steak", 10 ], [ "fork", 30 ], [ "spoon", 30 ] ] + "items": [ + [ "knife_butter", 30 ], + { "item": "knife_small", "variant": "knife_steak", "prob": 10 }, + [ "fork", 30 ], + [ "spoon", 30 ] + ] }, { "id": "used_toy_box", diff --git a/data/json/items/tool/knives.json b/data/json/items/tool/knives.json index f0a3c85da2865..107445032d233 100644 --- a/data/json/items/tool/knives.json +++ b/data/json/items/tool/knives.json @@ -9,6 +9,36 @@ "symbol": ";", "color": "light_gray" }, + { + "id": "knife_small", + "name": { "str": "small kitchen knife", "str_pl": "small kitchen knives" }, + "type": "TOOL", + "variants": [ + { + "id": "knife_steak", + "name": { "str": "steak knife", "str_pl": "steak knives" }, + "description": "A sharp knife designed for cutting meat. It makes a poor melee weapon, but is decent at butchering corpses.", + "ascii_picture": "knife_steak" + }, + { + "id": "knife_paring", + "name": { "str": "paring knife", "str_pl": "paring knives" }, + "description": "A short-bladed knife with a sharp blade, made for fine controlled cuts to vegetables without using a cutting board.", + "ascii_picture": "knife_paring" + } + ], + "copy-from": "base_kitchen_knife", + "weight": "112 g", + "volume": "100 ml", + "longest_side": "25 cm", + "price": "2 USD 50 cent", + "price_postapoc": "50 cent", + "to_hit": { "grip": "weapon", "length": "hand", "surface": "point", "balance": "neutral" }, + "qualities": [ [ "CUT", 2 ], [ "CUT_FINE", 1 ], [ "BUTCHER", 15 ] ], + "flags": [ "SHEATH_KNIFE", "ALLOWS_BODY_BLOCK" ], + "weapon_category": [ "SHIVS" ], + "melee_damage": { "bash": 2, "stab": 7 } + }, { "id": "copper_knife", "type": "TOOL", diff --git a/data/json/mapgen/basement/basement_meth.json b/data/json/mapgen/basement/basement_meth.json index d151d8997525f..1c0fd3af7b2a5 100644 --- a/data/json/mapgen/basement/basement_meth.json +++ b/data/json/mapgen/basement/basement_meth.json @@ -95,7 +95,7 @@ { "x": 18, "y": 19, "item": "chemistry_set" }, { "x": 11, "y": 10, "item": "towel" }, { "x": 16, "y": 5, "item": "bleach" }, - { "x": 16, "y": 5, "item": "knife_steak" } + { "x": 16, "y": 5, "item": "knife_small", "variant": "knife_steak" } ], "place_monster": [ { "monster": "mon_zombie_hazmat", "x": [ 19, 21 ], "y": [ 15, 20 ], "chance": 50 }, diff --git a/data/json/monsterdrops/zombie_survivor.json b/data/json/monsterdrops/zombie_survivor.json index c531c91de6f8e..2377f4760358b 100644 --- a/data/json/monsterdrops/zombie_survivor.json +++ b/data/json/monsterdrops/zombie_survivor.json @@ -200,7 +200,7 @@ [ "knife_carving", 15 ], [ "knife_folding", 10 ], [ "makeshift_knife", 1 ], - [ "knife_steak", 35 ], + { "item": "knife_small", "variant": "knife_steak", "prob": 35 }, { "group": "knife_rambo_cont", "prob": 15 }, [ "knife_hunting", 10 ], [ "knife_meat_cleaver", 10 ] diff --git a/data/json/npcs/godco/classes.json b/data/json/npcs/godco/classes.json index e8f84e5ad772f..f6b6c264fde59 100644 --- a/data/json/npcs/godco/classes.json +++ b/data/json/npcs/godco/classes.json @@ -1213,7 +1213,7 @@ "type": "item_group", "id": "GODCO_katherine_wield", "subtype": "collection", - "entries": [ { "item": "knife_steak" } ] + "entries": [ { "item": "knife_small", "variant": "knife_steak" } ] }, { "type": "item_group", diff --git a/data/json/npcs/island_prison/prisoners.json b/data/json/npcs/island_prison/prisoners.json index d29a27b31582b..3dfa93d0fcb62 100644 --- a/data/json/npcs/island_prison/prisoners.json +++ b/data/json/npcs/island_prison/prisoners.json @@ -84,12 +84,12 @@ "items": [ [ "baton-extended", 50 ], [ "PR24-retracted", 50 ], - [ "knife_steak", 30 ], [ "knife_chef", 30 ], - [ "knife_paring", 30 ], [ "knife_butcher", 30 ], [ "knife_meat_cleaver", 30 ], [ "knife_carving", 30 ], + { "item": "knife_small", "variant": "knife_steak", "prob": 30 }, + { "item": "knife_small", "variant": "knife_paring", "prob": 30 }, [ "pointy_stick", 30 ], [ "cudgel", 20 ], [ "knuckle_nail", 20 ], @@ -106,7 +106,7 @@ [ "chisel", 5 ], [ "scissors", 5 ], [ "screwdriver", 5 ], - [ "knife_steak", 5 ], + { "item": "knife_small", "variant": "knife_steak", "prob": 5 }, [ "knuckle_brass", 3 ], [ "knuckle_steel_forged", 2 ], [ "switchblade", 5 ], diff --git a/data/json/npcs/items_generic.json b/data/json/npcs/items_generic.json index f4564ca2a8b3c..ba652acbe0e5c 100644 --- a/data/json/npcs/items_generic.json +++ b/data/json/npcs/items_generic.json @@ -709,7 +709,7 @@ [ "knife_butcher", 6 ], [ "knife_butter", 4 ], [ "knife_combat", 4 ], - [ "knife_steak", 8 ], + { "item": "knife_small", "variant": "knife_steak", "prob": 8 }, [ "knife_trench", 3 ], [ "knitting_needles", 1 ], [ "lamp_oil", 2 ], diff --git a/data/json/npcs/refugee_center/surface_refugees/NPC_Mangalpreet_Singh.json b/data/json/npcs/refugee_center/surface_refugees/NPC_Mangalpreet_Singh.json index 2074f5994e503..379d32c639acb 100644 --- a/data/json/npcs/refugee_center/surface_refugees/NPC_Mangalpreet_Singh.json +++ b/data/json/npcs/refugee_center/surface_refugees/NPC_Mangalpreet_Singh.json @@ -64,8 +64,8 @@ "id": "REFUGEE_Mangalpreet_wield", "subtype": "distribution", "entries": [ - { "item": "knife_steak", "container-item": "sheath", "prob": 4 }, { "item": "knife_butcher", "container-item": "sheath", "prob": 2 }, + { "item": "knife_small", "variant": "knife_steak", "container-item": "sheath", "prob": 4 }, { "item": "kukri", "container-item": "sheath", "prob": 1 } ] }, diff --git a/data/json/obsoletion_and_migration_0.I/migration_items.json b/data/json/obsoletion_and_migration_0.I/migration_items.json index 866b90115e540..207d63adc8201 100644 --- a/data/json/obsoletion_and_migration_0.I/migration_items.json +++ b/data/json/obsoletion_and_migration_0.I/migration_items.json @@ -1419,6 +1419,18 @@ "type": "MIGRATION", "replace": "glass_fridge" }, + { + "id": "knife_steak", + "type": "MIGRATION", + "replace": "knife_small", + "variant": "knife_steak" + }, + { + "id": "knife_paring", + "type": "MIGRATION", + "replace": "knife_small", + "variant": "knife_paring" + }, { "id": "spear_survivor", "type": "MIGRATION", diff --git a/data/json/professions.json b/data/json/professions.json index aff86c5a17184..1970f97bf6981 100644 --- a/data/json/professions.json +++ b/data/json/professions.json @@ -1864,7 +1864,9 @@ "skills": [ { "level": 3, "name": "tailor" }, { "level": 3, "name": "cooking" }, { "level": 3, "name": "driving" } ], "proficiencies": [ "prof_food_prep", "prof_closures", "prof_knife_skills", "prof_knives_familiar" ], "items": { - "both": { "entries": [ { "item": "pocketwatch" }, { "item": "knife_steak" }, { "group": "charged_smart_phone" } ] }, + "both": { + "entries": [ { "item": "pocketwatch" }, { "item": "knife_small", "variant": "knife_steak" }, { "group": "charged_smart_phone" } ] + }, "male": { "entries": [ { "item": "briefs" }, @@ -3406,7 +3408,7 @@ "entries": [ { "item": "sneakers" }, { "item": "socks" }, - { "item": "knife_steak" }, + { "item": "knife_small", "variant": "knife_steak" }, { "group": "charged_smart_phone" }, { "item": "tshirt", "variant": "generic_tshirt" }, { "item": "pants", "variant": "pants_black" } diff --git a/data/json/recipes/basecamps/base/recipe_modular_firestation_1/recipe_modular_firestation1.json b/data/json/recipes/basecamps/base/recipe_modular_firestation_1/recipe_modular_firestation1.json index 7dfd630468c9e..3f25a565d064e 100644 --- a/data/json/recipes/basecamps/base/recipe_modular_firestation_1/recipe_modular_firestation1.json +++ b/data/json/recipes/basecamps/base/recipe_modular_firestation_1/recipe_modular_firestation1.json @@ -235,7 +235,7 @@ { "id": "hunting" } ], "blueprint_excludes": [ { "id": "fbmc_firestation1_butchery" } ], - "components": [ [ [ "knife_butcher", 1 ], [ "knife_steak", 1 ], [ "knife_chef", 1 ], [ "knife_carving", 1 ] ] ] + "components": [ [ [ "knife_butcher", 1 ], [ "knife_small", 1 ], [ "knife_chef", 1 ], [ "knife_carving", 1 ] ] ] }, { "type": "recipe", diff --git a/data/json/recipes/basecamps/expansion/recipe_modular_canteen/version_1/recipe_modular_canteen_common.json b/data/json/recipes/basecamps/expansion/recipe_modular_canteen/version_1/recipe_modular_canteen_common.json index 5e3136f178159..7eb10e4c5576f 100644 --- a/data/json/recipes/basecamps/expansion/recipe_modular_canteen/version_1/recipe_modular_canteen_common.json +++ b/data/json/recipes/basecamps/expansion/recipe_modular_canteen/version_1/recipe_modular_canteen_common.json @@ -139,7 +139,7 @@ "blueprint_requires": [ { "id": "fbmk_canteen_smoking" } ], "blueprint_provides": [ { "id": "fbmk_canteen_butchery" }, { "id": "kitchen_recipes_3" }, { "id": "trapping" }, { "id": "hunting" } ], "blueprint_excludes": [ { "id": "fbmk_canteen_butchery" } ], - "components": [ [ [ "knife_butcher", 1 ], [ "knife_steak", 1 ], [ "knife_chef", 1 ], [ "knife_carving", 1 ] ] ] + "components": [ [ [ "knife_butcher", 1 ], [ "knife_small", 1 ], [ "knife_chef", 1 ], [ "knife_carving", 1 ] ] ] }, { "type": "recipe", diff --git a/data/json/recipes/basecamps/expansion/recipe_modular_canteen/version_2/recipe_modular_canteen_common.json b/data/json/recipes/basecamps/expansion/recipe_modular_canteen/version_2/recipe_modular_canteen_common.json index 82366ab50b6c0..115478d39d506 100644 --- a/data/json/recipes/basecamps/expansion/recipe_modular_canteen/version_2/recipe_modular_canteen_common.json +++ b/data/json/recipes/basecamps/expansion/recipe_modular_canteen/version_2/recipe_modular_canteen_common.json @@ -250,7 +250,7 @@ "blueprint_requires": [ { "id": "fbmk_2_smoking" } ], "blueprint_provides": [ { "id": "fbmk_2_butchery" }, { "id": "fbmk_2_recipes_3" }, { "id": "trapping" }, { "id": "hunting" } ], "blueprint_excludes": [ { "id": "fbmk_2_butchery" } ], - "components": [ [ [ "knife_butcher", 1 ], [ "knife_steak", 1 ], [ "knife_chef", 1 ], [ "knife_carving", 1 ] ] ], + "components": [ [ [ "knife_butcher", 1 ], [ "knife_small", 1 ], [ "knife_chef", 1 ], [ "knife_carving", 1 ] ] ], "flags": [ "MAP_MIRROR_HORIZONTAL_IF_N", "MAP_ROTATE_90_IF_NE", diff --git a/data/json/recipes/recipe_deconstruction.json b/data/json/recipes/recipe_deconstruction.json index 5f6b7e664e892..8f022b5e5389d 100644 --- a/data/json/recipes/recipe_deconstruction.json +++ b/data/json/recipes/recipe_deconstruction.json @@ -3126,20 +3126,11 @@ { "type": "uncraft", "activity_level": "MODERATE_EXERCISE", - "result": "knife_paring", + "result": "knife_small", "time": "3 m", "qualities": [ { "id": "HAMMER", "level": 1 } ], "components": [ [ [ "scrap", 2 ] ] ] }, - { - "result": "knife_steak", - "type": "uncraft", - "time": "3 m", - "//": "Another odd one", - "activity_level": "MODERATE_EXERCISE", - "components": [ [ [ "spike", 1 ] ] ], - "flags": [ "BLIND_EASY" ] - }, { "type": "uncraft", "activity_level": "MODERATE_EXERCISE", diff --git a/data/json/recipes/tools/tool.json b/data/json/recipes/tools/tool.json index 7b42f55e8454d..aec646eb643ef 100644 --- a/data/json/recipes/tools/tool.json +++ b/data/json/recipes/tools/tool.json @@ -305,9 +305,8 @@ [ "platinum_hairpin", 1 ], [ "gold_hairpin", 1 ], [ "silver_hairpin", 1 ], - [ "knife_steak", 1 ], + [ "knife_small", 1 ], [ "knife_butter", 1 ], - [ "knife_paring", 1 ], [ "fork", 1 ], [ "lc_wire", 1 ], [ "hc_wire", 1 ], diff --git a/data/json/recipes/tools/tools_electronic.json b/data/json/recipes/tools/tools_electronic.json index c61dd78695608..a973108fea60e 100644 --- a/data/json/recipes/tools/tools_electronic.json +++ b/data/json/recipes/tools/tools_electronic.json @@ -462,7 +462,7 @@ [ "pot", 1 ], [ "pot_copper", 1 ], [ "knife_butcher", 2 ], - [ "knife_steak", 6 ], + [ "knife_small", 6 ], [ "knife_butter", 6 ], [ "muffler", 1 ] ], @@ -494,7 +494,7 @@ [ "pot", 1 ], [ "pot_copper", 1 ], [ "knife_butcher", 2 ], - [ "knife_steak", 6 ], + [ "knife_small", 6 ], [ "knife_butter", 6 ], [ "muffler", 1 ] ], diff --git a/data/json/recipes/tools/tools_hand.json b/data/json/recipes/tools/tools_hand.json index ba687f9bcc965..1b47940f757d8 100644 --- a/data/json/recipes/tools/tools_hand.json +++ b/data/json/recipes/tools/tools_hand.json @@ -1105,7 +1105,8 @@ { "type": "recipe", "activity_level": "MODERATE_EXERCISE", - "result": "knife_steak", + "result": "knife_small", + "variant": "knife_steak", "category": "CC_WEAPON", "subcategory": "CSC_WEAPON_PIERCING", "skill_used": "fabrication", @@ -1161,7 +1162,8 @@ }, { "type": "recipe", - "result": "knife_paring", + "result": "knife_small", + "variant": "knife_paring", "activity_level": "MODERATE_EXERCISE", "category": "CC_OTHER", "subcategory": "CSC_OTHER_TOOLS", diff --git a/data/json/recipes/weapon/piercing.json b/data/json/recipes/weapon/piercing.json index f2913a7e80e98..fce4cfb95996e 100644 --- a/data/json/recipes/weapon/piercing.json +++ b/data/json/recipes/weapon/piercing.json @@ -845,14 +845,7 @@ "qualities": [ { "id": "CUT", "level": 2 }, { "id": "HAMMER", "level": 1 }, { "id": "DRILL", "level": 1 } ], "components": [ [ [ "stick_long", 1 ] ], - [ - [ "spike", 1 ], - [ "knife_steak", 1 ], - [ "knife_paring", 1 ], - [ "knife_folding", 1 ], - [ "scalpel", 1 ], - [ "xacto", 1 ] - ], + [ [ "spike", 1 ], [ "knife_small", 1 ], [ "knife_folding", 1 ], [ "scalpel", 1 ], [ "xacto", 1 ] ], [ [ "nails", 2, "LIST" ], [ "nuts_bolts", 2 ] ], [ [ "cordage", 2, "LIST" ], [ "duct_tape", 100 ] ] ] @@ -906,14 +899,7 @@ "proficiencies": [ { "proficiency": "prof_carving", "time_multiplier": 1.5, "skill_penalty": 0.15 } ], "components": [ [ [ "stick_long", 1 ] ], - [ - [ "spike", 1 ], - [ "knife_steak", 1 ], - [ "knife_paring", 1 ], - [ "knife_folding", 1 ], - [ "scalpel", 1 ], - [ "xacto", 1 ] - ], + [ [ "spike", 1 ], [ "knife_small", 1 ], [ "knife_folding", 1 ], [ "scalpel", 1 ], [ "xacto", 1 ] ], [ [ "cordage", 1, "LIST" ], [ "duct_tape", 50 ] ] ] }, @@ -932,14 +918,7 @@ "qualities": [ { "id": "CUT", "level": 2 }, { "id": "HAMMER", "level": 1 }, { "id": "DRILL", "level": 1 } ], "components": [ [ [ "spear_shaft", 1 ] ], - [ - [ "spike", 1 ], - [ "knife_steak", 1 ], - [ "knife_paring", 1 ], - [ "knife_folding", 1 ], - [ "scalpel", 1 ], - [ "xacto", 1 ] - ], + [ [ "spike", 1 ], [ "knife_small", 1 ], [ "knife_folding", 1 ], [ "scalpel", 1 ], [ "xacto", 1 ] ], [ [ "nails", 2, "LIST" ], [ "nuts_bolts", 2 ] ], [ [ "cordage", 2, "LIST" ], [ "duct_tape", 100 ] ] ] diff --git a/data/json/requirements/melee.json b/data/json/requirements/melee.json index 3a8c42b13b540..3c45c3547a227 100644 --- a/data/json/requirements/melee.json +++ b/data/json/requirements/melee.json @@ -16,10 +16,9 @@ [ "bone_knife", -1 ], [ "knuckle_katar", -1 ], [ "sharp_toothbrush", -1 ], - [ "knife_steak", -1 ], - [ "knife_paring", -1 ], [ "knife_carving", -1 ], [ "knife_bread", -1 ], + [ "knife_small", -1 ], [ "screwdriver", -1 ], [ "scissors_child", -1 ], [ "scissors_medical", -1 ], diff --git a/data/mods/Magiclysm/requirements/spell_components.json b/data/mods/Magiclysm/requirements/spell_components.json index a9e343b46a23e..b3218b71af0bf 100644 --- a/data/mods/Magiclysm/requirements/spell_components.json +++ b/data/mods/Magiclysm/requirements/spell_components.json @@ -24,8 +24,7 @@ [ "knife_chef", 1 ], [ "knife_hunting", 1 ], [ "knife_rambo", 1 ], - [ "knife_paring", 1 ], - [ "knife_steak", 1 ], + [ "knife_small", 1 ], [ "throwing_knife", 1 ], [ "knife_baselard", 1 ], [ "magical_throwing_knife", 1 ], diff --git a/data/mods/innawood/recipes/tools_electronic.json b/data/mods/innawood/recipes/tools_electronic.json index 41dfcaf5fd6e8..1e3ffe18c8aa2 100644 --- a/data/mods/innawood/recipes/tools_electronic.json +++ b/data/mods/innawood/recipes/tools_electronic.json @@ -94,7 +94,7 @@ [ "pot", 1 ], [ "pot_copper", 1 ], [ "knife_butcher", 2 ], - [ "knife_steak", 6 ], + [ "knife_small", 6 ], [ "knife_butter", 6 ], [ "muffler", 1 ] ], @@ -126,7 +126,7 @@ [ "pot", 1 ], [ "pot_copper", 1 ], [ "knife_butcher", 2 ], - [ "knife_steak", 6 ], + [ "knife_small", 6 ], [ "knife_butter", 6 ], [ "muffler", 1 ] ], diff --git a/tests/crafting_test.cpp b/tests/crafting_test.cpp index c3d00218954d8..4413fa1964ead 100644 --- a/tests/crafting_test.cpp +++ b/tests/crafting_test.cpp @@ -841,7 +841,7 @@ TEST_CASE( "tools_use_charge_to_craft", "[crafting][charge]" ) tools.insert( tools.end(), 2, item( "blade" ) ); tools.insert( tools.end(), 5, item( "cable" ) ); tools.insert( tools.end(), 4, item( "polycarbonate_sheet" ) ); - tools.insert( tools.end(), 1, item( "knife_paring" ) ); + tools.insert( tools.end(), 1, item( "knife_small" ) ); tools.emplace_back( "motor_micro" ); tools.emplace_back( "power_supply" ); tools.emplace_back( "scrap" ); From 2d91598ad4fd088487a1b65504c93bce4c7e555c Mon Sep 17 00:00:00 2001 From: Kamejeir <99511880+Kamejeir@users.noreply.github.com> Date: Tue, 4 Jun 2024 10:21:40 +0200 Subject: [PATCH 3/5] large kitchen knife --- data/json/itemgroups/SUS/domestic.json | 8 ++--- .../json/itemgroups/collections_domestic.json | 6 ++-- data/json/items/tool/knives.json | 36 +++++++++++++++++++ data/json/mapgen/house/house08.json | 2 +- data/json/monsterdrops/feral_humans.json | 2 +- data/json/monsterdrops/zombie_survivor.json | 4 +-- data/json/npcs/island_prison/prisoners.json | 4 +-- .../migration_items.json | 18 ++++++++++ .../recipe_modular_firestation1.json | 2 +- .../recipe_modular_canteen_common.json | 2 +- .../recipe_modular_canteen_common.json | 2 +- data/json/recipes/recipe_deconstruction.json | 18 +--------- data/json/recipes/tools/tool.json | 2 +- data/json/recipes/tools/tools_hand.json | 9 +++-- data/json/recipes/weapon/piercing.json | 9 ++--- data/json/requirements/melee.json | 5 ++- data/mods/CrazyCataclysm/crazy_recipes.json | 2 +- .../mods/Magiclysm/items/enchanted_tools.json | 4 +-- data/mods/Magiclysm/recipes/enchanting.json | 2 +- .../requirements/spell_components.json | 2 +- .../recipes/dreamforged_weapon.json | 5 +-- tests/npc_attack_test.cpp | 20 +++++------ 22 files changed, 99 insertions(+), 65 deletions(-) diff --git a/data/json/itemgroups/SUS/domestic.json b/data/json/itemgroups/SUS/domestic.json index 53260f912c7e0..b6aa4cf029036 100644 --- a/data/json/itemgroups/SUS/domestic.json +++ b/data/json/itemgroups/SUS/domestic.json @@ -78,14 +78,14 @@ "entries": [ { "distribution": [ - { "item": "knife_chef", "prob": 10 }, + { "item": "knife_large", "variant": "knife_chef", "prob": 10 }, { "item": "knife_vegetable_cleaver", "prob": 3 } ] }, { "item": "knife_small", "variant": "knife_paring" }, { "item": "knife_small", "variant": "knife_paring", "prob": 75 }, - { "item": "knife_bread", "prob": 95 }, - { "item": "knife_bread", "prob": 45 }, + { "item": "knife_large", "variant": "knife_bread", "prob": 95 }, + { "item": "knife_large", "variant": "knife_bread", "prob": 45 }, { "distribution": [ { "item": "knife_butcher", "prob": 10 }, @@ -95,7 +95,7 @@ }, { "item": "knife_small", "variant": "knife_steak", "count": [ 2, 4 ], "prob": 75 }, { - "collection": [ { "item": "knife_carving" }, { "item": "carving_fork", "prob": 90 } ], + "collection": [ { "item": "knife_large", "variant": "knife_carving" }, { "item": "carving_fork", "prob": 90 } ], "prob": 85 }, { "item": "scissors", "prob": 80 }, diff --git a/data/json/itemgroups/collections_domestic.json b/data/json/itemgroups/collections_domestic.json index 81b6742534f4e..03d59afa6d911 100644 --- a/data/json/itemgroups/collections_domestic.json +++ b/data/json/itemgroups/collections_domestic.json @@ -97,13 +97,13 @@ [ "corkscrew", 10 ], [ "peeler", 15 ], [ "brush", 15 ], - [ "knife_bread", 20 ], - [ "knife_chef", 20 ], - [ "knife_carving", 20 ], [ "knife_butcher", 10 ], [ "knife_meat_cleaver", 10 ], [ "knife_vegetable_cleaver", 10 ], { "item": "knife_small", "variant": "knife_paring", "prob": 25 }, + { "item": "knife_large", "variant": "knife_bread", "prob": 20 }, + { "item": "knife_large", "variant": "knife_chef", "prob": 20 }, + { "item": "knife_large", "variant": "knife_carving", "prob": 20 }, [ "cutting_board", 20 ], [ "bottle_opener", 15 ], [ "mortar_pestle", 10 ] diff --git a/data/json/items/tool/knives.json b/data/json/items/tool/knives.json index 107445032d233..f414397ea89d6 100644 --- a/data/json/items/tool/knives.json +++ b/data/json/items/tool/knives.json @@ -39,6 +39,42 @@ "weapon_category": [ "SHIVS" ], "melee_damage": { "bash": 2, "stab": 7 } }, + { + "id": "knife_large", + "name": { "str": "large kitchen knife", "str_pl": "large kitchen knives" }, + "type": "TOOL", + "variants": [ + { + "id": "knife_chef", + "name": { "str": "chef knife", "str_pl": "chef knives" }, + "description": "A long-bladed kitchen knife. The blade is wider than the handle, giving room for the wielder's knuckles, and it has a characteristic curve for a fast rocking action for chopping vegetables. It makes an acceptable melee weapon, but the wide blade is unwieldy for butchering.", + "ascii_picture": "knife_chef" + }, + { + "id": "knife_carving", + "name": { "str": "carving knife", "str_pl": "carving knives" }, + "description": "A long-bladed kitchen knife with a thin, slightly curved blade for deftly slicing meat either in flat sheets or around the bone. It makes a decent melee weapon, and is excellent for butchery.", + "ascii_picture": "knife_carving" + }, + { + "id": "knife_bread", + "name": { "str": "bread knife", "str_pl": "bread knives" }, + "description": "This knife has quite a long blade with a scalloped edge for cutting bread. It's not that sharp, but its length and heft mean it could do a bit of damage and cause some nasty tearing.", + "ascii_picture": "knife_bread" + } + ], + "copy-from": "base_kitchen_knife", + "weight": "140 g", + "volume": "200 ml", + "longest_side": "30 cm", + "price": "20 USD", + "price_postapoc": "50 cent", + "to_hit": { "grip": "weapon", "length": "short", "surface": "point", "balance": "neutral" }, + "qualities": [ [ "CUT", 2 ], [ "CUT_FINE", 1 ], [ "BUTCHER", 22 ] ], + "flags": [ "SHEATH_KNIFE", "ALLOWS_BODY_BLOCK" ], + "weapon_category": [ "SHIVS" ], + "melee_damage": { "bash": 1, "stab": 18 } + }, { "id": "copper_knife", "type": "TOOL", diff --git a/data/json/mapgen/house/house08.json b/data/json/mapgen/house/house08.json index bef19c84c5b80..c7569de2ebabc 100644 --- a/data/json/mapgen/house/house08.json +++ b/data/json/mapgen/house/house08.json @@ -112,7 +112,7 @@ { "item": "child_book", "x": 3, "y": 2, "chance": 100 }, { "item": "sponge_cake", "x": 11, "y": 17, "chance": 100 }, { "item": "candle", "x": 11, "y": 17, "chance": 100 }, - { "item": "knife_chef", "x": 11, "y": 17, "chance": 100 }, + { "item": "knife_large", "variant": "knife_chef", "x": 11, "y": 17, "chance": 100 }, { "item": "ceramic_plate", "x": 11, "y": 17, "chance": 100 }, { "item": "balloon", "x": [ 7, 18 ], "y": [ 15, 19 ], "chance": 75, "repeat": [ 3, 6 ] }, { "item": "paper", "x": [ 9, 10 ], "y": [ 16, 18 ], "chance": 66, "repeat": [ 2, 5 ] }, diff --git a/data/json/monsterdrops/feral_humans.json b/data/json/monsterdrops/feral_humans.json index 16a66df9b7d4b..9ac8b5b9eafc4 100644 --- a/data/json/monsterdrops/feral_humans.json +++ b/data/json/monsterdrops/feral_humans.json @@ -186,8 +186,8 @@ "entries": [ { "distribution": [ - { "item": "knife_chef", "prob": 50, "damage": [ 0, 3 ] }, { "item": "knife_butcher", "prob": 50, "damage": [ 0, 3 ] } + { "item": "knife_large", "variant": "knife_chef", "prob": 50, "damage": [ 0, 3 ] }, ] }, { diff --git a/data/json/monsterdrops/zombie_survivor.json b/data/json/monsterdrops/zombie_survivor.json index 2377f4760358b..a3b2dd42e2722 100644 --- a/data/json/monsterdrops/zombie_survivor.json +++ b/data/json/monsterdrops/zombie_survivor.json @@ -196,8 +196,8 @@ "type": "item_group", "items": [ [ "knife_butcher", 15 ], - [ "knife_chef", 15 ], - [ "knife_carving", 15 ], + { "item": "knife_large", "variant": "knife_chef", "prob": 15 }, + { "item": "knife_large", "variant": "knife_carving", "prob": 15 }, [ "knife_folding", 10 ], [ "makeshift_knife", 1 ], { "item": "knife_small", "variant": "knife_steak", "prob": 35 }, diff --git a/data/json/npcs/island_prison/prisoners.json b/data/json/npcs/island_prison/prisoners.json index 3dfa93d0fcb62..4ba52b15d3dfd 100644 --- a/data/json/npcs/island_prison/prisoners.json +++ b/data/json/npcs/island_prison/prisoners.json @@ -84,12 +84,12 @@ "items": [ [ "baton-extended", 50 ], [ "PR24-retracted", 50 ], - [ "knife_chef", 30 ], [ "knife_butcher", 30 ], [ "knife_meat_cleaver", 30 ], - [ "knife_carving", 30 ], { "item": "knife_small", "variant": "knife_steak", "prob": 30 }, + { "item": "knife_large", "variant": "knife_chef", "prob": 30 }, { "item": "knife_small", "variant": "knife_paring", "prob": 30 }, + { "item": "knife_large", "variant": "knife_carving", "prob": 30 }, [ "pointy_stick", 30 ], [ "cudgel", 20 ], [ "knuckle_nail", 20 ], diff --git a/data/json/obsoletion_and_migration_0.I/migration_items.json b/data/json/obsoletion_and_migration_0.I/migration_items.json index 207d63adc8201..22fb0db8a3107 100644 --- a/data/json/obsoletion_and_migration_0.I/migration_items.json +++ b/data/json/obsoletion_and_migration_0.I/migration_items.json @@ -1431,6 +1431,24 @@ "replace": "knife_small", "variant": "knife_paring" }, + { + "id": "knife_chef", + "type": "MIGRATION", + "replace": "knife_large", + "variant": "knife_chef" + }, + { + "id": "knife_carving", + "type": "MIGRATION", + "replace": "knife_large", + "variant": "knife_carving" + }, + { + "id": "knife_bread", + "type": "MIGRATION", + "replace": "knife_large", + "variant": "knife_bread" + }, { "id": "spear_survivor", "type": "MIGRATION", diff --git a/data/json/recipes/basecamps/base/recipe_modular_firestation_1/recipe_modular_firestation1.json b/data/json/recipes/basecamps/base/recipe_modular_firestation_1/recipe_modular_firestation1.json index 3f25a565d064e..1c820be0b20db 100644 --- a/data/json/recipes/basecamps/base/recipe_modular_firestation_1/recipe_modular_firestation1.json +++ b/data/json/recipes/basecamps/base/recipe_modular_firestation_1/recipe_modular_firestation1.json @@ -235,7 +235,7 @@ { "id": "hunting" } ], "blueprint_excludes": [ { "id": "fbmc_firestation1_butchery" } ], - "components": [ [ [ "knife_butcher", 1 ], [ "knife_small", 1 ], [ "knife_chef", 1 ], [ "knife_carving", 1 ] ] ] + "components": [ [ [ "knife_butcher", 1 ], [ "knife_small", 1 ], [ "knife_large", 2 ] ] ] }, { "type": "recipe", diff --git a/data/json/recipes/basecamps/expansion/recipe_modular_canteen/version_1/recipe_modular_canteen_common.json b/data/json/recipes/basecamps/expansion/recipe_modular_canteen/version_1/recipe_modular_canteen_common.json index 7eb10e4c5576f..ddfae61e314d1 100644 --- a/data/json/recipes/basecamps/expansion/recipe_modular_canteen/version_1/recipe_modular_canteen_common.json +++ b/data/json/recipes/basecamps/expansion/recipe_modular_canteen/version_1/recipe_modular_canteen_common.json @@ -139,7 +139,7 @@ "blueprint_requires": [ { "id": "fbmk_canteen_smoking" } ], "blueprint_provides": [ { "id": "fbmk_canteen_butchery" }, { "id": "kitchen_recipes_3" }, { "id": "trapping" }, { "id": "hunting" } ], "blueprint_excludes": [ { "id": "fbmk_canteen_butchery" } ], - "components": [ [ [ "knife_butcher", 1 ], [ "knife_small", 1 ], [ "knife_chef", 1 ], [ "knife_carving", 1 ] ] ] + "components": [ [ [ "knife_butcher", 1 ], [ "knife_small", 1 ], [ "knife_large", 2 ] ] ] }, { "type": "recipe", diff --git a/data/json/recipes/basecamps/expansion/recipe_modular_canteen/version_2/recipe_modular_canteen_common.json b/data/json/recipes/basecamps/expansion/recipe_modular_canteen/version_2/recipe_modular_canteen_common.json index 115478d39d506..c0387b337d2f2 100644 --- a/data/json/recipes/basecamps/expansion/recipe_modular_canteen/version_2/recipe_modular_canteen_common.json +++ b/data/json/recipes/basecamps/expansion/recipe_modular_canteen/version_2/recipe_modular_canteen_common.json @@ -250,7 +250,7 @@ "blueprint_requires": [ { "id": "fbmk_2_smoking" } ], "blueprint_provides": [ { "id": "fbmk_2_butchery" }, { "id": "fbmk_2_recipes_3" }, { "id": "trapping" }, { "id": "hunting" } ], "blueprint_excludes": [ { "id": "fbmk_2_butchery" } ], - "components": [ [ [ "knife_butcher", 1 ], [ "knife_small", 1 ], [ "knife_chef", 1 ], [ "knife_carving", 1 ] ] ], + "components": [ [ [ "knife_butcher", 1 ], [ "knife_small", 1 ], [ "knife_large", 2 ] ] ], "flags": [ "MAP_MIRROR_HORIZONTAL_IF_N", "MAP_ROTATE_90_IF_NE", diff --git a/data/json/recipes/recipe_deconstruction.json b/data/json/recipes/recipe_deconstruction.json index 8f022b5e5389d..d26bc3060ffde 100644 --- a/data/json/recipes/recipe_deconstruction.json +++ b/data/json/recipes/recipe_deconstruction.json @@ -3078,7 +3078,7 @@ { "type": "uncraft", "activity_level": "MODERATE_EXERCISE", - "result": "knife_bread", + "result": "knife_large", "time": "2 m", "qualities": [ { "id": "HAMMER", "level": 1 } ], "components": [ [ [ "steel_chunk", 1 ], [ "scrap", 5 ] ] ] @@ -3091,22 +3091,6 @@ "qualities": [ { "id": "HAMMER", "level": 1 }, { "id": "CUT", "level": 2 } ], "components": [ [ [ "spike", 1 ], [ "steel_chunk", 4 ], [ "scrap", 20 ] ], [ [ "leather", 1 ], [ "fur", 1 ] ] ] }, - { - "type": "uncraft", - "activity_level": "LIGHT_EXERCISE", - "result": "knife_carving", - "time": "30 s", - "qualities": [ { "id": "HAMMER", "level": 1 } ], - "components": [ [ [ "spike", 1 ] ], [ [ "scrap", 1 ] ] ] - }, - { - "type": "uncraft", - "activity_level": "MODERATE_EXERCISE", - "result": "knife_chef", - "time": "5 m", - "qualities": [ { "id": "HAMMER", "level": 1 } ], - "components": [ [ [ "spike", 1 ], [ "scrap", 5 ] ] ] - }, { "type": "uncraft", "activity_level": "MODERATE_EXERCISE", diff --git a/data/json/recipes/tools/tool.json b/data/json/recipes/tools/tool.json index aec646eb643ef..e73cb3a876a82 100644 --- a/data/json/recipes/tools/tool.json +++ b/data/json/recipes/tools/tool.json @@ -228,8 +228,8 @@ "autolearn": true, "components": [ [ [ "knife_butcher", 1 ] ], - [ [ "knife_carving", 1 ] ], [ [ "knife_meat_cleaver", 1 ] ], + [ [ "knife_large", 1 ] ], [ [ "leather", 2 ], [ "cotton_patchwork", 2 ] ], [ [ "cordage_short", 2, "LIST" ] ] ] diff --git a/data/json/recipes/tools/tools_hand.json b/data/json/recipes/tools/tools_hand.json index 1b47940f757d8..0280c75da2446 100644 --- a/data/json/recipes/tools/tools_hand.json +++ b/data/json/recipes/tools/tools_hand.json @@ -1279,7 +1279,8 @@ }, { "type": "recipe", - "result": "knife_chef", + "result": "knife_large", + "variant": "knife_chef", "activity_level": "BRISK_EXERCISE", "category": "CC_OTHER", "subcategory": "CSC_OTHER_TOOLS", @@ -1299,7 +1300,8 @@ }, { "type": "recipe", - "result": "knife_carving", + "result": "knife_large", + "variant": "knife_carving", "activity_level": "BRISK_EXERCISE", "category": "CC_OTHER", "subcategory": "CSC_OTHER_TOOLS", @@ -1319,7 +1321,8 @@ }, { "type": "recipe", - "result": "knife_bread", + "result": "knife_large", + "variant": "knife_bread", "activity_level": "BRISK_EXERCISE", "category": "CC_OTHER", "subcategory": "CSC_OTHER_TOOLS", diff --git a/data/json/recipes/weapon/piercing.json b/data/json/recipes/weapon/piercing.json index fce4cfb95996e..fa1cd7ff87cf8 100644 --- a/data/json/recipes/weapon/piercing.json +++ b/data/json/recipes/weapon/piercing.json @@ -938,8 +938,7 @@ [ [ "stick_long", 1 ], [ "long_pole", 1 ] ], [ [ "knife_butcher", 1 ], - [ "knife_chef", 1 ], - [ "knife_carving", 1 ], + [ "knife_large", 1 ], [ "knife_combat", 1 ], [ "knife_combat_army", 1 ], [ "knife_combat_marine", 1 ], @@ -975,8 +974,7 @@ [ [ "stick_long", 1 ], [ "long_pole", 1 ] ], [ [ "knife_butcher", 1 ], - [ "knife_chef", 1 ], - [ "knife_carving", 1 ], + [ "knife_large", 1 ], [ "knife_combat", 1 ], [ "knife_combat_army", 1 ], [ "knife_combat_marine", 1 ], @@ -1032,8 +1030,7 @@ [ [ "spear_shaft", 1 ] ], [ [ "knife_butcher", 1 ], - [ "knife_chef", 1 ], - [ "knife_carving", 1 ], + [ "knife_large", 1 ], [ "knife_combat", 1 ], [ "knife_combat_army", 1 ], [ "knife_combat_marine", 1 ], diff --git a/data/json/requirements/melee.json b/data/json/requirements/melee.json index 3c45c3547a227..f989b46354181 100644 --- a/data/json/requirements/melee.json +++ b/data/json/requirements/melee.json @@ -16,9 +16,8 @@ [ "bone_knife", -1 ], [ "knuckle_katar", -1 ], [ "sharp_toothbrush", -1 ], - [ "knife_carving", -1 ], - [ "knife_bread", -1 ], [ "knife_small", -1 ], + [ "knife_large", -1 ], [ "screwdriver", -1 ], [ "scissors_child", -1 ], [ "scissors_medical", -1 ], @@ -100,9 +99,9 @@ [ "kirpan_cheap", -1 ], [ "enfield_bayonet", -1 ], [ "knife_butcher", -1 ], - [ "knife_chef", -1 ], [ "knife_vegetable_cleaver", -1 ], [ "knife_meat_cleaver", -1 ] + [ "knife_large", -1 ], ] ] }, diff --git a/data/mods/CrazyCataclysm/crazy_recipes.json b/data/mods/CrazyCataclysm/crazy_recipes.json index 8c712d234b66a..5f753feb5a933 100644 --- a/data/mods/CrazyCataclysm/crazy_recipes.json +++ b/data/mods/CrazyCataclysm/crazy_recipes.json @@ -84,7 +84,7 @@ "time": "25 m", "autolearn": true, "qualities": [ { "id": "OVEN", "level": 1 } ], - "tools": [ [ [ "surface_heat", 8, "LIST" ] ], [ "knife_bread" ] ], + "tools": [ [ [ "surface_heat", 8, "LIST" ] ], [ "knife_large" ] ], "components": [ [ [ "flour", 20 ], [ "bread_flour", 20 ] ], [ [ "yeast", 1 ] ], [ [ "water", 2 ], [ "water_clean", 2 ] ] ] }, { diff --git a/data/mods/Magiclysm/items/enchanted_tools.json b/data/mods/Magiclysm/items/enchanted_tools.json index 41bd0f62ee8b1..93b73d7ebcb05 100644 --- a/data/mods/Magiclysm/items/enchanted_tools.json +++ b/data/mods/Magiclysm/items/enchanted_tools.json @@ -102,7 +102,7 @@ { "type": "GENERIC", "id": "knife_carving_plus_one", - "copy-from": "knife_carving", + "copy-from": "knife_large", "name": { "str": "carving knife +1", "str_pl": "carving knives +1" }, "proportional": { "price": 3.0, "price_postapoc": 3.0, "weight": 0.9, "melee_damage": { "all": 1.1 } }, "extend": { "qualities": [ [ "BUTCHER", 24 ] ] } @@ -110,7 +110,7 @@ { "type": "GENERIC", "id": "knife_carving_plus_two", - "copy-from": "knife_carving", + "copy-from": "knife_large", "name": { "str": "carving knife +2", "str_pl": "carving knives +2" }, "proportional": { "price": 6.0, "price_postapoc": 6.0, "weight": 0.8, "melee_damage": { "all": 1.2 } }, "extend": { "qualities": [ [ "BUTCHER", 26 ] ] } diff --git a/data/mods/Magiclysm/recipes/enchanting.json b/data/mods/Magiclysm/recipes/enchanting.json index 19c62d823d1fc..3d78de7c5a2ca 100644 --- a/data/mods/Magiclysm/recipes/enchanting.json +++ b/data/mods/Magiclysm/recipes/enchanting.json @@ -125,7 +125,7 @@ "copy-from": "cestus_plus_one", "qualities": [ { "id": "MANA_INFUSE", "level": 1 } ], "result": "knife_carving_plus_one", - "components": [ [ [ "knife_carving", 1 ] ], [ [ "mana_dust", 20 ] ], [ [ "mercury", 10 ] ] ] + "components": [ [ [ "knife_large", 1 ] ], [ [ "mana_dust", 20 ] ], [ [ "mercury", 10 ] ] ] }, { "type": "recipe", diff --git a/data/mods/Magiclysm/requirements/spell_components.json b/data/mods/Magiclysm/requirements/spell_components.json index b3218b71af0bf..33e60c77c00d8 100644 --- a/data/mods/Magiclysm/requirements/spell_components.json +++ b/data/mods/Magiclysm/requirements/spell_components.json @@ -21,7 +21,7 @@ [ "diveknife", 1 ], [ "knife_butcher", 1 ], [ "knife_combat", 1 ], - [ "knife_chef", 1 ], + [ "knife_large", 1 ], [ "knife_hunting", 1 ], [ "knife_rambo", 1 ], [ "knife_small", 1 ], diff --git a/data/mods/Xedra_Evolved/recipes/dreamforged_weapon.json b/data/mods/Xedra_Evolved/recipes/dreamforged_weapon.json index 287a25d5d282c..48872f9bb75c7 100644 --- a/data/mods/Xedra_Evolved/recipes/dreamforged_weapon.json +++ b/data/mods/Xedra_Evolved/recipes/dreamforged_weapon.json @@ -19,10 +19,7 @@ "type": "recipe", "result": "dreamdross_knife", "copy-from": "dreamdross_bo", - "components": [ - [ [ "dreamdross_lump", 2 ], [ "scrap_dreamdross", 20 ] ], - [ [ "knife_butcher", 1 ], [ "knife_chef", 1 ], [ "knife_carving", 1 ] ] - ], + "components": [ [ [ "dreamdross_lump", 2 ], [ "scrap_dreamdross", 20 ] ], [ [ "knife_butcher", 1 ], [ "knife_large", 1 ] ] ], "time": "2 h", "flags": [ "SECRET" ], "difficulty": 1 diff --git a/tests/npc_attack_test.cpp b/tests/npc_attack_test.cpp index 63033e92c6dd6..2817b2c4f9f9d 100644 --- a/tests/npc_attack_test.cpp +++ b/tests/npc_attack_test.cpp @@ -15,7 +15,7 @@ static const faction_id faction_your_followers( "your_followers" ); static const itype_id itype_combat_exoskeleton_medium( "combat_exoskeleton_medium" ); static const itype_id itype_combat_exoskeleton_medium_on( "combat_exoskeleton_medium_on" ); -static const itype_id itype_knife_chef( "knife_chef" ); +static const itype_id itype_knife_large( "knife_large" ); static const itype_id itype_rock( "rock" ); static const itype_id itype_wearable_light( "wearable_light" ); @@ -76,10 +76,10 @@ TEST_CASE( "NPC_faces_zombies", "[npc_attack]" ) GIVEN( "There is a zombie 1 tile away" ) { monster *zombie = npc_attack_setup::spawn_zombie_at_range( 1 ); - WHEN( "NPC only has a chef knife" ) { - item weapon( "knife_chef" ); + WHEN( "NPC only has a large knife" ) { + item weapon( "knife_large" ); main_npc.set_wielded_item( weapon ); - REQUIRE( main_npc.get_wielded_item()->typeId() == itype_knife_chef ); + REQUIRE( main_npc.get_wielded_item()->typeId() == itype_knife_large ); THEN( "NPC attempts to melee the enemy target" ) { main_npc.evaluate_best_attack( zombie ); @@ -207,10 +207,10 @@ TEST_CASE( "NPC_faces_zombies", "[npc_attack]" ) GIVEN( "There is a zombie 5 tiles away" ) { monster *zombie = npc_attack_setup::spawn_zombie_at_range( 5 ); - WHEN( "NPC only has a chef knife" ) { - item weapon( "knife_chef" ); + WHEN( "NPC only has a large knife" ) { + item weapon( "knife_large" ); main_npc.set_wielded_item( weapon ); - REQUIRE( main_npc.get_wielded_item()->typeId() == itype_knife_chef ); + REQUIRE( main_npc.get_wielded_item()->typeId() == itype_knife_large ); THEN( "NPC attempts to melee the enemy target" ) { main_npc.evaluate_best_attack( zombie ); @@ -241,10 +241,10 @@ TEST_CASE( "NPC_faces_zombies", "[npc_attack]" ) monster *zombie = npc_attack_setup::spawn_zombie_at_range( 1 ); monster *zombie_far = npc_attack_setup::spawn_zombie_at_range( 8 ); - WHEN( "NPC only has a chef knife" ) { - item weapon( "knife_chef" ); + WHEN( "NPC only has a large knife" ) { + item weapon( "knife_large" ); main_npc.set_wielded_item( weapon ); - REQUIRE( main_npc.get_wielded_item()->typeId() == itype_knife_chef ); + REQUIRE( main_npc.get_wielded_item()->typeId() == itype_knife_large ); WHEN( "NPC is targetting closest zombie" ) { main_npc.evaluate_best_attack( zombie ); From 70b3486e4f3d032c45418a61d6de2e6a4267112f Mon Sep 17 00:00:00 2001 From: Kamejeir <99511880+Kamejeir@users.noreply.github.com> Date: Tue, 4 Jun 2024 10:27:22 +0200 Subject: [PATCH 4/5] huge kitchen knife --- .../Locations_MapExtras/locations.json | 2 +- .../locations_commercial.json | 2 +- .../Locations_MapExtras/mall_item_groups.json | 2 +- .../Locations_MapExtras/mansion.json | 4 ++-- data/json/itemgroups/SUS/domestic.json | 2 +- .../json/itemgroups/collections_domestic.json | 6 ++--- data/json/itemgroups/food_service.json | 8 +++---- data/json/itemgroups/furniture.json | 2 +- data/json/itemgroups/science_and_tech.json | 2 +- data/json/items/tool/knives.json | 24 +++++++++++++++++++ .../modular_firestation1.json | 2 +- .../version_1/modular_canteen_common.json | 2 +- .../version_2/modular_canteen_common.json | 2 +- .../json/monsterdrops/clothing_halloween.json | 8 ++++++- data/json/monsterdrops/feral_humans.json | 2 +- data/json/monsterdrops/zombie_survivor.json | 2 +- data/json/npcs/NC_ARMY.json | 2 +- data/json/npcs/NC_ARSONIST.json | 2 +- data/json/npcs/NC_OPS.json | 2 +- data/json/npcs/NC_SURVIVOR_CHEF.json | 2 +- data/json/npcs/godco/godco_missions.json | 6 ++--- data/json/npcs/island_prison/prisoners.json | 2 +- data/json/npcs/items_generic.json | 2 +- .../NPC_Mangalpreet_Singh.json | 2 +- .../migration_items.json | 6 +++++ data/json/professions.json | 4 ++-- .../recipe_modular_firestation1.json | 2 +- .../recipe_modular_canteen_common.json | 2 +- .../recipe_modular_canteen_common.json | 2 +- data/json/recipes/recipe_deconstruction.json | 2 +- data/json/recipes/tools/tool.json | 2 +- data/json/recipes/tools/tools_electronic.json | 4 ++-- data/json/recipes/tools/tools_hand.json | 3 ++- data/json/recipes/weapon/piercing.json | 6 ++--- data/json/requirements/melee.json | 2 +- .../mods/Magiclysm/items/enchanted_tools.json | 4 ++-- data/mods/Magiclysm/recipes/enchanting.json | 2 +- .../requirements/spell_components.json | 2 +- .../Military_Professions/npc/NC_ARMY.json | 2 +- .../mods/Military_Professions/npc/NC_OPS.json | 2 +- .../expected_dps_data/knives_dps.json | 2 +- .../recipes/dreamforged_weapon.json | 2 +- .../innawood/recipes/tools_electronic.json | 4 ++-- tests/crafting_test.cpp | 2 +- tests/iuse_actor_test.cpp | 2 +- tests/npc_talk_test.cpp | 4 ++-- 46 files changed, 96 insertions(+), 59 deletions(-) diff --git a/data/json/itemgroups/Locations_MapExtras/locations.json b/data/json/itemgroups/Locations_MapExtras/locations.json index 7daf889337d3b..f8519764e5664 100644 --- a/data/json/itemgroups/Locations_MapExtras/locations.json +++ b/data/json/itemgroups/Locations_MapExtras/locations.json @@ -454,7 +454,7 @@ { "item": "knife_small", "variant": "knife_steak", "prob": 85 }, [ "fork", 90 ], [ "spoon", 90 ], - [ "knife_butcher", 10 ], + { "item": "knife_huge", "variant": "knife_butcher", "prob": 10 }, { "item": "extinguisher", "prob": 20, "charges": [ 0, 5 ] }, [ "hose", 15 ], [ "water_faucet", 20 ], diff --git a/data/json/itemgroups/Locations_MapExtras/locations_commercial.json b/data/json/itemgroups/Locations_MapExtras/locations_commercial.json index 3a2b459b7fcdb..1750c7fd351e5 100644 --- a/data/json/itemgroups/Locations_MapExtras/locations_commercial.json +++ b/data/json/itemgroups/Locations_MapExtras/locations_commercial.json @@ -359,7 +359,7 @@ [ "hammer_sledge_engineer", 1 ], [ "hammer_sledge_heavy", 1 ], [ "ax", 8 ], - [ "knife_butcher", 10 ], + { "item": "knife_huge", "variant": "knife_butcher", "prob": 10 }, [ "knife_KABAR", 14 ], { "group": "infantry_knives", "prob": 1 }, [ "kukri", 2 ], diff --git a/data/json/itemgroups/Locations_MapExtras/mall_item_groups.json b/data/json/itemgroups/Locations_MapExtras/mall_item_groups.json index c4c8fa9256a31..cc3c9aab5e846 100644 --- a/data/json/itemgroups/Locations_MapExtras/mall_item_groups.json +++ b/data/json/itemgroups/Locations_MapExtras/mall_item_groups.json @@ -159,7 +159,7 @@ "id": "knife_shop", "type": "item_group", "items": [ - [ "knife_butcher", 20 ], + { "item": "knife_huge", "variant": "knife_butcher", "prob": 20 }, [ "knife_combat", 5 ], [ "knife_combat_army", 2 ], [ "knife_combat_marine", 1 ], diff --git a/data/json/itemgroups/Locations_MapExtras/mansion.json b/data/json/itemgroups/Locations_MapExtras/mansion.json index 75821c1f79641..221d16740a877 100644 --- a/data/json/itemgroups/Locations_MapExtras/mansion.json +++ b/data/json/itemgroups/Locations_MapExtras/mansion.json @@ -809,7 +809,7 @@ [ "ceramic_bowl", 10 ], [ "ceramic_cup", 10 ], { "group": "tinware", "prob": 10 }, - [ "knife_butcher", 10 ], + { "item": "knife_huge", "variant": "knife_butcher", "prob": 10 }, [ "funnel", 50 ], [ "jar_glass_sealed", 50 ], [ "jar_3l_glass_sealed", 40 ], @@ -1673,7 +1673,7 @@ "type": "item_group", "subtype": "distribution", "items": [ - [ "knife_butcher", 35 ], + { "item": "knife_huge", "variant": "knife_butcher", "prob": 35 }, [ "cane", 25 ], [ "sinister_cane", 2 ], [ "wizard_cane", 1 ], diff --git a/data/json/itemgroups/SUS/domestic.json b/data/json/itemgroups/SUS/domestic.json index b6aa4cf029036..ea60131e417c3 100644 --- a/data/json/itemgroups/SUS/domestic.json +++ b/data/json/itemgroups/SUS/domestic.json @@ -88,7 +88,7 @@ { "item": "knife_large", "variant": "knife_bread", "prob": 45 }, { "distribution": [ - { "item": "knife_butcher", "prob": 10 }, + { "item": "knife_huge", "variant": "knife_butcher", "prob": 10 }, { "item": "knife_meat_cleaver", "prob": 10 } ], "prob": 65 diff --git a/data/json/itemgroups/collections_domestic.json b/data/json/itemgroups/collections_domestic.json index 03d59afa6d911..6da6fe6f3e995 100644 --- a/data/json/itemgroups/collections_domestic.json +++ b/data/json/itemgroups/collections_domestic.json @@ -83,7 +83,7 @@ [ "jar_glass_sealed", 50 ], [ "jar_3l_glass_sealed", 40 ], [ "bowl_pewter", 25 ], - [ "knife_butcher", 20 ], + { "item": "knife_huge", "variant": "knife_butcher", "prob": 20 }, [ "thermos", 15 ], [ "tongs", 15 ], [ "spatula", 15 ], @@ -97,13 +97,13 @@ [ "corkscrew", 10 ], [ "peeler", 15 ], [ "brush", 15 ], - [ "knife_butcher", 10 ], [ "knife_meat_cleaver", 10 ], [ "knife_vegetable_cleaver", 10 ], { "item": "knife_small", "variant": "knife_paring", "prob": 25 }, { "item": "knife_large", "variant": "knife_bread", "prob": 20 }, { "item": "knife_large", "variant": "knife_chef", "prob": 20 }, { "item": "knife_large", "variant": "knife_carving", "prob": 20 }, + { "item": "knife_huge", "variant": "knife_butcher", "prob": 10 }, [ "cutting_board", 20 ], [ "bottle_opener", 15 ], [ "mortar_pestle", 10 ] @@ -685,7 +685,7 @@ { "group": "dishes_dining", "prob": 460 }, { "group": "condiments", "prob": 425 }, { "group": "pantry_liquids", "prob": 160 }, - { "item": "knife_butcher", "prob": 10 }, + { "item": "knife_huge", "variant": "knife_butcher", "prob": 10 }, { "item": "cookbook", "prob": 35 }, { "item": "cotton_patchwork", "prob": 1 }, { "item": "popcan_stove", "prob": 5, "charges": [ 0, 500 ] }, diff --git a/data/json/itemgroups/food_service.json b/data/json/itemgroups/food_service.json index bc3cab06167a3..7ef4274e4222f 100644 --- a/data/json/itemgroups/food_service.json +++ b/data/json/itemgroups/food_service.json @@ -597,7 +597,7 @@ "type": "item_group", "subtype": "distribution", "entries": [ - { "item": "knife_butcher", "prob": 30 }, + { "item": "knife_huge", "variant": "knife_butcher", "prob": 30 }, { "prob": 50, "group": "bread_bag_plastic_14" }, { "prob": 50, "group": "seasoning_salt_bulk" }, { "prob": 50, "group": "seasoning_italian_bulk" }, @@ -1074,7 +1074,7 @@ [ "lasagne_raw", 20 ], [ "macaroni_raw", 20 ], [ "foodplace_food", 5 ], - [ "knife_butcher", 10 ] + { "item": "knife_huge", "variant": "knife_butcher", "prob": 10 } ] }, { @@ -1110,7 +1110,7 @@ { "prob": 15, "group": "chilly-p_various" }, { "prob": 15, "group": "curry_powder_various" }, [ "macaroni_raw", 20 ], - [ "knife_butcher", 10 ] + { "item": "knife_huge", "variant": "knife_butcher", "prob": 10 } ] }, { @@ -1350,8 +1350,8 @@ "id": "butcher_tools", "subtype": "distribution", "entries": [ - { "item": "knife_butcher", "prob": 30 }, { "item": "knife_small", "variant": "knife_steak", "prob": 20 }, + { "item": "knife_huge", "variant": "knife_butcher", "prob": 30 }, { "item": "butchering_kit", "prob": 5 }, { "item": "tongs", "prob": 10 }, { "item": "carver_off", "prob": 5, "charges": [ 0, 500 ] }, diff --git a/data/json/itemgroups/furniture.json b/data/json/itemgroups/furniture.json index fc37c2496cdb4..2a856bf02b734 100644 --- a/data/json/itemgroups/furniture.json +++ b/data/json/itemgroups/furniture.json @@ -4,8 +4,8 @@ "id": "knifeblock", "subtype": "distribution", "entries": [ - { "item": "knife_butcher", "prob": 10 }, { "item": "knife_small", "variant": "knife_steak", "prob": 85 }, + { "item": "knife_huge", "variant": "knife_butcher", "prob": 10 }, { "item": "kukri", "prob": 1 }, { "item": "tongs", "prob": 28 }, { "item": "meat", "prob": 1 } diff --git a/data/json/itemgroups/science_and_tech.json b/data/json/itemgroups/science_and_tech.json index f80c8c5c0d052..585d70a92a558 100644 --- a/data/json/itemgroups/science_and_tech.json +++ b/data/json/itemgroups/science_and_tech.json @@ -577,7 +577,7 @@ [ "string_6", 2 ], [ "hacksaw", 17 ], [ "xacto", 10 ], - [ "knife_butcher", 10 ], + { "item": "knife_huge", "variant": "knife_butcher", "prob": 10 }, [ "machete", 5 ], [ "gloves_rubber", 20 ], [ "apron_plastic", 20 ], diff --git a/data/json/items/tool/knives.json b/data/json/items/tool/knives.json index f414397ea89d6..2a417a10569b7 100644 --- a/data/json/items/tool/knives.json +++ b/data/json/items/tool/knives.json @@ -75,6 +75,30 @@ "weapon_category": [ "SHIVS" ], "melee_damage": { "bash": 1, "stab": 18 } }, + { + "id": "knife_huge", + "name": { "str": "huge kitchen knife", "str_pl": "huge kitchen knives" }, + "type": "TOOL", + "variants": [ + { + "id": "knife_butcher", + "name": { "str": "butcher knife", "str_pl": "butcher knives" }, + "description": "A sharp, heavy knife. It makes a good melee weapon, and is an ideal item for butchering corpses.", + "ascii_picture": "knife_butcher" + } + ], + "copy-from": "base_kitchen_knife", + "weight": "380 g", + "volume": "300 ml", + "longest_side": "35 cm", + "price": "30 USD", + "price_postapoc": "50 cent", + "to_hit": { "grip": "weapon", "length": "short", "surface": "point", "balance": "neutral" }, + "qualities": [ [ "CUT", 2 ], [ "BUTCHER", 25 ] ], + "flags": [ "SHEATH_KNIFE", "ALLOWS_BODY_BLOCK" ], + "weapon_category": [ "KNIVES" ], + "melee_damage": { "bash": 2, "stab": 14 } + }, { "id": "copper_knife", "type": "TOOL", diff --git a/data/json/mapgen/basecamps/base/modular_firestation_1/modular_firestation1.json b/data/json/mapgen/basecamps/base/modular_firestation_1/modular_firestation1.json index 9f200715d3a70..822961b86292b 100644 --- a/data/json/mapgen/basecamps/base/modular_firestation_1/modular_firestation1.json +++ b/data/json/mapgen/basecamps/base/modular_firestation_1/modular_firestation1.json @@ -175,7 +175,7 @@ { "point": "furniture", "id": "f_butcher_rack", "x": 1, "y": 5 }, { "point": "furniture", "id": "f_table", "x": 1, "y": 4 } ], - "place_loot": [ { "item": "knife_butcher", "x": 1, "y": 4, "chance": 100 } ] + "place_loot": [ { "item": "knife_huge", "variant": "knife_butcher", "x": 1, "y": 4, "chance": 100 } ] } }, { diff --git a/data/json/mapgen/basecamps/expansion/modular_canteen/version_1/modular_canteen_common.json b/data/json/mapgen/basecamps/expansion/modular_canteen/version_1/modular_canteen_common.json index d4b1c9a1f246e..ee969f3c8b1b6 100644 --- a/data/json/mapgen/basecamps/expansion/modular_canteen/version_1/modular_canteen_common.json +++ b/data/json/mapgen/basecamps/expansion/modular_canteen/version_1/modular_canteen_common.json @@ -123,7 +123,7 @@ { "point": "furniture", "id": "f_butcher_rack", "x": 17, "y": 12 }, { "point": "furniture", "id": "f_table", "x": 16, "y": 12 } ], - "place_loot": [ { "item": "knife_butcher", "x": 16, "y": 12 } ] + "place_loot": [ { "item": "knife_huge", "variant": "knife_butcher", "x": 16, "y": 12 } ] } }, { diff --git a/data/json/mapgen/basecamps/expansion/modular_canteen/version_2/modular_canteen_common.json b/data/json/mapgen/basecamps/expansion/modular_canteen/version_2/modular_canteen_common.json index e14b2ce1d963d..06a2d0d297263 100644 --- a/data/json/mapgen/basecamps/expansion/modular_canteen/version_2/modular_canteen_common.json +++ b/data/json/mapgen/basecamps/expansion/modular_canteen/version_2/modular_canteen_common.json @@ -211,7 +211,7 @@ { "point": "furniture", "id": "f_butcher_rack", "x": 16, "y": 22 }, { "point": "furniture", "id": "f_table", "x": 17, "y": 22 } ], - "place_loot": [ { "item": "knife_butcher", "x": 17, "y": 22 } ] + "place_loot": [ { "item": "knife_huge", "variant": "knife_butcher", "x": 17, "y": 22 } ] } }, { diff --git a/data/json/monsterdrops/clothing_halloween.json b/data/json/monsterdrops/clothing_halloween.json index 660693ef5d1d9..ed787a5b250a2 100644 --- a/data/json/monsterdrops/clothing_halloween.json +++ b/data/json/monsterdrops/clothing_halloween.json @@ -1132,7 +1132,13 @@ { "item": "hat_chef", "prob": 70, "damage": [ 1, 4 ] }, { "group": "shirts_unisex", "prob": 75, "damage": [ 1, 4 ] }, { "group": "costume_masks", "prob": 10, "damage": [ 1, 4 ] }, - { "item": "knife_butcher", "container-item": "sheath", "prob": 60, "damage": [ 1, 4 ] }, + { + "item": "knife_huge", + "variant": "knife_butcher", + "container-item": "sheath", + "prob": 60, + "damage": [ 1, 4 ] + }, { "group": "socks_unisex", "damage": [ 1, 4 ] }, { "distribution": [ diff --git a/data/json/monsterdrops/feral_humans.json b/data/json/monsterdrops/feral_humans.json index 9ac8b5b9eafc4..ce354c0e241d2 100644 --- a/data/json/monsterdrops/feral_humans.json +++ b/data/json/monsterdrops/feral_humans.json @@ -186,8 +186,8 @@ "entries": [ { "distribution": [ - { "item": "knife_butcher", "prob": 50, "damage": [ 0, 3 ] } { "item": "knife_large", "variant": "knife_chef", "prob": 50, "damage": [ 0, 3 ] }, + { "item": "knife_huge", "variant": "knife_butcher", "prob": 50, "damage": [ 0, 3 ] } ] }, { diff --git a/data/json/monsterdrops/zombie_survivor.json b/data/json/monsterdrops/zombie_survivor.json index a3b2dd42e2722..d173ff9755104 100644 --- a/data/json/monsterdrops/zombie_survivor.json +++ b/data/json/monsterdrops/zombie_survivor.json @@ -195,7 +195,7 @@ "id": "survivor_knife", "type": "item_group", "items": [ - [ "knife_butcher", 15 ], + { "item": "knife_huge", "variant": "knife_butcher", "prob": 15 }, { "item": "knife_large", "variant": "knife_chef", "prob": 15 }, { "item": "knife_large", "variant": "knife_carving", "prob": 15 }, [ "knife_folding", 10 ], diff --git a/data/json/npcs/NC_ARMY.json b/data/json/npcs/NC_ARMY.json index 75356b736cf6b..3212db7ffc0b1 100644 --- a/data/json/npcs/NC_ARMY.json +++ b/data/json/npcs/NC_ARMY.json @@ -110,7 +110,7 @@ "id": "NC_ARMY_cutting", "subtype": "distribution", "entries": [ - { "item": "knife_butcher", "prob": 20 }, + { "item": "knife_huge", "variant": "knife_butcher", "prob": 20 }, { "item": "hatchet", "prob": 20 }, { "item": "knife_combat", "prob": 20 }, { "item": "machete", "prob": 20 }, diff --git a/data/json/npcs/NC_ARSONIST.json b/data/json/npcs/NC_ARSONIST.json index 56af7e62b4bea..8f90653b4ac5f 100644 --- a/data/json/npcs/NC_ARSONIST.json +++ b/data/json/npcs/NC_ARSONIST.json @@ -142,7 +142,7 @@ "id": "NC_ARSONIST_cutting", "subtype": "distribution", "entries": [ - { "item": "knife_butcher", "prob": 20 }, + { "item": "knife_huge", "variant": "knife_butcher", "prob": 20 }, { "item": "hatchet", "prob": 20 }, { "item": "ax", "prob": 20 }, { "item": "machete", "prob": 20 }, diff --git a/data/json/npcs/NC_OPS.json b/data/json/npcs/NC_OPS.json index 57b138be68056..d737a3d49d819 100644 --- a/data/json/npcs/NC_OPS.json +++ b/data/json/npcs/NC_OPS.json @@ -95,7 +95,7 @@ "type": "item_group", "id": "NC_OPS_cutting", "items": [ - [ "knife_butcher", 20 ], + { "item": "knife_huge", "variant": "knife_butcher", "prob": 20 }, [ "hatchet", 20 ], [ "knife_combat", 20 ], [ "machete", 20 ], diff --git a/data/json/npcs/NC_SURVIVOR_CHEF.json b/data/json/npcs/NC_SURVIVOR_CHEF.json index 99a1c72d8e9f4..02bbffeda0e3c 100644 --- a/data/json/npcs/NC_SURVIVOR_CHEF.json +++ b/data/json/npcs/NC_SURVIVOR_CHEF.json @@ -69,7 +69,7 @@ "subtype": "distribution", "entries": [ { "item": "water_clean", "prob": 90 }, - { "item": "knife_butcher", "prob": 100 }, + { "item": "knife_huge", "variant": "knife_butcher", "prob": 100 }, { "item": "joint", "prob": 50 }, { "prob": 5, "group": "coke_bag_zipper_8" }, { "prob": 60, "group": "cig_box_cigarette_20" }, diff --git a/data/json/npcs/godco/godco_missions.json b/data/json/npcs/godco/godco_missions.json index 3637e12e169ac..5841c9c681af1 100644 --- a/data/json/npcs/godco/godco_missions.json +++ b/data/json/npcs/godco/godco_missions.json @@ -53,16 +53,16 @@ "id": "MISSION_GODCO_COOK_FOOD_3", "type": "mission_definition", "name": { "str": "Prickled Meals" }, - "description": "Find a butcher knife.", + "description": "Find a sizable knife.", "goal": "MGOAL_FIND_ITEM", "difficulty": 1, "value": 0, - "item": "knife_butcher", + "item": "knife_huge", "count": 1, "origins": [ "ORIGIN_SECONDARY" ], "dialogue": { "describe": "I need something sharper.", - "offer": "I don't have any butcher knives in here. It's difficult to cut anything hard without it. It's good to have one, even though I won't use it that often. Could you get me one?", + "offer": "I don't have any butcher knives in here. It's difficult to cut anything hard without it. It's good to have one, even though I won't use it that often. Could you get me one, or anything similarly suitable?", "accepted": "Thank you for accepting. I can't cut anything with this dull knife.", "rejected": "I guess I have to cut them with my steak knife.", "advice": "Butcher knives are not that rare to find. They are commonly found in kitchens.", diff --git a/data/json/npcs/island_prison/prisoners.json b/data/json/npcs/island_prison/prisoners.json index 4ba52b15d3dfd..6f1f74f933000 100644 --- a/data/json/npcs/island_prison/prisoners.json +++ b/data/json/npcs/island_prison/prisoners.json @@ -84,11 +84,11 @@ "items": [ [ "baton-extended", 50 ], [ "PR24-retracted", 50 ], - [ "knife_butcher", 30 ], [ "knife_meat_cleaver", 30 ], { "item": "knife_small", "variant": "knife_steak", "prob": 30 }, { "item": "knife_large", "variant": "knife_chef", "prob": 30 }, { "item": "knife_small", "variant": "knife_paring", "prob": 30 }, + { "item": "knife_huge", "variant": "knife_butcher", "prob": 30 }, { "item": "knife_large", "variant": "knife_carving", "prob": 30 }, [ "pointy_stick", 30 ], [ "cudgel", 20 ], diff --git a/data/json/npcs/items_generic.json b/data/json/npcs/items_generic.json index ba652acbe0e5c..50af1b1e51d7c 100644 --- a/data/json/npcs/items_generic.json +++ b/data/json/npcs/items_generic.json @@ -706,7 +706,7 @@ [ "ketchup", 4 ], [ "sheet_kevlar_layered", 1 ], [ "knee_pads", 4 ], - [ "knife_butcher", 6 ], + [ "knife_huge", 6 ], [ "knife_butter", 4 ], [ "knife_combat", 4 ], { "item": "knife_small", "variant": "knife_steak", "prob": 8 }, diff --git a/data/json/npcs/refugee_center/surface_refugees/NPC_Mangalpreet_Singh.json b/data/json/npcs/refugee_center/surface_refugees/NPC_Mangalpreet_Singh.json index 379d32c639acb..152f4faac2a10 100644 --- a/data/json/npcs/refugee_center/surface_refugees/NPC_Mangalpreet_Singh.json +++ b/data/json/npcs/refugee_center/surface_refugees/NPC_Mangalpreet_Singh.json @@ -64,8 +64,8 @@ "id": "REFUGEE_Mangalpreet_wield", "subtype": "distribution", "entries": [ - { "item": "knife_butcher", "container-item": "sheath", "prob": 2 }, { "item": "knife_small", "variant": "knife_steak", "container-item": "sheath", "prob": 4 }, + { "item": "knife_huge", "variant": "knife_butcher", "container-item": "sheath", "prob": 2 }, { "item": "kukri", "container-item": "sheath", "prob": 1 } ] }, diff --git a/data/json/obsoletion_and_migration_0.I/migration_items.json b/data/json/obsoletion_and_migration_0.I/migration_items.json index 22fb0db8a3107..ee06b5cfab7ce 100644 --- a/data/json/obsoletion_and_migration_0.I/migration_items.json +++ b/data/json/obsoletion_and_migration_0.I/migration_items.json @@ -1449,6 +1449,12 @@ "replace": "knife_large", "variant": "knife_bread" }, + { + "id": "knife_butcher", + "type": "MIGRATION", + "replace": "knife_huge", + "variant": "knife_butcher" + }, { "id": "spear_survivor", "type": "MIGRATION", diff --git a/data/json/professions.json b/data/json/professions.json index 1970f97bf6981..cdd188142c71f 100644 --- a/data/json/professions.json +++ b/data/json/professions.json @@ -803,7 +803,7 @@ { "item": "socks" }, { "item": "dress_shoes" }, { "group": "charged_smart_phone" }, - { "item": "knife_butcher", "container-item": "sheath" }, + { "item": "knife_huge", "variant": "knife_butcher", "container-item": "sheath" }, { "item": "hat_chef", "variant": "white_hat_chef" }, { "item": "jacket_chef", "variant": "white_jacket_chef" }, { "item": "apron_cotton", "variant": "generic_apron_cotton" }, @@ -828,7 +828,7 @@ { "item": "socks" }, { "item": "sneakers" }, { "group": "charged_smart_phone" }, - { "item": "knife_butcher", "container-item": "sheath" }, + { "item": "knife_huge", "variant": "knife_butcher", "container-item": "sheath" }, { "item": "hat_chef", "variant": "white_hat_chef" }, { "item": "jacket_chef", "variant": "white_jacket_chef" }, { "item": "apron_plastic" }, diff --git a/data/json/recipes/basecamps/base/recipe_modular_firestation_1/recipe_modular_firestation1.json b/data/json/recipes/basecamps/base/recipe_modular_firestation_1/recipe_modular_firestation1.json index 1c820be0b20db..2fa8cfc105aa8 100644 --- a/data/json/recipes/basecamps/base/recipe_modular_firestation_1/recipe_modular_firestation1.json +++ b/data/json/recipes/basecamps/base/recipe_modular_firestation_1/recipe_modular_firestation1.json @@ -235,7 +235,7 @@ { "id": "hunting" } ], "blueprint_excludes": [ { "id": "fbmc_firestation1_butchery" } ], - "components": [ [ [ "knife_butcher", 1 ], [ "knife_small", 1 ], [ "knife_large", 2 ] ] ] + "components": [ [ [ "knife_huge", 1 ], [ "knife_small", 1 ], [ "knife_large", 2 ] ] ] }, { "type": "recipe", diff --git a/data/json/recipes/basecamps/expansion/recipe_modular_canteen/version_1/recipe_modular_canteen_common.json b/data/json/recipes/basecamps/expansion/recipe_modular_canteen/version_1/recipe_modular_canteen_common.json index ddfae61e314d1..bf0dab688d87f 100644 --- a/data/json/recipes/basecamps/expansion/recipe_modular_canteen/version_1/recipe_modular_canteen_common.json +++ b/data/json/recipes/basecamps/expansion/recipe_modular_canteen/version_1/recipe_modular_canteen_common.json @@ -139,7 +139,7 @@ "blueprint_requires": [ { "id": "fbmk_canteen_smoking" } ], "blueprint_provides": [ { "id": "fbmk_canteen_butchery" }, { "id": "kitchen_recipes_3" }, { "id": "trapping" }, { "id": "hunting" } ], "blueprint_excludes": [ { "id": "fbmk_canteen_butchery" } ], - "components": [ [ [ "knife_butcher", 1 ], [ "knife_small", 1 ], [ "knife_large", 2 ] ] ] + "components": [ [ [ "knife_huge", 1 ], [ "knife_small", 1 ], [ "knife_large", 2 ] ] ] }, { "type": "recipe", diff --git a/data/json/recipes/basecamps/expansion/recipe_modular_canteen/version_2/recipe_modular_canteen_common.json b/data/json/recipes/basecamps/expansion/recipe_modular_canteen/version_2/recipe_modular_canteen_common.json index c0387b337d2f2..df9bf290e56c2 100644 --- a/data/json/recipes/basecamps/expansion/recipe_modular_canteen/version_2/recipe_modular_canteen_common.json +++ b/data/json/recipes/basecamps/expansion/recipe_modular_canteen/version_2/recipe_modular_canteen_common.json @@ -250,7 +250,7 @@ "blueprint_requires": [ { "id": "fbmk_2_smoking" } ], "blueprint_provides": [ { "id": "fbmk_2_butchery" }, { "id": "fbmk_2_recipes_3" }, { "id": "trapping" }, { "id": "hunting" } ], "blueprint_excludes": [ { "id": "fbmk_2_butchery" } ], - "components": [ [ [ "knife_butcher", 1 ], [ "knife_small", 1 ], [ "knife_large", 2 ] ] ], + "components": [ [ [ "knife_huge", 1 ], [ "knife_small", 1 ], [ "knife_large", 2 ] ] ], "flags": [ "MAP_MIRROR_HORIZONTAL_IF_N", "MAP_ROTATE_90_IF_NE", diff --git a/data/json/recipes/recipe_deconstruction.json b/data/json/recipes/recipe_deconstruction.json index d26bc3060ffde..fd67679549f6d 100644 --- a/data/json/recipes/recipe_deconstruction.json +++ b/data/json/recipes/recipe_deconstruction.json @@ -3086,7 +3086,7 @@ { "type": "uncraft", "activity_level": "MODERATE_EXERCISE", - "result": "knife_butcher", + "result": "knife_huge", "time": "10 m", "qualities": [ { "id": "HAMMER", "level": 1 }, { "id": "CUT", "level": 2 } ], "components": [ [ [ "spike", 1 ], [ "steel_chunk", 4 ], [ "scrap", 20 ] ], [ [ "leather", 1 ], [ "fur", 1 ] ] ] diff --git a/data/json/recipes/tools/tool.json b/data/json/recipes/tools/tool.json index e73cb3a876a82..fc54438500796 100644 --- a/data/json/recipes/tools/tool.json +++ b/data/json/recipes/tools/tool.json @@ -227,8 +227,8 @@ "time": "30 s", "autolearn": true, "components": [ - [ [ "knife_butcher", 1 ] ], [ [ "knife_meat_cleaver", 1 ] ], + [ [ "knife_huge", 1 ] ], [ [ "knife_large", 1 ] ], [ [ "leather", 2 ], [ "cotton_patchwork", 2 ] ], [ [ "cordage_short", 2, "LIST" ] ] diff --git a/data/json/recipes/tools/tools_electronic.json b/data/json/recipes/tools/tools_electronic.json index a973108fea60e..69a588629d337 100644 --- a/data/json/recipes/tools/tools_electronic.json +++ b/data/json/recipes/tools/tools_electronic.json @@ -461,7 +461,7 @@ [ "pan", 1 ], [ "pot", 1 ], [ "pot_copper", 1 ], - [ "knife_butcher", 2 ], + [ "knife_huge", 2 ], [ "knife_small", 6 ], [ "knife_butter", 6 ], [ "muffler", 1 ] @@ -493,7 +493,7 @@ [ "pan", 1 ], [ "pot", 1 ], [ "pot_copper", 1 ], - [ "knife_butcher", 2 ], + [ "knife_huge", 2 ], [ "knife_small", 6 ], [ "knife_butter", 6 ], [ "muffler", 1 ] diff --git a/data/json/recipes/tools/tools_hand.json b/data/json/recipes/tools/tools_hand.json index 0280c75da2446..c2e1c7750e3cf 100644 --- a/data/json/recipes/tools/tools_hand.json +++ b/data/json/recipes/tools/tools_hand.json @@ -1124,7 +1124,8 @@ { "type": "recipe", "activity_level": "BRISK_EXERCISE", - "result": "knife_butcher", + "result": "knife_huge", + "variant": "knife_butcher", "category": "CC_WEAPON", "subcategory": "CSC_WEAPON_PIERCING", "skill_used": "fabrication", diff --git a/data/json/recipes/weapon/piercing.json b/data/json/recipes/weapon/piercing.json index fa1cd7ff87cf8..a5da41524d71f 100644 --- a/data/json/recipes/weapon/piercing.json +++ b/data/json/recipes/weapon/piercing.json @@ -937,7 +937,7 @@ "components": [ [ [ "stick_long", 1 ], [ "long_pole", 1 ] ], [ - [ "knife_butcher", 1 ], + [ "knife_huge", 1 ], [ "knife_large", 1 ], [ "knife_combat", 1 ], [ "knife_combat_army", 1 ], @@ -973,7 +973,7 @@ "components": [ [ [ "stick_long", 1 ], [ "long_pole", 1 ] ], [ - [ "knife_butcher", 1 ], + [ "knife_huge", 1 ], [ "knife_large", 1 ], [ "knife_combat", 1 ], [ "knife_combat_army", 1 ], @@ -1029,7 +1029,7 @@ "components": [ [ [ "spear_shaft", 1 ] ], [ - [ "knife_butcher", 1 ], + [ "knife_huge", 1 ], [ "knife_large", 1 ], [ "knife_combat", 1 ], [ "knife_combat_army", 1 ], diff --git a/data/json/requirements/melee.json b/data/json/requirements/melee.json index f989b46354181..edf16cd30615f 100644 --- a/data/json/requirements/melee.json +++ b/data/json/requirements/melee.json @@ -98,9 +98,9 @@ [ "tanto_inferior", -1 ], [ "kirpan_cheap", -1 ], [ "enfield_bayonet", -1 ], - [ "knife_butcher", -1 ], [ "knife_vegetable_cleaver", -1 ], [ "knife_meat_cleaver", -1 ] + [ "knife_huge", -1 ], [ "knife_large", -1 ], ] ] diff --git a/data/mods/Magiclysm/items/enchanted_tools.json b/data/mods/Magiclysm/items/enchanted_tools.json index 93b73d7ebcb05..94de35151afa6 100644 --- a/data/mods/Magiclysm/items/enchanted_tools.json +++ b/data/mods/Magiclysm/items/enchanted_tools.json @@ -70,7 +70,7 @@ { "type": "GENERIC", "id": "knife_butcher_plus_one", - "copy-from": "knife_butcher", + "copy-from": "knife_huge", "name": { "str": "butcher knife +1", "str_pl": "butcher knives +1" }, "proportional": { "price": 3.0, "price_postapoc": 3.0, "weight": 0.9, "melee_damage": { "all": 1.1 } }, "extend": { "qualities": [ [ "BUTCHER", 28 ] ] } @@ -78,7 +78,7 @@ { "type": "GENERIC", "id": "knife_butcher_plus_two", - "copy-from": "knife_butcher", + "copy-from": "knife_huge", "name": { "str": "butcher knife +2", "str_pl": "butcher knives +2" }, "proportional": { "price": 6.0, "price_postapoc": 6.0, "weight": 0.8, "melee_damage": { "all": 1.2 } }, "extend": { "qualities": [ [ "BUTCHER", 30 ] ] } diff --git a/data/mods/Magiclysm/recipes/enchanting.json b/data/mods/Magiclysm/recipes/enchanting.json index 3d78de7c5a2ca..df4b78fbce223 100644 --- a/data/mods/Magiclysm/recipes/enchanting.json +++ b/data/mods/Magiclysm/recipes/enchanting.json @@ -97,7 +97,7 @@ "copy-from": "cestus_plus_one", "qualities": [ { "id": "MANA_INFUSE", "level": 1 } ], "result": "knife_butcher_plus_one", - "components": [ [ [ "knife_butcher", 1 ] ], [ [ "mana_dust", 20 ] ], [ [ "mercury", 10 ] ] ] + "components": [ [ [ "knife_huge", 1 ] ], [ [ "mana_dust", 20 ] ], [ [ "mercury", 10 ] ] ] }, { "type": "recipe", diff --git a/data/mods/Magiclysm/requirements/spell_components.json b/data/mods/Magiclysm/requirements/spell_components.json index 33e60c77c00d8..b8003edf40952 100644 --- a/data/mods/Magiclysm/requirements/spell_components.json +++ b/data/mods/Magiclysm/requirements/spell_components.json @@ -19,7 +19,7 @@ [ [ "xacto", 1 ], [ "diveknife", 1 ], - [ "knife_butcher", 1 ], + [ "knife_huge", 1 ], [ "knife_combat", 1 ], [ "knife_large", 1 ], [ "knife_hunting", 1 ], diff --git a/data/mods/Military_Professions/npc/NC_ARMY.json b/data/mods/Military_Professions/npc/NC_ARMY.json index 82961b7cf3754..0c24f87ea7e5a 100644 --- a/data/mods/Military_Professions/npc/NC_ARMY.json +++ b/data/mods/Military_Professions/npc/NC_ARMY.json @@ -108,7 +108,7 @@ "id": "NC_ARMY_cutting", "subtype": "distribution", "entries": [ - { "item": "knife_butcher", "prob": 20 }, + { "item": "knife_huge", "variant": "knife_butcher", "prob": 20 }, { "item": "hatchet", "prob": 20 }, { "item": "knife_combat", "prob": 20 }, { "item": "machete", "prob": 20 }, diff --git a/data/mods/Military_Professions/npc/NC_OPS.json b/data/mods/Military_Professions/npc/NC_OPS.json index 661d704859d69..508f043bd6247 100644 --- a/data/mods/Military_Professions/npc/NC_OPS.json +++ b/data/mods/Military_Professions/npc/NC_OPS.json @@ -94,7 +94,7 @@ "type": "item_group", "id": "NC_OPS_cutting", "items": [ - [ "knife_butcher", 20 ], + { "item": "knife_huge", "variant": "knife_butcher", "prob": 20 }, [ "hatchet", 20 ], [ "knife_combat", 20 ], [ "machete", 20 ], diff --git a/data/mods/TEST_DATA/expected_dps_data/knives_dps.json b/data/mods/TEST_DATA/expected_dps_data/knives_dps.json index 29289cbfcea28..f630ab785f6ae 100644 --- a/data/mods/TEST_DATA/expected_dps_data/knives_dps.json +++ b/data/mods/TEST_DATA/expected_dps_data/knives_dps.json @@ -7,7 +7,7 @@ "knife_baselard": 14.872, "bio_blade_weapon": 24.5, "bone_knife": 7.11, - "knife_butcher": 10, + "knife_huge": 10, "knife_combat": 16.489, "copper_knife": 8.0, "diveknife": 8.0, diff --git a/data/mods/Xedra_Evolved/recipes/dreamforged_weapon.json b/data/mods/Xedra_Evolved/recipes/dreamforged_weapon.json index 48872f9bb75c7..f1a7d26f9507e 100644 --- a/data/mods/Xedra_Evolved/recipes/dreamforged_weapon.json +++ b/data/mods/Xedra_Evolved/recipes/dreamforged_weapon.json @@ -19,7 +19,7 @@ "type": "recipe", "result": "dreamdross_knife", "copy-from": "dreamdross_bo", - "components": [ [ [ "dreamdross_lump", 2 ], [ "scrap_dreamdross", 20 ] ], [ [ "knife_butcher", 1 ], [ "knife_large", 1 ] ] ], + "components": [ [ [ "dreamdross_lump", 2 ], [ "scrap_dreamdross", 20 ] ], [ [ "knife_huge", 1 ], [ "knife_large", 1 ] ] ], "time": "2 h", "flags": [ "SECRET" ], "difficulty": 1 diff --git a/data/mods/innawood/recipes/tools_electronic.json b/data/mods/innawood/recipes/tools_electronic.json index 1e3ffe18c8aa2..42ef12b49f1a1 100644 --- a/data/mods/innawood/recipes/tools_electronic.json +++ b/data/mods/innawood/recipes/tools_electronic.json @@ -93,7 +93,7 @@ [ "pan", 1 ], [ "pot", 1 ], [ "pot_copper", 1 ], - [ "knife_butcher", 2 ], + [ "knife_huge", 2 ], [ "knife_small", 6 ], [ "knife_butter", 6 ], [ "muffler", 1 ] @@ -125,7 +125,7 @@ [ "pan", 1 ], [ "pot", 1 ], [ "pot_copper", 1 ], - [ "knife_butcher", 2 ], + [ "knife_huge", 2 ], [ "knife_small", 6 ], [ "knife_butter", 6 ], [ "muffler", 1 ] diff --git a/tests/crafting_test.cpp b/tests/crafting_test.cpp index 4413fa1964ead..ea93639d0200a 100644 --- a/tests/crafting_test.cpp +++ b/tests/crafting_test.cpp @@ -2153,7 +2153,7 @@ TEST_CASE( "recipes_inherit_rot_of_components_properly", "[crafting][rot]" ) tools.insert( tools.end(), 10, tool_with_ammo( "popcan_stove", 500 ) ); tools.insert( tools.end(), 10, tool_with_ammo( "dehydrator", 500 ) ); tools.emplace_back( "pot_canning" ); - tools.emplace_back( "knife_butcher" ); + tools.emplace_back( "knife_huge" ); GIVEN( "1 hour until rotten macaroni and fresh cheese" ) { diff --git a/tests/iuse_actor_test.cpp b/tests/iuse_actor_test.cpp index 0534a56ed24a2..e11031a53d1b2 100644 --- a/tests/iuse_actor_test.cpp +++ b/tests/iuse_actor_test.cpp @@ -136,7 +136,7 @@ static void cut_up_yields( const std::string &target ) CAPTURE( target ); salvage_actor test_actor; item cut_up_target{ target }; - item tool{ "knife_butcher" }; + item tool{ "knife_huge" }; const std::map &target_materials = cut_up_target.made_of(); const float mat_total = cut_up_target.type->mat_portion_total == 0 ? 1 : cut_up_target.type->mat_portion_total; diff --git a/tests/npc_talk_test.cpp b/tests/npc_talk_test.cpp index 6eec1589368b3..edb8a57d1cfa7 100644 --- a/tests/npc_talk_test.cpp +++ b/tests/npc_talk_test.cpp @@ -47,7 +47,7 @@ static const item_category_id item_category_manual( "manual" ); static const itype_id itype_beer( "beer" ); static const itype_id itype_bottle_glass( "bottle_glass" ); static const itype_id itype_dnd_handbook( "dnd_handbook" ); -static const itype_id itype_knife_butcher( "knife_butcher" ); +static const itype_id itype_knife_huge( "knife_huge" ); static const itype_id itype_manual_speech( "manual_speech" ); static const mtype_id mon_zombie_bio_op( "mon_zombie_bio_op" ); @@ -783,7 +783,7 @@ TEST_CASE( "npc_talk_items", "[npc_talk]" ) CHECK( d.responses[7].text == "This is a basic test response." ); d.add_topic( "TALK_TEST_ITEM_WIELDED" ); - item_location loc = player_character.i_add( item( itype_knife_butcher ) ); + item_location loc = player_character.i_add( item( itype_knife_huge ) ); CHECK( player_character.wield( *loc ) ); gen_response_lines( d, 2 ); CHECK( d.responses[0].text == "This is a basic test response." ); From 2f597d285c6536de7f689e7865ba7e9cc2bc08a6 Mon Sep 17 00:00:00 2001 From: Kamejeir <99511880+Kamejeir@users.noreply.github.com> Date: Tue, 4 Jun 2024 10:28:59 +0200 Subject: [PATCH 5/5] kitchen cleavers --- data/json/itemgroups/SUS/domestic.json | 4 +-- .../json/itemgroups/collections_domestic.json | 4 +-- data/json/items/tool/knives.json | 29 +++++++++++++++++++ data/json/monsterdrops/zombie_survivor.json | 2 +- data/json/npcs/island_prison/prisoners.json | 2 +- .../migration_items.json | 12 ++++++++ data/json/recipes/recipe_deconstruction.json | 10 +------ data/json/recipes/tools/tool.json | 2 +- data/json/recipes/tools/tools_hand.json | 6 ++-- data/json/recipes/weapon/cutting.json | 8 ++--- data/json/requirements/melee.json | 3 +- .../mods/Magiclysm/items/enchanted_tools.json | 4 +-- data/mods/Magiclysm/recipes/enchanting.json | 2 +- .../expected_dps_data/knives_dps.json | 2 +- 14 files changed, 60 insertions(+), 30 deletions(-) diff --git a/data/json/itemgroups/SUS/domestic.json b/data/json/itemgroups/SUS/domestic.json index ea60131e417c3..b20e9b30726d5 100644 --- a/data/json/itemgroups/SUS/domestic.json +++ b/data/json/itemgroups/SUS/domestic.json @@ -79,7 +79,7 @@ { "distribution": [ { "item": "knife_large", "variant": "knife_chef", "prob": 10 }, - { "item": "knife_vegetable_cleaver", "prob": 3 } + { "item": "knife_cleaver", "variant": "knife_vegetable_cleaver", "prob": 3 } ] }, { "item": "knife_small", "variant": "knife_paring" }, @@ -89,7 +89,7 @@ { "distribution": [ { "item": "knife_huge", "variant": "knife_butcher", "prob": 10 }, - { "item": "knife_meat_cleaver", "prob": 10 } + { "item": "knife_cleaver", "variant": "knife_meat_cleaver", "prob": 10 } ], "prob": 65 }, diff --git a/data/json/itemgroups/collections_domestic.json b/data/json/itemgroups/collections_domestic.json index 6da6fe6f3e995..554ca91a49537 100644 --- a/data/json/itemgroups/collections_domestic.json +++ b/data/json/itemgroups/collections_domestic.json @@ -97,13 +97,13 @@ [ "corkscrew", 10 ], [ "peeler", 15 ], [ "brush", 15 ], - [ "knife_meat_cleaver", 10 ], - [ "knife_vegetable_cleaver", 10 ], { "item": "knife_small", "variant": "knife_paring", "prob": 25 }, { "item": "knife_large", "variant": "knife_bread", "prob": 20 }, { "item": "knife_large", "variant": "knife_chef", "prob": 20 }, { "item": "knife_large", "variant": "knife_carving", "prob": 20 }, { "item": "knife_huge", "variant": "knife_butcher", "prob": 10 }, + { "item": "knife_cleaver", "variant": "knife_meat_cleaver", "prob": 10 }, + { "item": "knife_cleaver", "variant": "knife_vegetable_cleaver", "prob": 10 }, [ "cutting_board", 20 ], [ "bottle_opener", 15 ], [ "mortar_pestle", 10 ] diff --git a/data/json/items/tool/knives.json b/data/json/items/tool/knives.json index 2a417a10569b7..5ec4755ef3be3 100644 --- a/data/json/items/tool/knives.json +++ b/data/json/items/tool/knives.json @@ -99,6 +99,35 @@ "weapon_category": [ "KNIVES" ], "melee_damage": { "bash": 2, "stab": 14 } }, + { + "id": "knife_cleaver", + "name": { "str": "cleaver" }, + "type": "TOOL", + "variants": [ + { + "id": "knife_meat_cleaver", + "name": { "str": "meat cleaver" }, + "description": "A menacing-looking knife with a broad, square-shaped blade. Its heft and sharpness would make it a very effective melee weapon and an excellent butchering tool.", + "ascii_picture": "knife_meat_cleaver" + }, + { + "id": "knife_vegetable_cleaver", + "name": { "str": "vegetable cleaver" }, + "description": "A menacing-looking knife with a broad, square shaped blade, curved for fast vegetable chopping. Its heft and sharpness make it a decent weapon as well, although not as good as a meat cleaver.", + "ascii_picture": "knife_vegetable_cleaver" + } + ], + "copy-from": "base_kitchen_knife", + "weight": "450 g", + "volume": "1 L", + "longest_side": "30 cm", + "price": "35 USD", + "price_postapoc": "50 cent", + "to_hit": { "grip": "weapon", "length": "short", "surface": "line", "balance": "neutral" }, + "qualities": [ [ "CUT", 2 ], [ "BUTCHER", 25 ] ], + "flags": [ "SHEATH_KNIFE", "ALLOWS_BODY_BLOCK" ], + "melee_damage": { "bash": 6, "cut": 16 } + }, { "id": "copper_knife", "type": "TOOL", diff --git a/data/json/monsterdrops/zombie_survivor.json b/data/json/monsterdrops/zombie_survivor.json index d173ff9755104..b371f4974650f 100644 --- a/data/json/monsterdrops/zombie_survivor.json +++ b/data/json/monsterdrops/zombie_survivor.json @@ -203,7 +203,7 @@ { "item": "knife_small", "variant": "knife_steak", "prob": 35 }, { "group": "knife_rambo_cont", "prob": 15 }, [ "knife_hunting", 10 ], - [ "knife_meat_cleaver", 10 ] + { "item": "knife_cleaver", "variant": "knife_meat_cleaver", "prob": 10 } ] }, { diff --git a/data/json/npcs/island_prison/prisoners.json b/data/json/npcs/island_prison/prisoners.json index 6f1f74f933000..cdc576b439075 100644 --- a/data/json/npcs/island_prison/prisoners.json +++ b/data/json/npcs/island_prison/prisoners.json @@ -84,11 +84,11 @@ "items": [ [ "baton-extended", 50 ], [ "PR24-retracted", 50 ], - [ "knife_meat_cleaver", 30 ], { "item": "knife_small", "variant": "knife_steak", "prob": 30 }, { "item": "knife_large", "variant": "knife_chef", "prob": 30 }, { "item": "knife_small", "variant": "knife_paring", "prob": 30 }, { "item": "knife_huge", "variant": "knife_butcher", "prob": 30 }, + { "item": "knife_cleaver", "variant": "knife_meat_cleaver", "prob": 30 }, { "item": "knife_large", "variant": "knife_carving", "prob": 30 }, [ "pointy_stick", 30 ], [ "cudgel", 20 ], diff --git a/data/json/obsoletion_and_migration_0.I/migration_items.json b/data/json/obsoletion_and_migration_0.I/migration_items.json index ee06b5cfab7ce..ffef4fdee58c2 100644 --- a/data/json/obsoletion_and_migration_0.I/migration_items.json +++ b/data/json/obsoletion_and_migration_0.I/migration_items.json @@ -1455,6 +1455,18 @@ "replace": "knife_huge", "variant": "knife_butcher" }, + { + "id": "knife_meat_cleaver", + "type": "MIGRATION", + "replace": "knife_cleaver", + "variant": "knife_meat_cleaver" + }, + { + "id": "knife_vegetable_cleaver", + "type": "MIGRATION", + "replace": "knife_cleaver", + "variant": "knife_vegetable_cleaver" + }, { "id": "spear_survivor", "type": "MIGRATION", diff --git a/data/json/recipes/recipe_deconstruction.json b/data/json/recipes/recipe_deconstruction.json index fd67679549f6d..c09d362604c74 100644 --- a/data/json/recipes/recipe_deconstruction.json +++ b/data/json/recipes/recipe_deconstruction.json @@ -3102,7 +3102,7 @@ { "type": "uncraft", "activity_level": "MODERATE_EXERCISE", - "result": "knife_meat_cleaver", + "result": "knife_cleaver", "time": "5 m", "qualities": [ { "id": "HAMMER", "level": 1 } ], "components": [ [ [ "blade", 1 ], [ "scrap", 10 ] ] ] @@ -3115,14 +3115,6 @@ "qualities": [ { "id": "HAMMER", "level": 1 } ], "components": [ [ [ "scrap", 2 ] ] ] }, - { - "type": "uncraft", - "activity_level": "MODERATE_EXERCISE", - "result": "knife_vegetable_cleaver", - "time": "30 s", - "qualities": [ { "id": "HAMMER", "level": 1 } ], - "components": [ [ [ "scrap", 6 ] ] ] - }, { "result": "laptop", "type": "uncraft", diff --git a/data/json/recipes/tools/tool.json b/data/json/recipes/tools/tool.json index fc54438500796..a8f515804a5b2 100644 --- a/data/json/recipes/tools/tool.json +++ b/data/json/recipes/tools/tool.json @@ -227,9 +227,9 @@ "time": "30 s", "autolearn": true, "components": [ - [ [ "knife_meat_cleaver", 1 ] ], [ [ "knife_huge", 1 ] ], [ [ "knife_large", 1 ] ], + [ [ "knife_cleaver", 1 ] ], [ [ "leather", 2 ], [ "cotton_patchwork", 2 ] ], [ [ "cordage_short", 2, "LIST" ] ] ] diff --git a/data/json/recipes/tools/tools_hand.json b/data/json/recipes/tools/tools_hand.json index c2e1c7750e3cf..e5f35b8e2be5e 100644 --- a/data/json/recipes/tools/tools_hand.json +++ b/data/json/recipes/tools/tools_hand.json @@ -1343,7 +1343,8 @@ }, { "type": "recipe", - "result": "knife_vegetable_cleaver", + "result": "knife_cleaver", + "variant": "knife_vegetable_cleaver", "activity_level": "BRISK_EXERCISE", "category": "CC_OTHER", "subcategory": "CSC_OTHER_TOOLS", @@ -1363,7 +1364,8 @@ }, { "type": "recipe", - "result": "knife_meat_cleaver", + "result": "knife_cleaver", + "variant": "knife_meat_cleaver", "activity_level": "BRISK_EXERCISE", "category": "CC_OTHER", "subcategory": "CSC_OTHER_TOOLS", diff --git a/data/json/recipes/weapon/cutting.json b/data/json/recipes/weapon/cutting.json index bbcbe7da087f4..11b6b91037de8 100644 --- a/data/json/recipes/weapon/cutting.json +++ b/data/json/recipes/weapon/cutting.json @@ -250,11 +250,7 @@ "reversible": true, "autolearn": true, "proficiencies": [ { "proficiency": "prof_carving", "time_multiplier": 1.5, "skill_penalty": 0 } ], - "components": [ - [ [ "duct_tape", 100 ] ], - [ [ "blade", 1 ], [ "knife_meat_cleaver", 1 ], [ "knife_vegetable_cleaver", 1 ] ], - [ [ "stick_long", 1 ] ] - ] + "components": [ [ [ "duct_tape", 100 ] ], [ [ "blade", 1 ], [ "knife_cleaver", 1 ] ], [ [ "stick_long", 1 ] ] ] }, { "type": "recipe", @@ -271,7 +267,7 @@ "proficiencies": [ { "proficiency": "prof_carving", "time_multiplier": 1.5, "skill_penalty": 0.5 } ], "components": [ [ [ "duct_tape", 100 ] ], - [ [ "blade", 1 ], [ "knife_meat_cleaver", 1 ], [ "knife_vegetable_cleaver", 1 ] ], + [ [ "blade", 1 ], [ "knife_cleaver", 1 ] ], [ [ "stick_long", 1 ] ], [ [ "cordage", 2, "LIST" ] ] ] diff --git a/data/json/requirements/melee.json b/data/json/requirements/melee.json index edf16cd30615f..e63183ccad445 100644 --- a/data/json/requirements/melee.json +++ b/data/json/requirements/melee.json @@ -98,10 +98,9 @@ [ "tanto_inferior", -1 ], [ "kirpan_cheap", -1 ], [ "enfield_bayonet", -1 ], - [ "knife_vegetable_cleaver", -1 ], - [ "knife_meat_cleaver", -1 ] [ "knife_huge", -1 ], [ "knife_large", -1 ], + [ "knife_cleaver", -1 ] ] ] }, diff --git a/data/mods/Magiclysm/items/enchanted_tools.json b/data/mods/Magiclysm/items/enchanted_tools.json index 94de35151afa6..9d05b514e2920 100644 --- a/data/mods/Magiclysm/items/enchanted_tools.json +++ b/data/mods/Magiclysm/items/enchanted_tools.json @@ -86,7 +86,7 @@ { "type": "GENERIC", "id": "knife_meat_cleaver_plus_one", - "copy-from": "knife_meat_cleaver", + "copy-from": "knife_cleaver", "name": { "str": "meat cleaver +1", "str_pl": "meat cleavers +1" }, "proportional": { "price": 3.0, "price_postapoc": 3.0, "weight": 0.9, "melee_damage": { "all": 1.1 } }, "extend": { "qualities": [ [ "BUTCHER", 28 ] ] } @@ -94,7 +94,7 @@ { "type": "GENERIC", "id": "knife_meat_cleaver_plus_two", - "copy-from": "knife_meat_cleaver", + "copy-from": "knife_cleaver", "name": { "str": "meat cleaver +2", "str_pl": "meat cleavers +2" }, "proportional": { "price": 6.0, "price_postapoc": 6.0, "weight": 0.8, "melee_damage": { "all": 1.2 } }, "extend": { "qualities": [ [ "BUTCHER", 30 ] ] } diff --git a/data/mods/Magiclysm/recipes/enchanting.json b/data/mods/Magiclysm/recipes/enchanting.json index df4b78fbce223..37849a564a3fc 100644 --- a/data/mods/Magiclysm/recipes/enchanting.json +++ b/data/mods/Magiclysm/recipes/enchanting.json @@ -111,7 +111,7 @@ "copy-from": "cestus_plus_one", "qualities": [ { "id": "MANA_INFUSE", "level": 1 } ], "result": "knife_meat_cleaver_plus_one", - "components": [ [ [ "knife_meat_cleaver", 1 ] ], [ [ "mana_dust", 20 ] ], [ [ "mercury", 10 ] ] ] + "components": [ [ [ "knife_cleaver", 1 ] ], [ [ "mana_dust", 20 ] ], [ [ "mercury", 10 ] ] ] }, { "type": "recipe", diff --git a/data/mods/TEST_DATA/expected_dps_data/knives_dps.json b/data/mods/TEST_DATA/expected_dps_data/knives_dps.json index f630ab785f6ae..d130ee3cd36bb 100644 --- a/data/mods/TEST_DATA/expected_dps_data/knives_dps.json +++ b/data/mods/TEST_DATA/expected_dps_data/knives_dps.json @@ -16,7 +16,7 @@ "kirpan_cheap": 2.809, "kris": 13.5, "kris_fake": 1.811, - "knife_meat_cleaver": 13.97, + "knife_cleaver": 13.97, "pockknife": 4.5, "primitive_knife": 2.5, "mc_knife_rambo": 9.415,