diff --git a/code/modules/mapfluff/ruins/spaceruin_code/meatderelict.dm b/code/modules/mapfluff/ruins/spaceruin_code/meatderelict.dm index 2b221664148..440f7ad0578 100644 --- a/code/modules/mapfluff/ruins/spaceruin_code/meatderelict.dm +++ b/code/modules/mapfluff/ruins/spaceruin_code/meatderelict.dm @@ -125,6 +125,7 @@ /obj/lightning_thrower/Destroy() . = ..() + clear_signals() signal_turfs = null STOP_PROCESSING(SSprocessing, src) @@ -132,6 +133,8 @@ var/list/dirs = throw_diagonals ? GLOB.diagonals : GLOB.cardinals throw_diagonals = !throw_diagonals playsound(src, 'sound/effects/magic/lightningbolt.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE, ignore_walls = FALSE) + if(length(signal_turfs)) + clear_signals() for(var/direction in dirs) var/victim_turf = get_step(src, direction) if(isclosedturf(victim_turf)) @@ -143,8 +146,7 @@ shock_victim(null, victim) addtimer(CALLBACK(src, PROC_REF(clear_signals)), shock_duration) -/obj/lightning_thrower/proc/clear_signals(datum/source) - SIGNAL_HANDLER +/obj/lightning_thrower/proc/clear_signals() for(var/turf in signal_turfs) UnregisterSignal(turf, COMSIG_ATOM_ENTERED) signal_turfs -= turf