From becc10c50d13c0e9ae9c189d1a95af135b887746 Mon Sep 17 00:00:00 2001 From: larentoun <31931237+larentoun@users.noreply.github.com> Date: Mon, 24 Jul 2023 07:29:58 +0900 Subject: [PATCH] [FIX] Mining Vendor now spits ID on power_off (#21658) * fix: Miner Vendor now spits ID on power_off https://github.com/ss220-space/Paradise/pull/1317 * review fixes * oops missed that * Update code/modules/mining/machine_vending.dm Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com> --------- Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com> --- code/modules/mining/machine_vending.dm | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index d2ea1d41b7c..098f3a0ced0 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -93,13 +93,18 @@ ) prize_list["Extra"] = list() // Used in child vendors +/obj/machinery/mineral/equipment_vendor/proc/remove_id() + if(inserted_id) + inserted_id.forceMove(get_turf(src)) + inserted_id = null + return TRUE + /obj/machinery/mineral/equipment_vendor/power_change() - if(!..()) - return + . = ..() update_icon(UPDATE_ICON_STATE) - if(inserted_id && !(stat & NOPOWER)) - visible_message("The ID slot indicator light flickers on \the [src] as it spits out a card before powering down.") - inserted_id.forceMove(loc) + if(. && inserted_id && (stat & NOPOWER)) + visible_message("The ID slot indicator light flickers on [src] as it spits out a card before powering down.") + remove_id() /obj/machinery/mineral/equipment_vendor/update_icon_state() if(has_power()) @@ -203,8 +208,7 @@ return if(panel_open) if(istype(I, /obj/item/crowbar)) - if(inserted_id) - inserted_id.forceMove(loc) //Prevents deconstructing the ORM from deleting whatever ID was inside it. + remove_id() default_deconstruction_crowbar(user, I) return TRUE if(istype(I, /obj/item/mining_voucher)) @@ -268,8 +272,7 @@ qdel(src) /obj/machinery/mineral/equipment_vendor/Destroy() - if(inserted_id) - inserted_id.forceMove(loc) + remove_id() return ..()