From 2ef5e9baa68c7a060cf256d980f99d3e2fc0db95 Mon Sep 17 00:00:00 2001 From: Will <7099514+Willburd@users.noreply.github.com> Date: Mon, 10 Aug 2026 06:24:18 -0400 Subject: [PATCH] fix eject (#19657) --- code/game/dna/dna_modifier.dm | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm index c53567e19f9..3f174d49872 100644 --- a/code/game/dna/dna_modifier.dm +++ b/code/game/dna/dna_modifier.dm @@ -133,8 +133,14 @@ var/mob/living/carbon/WC = get_occupant() go_out() for(var/obj/O in src) - if((!istype(O,/obj/item/reagent_containers)) && (!istype(O,/obj/item/circuitboard/clonescanner)) && (!istype(O,/obj/item/stock_parts)) && (!istype(O,/obj/item/stack/cable_coil))) - O.forceMove(get_turf(src)) //Ejects items that manage to get in there (exluding the components) + //Ejects items that manage to get in there (exluding the components, and beakers) + if(O == beaker) + continue + if(O == circuit) + continue + if(O in component_parts) + continue + O.forceMove(get_turf(src)) if(!WC) for(var/mob/M in src)//Failsafe so you can get mobs out M.forceMove(get_turf(src)) @@ -597,11 +603,7 @@ if("ejectOccupant") playsound(src, 'sound/machines/button.ogg', 30, 1, 0) connected.eject_occupant() - // Eject disk too, because we can't get to the UI otherwise - if(!disk) - return TRUE - disk.forceMove(get_turf(src)) - disk = null + return TRUE // Transfer Buffer Management if("bufferOption") var/bufferOption = params["option"]