From 6f91e1359f49e9d9f6656ed0ce0d7737feaf9527 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Sun, 5 Dec 2021 16:29:23 +0100 Subject: [PATCH] [MIRROR] BCI implanters no longer drop their BCI on the floor when opened [MDB IGNORE] (#9885) * BCI implanters no longer drop their BCI on the floor when opened (#63204) Exactly what it says in the title. Implanters used to drop the BCI they contained when opened up. Now they don't. For good measure I made them drop their contained BCIs when deconstructed as well in case they already did that as a consequence of the BCI being located inside the implanter, which was the cause of the issue in the first place. * BCI implanters no longer drop their BCI on the floor when opened Co-authored-by: Y0SH1M4S73R --- code/modules/wiremod/shell/brain_computer_interface.dm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/code/modules/wiremod/shell/brain_computer_interface.dm b/code/modules/wiremod/shell/brain_computer_interface.dm index b896f78cd6a..36cc2aa9656 100644 --- a/code/modules/wiremod/shell/brain_computer_interface.dm +++ b/code/modules/wiremod/shell/brain_computer_interface.dm @@ -339,6 +339,11 @@ . = ..() occupant_typecache = typecacheof(/mob/living/carbon) +/obj/machinery/bci_implanter/on_deconstruction() + var/obj/item/organ/cyberimp/bci/bci_to_implant_resolved = bci_to_implant?.resolve() + bci_to_implant_resolved?.forceMove(drop_location()) + bci_to_implant = null + /obj/machinery/bci_implanter/Destroy() QDEL_NULL(bci_to_implant) return ..() @@ -416,7 +421,7 @@ var/obj/item/organ/cyberimp/bci/previous_bci_to_implant = bci_to_implant?.resolve() bci_to_implant = WEAKREF(weapon) - weapon.forceMove(src) + weapon.moveToNullspace() if (isnull(previous_bci_to_implant)) balloon_alert(user, "inserted bci") @@ -475,7 +480,7 @@ if (isnull(bci_to_implant_resolved)) say("Occupant's previous brain-computer interface has been transferred to internal storage unit.") - bci_organ.forceMove(src) + bci_organ.moveToNullspace() bci_to_implant = WEAKREF(bci_organ) else say("Occupant's previous brain-computer interface has been ejected.")