From b2a2245dd93603ca7158a8cf1cdaec29def3e71c Mon Sep 17 00:00:00 2001 From: AtomicFox556 <98733651+AtomicFox556@users.noreply.github.com> Date: Fri, 22 Apr 2022 06:41:04 +0300 Subject: [PATCH] Add flint and steel recipe (#55842) * Add flint and steel recipe * Update disassembly qualities * Add actual flints * Add item groups * Fix JSON * Fix requirement IDs --- .../Locations_MapExtras/locations.json | 4 ++++ .../Locations_MapExtras/mansion.json | 1 + data/json/itemgroups/misc.json | 1 + data/json/itemgroups/trash_and_debris.json | 1 + data/json/items/resources/misc.json | 4 ++-- data/json/items/resources/stone.json | 7 ++++++ data/json/items/tool/fire.json | 4 ++-- data/json/recipes/recipe_ammo.json | 6 ++--- data/json/recipes/recipe_deconstruction.json | 24 +++++++++++++++++++ data/json/recipes/tools/tools_hand.json | 20 ++++++++++++++++ data/json/recipes/tools/tools_primitive.json | 23 +++++++++--------- data/json/recipes/weapon/piercing.json | 6 +---- data/json/recipes/weapon/ranged.json | 10 ++++---- data/json/requirements/materials.json | 6 +++++ 14 files changed, 89 insertions(+), 28 deletions(-) diff --git a/data/json/itemgroups/Locations_MapExtras/locations.json b/data/json/itemgroups/Locations_MapExtras/locations.json index 5e276f2f2c2aa..697b62ddb9fc7 100644 --- a/data/json/itemgroups/Locations_MapExtras/locations.json +++ b/data/json/itemgroups/Locations_MapExtras/locations.json @@ -936,6 +936,7 @@ "entries": [ { "item": "rock", "prob": 40 }, { "item": "rock_flaking", "prob": 15 }, + { "item": "flint", "prob": 5 }, { "item": "rock_large", "prob": 10 }, { "item": "jackhammer", "prob": 2, "charges": [ 0, 1200 ] }, { "item": "elec_jackhammer", "prob": 1 }, @@ -1243,6 +1244,7 @@ { "item": "rock", "prob": 40, "count": [ 1, 10 ] }, { "item": "rock_large", "prob": 10, "count": [ 1, 10 ] }, { "item": "rock_flaking", "prob": 20, "count": [ 1, 10 ] }, + { "item": "flint", "prob": 5, "count": [ 1, 10 ] }, { "item": "material_shrd_limestone", "prob": 40, "count": [ 1, 10 ] }, { "item": "material_limestone", "prob": 40, "count": [ 1, 10 ] }, { "item": "material_niter", "prob": 5, "count": [ 1, 10 ] }, @@ -1312,6 +1314,7 @@ "items": [ [ "rock", 40 ], [ "rock_flaking", 10 ], + [ "flint", 5 ], [ "rock_large", 5 ], [ "sharp_rock", 5 ], { "group": "newspaper_recent", "prob": 5 }, @@ -1325,6 +1328,7 @@ "items": [ [ "rock", 40 ], [ "rock_flaking", 5 ], + [ "flint", 2 ], [ "rock_large", 5 ], [ "stick", 95 ], [ "pine_bough", 20 ], diff --git a/data/json/itemgroups/Locations_MapExtras/mansion.json b/data/json/itemgroups/Locations_MapExtras/mansion.json index a3f16930b2607..8c99a1b091fc6 100644 --- a/data/json/itemgroups/Locations_MapExtras/mansion.json +++ b/data/json/itemgroups/Locations_MapExtras/mansion.json @@ -1072,6 +1072,7 @@ [ "stick", 50 ], [ "rock", 50 ], [ "rock_flaking", 5 ], + [ "flint", 1 ], [ "rock_large", 5 ], [ "plastic_shopping_bag", 40 ], [ "sinew", 40 ], diff --git a/data/json/itemgroups/misc.json b/data/json/itemgroups/misc.json index 2ca30c9f8311f..f0ee0095772ad 100644 --- a/data/json/itemgroups/misc.json +++ b/data/json/itemgroups/misc.json @@ -80,6 +80,7 @@ { "item": "clay_lump", "count": [ 1, 4 ], "prob": 5 }, { "item": "rock", "count": [ 1, 4 ], "prob": 10 }, { "item": "rock_flaking", "count": [ 1, 4 ], "prob": 2 }, + { "item": "flint", "prob": 1 }, { "item": "rock_large", "prob": 10 }, { "item": "pebble", "count": [ 1, 4 ], "prob": 15 } ] diff --git a/data/json/itemgroups/trash_and_debris.json b/data/json/itemgroups/trash_and_debris.json index 9744b0a13e6c0..6bb96ffc4804d 100644 --- a/data/json/itemgroups/trash_and_debris.json +++ b/data/json/itemgroups/trash_and_debris.json @@ -79,6 +79,7 @@ "items": [ [ "rock", 80 ], [ "rock_flaking", 80 ], + [ "flint", 20 ], [ "stick", 80 ], [ "acorns", 80 ], [ "pinecone", 80 ], diff --git a/data/json/items/resources/misc.json b/data/json/items/resources/misc.json index c71b5daca8c02..41af212e118f0 100644 --- a/data/json/items/resources/misc.json +++ b/data/json/items/resources/misc.json @@ -138,8 +138,8 @@ "id": "sharp_rock", "symbol": "*", "color": "light_gray", - "name": { "str": "flint" }, - "description": "A rock with sharp edges. Makes a passable melee weapon, and can also make sparks if struck against high-carbon steel.", + "name": { "str": "sharp rock" }, + "description": "A baseball-sized rock with a somewhat sharp edge that also chips in a semi-predictable way if struck. With the right skills, you could give it a better edge.", "material": [ "stone" ], "weight": "500 g", "volume": "250 ml", diff --git a/data/json/items/resources/stone.json b/data/json/items/resources/stone.json index d2317593da7d1..0fa5ee02a62f3 100644 --- a/data/json/items/resources/stone.json +++ b/data/json/items/resources/stone.json @@ -21,6 +21,13 @@ "to_hit": -1, "effects": [ "NEVER_MISFIRES", "NON_FOULING", "RECOVER_60" ] }, + { + "type": "AMMO", + "id": "flint", + "copy-from": "rock_flaking", + "name": { "str": "flint" }, + "description": "A chunk of flint, the kind of rock that can make sparks if stuck against high-carbon steel. It also chips in a semi-predictable way if struck, leaving a sharp edge." + }, { "type": "GENERIC", "id": "rock_large", diff --git a/data/json/items/tool/fire.json b/data/json/items/tool/fire.json index dd1048bbd2f27..cde925cd1e75e 100644 --- a/data/json/items/tool/fire.json +++ b/data/json/items/tool/fire.json @@ -64,13 +64,13 @@ "id": "flint_steel", "type": "TOOL", "name": { "str": "flint and steel", "str_pl": "sets of flint and steel" }, - "description": "This is a magnesium bar and a carbon steel striker. Use it to spark a flame.", + "description": "This is a flint and a hardened high carbon steel striker. Use it to spark a flame.", "weight": "400 g", "volume": "250 ml", "price": 300, "price_postapoc": 250, "to_hit": -1, - "material": [ "stone", "steel" ], + "material": [ "stone", "hc_steel" ], "symbol": ",", "color": "dark_gray", "initial_charges": 2000, diff --git a/data/json/recipes/recipe_ammo.json b/data/json/recipes/recipe_ammo.json index 49dfaa321a1b7..207fdc33cd1ed 100644 --- a/data/json/recipes/recipe_ammo.json +++ b/data/json/recipes/recipe_ammo.json @@ -10,7 +10,7 @@ "autolearn": true, "flags": [ "BLIND_EASY" ], "qualities": [ { "id": "HAMMER", "level": 1 } ], - "components": [ [ [ "rock", 1 ], [ "sharp_rock", 1 ] ] ] + "components": [ [ [ "rock", 1 ], [ "rock_flaking_any", 1, "LIST" ] ] ] }, { "type": "recipe", @@ -254,7 +254,7 @@ [ "ceramic_shard", 1 ], [ "scrap", 2 ], [ "nail", 10 ], - [ "sharp_rock", 1 ] + [ "rock_flaking_any", 1, "LIST" ] ], [ [ "fletching", 1, "LIST" ] ] ] @@ -427,7 +427,7 @@ [ "ceramic_shard", 1 ], [ "scrap", 2 ], [ "nail", 10 ], - [ "sharp_rock", 1 ] + [ "rock_flaking_any", 1, "LIST" ] ], [ [ "fletching", 1, "LIST" ] ] ] diff --git a/data/json/recipes/recipe_deconstruction.json b/data/json/recipes/recipe_deconstruction.json index 1345a33c4b469..6ca90e52d6fec 100644 --- a/data/json/recipes/recipe_deconstruction.json +++ b/data/json/recipes/recipe_deconstruction.json @@ -3469,6 +3469,30 @@ "qualities": [ { "id": "SAW_M", "level": 1 } ], "components": [ [ [ "scrap", 7 ] ] ] }, + { + "result": "hc_steel_lump", + "type": "uncraft", + "activity_level": "BRISK_EXERCISE", + "time": "10 m", + "qualities": [ { "id": "SAW_M", "level": 2 } ], + "components": [ [ [ "hc_steel_chunk", 4 ] ] ] + }, + { + "result": "mc_steel_lump", + "type": "uncraft", + "activity_level": "BRISK_EXERCISE", + "time": "10 m", + "qualities": [ { "id": "SAW_M", "level": 2 } ], + "components": [ [ [ "mc_steel_chunk", 4 ] ] ] + }, + { + "result": "lc_steel_lump", + "type": "uncraft", + "activity_level": "BRISK_EXERCISE", + "time": "10 m", + "qualities": [ { "id": "SAW_M", "level": 2 } ], + "components": [ [ [ "lc_steel_chunk", 4 ] ] ] + }, { "result": "pocketwatch", "type": "uncraft", diff --git a/data/json/recipes/tools/tools_hand.json b/data/json/recipes/tools/tools_hand.json index 41791b9184738..5f90cbaa4162e 100644 --- a/data/json/recipes/tools/tools_hand.json +++ b/data/json/recipes/tools/tools_hand.json @@ -33,6 +33,26 @@ "tools": [ [ [ "hotcut", -1 ] ] ], "components": [ [ [ "plastic_chunk", 2 ], [ "2x4", 1 ], [ "stick", 2 ] ] ] }, + { + "result": "flint_steel", + "type": "recipe", + "activity_level": "BRISK_EXERCISE", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_TOOLS", + "skill_used": "fabrication", + "difficulty": 4, + "time": "2 h", + "autolearn": true, + "using": [ [ "forging_standard", 2 ] ], + "proficiencies": [ + { "proficiency": "prof_metalworking" }, + { "proficiency": "prof_blacksmithing" }, + { "proficiency": "prof_toolsmithing" } + ], + "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 } ], + "tools": [ [ [ "tongs", -1 ] ] ], + "components": [ [ [ "hc_steel_chunk", 1 ] ], [ [ "flint", 1 ] ] ] + }, { "type": "recipe", "activity_level": "MODERATE_EXERCISE", diff --git a/data/json/recipes/tools/tools_primitive.json b/data/json/recipes/tools/tools_primitive.json index 97056ed9ab492..a2784d56e56e9 100644 --- a/data/json/recipes/tools/tools_primitive.json +++ b/data/json/recipes/tools/tools_primitive.json @@ -39,7 +39,7 @@ "proficiencies": [ { "proficiency": "prof_knapping" }, { "proficiency": "prof_knapping_speed" } ], "components": [ [ [ "stick", 1 ], [ "2x4", 1 ] ], - [ [ "rock_flaking", 1 ], [ "sharp_rock", 1 ] ], + [ [ "rock_flaking_any", 1, "LIST" ] ], [ [ "cordage_short", 1, "LIST" ], [ "filament", 50, "LIST" ] ] ] }, @@ -138,7 +138,7 @@ "autolearn": true, "proficiencies": [ { "proficiency": "prof_knapping" }, { "proficiency": "prof_knapping_speed" } ], "qualities": [ { "id": "HAMMER", "level": 1 }, { "id": "HAMMER_SOFT", "level": 1 }, { "id": "CHISEL_WOOD", "level": 1 } ], - "components": [ [ [ "stick", 1 ], [ "2x4", 1 ] ], [ [ "rock_flaking", 1 ], [ "sharp_rock", 1 ] ] ] + "components": [ [ [ "stick", 1 ], [ "2x4", 1 ] ], [ [ "rock_flaking_any", 1, "LIST" ] ] ] }, { "type": "recipe", @@ -173,13 +173,14 @@ "difficulty": 2, "time": "1 h", "autolearn": true, - "qualities": [ { "id": "HAMMER", "level": 1 }, { "id": "CUT", "level": 2 } ], + "qualities": [ + { "id": "HAMMER", "level": 1 }, + { "id": "HAMMER_SOFT", "level": 1 }, + { "id": "PUNCH", "level": 1 }, + { "id": "CUT", "level": 2 } + ], "proficiencies": [ { "proficiency": "prof_knapping" }, { "proficiency": "prof_knapping_speed" } ], - "components": [ - [ [ "stick", 1 ], [ "2x4", 1 ] ], - [ [ "rock", 1 ], [ "ceramic_shard", 1 ], [ "sharp_rock", 1 ] ], - [ [ "cordage_short", 2, "LIST" ], [ "filament", 100, "LIST" ] ] - ] + "components": [ [ [ "stick", 1 ], [ "2x4", 1 ] ], [ [ "rock_flaking_any", 1, "LIST" ] ], [ [ "cordage_short", 2, "LIST" ] ] ] }, { "type": "recipe", @@ -196,7 +197,7 @@ "proficiencies": [ { "proficiency": "prof_knapping" }, { "proficiency": "prof_knapping_speed" } ], "components": [ [ [ "stick", 1 ], [ "2x4", 1 ] ], - [ [ "rock", 1 ], [ "ceramic_shard", 1 ], [ "sharp_rock", 1 ] ], + [ [ "rock", 1 ], [ "ceramic_shard", 1 ], [ "rock_flaking_any", 1, "LIST" ] ], [ [ "cordage_short", 2, "LIST" ], [ "filament", 100, "LIST" ] ] ] }, @@ -340,7 +341,7 @@ "autolearn": true, "qualities": [ { "id": "HAMMER", "level": 1 } ], "proficiencies": [ { "proficiency": "prof_knapping" }, { "proficiency": "prof_knapping_speed" } ], - "components": [ [ [ "rock_flaking", 1 ], [ "sharp_rock", 1 ] ] ] + "components": [ [ [ "rock_flaking_any", 1, "LIST" ] ] ] }, { "type": "recipe", @@ -355,7 +356,7 @@ "autolearn": true, "qualities": [ { "id": "HAMMER", "level": 1 }, { "id": "HAMMER_SOFT", "level": 1 } ], "proficiencies": [ { "proficiency": "prof_knapping" }, { "proficiency": "prof_knapping_speed" } ], - "components": [ [ [ "rock_flaking", 1 ], [ "sharp_rock", 1 ] ] ] + "components": [ [ [ "rock_flaking_any", 1, "LIST" ] ] ] }, { "type": "recipe", diff --git a/data/json/recipes/weapon/piercing.json b/data/json/recipes/weapon/piercing.json index b2e277ede6ced..233e1e41fbc99 100644 --- a/data/json/recipes/weapon/piercing.json +++ b/data/json/recipes/weapon/piercing.json @@ -209,11 +209,7 @@ { "proficiency": "prof_knapping_speed" }, { "proficiency": "prof_carving", "fail_multiplier": 1.15 } ], - "components": [ - [ [ "stick_long", 1 ] ], - [ [ "rock_flaking", 1 ], [ "sharp_rock", 1 ] ], - [ [ "cordage_short", 1, "LIST" ], [ "filament", 50, "LIST" ] ] - ] + "components": [ [ [ "stick_long", 1 ] ], [ [ "rock_flaking_any", 1, "LIST" ] ], [ [ "cordage_short", 1, "LIST" ] ] ] }, { "result": "sharpened_pipe", diff --git a/data/json/recipes/weapon/ranged.json b/data/json/recipes/weapon/ranged.json index 296f53e5e7dc5..5a2cd419435e3 100644 --- a/data/json/recipes/weapon/ranged.json +++ b/data/json/recipes/weapon/ranged.json @@ -130,7 +130,7 @@ { "proficiency": "prof_carving", "time_multiplier": 1.5, "fail_multiplier": 1.15 } ], "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ] ], - "components": [ [ [ "2x4", 2 ] ], [ [ "pipe", 1 ] ], [ [ "sharp_rock", 1 ] ] ] + "components": [ [ [ "2x4", 2 ] ], [ [ "pipe", 1 ] ], [ [ "hc_steel_chunk", 1 ] ], [ [ "flint", 1 ] ] ] }, { "type": "recipe", @@ -159,7 +159,7 @@ { "proficiency": "prof_carving", "time_multiplier": 1.5, "fail_multiplier": 1.15 } ], "tools": [ [ [ "tongs", -1 ] ], [ [ "hotcut", -1 ] ] ], - "components": [ [ [ "2x4", 2 ] ], [ [ "pipe", 1 ] ], [ [ "sharp_rock", 1 ] ] ] + "components": [ [ [ "2x4", 2 ] ], [ [ "pipe", 1 ] ], [ [ "hc_steel_chunk", 1 ] ], [ [ "flint", 1 ] ] ] }, { "type": "recipe", @@ -188,7 +188,7 @@ { "proficiency": "prof_carving", "time_multiplier": 1.5, "fail_multiplier": 1.15 } ], "tools": [ [ [ "tongs", -1 ] ], [ [ "hotcut", -1 ] ] ], - "components": [ [ [ "2x4", 2 ] ], [ [ "pipe", 1 ] ], [ [ "sharp_rock", 1 ] ] ] + "components": [ [ [ "2x4", 2 ] ], [ [ "pipe", 1 ] ], [ [ "hc_steel_chunk", 1 ] ], [ [ "flint", 1 ] ] ] }, { "type": "recipe", @@ -217,7 +217,7 @@ { "proficiency": "prof_carving", "time_multiplier": 1.5, "fail_multiplier": 1.15 } ], "tools": [ [ [ "tongs", -1 ] ], [ [ "hotcut", -1 ] ] ], - "components": [ [ [ "2x4", 1 ] ], [ [ "pipe", 1 ] ], [ [ "sharp_rock", 1 ] ] ] + "components": [ [ [ "2x4", 1 ] ], [ [ "pipe", 1 ] ], [ [ "hc_steel_chunk", 1 ] ], [ [ "flint", 1 ] ] ] }, { "result": "carbine_flintlock_double", @@ -239,7 +239,7 @@ { "proficiency": "prof_gunsmithing_antique" }, { "proficiency": "prof_carving", "time_multiplier": 1.5, "fail_multiplier": 1.15 } ], - "components": [ [ [ "2x4", 2 ] ], [ [ "pipe", 2 ] ], [ [ "sharp_rock", 2 ] ] ] + "components": [ [ [ "2x4", 2 ] ], [ [ "pipe", 2 ] ], [ [ "hc_steel_chunk", 2 ] ], [ [ "flint", 2 ] ] ] }, { "result": "carbine_flintlock_double", diff --git a/data/json/requirements/materials.json b/data/json/requirements/materials.json index 178df9a282f33..e3948fae0a56b 100644 --- a/data/json/requirements/materials.json +++ b/data/json/requirements/materials.json @@ -308,6 +308,12 @@ "//": "Materials for use when forging atypically small items from steel", "components": [ [ [ "steel_chunk", 1 ] ] ] }, + { + "id": "rock_flaking_any", + "type": "requirement", + "//": "Rocks that can be used for knapping.", + "components": [ [ [ "rock_flaking", 1 ], [ "sharp_rock", 1 ], [ "flint", 1 ] ] ] + }, { "id": "waterproofing", "type": "requirement",