diff --git a/code/modules/cm_aliens/structures/egg.dm b/code/modules/cm_aliens/structures/egg.dm index 0db9871cd1fa..0c681e22b0f0 100644 --- a/code/modules/cm_aliens/structures/egg.dm +++ b/code/modules/cm_aliens/structures/egg.dm @@ -310,15 +310,17 @@ if(health <= 0) Burst(TRUE) -/obj/effect/alien/egg/Crossed(atom/movable/AM) +/obj/effect/alien/egg/Crossed(atom/movable/victim) ..() - HasProximity(AM) + HasProximity(victim) -/obj/effect/alien/egg/HasProximity(atom/movable/AM) +/obj/effect/alien/egg/HasProximity(atom/movable/victim) if(status == EGG_GROWN) - if(!can_hug(AM, hivenumber) || isyautja(AM) || issynth(AM)) //Predators are too stealthy to trigger eggs to burst. Maybe the huggers are afraid of them. + if(!can_hug(victim, hivenumber) || isyautja(victim) || issynth(victim)) //Predators are too stealthy to trigger eggs to burst. Maybe the huggers are afraid of them. return - Burst(FALSE, TRUE, null) + var/list/possible_victims = hearers(1, src) + if(possible_victims.Find(victim)) + Burst(FALSE, TRUE, null) /obj/effect/alien/egg/flamer_fire_act() // gotta kill the egg + hugger Burst(TRUE) diff --git a/code/modules/cm_aliens/structures/trap.dm b/code/modules/cm_aliens/structures/trap.dm index 0e9e69f72ca4..aa9bc9fedd90 100644 --- a/code/modules/cm_aliens/structures/trap.dm +++ b/code/modules/cm_aliens/structures/trap.dm @@ -99,6 +99,9 @@ victim_mob.apply_effect(1, WEAKEN) trigger_trap() if(RESIN_TRAP_GAS, RESIN_TRAP_ACID1, RESIN_TRAP_ACID2, RESIN_TRAP_ACID3) + var/list/possible_victims = hearers(1, src) + if(!possible_victims.Find(victim)) + return if(ishuman_strict(victim)) var/mob/living/carbon/human/victim_human = victim if(victim_human.stat == DEAD || victim_human.body_position == LYING_DOWN)