diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm
index c78a16f1de3..29ab83e2cb7 100644
--- a/code/modules/assembly/signaler.dm
+++ b/code/modules/assembly/signaler.dm
@@ -24,7 +24,7 @@
return MANUAL_SUICIDE_NONLETHAL
/obj/item/assembly/signaler/proc/manual_suicide(mob/living/carbon/user)
- user.visible_message("[user]'s \the [src] receives a signal, killing [user.p_them()] instantly!")
+ user.visible_message("[user]'s [src] receives a signal, killing [user.p_them()] instantly!")
user.adjustOxyLoss(200)//it sends an electrical pulse to their heart, killing them. or something.
user.death(0)
user.set_suicide(TRUE)
@@ -196,10 +196,23 @@ Code:
return FALSE
if(signal.data["code"] != code)
return FALSE
+ if(suicider)
+ manual_suicide(suicider)
for(var/obj/effect/anomaly/A in get_turf(src))
A.anomalyNeutralize()
return TRUE
+/obj/item/assembly/signaler/anomaly/manual_suicide(mob/living/carbon/user)
+ user.visible_message("[user]'s [src] is reacting to the radio signal, warping [user.p_their()] body!")
+ user.set_suicide(TRUE)
+ user.suicide_log()
+ user.gib()
+
+/obj/item/assembly/signaler/anomaly/attackby(obj/item/I, mob/user, params)
+ if(I.tool_behaviour == TOOL_ANALYZER)
+ to_chat(user, "Analyzing... [src]'s stabilized field is fluctuating along frequency [format_frequency(frequency)], code [code].")
+ ..()
+
/obj/item/assembly/signaler/anomaly/attack_self()
return