diff --git a/monkestation/code/modules/outdoors/code/datum/particle_weathers/_particle_weather.dm b/monkestation/code/modules/outdoors/code/datum/particle_weathers/_particle_weather.dm index 34ad2a10e7f8..2626290b2fb2 100644 --- a/monkestation/code/modules/outdoors/code/datum/particle_weathers/_particle_weather.dm +++ b/monkestation/code/modules/outdoors/code/datum/particle_weathers/_particle_weather.dm @@ -277,14 +277,15 @@ GLOBAL_LIST_EMPTY(siren_objects) switch(plane_type) if("Default") SSparticle_weather.particle_effect?.animate_severity(severity_mod()) + //Wait for the last particle to fade, then qdel yourself + addtimer(CALLBACK(src, PROC_REF(end)), SSparticle_weather.particle_effect.lifespan + SSparticle_weather.particle_effect.fade) if("Eclipse") SSparticle_weather.particle_effect_eclipse?.animate_severity(severity_mod()) + //Wait for the last particle to fade, then qdel yourself + addtimer(CALLBACK(src, PROC_REF(end)), SSparticle_weather.particle_effect_eclipse.lifespan + SSparticle_weather.particle_effect_eclipse.fade) else stack_trace("[src] had invalid plane_type [plane_type]") - //Wait for the last particle to fade, then qdel yourself - addtimer(CALLBACK(src, PROC_REF(end)), SSparticle_weather.particle_effect.lifespan + SSparticle_weather.particle_effect.fade) - /datum/particle_weather/proc/end() running = FALSE SSparticle_weather.stop_weather(plane_type)