diff --git a/code/datums/pain/_pain.dm b/code/datums/pain/_pain.dm index 826773504151..6c494fc65ed2 100644 --- a/code/datums/pain/_pain.dm +++ b/code/datums/pain/_pain.dm @@ -286,15 +286,20 @@ /datum/pain/proc/oxyloss_drag(mob/living/source, mob/puller) SIGNAL_HANDLER if(isxeno(puller) && source.stat == UNCONSCIOUS) + var/mob/living/carbon/xenomorph/xeno_puller = puller + if(source.ally_of_hivenumber(xeno_puller.hivenumber)) + return if(source.get_species()) var/mob/living/carbon/human/H = source if(H.species.flags & HAS_HARDCRIT) source.apply_damage(20, OXY) -/datum/pain/proc/handle_devour(mob/living/source) +/datum/pain/proc/handle_devour(mob/living/source, mob/living/carbon/xenomorph/devourer) SIGNAL_HANDLER if(source.chestburst) return + if(source.ally_of_hivenumber(devourer.hivenumber)) + return oxy_kill(source) return COMPONENT_CANCEL_DEVOUR