diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm index eae6edd3bd4..2df4a929ceb 100644 --- a/code/game/dna/dna_modifier.dm +++ b/code/game/dna/dna_modifier.dm @@ -124,11 +124,11 @@ add_fingerprint(usr) /obj/machinery/dna_scannernew/Destroy() - eject_occupant() + eject_occupant(TRUE) return ..() -/obj/machinery/dna_scannernew/proc/eject_occupant() - go_out() +/obj/machinery/dna_scannernew/proc/eject_occupant(force) + go_out(force) for(var/obj/O in src) if(!istype(O,/obj/item/circuitboard/clonescanner) && \ !istype(O,/obj/item/stock_parts) && \ @@ -271,15 +271,16 @@ occupant.notify_ghost_cloning(source = src) -/obj/machinery/dna_scannernew/proc/go_out() +/obj/machinery/dna_scannernew/proc/go_out(force) if(!occupant) - to_chat(usr, "The scanner is empty!") + if(usr) + to_chat(usr, "The scanner is empty!") return - if(locked) - to_chat(usr, "The scanner is locked!") - return - + if(usr) + to_chat(usr, "The scanner is locked!") + if(!force) + return occupant.forceMove(loc) occupant = null icon_state = "scanner_open"