From 9f521515ce5afbecac194889f810cd0da2ae0cde Mon Sep 17 00:00:00 2001 From: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com> Date: Thu, 4 Apr 2024 10:42:28 -0400 Subject: [PATCH] create circuits from forging (#27009) Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com> --- .../reagent_forging/code/crafting_bench.dm | 1 + .../code/crafting_bench_recipes.dm | 9 +++++ .../reagent_forging/code/forge_items.dm | 35 ++++++++++++++++++ .../reagent_forging/icons/obj/forge_items.dmi | Bin 6469 -> 6620 bytes 4 files changed, 45 insertions(+) diff --git a/modular_skyrat/modules/reagent_forging/code/crafting_bench.dm b/modular_skyrat/modules/reagent_forging/code/crafting_bench.dm index 54678a1c6fb..ce2a1e1576f 100644 --- a/modular_skyrat/modules/reagent_forging/code/crafting_bench.dm +++ b/modular_skyrat/modules/reagent_forging/code/crafting_bench.dm @@ -39,6 +39,7 @@ /datum/crafting_bench_recipe/centrifuge, /datum/crafting_bench_recipe/bokken, /datum/crafting_bench_recipe/bow, + /datum/crafting_bench_recipe/empty_circuit, ) /// Radial options for recipes in the allowed_choices list, populated by populate_radial_choice_list var/list/radial_choice_list = list() diff --git a/modular_skyrat/modules/reagent_forging/code/crafting_bench_recipes.dm b/modular_skyrat/modules/reagent_forging/code/crafting_bench_recipes.dm index b9aede74f74..2880a3fc5e7 100644 --- a/modular_skyrat/modules/reagent_forging/code/crafting_bench_recipes.dm +++ b/modular_skyrat/modules/reagent_forging/code/crafting_bench_recipes.dm @@ -148,3 +148,12 @@ ) resulting_item = /obj/item/forging/incomplete_bow required_good_hits = 8 + +/datum/crafting_bench_recipe/empty_circuit + recipe_name = "circuit" + recipe_requirements = list( + /obj/item/forging/complete/plate = 1, + /obj/item/forging/coil = 1, + ) + resulting_item = /obj/item/empty_circuit + required_good_hits = 4 diff --git a/modular_skyrat/modules/reagent_forging/code/forge_items.dm b/modular_skyrat/modules/reagent_forging/code/forge_items.dm index f5d85ea8e10..5b9dae85769 100644 --- a/modular_skyrat/modules/reagent_forging/code/forge_items.dm +++ b/modular_skyrat/modules/reagent_forging/code/forge_items.dm @@ -313,3 +313,38 @@ if(skyrat_obj_flags & ANVIL_REPAIR) forceMove(tool) tool.icon_state = "tong_full" + +/obj/item/empty_circuit + name = "empty circuit" + desc = "This is a circuit that is close to being finished; it just requires some forethought and gold." + icon = 'modular_skyrat/modules/reagent_forging/icons/obj/forge_items.dmi' + icon_state = "circuit" + var/static/recycleable_circuits = typecacheof(list( + /obj/item/electronics/airalarm, + /obj/item/electronics/firealarm, + /obj/item/electronics/apc, + ))//A typecache of circuits consumable for material + +/obj/item/empty_circuit/attackby(obj/item/attacking_item, mob/user, params) + if(istype(attacking_item, /obj/item/stack/sheet/mineral/gold)) + var/obj/item/stack/attacking_stack = attacking_item + var/choice = tgui_input_list(user, "Which circuit are you thinking about?", "Circuit Creation", recycleable_circuits) + if(!choice) + to_chat(user, span_notice("You decide against creating the circuit...")) + return + + if(!do_after(user, 5 SECONDS, src)) + to_chat(user, span_warning("You moved around, destroying the circuit!")) + qdel(src) + return + + if(!attacking_stack.use(1)) + to_chat(user, span_warning("You weren't able to use the gold, destroying the circuit!")) + qdel(src) + return + + new choice(get_turf(src)) + qdel(src) + return + + return ..() diff --git a/modular_skyrat/modules/reagent_forging/icons/obj/forge_items.dmi b/modular_skyrat/modules/reagent_forging/icons/obj/forge_items.dmi index c333e753d6594c63199ad940ab57eb532c0c3174..08c9740d44e1e88bd44d2a029d8d923b7ed93d63 100644 GIT binary patch literal 6620 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