From 0ce46986c845b9323bc88837cb1c373097cca228 Mon Sep 17 00:00:00 2001 From: Chaosvolt Date: Fri, 27 Oct 2023 23:02:49 -0500 Subject: [PATCH] feat(content, port): bog iron (#3506) * Implement bog iron Co-Authored-By: Light-Wave <66904273+light-wave@users.noreply.github.com> Co-Authored-By: DangerNoodle * Also this bit whoops Co-Authored-By: Light-Wave <66904273+light-wave@users.noreply.github.com> --------- Co-authored-by: Light-Wave <66904273+light-wave@users.noreply.github.com> Co-authored-by: DangerNoodle --- data/json/construction.json | 12 ++++++++++ data/json/construction_group.json | 5 +++++ .../terrain-floors-outdoors.json | 19 ++++++++++++++++ .../Locations_MapExtras/locations.json | 8 ++++++- data/json/items/chemicals_and_resources.json | 15 +++++++++++++ data/json/recipes/other/materials.json | 22 +++++++++++++++++++ data/json/regional_map_settings.json | 2 +- 7 files changed, 81 insertions(+), 2 deletions(-) diff --git a/data/json/construction.json b/data/json/construction.json index fa3546d8665e..e57030cffbe0 100644 --- a/data/json/construction.json +++ b/data/json/construction.json @@ -2986,6 +2986,18 @@ "dark_craftable": true, "post_special": "done_extract_maybe_revert_to_dirt" }, + { + "type": "construction", + "id": "constr_extract_bog_iron", + "group": "extract_bog_iron", + "category": "OTHER", + "required_skills": [ [ "fabrication", 0 ], [ "survival", 2 ] ], + "time": "45 m", + "qualities": [ [ { "id": "DIG", "level": 1 } ] ], + "byproducts": [ { "item": "iron_ore", "count": [ 1, 4 ] } ], + "pre_terrain": "t_bog_iron", + "post_special": "done_extract_maybe_revert_to_dirt" + }, { "type": "construction", "id": "constr_remove_gravel", diff --git a/data/json/construction_group.json b/data/json/construction_group.json index 4f547096c586..beab5c16d106 100644 --- a/data/json/construction_group.json +++ b/data/json/construction_group.json @@ -844,6 +844,11 @@ "id": "extract_sand", "name": "Extract Sand" }, + { + "type": "construction_group", + "id": "extract_bog_iron", + "name": "Extract Bog Iron" + }, { "type": "construction_group", "id": "extrude_resin_floor_and_roof", diff --git a/data/json/furniture_and_terrain/terrain-floors-outdoors.json b/data/json/furniture_and_terrain/terrain-floors-outdoors.json index 22accf1c9766..8fbb13646a7c 100644 --- a/data/json/furniture_and_terrain/terrain-floors-outdoors.json +++ b/data/json/furniture_and_terrain/terrain-floors-outdoors.json @@ -96,6 +96,25 @@ "items": [ { "item": "material_sand", "charges": [ 300, 600 ] } ] } }, + { + "type": "terrain", + "id": "t_bog_iron", + "name": "bog iron", + "description": "A wet pit with exposed hints of iron-rich earth.", + "symbol": "*", + "looks_like": "t_claymound", + "color": "brown", + "move_cost": 5, + "flags": [ "TRANSPARENT", "BURROWABLE" ], + "bash": { + "str_min": 20, + "str_max": 40, + "sound": "splosh!", + "sound_fail": "splosh!", + "ter_set": "t_swater_sh", + "items": [ { "item": "iron_ore", "count": [ 6, 12 ] } ] + } + }, { "type": "terrain", "id": "t_dirtmound", diff --git a/data/json/itemgroups/Locations_MapExtras/locations.json b/data/json/itemgroups/Locations_MapExtras/locations.json index 1c2fc4914447..b0a5acfc2226 100644 --- a/data/json/itemgroups/Locations_MapExtras/locations.json +++ b/data/json/itemgroups/Locations_MapExtras/locations.json @@ -269,7 +269,11 @@ "type": "item_group", "id": "cave_minerals", "subtype": "distribution", - "entries": [ { "item": "material_niter", "prob": 20 }, { "item": "material_limestone", "prob": 5 } ] + "entries": [ + { "item": "material_niter", "prob": 20 }, + { "item": "iron_ore", "prob": 10 }, + { "item": "material_limestone", "prob": 5 } + ] }, { "id": "prison_textile", @@ -1183,6 +1187,7 @@ [ "toolbox", 5 ], [ "coal_lump", 20 ], [ "material_shrd_limestone", 40 ], + [ "iron_ore", 10 ], [ "material_niter", 5 ], [ "chem_rdx", 5 ], [ "chem_hmtd", 10 ], @@ -1198,6 +1203,7 @@ { "item": "rock", "prob": 40, "count": [ 1, 10 ] }, { "item": "material_shrd_limestone", "prob": 40, "count": [ 1, 10 ] }, { "item": "material_limestone", "prob": 40, "count": [ 1, 10 ] }, + { "item": "iron_ore", "prob": 20, "count": [ 1, 10 ] }, { "item": "material_niter", "prob": 5, "count": [ 1, 10 ] }, { "item": "material_sand", "prob": 50, "charges": 500, "container-item": "bag_canvas" }, { "item": "material_soil", "prob": 50, "charges": 500, "container-item": "bag_canvas" }, diff --git a/data/json/items/chemicals_and_resources.json b/data/json/items/chemicals_and_resources.json index c4bbf1363f8a..0d08c873836f 100644 --- a/data/json/items/chemicals_and_resources.json +++ b/data/json/items/chemicals_and_resources.json @@ -764,6 +764,21 @@ "bashing": 1, "ammo_type": "components" }, + { + "type": "GENERIC", + "id": "iron_ore", + "category": "spare_parts", + "price": 250, + "name": { "str": "chunk of iron ore", "str_pl": "chunks of iron ore" }, + "symbol": ",", + "color": "brown", + "description": "A large chunk of iron ore, from one source or another. With the right knowhow, it could be smelted into usable metal.", + "material": "stone", + "volume": "750 ml", + "//": "rounded down from 5.04 to 5.17 grams/cc depending on which ore it is", + "weight": "3750 g", + "bashing": 2 + }, { "type": "AMMO", "id": "chem_aluminium_sulphate", diff --git a/data/json/recipes/other/materials.json b/data/json/recipes/other/materials.json index d301fc051f01..cb149770153e 100644 --- a/data/json/recipes/other/materials.json +++ b/data/json/recipes/other/materials.json @@ -1221,6 +1221,28 @@ "using": [ [ "forging_standard", 4 ], [ "steel_tiny", 4 ] ], "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ] }, + { + "result": "steel_lump", + "id_suffix": "smelt", + "type": "recipe", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_MATERIALS", + "skill_used": "fabrication", + "difficulty": 4, + "skills_required": [ "survival", 4 ], + "time": "75 m", + "batch_time_factors": [ 90, 4 ], + "autolearn": [ [ "fabrication", 5 ], [ "survival", 5 ] ], + "book_learn": [ [ "textbook_armschina", 3 ], [ "survival_book", 3 ], [ "welding_book", 4 ] ], + "using": [ [ "forging_standard", 6 ] ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], + "//": "Additional coal required for carburization, proportionate by weight. Yield is roughly 25%.", + "components": [ + [ [ "iron_ore", 1 ] ], + [ [ "coal_lump", 4 ], [ "charcoal", 16 ] ], + [ [ "material_limestone", 2 ], [ "material_quicklime", 2 ], [ "chem_carbide", 40 ] ] + ] + }, { "result": "tin", "type": "recipe", diff --git a/data/json/regional_map_settings.json b/data/json/regional_map_settings.json index b198e83ba93c..5c00b9392f4d 100644 --- a/data/json/regional_map_settings.json +++ b/data/json/regional_map_settings.json @@ -9,7 +9,7 @@ "t_region_groundcover": { "t_grass": 12, "t_grass_dead": 2, "t_dirt": 1 }, "t_region_groundcover_urban": { "t_grass": 20, "t_grass_dead": 3 }, "t_region_groundcover_forest": { "t_grass_long": 5, "t_grass_tall": 1, "t_moss": 1, "t_grass_dead": 3 }, - "t_region_groundcover_swamp": { "t_grass_long": 3, "t_grass_tall": 1, "t_moss": 2, "t_dirt": 2 }, + "t_region_groundcover_swamp": { "t_grass_long": 30, "t_grass_tall": 10, "t_moss": 20, "t_dirt": 20, "t_bog_iron": 1 }, "t_region_groundcover_barren": { "t_dirt": 30, "t_grass_dead": 2, "t_railroad_rubble": 1 }, "t_region_grass": { "t_grass": 1 }, "t_region_soil": { "t_dirt": 1 },