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