From cae0e53145d13dde3c1b4985d66580ec79c49f95 Mon Sep 17 00:00:00 2001 From: Hatterhat <31829017+Hatterhat@users.noreply.github.com> Date: Wed, 8 Oct 2025 21:25:52 -0500 Subject: [PATCH] spawner legion corpses disappear in storms (#93276) ## About The Pull Request About what it says on the tin. Corpses from spawner legions (e.g. vent legions, tendril legions) have the storm-hating component, which means that when a storm starts the body is deleted. Also makes it so that the `storm_hating` component clears itself when the atom it's attached to is logged into, so skeletons you do decide to brainswap into/bodyjack/etc. won't Thanos snap and turn into dust if you get stormed on. ## Why It's Good For The Game Ashes to ashes, dust to dust. Prevents corpses from piling up that badly. I swear this was a feature but I don't know whatever happened to it. ## Changelog :cl: qol: The skeletal corpses left from spawner legions (e.g. from ore vent defenses and legion necropolis tendrils) now disappear during ash storms. This does not apply if the body gets brainswapped into. /:cl: --------- Co-authored-by: Hatterhat --- code/datums/components/storm_hating.dm | 5 +++++ code/modules/mob_spawn/corpses/mining_corpses.dm | 1 + 2 files changed, 6 insertions(+) diff --git a/code/datums/components/storm_hating.dm b/code/datums/components/storm_hating.dm index 896c9cd471a..62a59a0ad71 100644 --- a/code/datums/components/storm_hating.dm +++ b/code/datums/components/storm_hating.dm @@ -19,6 +19,7 @@ . = ..() RegisterSignal(parent, COMSIG_ENTER_AREA, PROC_REF(on_area_entered)) RegisterSignal(parent, COMSIG_EXIT_AREA, PROC_REF(on_area_exited)) + RegisterSignal(parent, COMSIG_MOB_LOGIN, PROC_REF(on_login)) /datum/component/storm_hating/UnregisterFromParent() . = ..() @@ -46,3 +47,7 @@ return parent_atom.fade_into_nothing(life_time = 3 SECONDS, fade_time = 2 SECONDS) qdel(src) + +/datum/component/storm_hating/proc/on_login(datum/source) + SIGNAL_HANDLER + qdel(src) diff --git a/code/modules/mob_spawn/corpses/mining_corpses.dm b/code/modules/mob_spawn/corpses/mining_corpses.dm index 9edfbeddf8b..c66acc9b148 100644 --- a/code/modules/mob_spawn/corpses/mining_corpses.dm +++ b/code/modules/mob_spawn/corpses/mining_corpses.dm @@ -137,6 +137,7 @@ /obj/effect/mob_spawn/corpse/human/legioninfested/skeleton/charred/special(mob/living/carbon/human/spawned_human) . = ..() spawned_human.color = "#454545" + spawned_human.AddComponent(/datum/component/storm_hating) /datum/outfit/consumed_miner