From fe6e445760ade9158e5fcf84346b11d1cfb15d42 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Sat, 24 Jul 2021 10:26:07 +0100 Subject: [PATCH] Manual ore redemption (#16414) --- code/modules/mining/machine_redemption.dm | 26 +++++++++++++++-------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/code/modules/mining/machine_redemption.dm b/code/modules/mining/machine_redemption.dm index 18681157664..b3fbae50e50 100644 --- a/code/modules/mining/machine_redemption.dm +++ b/code/modules/mining/machine_redemption.dm @@ -60,7 +60,7 @@ ..() ore_buffer = list() // Components - AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TRANQUILLITE, MAT_TITANIUM, MAT_BLUESPACE), INFINITY, FALSE, /obj/item/stack, null, CALLBACK(src, .proc/on_material_insert)) + AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TRANQUILLITE, MAT_TITANIUM, MAT_BLUESPACE), INFINITY, FALSE, /obj/item/stack, null, CALLBACK(src, .proc/on_material_insert), TRUE) files = new /datum/research/smelter(src) // Stock parts component_parts = list() @@ -192,24 +192,32 @@ message_sent = TRUE // Interactions -/obj/machinery/mineral/ore_redemption/attackby(obj/item/W, mob/user, params) - if(exchange_parts(user, W)) +/obj/machinery/mineral/ore_redemption/attackby(obj/item/I, mob/user, params) + if(exchange_parts(user, I)) return if(!powered()) return ..() - if(istype(W, /obj/item/card/id)) + if(istype(I, /obj/item/card/id)) try_insert_id(user) return - else if(istype(W, /obj/item/disk/design_disk)) + + else if(istype(I, /obj/item/stack/ore)) + var/obj/item/stack/ore/O = I + to_chat(user, "You insert [O.amount] [O.singular_name]\s into [src].") + smelt_ore(O) + SStgui.update_uis(src) // This is needed + return + + else if(istype(I, /obj/item/disk/design_disk)) if(!user.drop_item()) return - W.forceMove(src) - inserted_disk = W + I.forceMove(src) + inserted_disk = I SStgui.update_uis(src) interact(user) - user.visible_message("[user] inserts [W] into [src].", \ - "You insert [W] into [src].") + user.visible_message("[user] inserts [I] into [src].", + "You insert [I] into [src].") return return ..()