diff --git a/code/datums/components/swarming.dm b/code/datums/components/swarming.dm index 608359d4908..a58080ee4c8 100644 --- a/code/datums/components/swarming.dm +++ b/code/datums/components/swarming.dm @@ -27,6 +27,10 @@ return ..() /datum/component/swarming/proc/join_swarm(datum/source, atom/movable/arrived, atom/old_loc, list/atom/old_locs) + if(isliving(arrived)) + var/mob/living/our_mob = arrived + if(our_mob.stat == DEAD) + return var/datum/component/swarming/other_swarm = arrived.GetComponent(/datum/component/swarming) if(!other_swarm) return diff --git a/code/modules/mob/living/simple_animal/hostile/carp.dm b/code/modules/mob/living/simple_animal/hostile/carp.dm index cd43a1db281..8a7f859449c 100644 --- a/code/modules/mob/living/simple_animal/hostile/carp.dm +++ b/code/modules/mob/living/simple_animal/hostile/carp.dm @@ -124,13 +124,13 @@ // We do not want mobs moving through space carp, we as such we block it if the mob is not dense /mob/living/simple_animal/hostile/carp/CanPass(atom/movable/mover, border_dir) - if(isliving(mover) && !istype(mover, /mob/living/simple_animal/hostile/carp) && mover.density == TRUE) + if(isliving(mover) && !istype(mover, /mob/living/simple_animal/hostile/carp) && mover.density == TRUE && stat != DEAD) return FALSE return ..() // Since it's not dense we let it always hit /mob/living/simple_animal/hostile/carp/projectile_hit_check(obj/item/projectile/P) - return FALSE + return stat == DEAD /mob/living/simple_animal/hostile/carp/holocarp icon_state = "holocarp"