diff --git a/code/game/objects/items/defibrillator.dm b/code/game/objects/items/defibrillator.dm
index e6604112f41..bab8a787492 100644
--- a/code/game/objects/items/defibrillator.dm
+++ b/code/game/objects/items/defibrillator.dm
@@ -305,10 +305,6 @@
SSblackbox.record_feedback(FEEDBACK_TALLY, "round_statistics", 1, "total_human_revives[H.faction]")
to_chat(H, span_notice("You suddenly feel a spark and your consciousness returns, dragging you back to the mortal plane."))
- if(CHECK_BITFIELD(H.status_flags, XENO_HOST))
- var/obj/item/alien_embryo/friend = locate() in H
- START_PROCESSING(SSobj, friend)
-
notify_ghosts("[user] has brought [H.name] back to life!", source = H, action = NOTIFY_ORBIT)
/obj/item/defibrillator/civi
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index e768b204db0..a1eb28241ae 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -58,12 +58,6 @@
SEND_SIGNAL(src, COMSIG_HUMAN_SET_UNDEFIBBABLE)
SSmobs.stop_processing(src) //Last round of processing.
- if(CHECK_BITFIELD(status_flags, XENO_HOST))
- var/obj/item/alien_embryo/parasite = locate(/obj/item/alien_embryo) in src
- if(parasite) //The larva cannot survive without a host.
- qdel(parasite)
- DISABLE_BITFIELD(status_flags, XENO_HOST)
-
if(hud_list)
med_hud_set_status()
diff --git a/code/modules/mob/living/carbon/xenomorph/embryo.dm b/code/modules/mob/living/carbon/xenomorph/embryo.dm
index 01ceed82799..f2d6a664c3d 100644
--- a/code/modules/mob/living/carbon/xenomorph/embryo.dm
+++ b/code/modules/mob/living/carbon/xenomorph/embryo.dm
@@ -56,11 +56,6 @@
affected_mob = null
return PROCESS_KILL
- if(affected_mob.stat == DEAD)
- var/mob/living/carbon/xenomorph/larva/L = locate() in affected_mob
- L?.initiate_burst(affected_mob)
- return PROCESS_KILL
-
if(HAS_TRAIT(affected_mob, TRAIT_STASIS))
return //If they are in cryo, bag or cell, the embryo won't grow.
@@ -82,6 +77,9 @@
if(affected_mob.reagents.get_reagent_amount(/datum/reagent/medicine/spaceacillin))
counter -= 1
+ if(affected_mob.stat == DEAD)
+ counter -= 1
+
if(boost_timer)
counter += 2.5 //Doubles larval growth progress. Burst time in ~3 min.
adjust_boost_timer(-1)
@@ -109,7 +107,7 @@
affected_mob.emote("[pick("sneeze", "cough")]")
if(4)
if(prob(1))
- if(!affected_mob.IsUnconscious())
+ if(!affected_mob.IsUnconscious() && !affected_mob.stat == DEAD)
affected_mob.visible_message(span_danger("\The [affected_mob] starts shaking uncontrollably!"), \
span_danger("You start shaking uncontrollably!"))
affected_mob.Unconscious(20 SECONDS)