diff --git a/code/game/objects/effects/anomalies/anomalies_static.dm b/code/game/objects/effects/anomalies/anomalies_static.dm
index 205a8778d394..a00babe5844a 100644
--- a/code/game/objects/effects/anomalies/anomalies_static.dm
+++ b/code/game/objects/effects/anomalies/anomalies_static.dm
@@ -47,7 +47,7 @@
var/mob/living/carbon/victim = looking
var/obj/effect/anomaly/tvstatic/planetary/expansion
expansion = new(get_turf(victim))
- visible_message(" The static overtakes [victim], [expansion] taking their place!")
+ visible_message(span_warning("The static overtakes [victim], taking their place!"))
victim.death()
expansion.stored_mob = victim
victim.forceMove(expansion)
@@ -89,13 +89,13 @@
/obj/effect/anomaly/tvstatic/detonate()
for(var/mob/living/carbon/human/looking in range(effectrange, src))
- visible_message(" The static lashes out, agony filling your mind as its tendrils scrape your thoughts!")
+ visible_message(span_boldwarning(" The static lashes out, agony filling your mind as its tendrils scrape your thoughts!"))
if (!HAS_TRAIT(looking, TRAIT_MINDSHIELD) && looking.stat != DEAD)
looking.adjustOrganLoss(ORGAN_SLOT_BRAIN, 100, 200)
playsound(src, 'sound/effects/stall.ogg', 100)
if(stored_mob)
mangle_corpse()
- visible_message("The static sputters out [stored_mob], their body coming out in a burst of blood and gore!")
+ visible_message(span_warning("The static sputters out [stored_mob], their body coming out in a burst of blood and gore!"))
new /obj/effect/gibspawner/human(loc)
stored_mob.forceMove(get_turf(src))
stored_mob = null
@@ -111,7 +111,7 @@
var/turf/T = get_turf(src)
if(T)
if(stored_mob)
- visible_message("The static spits out [stored_mob], their body coming out in a burst!")
+ visible_message(span_warning("The static spits out [stored_mob], their body coming out in a burst!"))
stored_mob.forceMove(get_turf(src))
stored_mob = null
. = ..()
@@ -122,8 +122,11 @@
immobile = TRUE
/obj/effect/anomaly/tvstatic/planetary/Initialize(mapload)
- if(prob(25))
- stored_mob = /obj/effect/mob_spawn/human/corpse/damaged
+ if(prob(25) & !stored_mob)
+ var/obj/effect/mob_spawn/human/corpse/damaged/legioninfested/vicspawner = new (src)
+ var/mob/living/carbon/victim = (vicspawner.spawned_mob_ref)?.resolve()
+ src.stored_mob = victim
+ victim.forceMove(src)
. = ..()
/obj/effect/particle_effect/staticball
diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm
index 8e8739a5acb0..40932634cfa4 100644
--- a/code/modules/awaymissions/corpse.dm
+++ b/code/modules/awaymissions/corpse.dm
@@ -32,6 +32,8 @@
var/show_flavour = TRUE
var/banType = ROLE_LAVALAND
var/ghost_usable = TRUE
+ /// Weakref to the mob this spawner created - just if you needed to do something with it.
+ var/datum/weakref/spawned_mob_ref
//ATTACK GHOST IGNORING PARENT RETURN VALUE
/obj/effect/mob_spawn/attack_ghost(mob/user)
@@ -128,6 +130,7 @@
MM.name = M.real_name
if(uses > 0)
uses--
+ spawned_mob_ref = WEAKREF(M)
if(!permanent && !uses)
qdel(src)
return M
@@ -220,6 +223,7 @@
if(istype(C))
C.sensor_mode = NO_SENSORS
+
var/obj/item/card/id/W = H.wear_id
if(W)
if(H.age)