diff --git a/code/__DEFINES/status_effects.dm b/code/__DEFINES/status_effects.dm
index 66cb9dcbca7..c2b75a0bf0f 100644
--- a/code/__DEFINES/status_effects.dm
+++ b/code/__DEFINES/status_effects.dm
@@ -74,6 +74,8 @@
#define STATUS_EFFECT_NECKSLICE /datum/status_effect/neck_slice //Creates the flavor messages for the neck-slice
+#define STATUS_EFFECT_CONVULSING /datum/status_effect/convulsing
+
#define STATUS_EFFECT_NECROPOLIS_CURSE /datum/status_effect/necropolis_curse
#define STATUS_EFFECT_HIVEMIND_CURSE /datum/status_effect/necropolis_curse/hivemind
#define CURSE_BLINDING 1 //makes the edges of the target's screen obscured
diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm
index 33f58a710e6..75bcd5569c0 100644
--- a/code/datums/status_effects/debuffs.dm
+++ b/code/datums/status_effects/debuffs.dm
@@ -523,6 +523,29 @@
owner.log_message("threw [I] due to a Muscle Spasm", LOG_ATTACK)
owner.throw_item(pick(targets))
+/datum/status_effect/convulsing
+ id = "convulsing"
+ duration = 150
+ status_type = STATUS_EFFECT_REFRESH
+ alert_type = /obj/screen/alert/status_effect/convulsing
+
+/datum/status_effect/convulsing/on_creation(mob/living/zappy_boy)
+ . = ..()
+ to_chat(zappy_boy, "You feel a shock moving through your body! Your hands start shaking!")
+
+/datum/status_effect/convulsing/tick()
+ var/mob/living/carbon/H = owner
+ if(prob(40))
+ var/obj/item/I = H.get_active_held_item()
+ if(I && H.dropItemToGround(I))
+ H.visible_message("[H]'s hand convulses, and they drop their [I.name]!","Your hand convulses violently, and you drop what you were holding!")
+ H.jitteriness += 5
+
+/obj/screen/alert/status_effect/convulsing
+ name = "Shaky Hands"
+ desc = "You've been zapped with something and your hands can't stop shaking! You can't seem to hold on to anything."
+ icon_state = "convulsing"
+
/datum/status_effect/dna_melt
id = "dna_melt"
duration = 600
diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm
index 9499c07e140..f923cfb44c1 100644
--- a/code/game/objects/items/defib.dm
+++ b/code/game/objects/items/defib.dm
@@ -281,6 +281,13 @@
update_icon()
return
+/obj/item/defibrillator/compact/combat/loaded/nanotrasen
+ name = "elite nanotrasen defibrillator"
+ desc = "A belt-equipped state-of-the-art defibrillator. Can revive through spacesuits, has an experimental self-recharging battery, and can be utilized in combat via applying the paddles in a disarming or agressive manner."
+ icon_state = "defibnt" //needs defib inhand sprites
+ item_state = "defibnt"
+ paddle_type = /obj/item/twohanded/shockpaddles/syndicate/nanotrasen
+
//paddles
/obj/item/twohanded/shockpaddles
@@ -483,12 +490,14 @@
busy = TRUE
M.visible_message("[user] has touched [M] with [src]!", \
"[user] has touched [M] with [src]!")
- M.adjustStaminaLoss(50)
- M.Paralyze(100)
- M.updatehealth() //forces health update before next life tick //isn't this done by adjustStaminaLoss anyway?
+ M.adjustStaminaLoss(60)
+ M.Knockdown(75)
+ M.Jitter(50)
+ M.apply_status_effect(STATUS_EFFECT_CONVULSING)
playsound(src, 'sound/machines/defib_zap.ogg', 50, TRUE, -1)
- M.emote("gasp")
- log_combat(user, M, "stunned", src)
+ if(HAS_TRAIT(M,MOB_ORGANIC))
+ M.emote("gasp")
+ log_combat(user, M, "zapped", src)
if(req_defib)
defib.deductcharge(revivecost)
cooldown = TRUE
@@ -508,7 +517,7 @@
"You overcharge the paddles and begin to place them onto [H]'s chest...")
busy = TRUE
update_icon()
- if(do_after(user, 30, target = H))
+ if(do_after(user, 15, target = H))
user.visible_message("[user] places [src] on [H]'s chest.",
"You place [src] on [H]'s chest and begin to charge them.")
var/turf/T = get_turf(defib)
@@ -517,7 +526,7 @@
T.audible_message("\The [defib] lets out an urgent beep and lets out a steadily rising hum...")
else
user.audible_message("[src] let out an urgent beep.")
- if(do_after(user, 30, target = H)) //Takes longer due to overcharging
+ if(do_after(user, 15, target = H)) //Takes longer due to overcharging
if(!H)
busy = FALSE
update_icon()
@@ -678,13 +687,20 @@
/obj/item/twohanded/shockpaddles/syndicate
name = "syndicate defibrillator paddles"
- desc = "A pair of paddles used to revive deceased operatives. It possesses both the ability to penetrate armor and to deliver powerful or disabling shocks offensively."
+ desc = "A pair of paddles used to revive deceased operatives. They possess both the ability to penetrate armor and to deliver powerful or disabling shocks offensively."
combat = TRUE
icon = 'icons/obj/defib.dmi'
icon_state = "syndiepaddles0"
item_state = "syndiepaddles0"
base_icon_state = "syndiepaddles"
+/obj/item/twohanded/shockpaddles/syndicate/nanotrasen
+ name = "elite nanotrasen defibrillator paddles"
+ desc = "A pair of paddles used to revive deceased ERT members. They possess both the ability to penetrate armor and to deliver powerful or disabling shocks offensively."
+ icon_state = "ntpaddles0"
+ item_state = "ntpaddles0"
+ base_icon_state = "ntpaddles"
+
/obj/item/twohanded/shockpaddles/syndicate/cyborg
req_defib = FALSE
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/misc.dm b/code/game/objects/structures/crates_lockers/closets/secure/misc.dm
index 4be0b3df370..165dac720c0 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/misc.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/misc.dm
@@ -46,7 +46,7 @@
new /obj/item/storage/firstaid/fire(src)
new /obj/item/storage/firstaid/brute(src)
new /obj/item/storage/firstaid/regular(src)
- new /obj/item/defibrillator/compact/combat/loaded(src)
+ new /obj/item/defibrillator/compact/combat/loaded/nanotrasen(src)
new /mob/living/simple_animal/bot/medbot(src)
/obj/structure/closet/secure_closet/ertEngi
diff --git a/code/modules/mob/status_procs.dm b/code/modules/mob/status_procs.dm
index 0561641318f..a1113001231 100644
--- a/code/modules/mob/status_procs.dm
+++ b/code/modules/mob/status_procs.dm
@@ -3,8 +3,6 @@
//The effects include: stun, knockdown, unconscious, sleeping, resting, jitteriness, dizziness, ear damage,
// eye damage, eye_blind, eye_blurry, druggy, TRAIT_BLIND trait, and TRAIT_NEARSIGHT trait.
-
-
///Set the jitter of a mob
/mob/proc/Jitter(amount)
jitteriness = max(jitteriness,amount,0)
diff --git a/icons/mob/clothing/belt.dmi b/icons/mob/clothing/belt.dmi
index 9f8a894f57a..177812d8639 100644
Binary files a/icons/mob/clothing/belt.dmi and b/icons/mob/clothing/belt.dmi differ
diff --git a/icons/mob/inhands/equipment/medical_lefthand.dmi b/icons/mob/inhands/equipment/medical_lefthand.dmi
index 1cc9305cebc..e26eb4e04da 100644
Binary files a/icons/mob/inhands/equipment/medical_lefthand.dmi and b/icons/mob/inhands/equipment/medical_lefthand.dmi differ
diff --git a/icons/mob/inhands/equipment/medical_righthand.dmi b/icons/mob/inhands/equipment/medical_righthand.dmi
index 6370c2179a3..ff4060e4284 100644
Binary files a/icons/mob/inhands/equipment/medical_righthand.dmi and b/icons/mob/inhands/equipment/medical_righthand.dmi differ
diff --git a/icons/mob/screen_alert.dmi b/icons/mob/screen_alert.dmi
index 59b324f644a..f7ee72b5f56 100755
Binary files a/icons/mob/screen_alert.dmi and b/icons/mob/screen_alert.dmi differ
diff --git a/icons/obj/defib.dmi b/icons/obj/defib.dmi
index e78a2069b51..68a1f232114 100644
Binary files a/icons/obj/defib.dmi and b/icons/obj/defib.dmi differ