diff --git a/code/WorkInProgress/computer3/NTOS.dm b/code/WorkInProgress/computer3/NTOS.dm index b7c2defc4a1..0b921ad43b8 100644 --- a/code/WorkInProgress/computer3/NTOS.dm +++ b/code/WorkInProgress/computer3/NTOS.dm @@ -186,6 +186,14 @@ interact() return // else ??? + if(istype(C,/obj/item/part/computer/cardslot)) + if(computer.cardslot.reader != null) + computer.cardslot.remove() + if(istype(C,/obj/item/part/computer/cardslot/dual)) + if(computer.cardslot.writer != null) + computer.cardslot.remove(computer.cardslot.writer) + if(computer.cardslot.reader != null) + computer.cardslot.remove(computer.cardslot.reader) interact() return diff --git a/code/WorkInProgress/computer3/component.dm b/code/WorkInProgress/computer3/component.dm index a6965ab9e55..8dc2ec835bf 100644 --- a/code/WorkInProgress/computer3/component.dm +++ b/code/WorkInProgress/computer3/component.dm @@ -111,6 +111,8 @@ var/mob/living/carbon/human/user = usr if(istype(user) && !user.get_active_hand()) user.put_in_hands(reader) + else + reader.loc = computer.loc reader = null // Authorizes the user based on the computer's requirements @@ -190,5 +192,7 @@ var/mob/living/carbon/human/user = usr if(ishuman(user) && !user.get_active_hand()) user.put_in_hands(card) + else + card.loc = computer.loc