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