From 1a5ddc018ec5405873ca330f2baddb65c2ae4427 Mon Sep 17 00:00:00 2001 From: Contrabang <91113370+Contrabang@users.noreply.github.com> Date: Fri, 29 Aug 2025 12:36:09 -0400 Subject: [PATCH] woop woop swarm (#30321) --- code/datums/components/swarming.dm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/code/datums/components/swarming.dm b/code/datums/components/swarming.dm index a58080ee4c8..6f6b4b77fd1 100644 --- a/code/datums/components/swarming.dm +++ b/code/datums/components/swarming.dm @@ -5,7 +5,8 @@ var/list/swarm_members = list() var/static/list/swarming_loc_connections = list( COMSIG_ATOM_EXITED = PROC_REF(leave_swarm), - COMSIG_ATOM_ENTERED = PROC_REF(join_swarm) + COMSIG_ATOM_ENTERED = PROC_REF(join_swarm), + COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON = PROC_REF(join_swarm) ) @@ -26,7 +27,8 @@ swarm_members = null return ..() -/datum/component/swarming/proc/join_swarm(datum/source, atom/movable/arrived, atom/old_loc, list/atom/old_locs) +/datum/component/swarming/proc/join_swarm(datum/source, atom/movable/arrived) + SIGNAL_HANDLER // COMSIG_ATOM_ENTERED + COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON if(isliving(arrived)) var/mob/living/our_mob = arrived if(our_mob.stat == DEAD) @@ -40,6 +42,7 @@ other_swarm.swarm_members |= src /datum/component/swarming/proc/leave_swarm(datum/source, atom/movable/gone, direction) + SIGNAL_HANDLER // COMSIG_ATOM_EXITED var/datum/component/swarming/other_swarm = gone.GetComponent(/datum/component/swarming) if(!other_swarm || !(other_swarm in swarm_members)) return