diff --git a/monkestation/code/game/machinery/cloning.dm b/monkestation/code/game/machinery/cloning.dm index b1e36308e4a7..d194835204ed 100644 --- a/monkestation/code/game/machinery/cloning.dm +++ b/monkestation/code/game/machinery/cloning.dm @@ -385,6 +385,9 @@ if(!mob_occupant) return + + exp_clone_check(mob_occupant) + current_insurance = null REMOVE_TRAIT(mob_occupant, TRAIT_STABLEHEART, CLONING_POD_TRAIT) REMOVE_TRAIT(mob_occupant, TRAIT_STABLELIVER, CLONING_POD_TRAIT) @@ -412,6 +415,9 @@ unattached_flesh.Cut() occupant = null + +/obj/machinery/clonepod/proc/exp_clone_check(mob_occupant) + return /obj/machinery/clonepod/proc/malfunction() var/mob/living/mob_occupant = occupant diff --git a/monkestation/code/game/machinery/exp_cloner.dm b/monkestation/code/game/machinery/exp_cloner.dm index 3c49c3caf090..f16bb07afbbc 100644 --- a/monkestation/code/game/machinery/exp_cloner.dm +++ b/monkestation/code/game/machinery/exp_cloner.dm @@ -81,6 +81,9 @@ attempting = FALSE return CLONING_SUCCESS //so that we don't spam clones with autoprocess unless we leave a body in the scanner +/obj/machinery/clonepod/experimental/exp_clone_check(mob/living/carbon/human/mob_occupant) + if(!mob_occupant?.mind) //When experimental cloner fails to get a ghost, it won't spit out a body, so we don't get an army of brainless rejects. + qdel(mob_occupant) /obj/machinery/clonepod/experimental/proc/get_clone_preview(datum/dna/clone_dna) RETURN_TYPE(/image)