diff --git a/code/game/machinery/computer/prisoner.dm b/code/game/machinery/computer/prisoner.dm index 7ca9f1ba0ad..76539ed9148 100644 --- a/code/game/machinery/computer/prisoner.dm +++ b/code/game/machinery/computer/prisoner.dm @@ -124,9 +124,9 @@ to_chat(R, "You hear a voice in your head saying: '[warning]'") else if(href_list["explode"]) - var/obj/item/weapon/implant/I = locate(href_list["explode"]) + var/obj/item/weapon/implant/explosive/remote/I = locate(href_list["explode"]) if(istype(I)) - I.activate() + I.activate(usr) src.add_fingerprint(usr) src.updateUsrDialog() diff --git a/code/game/objects/items/weapons/implants/types/chemical_implant.dm b/code/game/objects/items/weapons/implants/types/chemical_implant.dm index 1c3b908cb1b..224c5faa002 100644 --- a/code/game/objects/items/weapons/implants/types/chemical_implant.dm +++ b/code/game/objects/items/weapons/implants/types/chemical_implant.dm @@ -7,11 +7,9 @@ ..() create_reagents(50) chemical_implants.Add(src) - remote_implants.Add(src) /obj/item/weapon/implant/chem/Destroy() chemical_implants.Remove(src) - remote_implants.Remove(src) ..() /obj/item/weapon/implant/chem/get_data() diff --git a/code/game/objects/items/weapons/implants/types/explosive_implant.dm b/code/game/objects/items/weapons/implants/types/explosive_implant.dm index bdebb95c4ef..38f6d41dd81 100644 --- a/code/game/objects/items/weapons/implants/types/explosive_implant.dm +++ b/code/game/objects/items/weapons/implants/types/explosive_implant.dm @@ -111,6 +111,14 @@ desc = "Injects \"chemicals\"." icon_state = "implant" +/obj/item/weapon/implant/explosive/remote/New() + ..() + remote_implants.Add(src) + +/obj/item/weapon/implant/explosive/remote/Destroy() + remote_implants.Remove(src) + ..() + /obj/item/weapon/implant/explosive/remote/get_data() return {" Implant Specifications:
@@ -127,21 +135,21 @@ the implant may become unstable and either pre-maturely inject the subject or si /obj/item/weapon/implant/explosive/remote/Hear() return -/obj/item/weapon/implant/explosive/remote/activate() +/obj/item/weapon/implant/explosive/remote/activate(mob/user) if(malfunction == IMPLANT_MALFUNCTION_PERMANENT) return if(iscarbon(imp_in)) var/mob/M = imp_in - message_admins("Remote explosive implant triggered in [M] ([M.key]). (JMP) ") - log_game("Remote explosive implant triggered in [M] ([M.key]).") + message_admins("Remote explosive implant triggered in [M] ([M.key])[user ? "by [user] ([user.key])": ""]. (JMP) ") + log_game("Remote explosive implant triggered in [M] ([M.key])[user ? "by [user] ([user.key])": ""].") to_chat(M, "You hear a faint *beep*.") var/turf/T = get_turf(M) M.gib() - explosion(T, 1, 1, 3, 4, whodunnit = M) + explosion(T, 1, 1, 3, 4, whodunnit = user) T.hotspot_expose(3500, 125, surfaces = 1) qdel(src)