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 ..()