diff --git a/code/datums/uplink/implants.dm b/code/datums/uplink/implants.dm
index 3f5d8a67e9c..e6afa972bb0 100644
--- a/code/datums/uplink/implants.dm
+++ b/code/datums/uplink/implants.dm
@@ -17,7 +17,7 @@
/datum/uplink_item/item/implants/imp_explosive
name = "Explosive Implant (DANGER!)"
- item_cost = 4
+ item_cost = 3
desc = "A box containing an explosive implant and implanter. Use the implant in-hand to set the explosion size and trigger phrase."
path = /obj/item/storage/box/syndie_kit/imp_explosive
diff --git a/code/game/objects/items/weapons/implants/implant.dm b/code/game/objects/items/weapons/implants/implant.dm
index 8212ee515b2..fc1f0c0ce8a 100644
--- a/code/game/objects/items/weapons/implants/implant.dm
+++ b/code/game/objects/items/weapons/implants/implant.dm
@@ -122,77 +122,6 @@ Implant Specifics:
"}
spawn(delay)
malfunction--
-
-/obj/item/implant/explosive/deadman
- name = "deadman explosive"
- desc = "A military grade micro bio-explosive that detonates upon death."
- icon_state = "implant_evil"
- uses_codewords = FALSE
-
-/obj/item/implant/explosive/deadman/get_data()
- . = {"
-Implant Specifications:
-Name: Robust Corp RX-78 Employee Management Implant
-Life: Activates upon death.
-Important Notes: Explodes
-
-Implant Details:
-Function: Contains a compact, electrically detonated explosive that detonates upon receiving a specially encoded signal or upon host death.
-Special Features: Explodes
-Integrity: Implant will occasionally be degraded by the body's immune system and thus will occasionally malfunction."}
-
-/obj/item/implant/explosive/deadman/attack_self(mob/user)
- return
-
-/obj/item/implant/explosive/deadman/hear(var/msg)
- return
-
-/obj/item/implant/explosive/deadman/process()
- if(malfunction)
- STOP_PROCESSING(SSprocessing, src)
- return
- if (!implanted)
- return
- var/mob/M = imp_in
-
- if(M.stat == DEAD)
- activate()
-
-/obj/item/implant/explosive/deadman/activate(var/cause)
- small_countdown(src)
- STOP_PROCESSING(SSprocessing, src)
-
-/obj/item/implant/explosive/deadman/small_boom()
- if(imp_in)
- explosion(get_turf(src), 0, 0, 2, 4, 5)
- qdel(src)
- imp_in.gib()
-
-/obj/item/implant/explosive/deadman/implanted(mob/source)
- START_PROCESSING(SSprocessing, src)
- return TRUE
-
-/obj/item/implant/explosive/deadman/emp_act(severity)
- if(malfunction)
- return
- malfunction = MALFUNCTION_TEMPORARY
- switch (severity)
- if(3.0)
- if(prob(1))
- small_countdown()
- else if(prob(5))
- meltdown()
- if(2.0)
- if(prob(5))
- small_countdown()
- else if (prob(10))
- meltdown()
- if(1.0)
- if(prob(10))
- small_countdown()
- else if (prob(30))
- meltdown()
-
//BS12 Explosive
/obj/item/implant/explosive
name = "explosive implant"
@@ -201,6 +130,7 @@ Implant Specifics:
"}
var/phrase
var/setup_done = FALSE //Have we set this yet?
var/uses_codewords = TRUE
+ var/list/possible_explosions = list("Localized Limb", "Destroy Body")
icon_state = "implant_evil"
/obj/item/implant/explosive/Initialize()
@@ -264,7 +194,7 @@ Implant Specifics:
"}
small_countdown()
return //to avoid hotspot_expose.
if(elevel == "Destroy Body")
- explosion(get_turf(T), -1, 0, 1, 6)
+ explosion(get_turf(T), -1, 0, 2, 6)
T.gib()
if(elevel == "Full Explosion")
explosion_spread(get_turf(T), rand(8,13))
@@ -324,7 +254,7 @@ Implant Specifics:
"}
return TRUE
/obj/item/implant/explosive/attack_self(mob/user)
- elevel = alert("What sort of explosion would you prefer?", "Implant Intent", "Localized Limb", "Destroy Body", "Full Explosion")
+ elevel = input(user, "What sort of explosion would you prefer?", "Implant Intent") as null|anything in possible_explosions
phrase = input("Choose activation phrase:") as text
var/list/replacechars = list("\"" = "",">" = "","<" = "","(" = "",")" = "")
phrase = replace_characters(phrase, replacechars)
@@ -365,6 +295,78 @@ Implant Specifics:
"}
listening_objects -= src
return ..()
+/obj/item/implant/explosive/full
+ possible_explosions = list("Localized Limb", "Destroy Body", "Full Explosion")
+
+/obj/item/implant/explosive/deadman
+ name = "deadman explosive"
+ desc = "A military grade micro bio-explosive that detonates upon death."
+ icon_state = "implant_evil"
+ uses_codewords = FALSE
+
+/obj/item/implant/explosive/deadman/get_data()
+ . = {"
+Implant Specifications:
+Name: Robust Corp RX-78 Employee Management Implant
+Life: Activates upon death.
+Important Notes: Explodes
+
+Implant Details:
+Function: Contains a compact, electrically detonated explosive that detonates upon receiving a specially encoded signal or upon host death.
+Special Features: Explodes
+Integrity: Implant will occasionally be degraded by the body's immune system and thus will occasionally malfunction."}
+
+/obj/item/implant/explosive/deadman/attack_self(mob/user)
+ return
+
+/obj/item/implant/explosive/deadman/hear(var/msg)
+ return
+
+/obj/item/implant/explosive/deadman/process()
+ if(malfunction)
+ STOP_PROCESSING(SSprocessing, src)
+ return
+ if (!implanted)
+ return
+ var/mob/M = imp_in
+
+ if(M.stat == DEAD)
+ activate()
+
+/obj/item/implant/explosive/deadman/activate(var/cause)
+ small_countdown(src)
+ STOP_PROCESSING(SSprocessing, src)
+
+/obj/item/implant/explosive/deadman/small_boom()
+ if(imp_in)
+ explosion(get_turf(src), -1, 0, 1, 6)
+ imp_in.gib()
+ qdel(src)
+
+/obj/item/implant/explosive/deadman/implanted(mob/source)
+ START_PROCESSING(SSprocessing, src)
+ return TRUE
+
+/obj/item/implant/explosive/deadman/emp_act(severity)
+ if(malfunction)
+ return
+ malfunction = MALFUNCTION_TEMPORARY
+ switch (severity)
+ if(3.0)
+ if(prob(1))
+ small_countdown()
+ else if(prob(5))
+ meltdown()
+ if(2.0)
+ if(prob(5))
+ small_countdown()
+ else if (prob(10))
+ meltdown()
+ if(1.0)
+ if(prob(10))
+ small_countdown()
+ else if (prob(30))
+ meltdown()
/obj/item/implant/chem
name = "chemical implant"
diff --git a/html/changelogs/alberyk_implant.yml b/html/changelogs/alberyk_implant.yml
new file mode 100644
index 00000000000..0bcd942dd9f
--- /dev/null
+++ b/html/changelogs/alberyk_implant.yml
@@ -0,0 +1,6 @@
+author: Alberyk
+
+delete-after: True
+
+changes:
+ - rscdel: "Removed the full explosion option from the explosive implant. It is now one telecrystal cheaper."