From 5d592823db194a481220490f50374d25a22a8fdf Mon Sep 17 00:00:00 2001 From: MistakeNot4892 Date: Thu, 2 Jan 2025 01:21:22 +1100 Subject: [PATCH] Working notes for tools etc for forging. --- code/modules/crafting/forging/forging_step.dm | 117 ++++++++++++++++-- .../tool_crafting/_tool_crafting.dm | 8 ++ code/modules/tools/components/head.dm | 11 ++ 3 files changed, 128 insertions(+), 8 deletions(-) diff --git a/code/modules/crafting/forging/forging_step.dm b/code/modules/crafting/forging/forging_step.dm index 8fe88418c52b..564619af02a5 100644 --- a/code/modules/crafting/forging/forging_step.dm +++ b/code/modules/crafting/forging/forging_step.dm @@ -101,8 +101,8 @@ billet_icon_state = "flat" billet_desc = "A flattened bar of metal used to forge items and tools." steps = list( - /decl/forging_action/drawing = /decl/forging_step/armour_base, - /decl/forging_action/bending = /decl/forging_step/helmet_base, + /decl/forging_action/drawing = /decl/forging_step/armour_plates, + /decl/forging_action/bending = /decl/forging_step/armour_segments, /decl/forging_action/punching = /decl/forging_step/product/lock_and_key, /decl/forging_action/upsetting = /decl/forging_step/product/shield_fasteners ) @@ -120,27 +120,80 @@ billet_name = "blade blank" billet_icon_state = "blade" billet_desc = "A roughly shaped, dull blade. It will need further refinement before it can be finished." + steps = list( + /decl/forging_action/drawing = /decl/forging_step/long_blade_blank, + /decl/forging_action/bending = /decl/forging_step/axe_blade_blank, + /decl/forging_action/punching = /decl/forging_step/short_sword_blank + ) + +/decl/forging_step/long_blade_blank + // shortsword + // longsword + // broadsword + // rapier + +/decl/forging_step/axe_blade_blank + // war axe blade + // halberd blade + // pickaxe blade + +/decl/forging_step/short_sword_blank + // poingard + // knife blade + // arrow head + // spearhead /decl/forging_step/ornate_blank billet_name = "blank" billet_name_prefix = "ornate" billet_icon_state = "ornate" billet_desc = "An ornate piece of worked metal. It still needs some last touches to be made into something useful." + // candelabra -/decl/forging_step/armour_base - billet_desc = "A worked metal plate, a few steps and fittings away from forming some kind of armour." - billet_name = "armour base" +/decl/forging_step/armour_plates + billet_desc = "A set of worked metal plates, a few steps and fittings away from forming some kind of armour." + billet_name = "armour plates" billet_icon_state = "armour" + steps = list( + /decl/forging_action/drawing = /decl/forging_step/product/breastplate, + /decl/forging_action/bending = /decl/forging_step/product/cuirass, + /decl/forging_action/punching = /decl/forging_step/product/banded + ) -/decl/forging_step/helmet_base - billet_desc = "A worked metal plate, a few steps and fittings away from forming some kind of helmet." - billet_name = "helmet base" +/decl/forging_step/armour_segments + billet_desc = "A set of small worked metal plates, a few steps and fittings away from forming a helmet, or arm or leg armour." + billet_name = "armour segments" billet_icon_state = "helmet" + steps = list( + /decl/forging_action/drawing = /decl/forging_step/product/helmet, + /decl/forging_action/bending = /decl/forging_step/product/sabatons, + /decl/forging_action/punching = /decl/forging_step/product/vambraces + ) /decl/forging_step/tool_head_blank billet_desc = "A heavy piece of shaped metal, almost suitable for use as the head of a tool. It still needs some last touches to be made into something useful." billet_name = "tool head blank" billet_icon_state = "tool_head" + steps = list( + /decl/forging_action/drawing = /decl/forging_step/product/hoe_head, + /decl/forging_action/bending = /decl/forging_step/product/shovel_head, + /decl/forging_action/punching = /decl/forging_step/hammer_head_blank, + /decl/forging_action/upsetting = /decl/forging_step/product/chisel_head + ) + +/decl/forging_step/hammer_head_blank + steps = list( + /decl/forging_action/drawing = /decl/forging_step/product/pickaxe_head, + /decl/forging_action/bending = /decl/forging_step/product/sledge_head, + /decl/forging_action/punching = /decl/forging_step/product/hammer_head, + /decl/forging_action/upsetting = /decl/forging_step/product/forging_hammer_head + ) + + +// hammer head blank + // hammer head + // sledge head + // forging hammer head // There are effectively finished products. /decl/forging_step/product @@ -203,3 +256,51 @@ /decl/forging_step/product/lock_and_key billet_name = "lock and key" + +/decl/forging_step/product/breastplate + product_type = /obj/item/clothing/suit/armor/forged/breastplate + +/decl/forging_step/product/cuirass + product_type = /obj/item/clothing/suit/armor/forged/cuirass + +/decl/forging_step/product/banded + product_type = /obj/item/clothing/suit/armor/forged/banded + +/decl/forging_step/product/helmet + product_type = /obj/item/clothing/head/helmet/plumed + +/decl/forging_step/product/sabatons + product_type = /obj/item/clothing/shoes/sabatons + +/decl/forging_step/product/vambraces + product_type = /obj/item/clothing/gloves/vambrace + +/decl/forging_step/product/hoe_head + product_type = /obj/item/clothing/gloves/vambrace + +/decl/forging_step/product/shovel_head + product_type = /obj/item/clothing/gloves/vambrace + +/decl/forging_step/product/chisel_head + product_type = /obj/item/clothing/gloves/vambrace + +/decl/forging_step/product/hammer_head + product_type = /obj/item/tool_component/head/hammer + +/decl/forging_step/product/shovel_head + product_type = /obj/item/tool_component/head/shovel + +/decl/forging_step/product/hoe_head + product_type = /obj/item/tool_component/head/hoe + +/decl/forging_step/product/handaxe_head + product_type = /obj/item/tool_component/head/handaxe + +/decl/forging_step/product/pickaxe_head + product_type = /obj/item/tool_component/head/pickaxe + +/decl/forging_step/product/sledge_head + product_type = /obj/item/tool_component/head/sledgehammer + +/decl/forging_step/product/forging_hammer_head + product_type = /obj/item/tool_component/head/forging_hammer diff --git a/code/modules/crafting/slapcrafting/crafting_recipes/tool_crafting/_tool_crafting.dm b/code/modules/crafting/slapcrafting/crafting_recipes/tool_crafting/_tool_crafting.dm index c8169a999c22..44d115b43d07 100644 --- a/code/modules/crafting/slapcrafting/crafting_recipes/tool_crafting/_tool_crafting.dm +++ b/code/modules/crafting/slapcrafting/crafting_recipes/tool_crafting/_tool_crafting.dm @@ -12,6 +12,10 @@ var/global/list/_tool_crafting_lookup return global._tool_crafting_lookup var/global/list/_tool_crafting_components = list( + /obj/item/tool/chisel = list( + /obj/item/tool_component/head/chisel, + /obj/item/tool_component/handle/short + ), /obj/item/tool/hammer = list( /obj/item/tool_component/head/hammer, /obj/item/tool_component/handle/short @@ -36,6 +40,10 @@ var/global/list/_tool_crafting_components = list( /obj/item/tool_component/head/handaxe, /obj/item/tool_component/handle/short ) + /obj/item/tool/hammer/forge = list( + /obj/item/tool_component/head/forging_hammer, + /obj/item/tool_component/handle/short + ) ) /decl/crafting_stage/tool/tool_start diff --git a/code/modules/tools/components/head.dm b/code/modules/tools/components/head.dm index 5d7aa85f5120..8676f16cd0a1 100644 --- a/code/modules/tools/components/head.dm +++ b/code/modules/tools/components/head.dm @@ -40,6 +40,11 @@ var/global/list/_tool_properties_cache = list() desc = "The head of a hoe." icon_state = "hoe" +/obj/item/tool_component/head/chisel + name = "chisel head" + desc = "The head of a chisel." + icon_state = "hoe" + /obj/item/tool_component/head/handaxe name = "hand axe head" desc = "The head of a hand axe." @@ -58,3 +63,9 @@ var/global/list/_tool_properties_cache = list() icon_state = "sledgehammer" w_class = ITEM_SIZE_NORMAL + +/obj/item/tool_component/head/forging_hammer + name = "forging hammer head" + desc = "The head of a forging hammer." + icon_state = "sledgehammer" + w_class = ITEM_SIZE_NORMAL