From d9b07c1f5d1fb7c9b2fa613ace9cf214d2a721df Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Fri, 25 May 2018 12:00:49 -0400 Subject: [PATCH 1/2] Merge pull request #38045 from ShizCalev/id-teleport-fix Security console fixes --- code/game/machinery/computer/security.dm | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 3d9b909f99..1c7de214ba 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -831,18 +831,21 @@ What a mess.*/ return 0 /obj/machinery/computer/secure_data/AltClick(mob/user) - if(user.canUseTopic(src) && scan) + if(user.canUseTopic(src)) eject_id(user) /obj/machinery/computer/secure_data/proc/eject_id(mob/user) if(scan) - user.put_in_hands(scan) + scan.forceMove(drop_location()) + if(!issilicon(user) && Adjacent(user)) + user.put_in_hands(scan) scan = null playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0) else //switching the ID with the one you're holding - var/obj/item/I = user.is_holding_item_of_type(/obj/item/card/id) - if(I) - if(!user.transferItemToLoc(I, src)) - return - scan = I - playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0) + if(issilicon(user) || !Adjacent(user)) + return + var/obj/item/card/id/held_id = user.is_holding_item_of_type(/obj/item/card/id) + if(QDELETED(held_id) || !user.transferItemToLoc(held_id, src)) + return + scan = held_id + playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0)