diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm
index 61d7f71128..702347c220 100644
--- a/code/game/objects/items/defib.dm
+++ b/code/game/objects/items/defib.dm
@@ -27,6 +27,8 @@
var/pullshocksafely = FALSE //Dose the unit have the healdisk upgrade?
var/primetime = 0 // is the defib faster
var/timedeath = 10
+ var/disarm_shock_time = 10
+ var/always_emagged = FALSE
/obj/item/defibrillator/get_cell()
return cell
@@ -140,6 +142,7 @@
/obj/item/defibrillator/emag_act(mob/user)
. = ..()
+ always_emagged = TRUE
safety = !safety
to_chat(user, "You silently [safety ? "enable" : "disable"] [src]'s safety protocols with the cryptographic sequencer.")
return TRUE
@@ -154,7 +157,7 @@
safety = FALSE
visible_message("[src] beeps: Safety protocols disabled!")
playsound(src, 'sound/machines/defib_saftyOff.ogg', 50, 0)
- else
+ else if(!always_emagged)
safety = TRUE
visible_message("[src] beeps: Safety protocols enabled!")
playsound(src, 'sound/machines/defib_saftyOn.ogg', 50, 0)
@@ -257,6 +260,8 @@
desc = "A belt-equipped blood-red defibrillator that can be rapidly deployed. Does not have the restrictions or safeties of conventional defibrillators and can revive through space suits."
combat = TRUE
safety = FALSE
+ always_emagged = TRUE
+ disarm_shock_time = 0
/obj/item/defibrillator/compact/combat/loaded/Initialize()
. = ..()
@@ -293,6 +298,7 @@
var/combat = FALSE //If it penetrates armor and gives additional functionality
var/grab_ghost = FALSE
var/tlimit = DEFIB_TIME_LIMIT * 10
+ var/disarm_shock_time = 10
var/mob/listeningTo
@@ -467,7 +473,7 @@
M.visible_message("[user] hastily places [src] on [M]'s chest!", \
"[user] hastily places [src] on [M]'s chest!")
busy = TRUE
- if(do_after(user, 10, target = M))
+ if(do_after(user, isnull(defib?.disarm_shock_time)? disarm_shock_time : defib.disarm_shock_time, target = M))
M.visible_message("[user] zaps [M] with [src]!", \
"[user] zaps [M] with [src]!")
M.adjustStaminaLoss(50)