diff --git a/code/modules/vore/fluffstuff/custom_items_vr.dm b/code/modules/vore/fluffstuff/custom_items_vr.dm
index 099ffd935a..af5a02cb63 100644
--- a/code/modules/vore/fluffstuff/custom_items_vr.dm
+++ b/code/modules/vore/fluffstuff/custom_items_vr.dm
@@ -1668,3 +1668,136 @@
return
else
..()
+
+//jacknoir413:Areax Third
+/obj/item/weapon/melee/baton/stunstaff
+ name = "Electrostaff"
+ desc = "Six-foot long staff from dull, rugged metal, with two thin spikes protruding from each end. Small etching near to the middle of it reads 'Children Of Nyx Facilities: Product No. 12'."
+ icon = 'icons/vore/custom_items_vr.dmi'
+ item_icons = list(slot_l_hand_str = 'icons/vore/custom_items_left_hand_vr.dmi', slot_r_hand_str = 'icons/vore/custom_items_right_hand_vr.dmi')
+ icon_state = "stunstaff00"
+ var/base_icon = "stunstaff"
+ force = 5
+ sharp = 0
+ edge = 0
+ throwforce = 7
+ w_class = ITEMSIZE_HUGE
+ origin_tech = list(TECH_COMBAT = 2)
+ attack_verb = list("beaten")
+ lightcolor = "#CC33FF"
+
+ //Two Handed
+ var/wielded = 0
+ var/base_name = "stunstaff"
+
+/obj/item/weapon/melee/baton/stunstaff/New()
+ ..()
+ bcell = new/obj/item/weapon/cell/device/weapon(src)
+ update_icon()
+ return
+
+/obj/item/weapon/melee/baton/stunstaff/update_held_icon()
+ var/mob/living/M = loc
+ if(istype(M) && !issmall(M) && M.item_is_in_hands(src) && !M.hands_are_full())
+ wielded = 1
+ force = 15
+ name = "[base_name] (wielded)"
+ update_icon()
+ else
+ wielded = 0
+ force = 8
+ name = "[base_name]"
+ update_icon()
+ ..()
+
+/obj/item/weapon/melee/baton/stunstaff/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack")
+ if(wielded && default_parry_check(user, attacker, damage_source) && prob(30))
+ user.visible_message("\The [user] parries [attack_text] with \the [src]!")
+ playsound(user.loc, 'sound/weapons/punchmiss.ogg', 50, 1)
+ return 1
+ return 0
+
+/obj/item/weapon/melee/baton/stunstaff/update_icon()
+ icon_state = "[base_icon][wielded][status]"
+ item_state = icon_state
+ if(status==1)
+ set_light(2, 2, lightcolor)
+ else
+ set_light(0)
+
+/obj/item/weapon/melee/baton/stunstaff/dropped()
+ ..()
+ if(wielded)
+ wielded = 0
+ spawn(0)
+ update_held_icon()
+
+/obj/item/weapon/melee/baton/stunstaff/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone)
+ if(isrobot(target))
+ return ..()
+
+ var/agony = agonyforce
+ var/stun = stunforce
+ var/obj/item/organ/external/affecting = null
+ if(ishuman(target))
+ var/mob/living/carbon/human/H = target
+ affecting = H.get_organ(hit_zone)
+
+ if(user.a_intent == I_HURT || user.a_intent == I_DISARM)
+ . = ..()
+ agony *= 0.5
+ stun *= 0.5
+
+ else if(!status)
+ if(affecting)
+ target.visible_message("[target] has been prodded in the [affecting.name] with [src] by [user]. Luckily it was off.")
+ else
+ target.visible_message("[target] has been prodded with [src] by [user]. Luckily it was off.")
+ else
+ if(affecting)
+ target.visible_message("[target] has been prodded in the [affecting.name] with [src] by [user]!")
+ else
+ target.visible_message("[target] has been prodded with [src] by [user]!")
+ playsound(loc, 'sound/weapons/Egloves.ogg', 50, 1, -1)
+
+ //stun effects
+ if(status)
+ target.stun_effect_act(stun, agony, hit_zone, src)
+ msg_admin_attack("[key_name(user)] stunned [key_name(target)] with the [src].")
+
+ if(ishuman(target))
+ var/mob/living/carbon/human/H = target
+ H.forcesay(hit_appends)
+ powercheck(hitcost)
+
+/obj/item/weapon/melee/baton/stunstaff/attack_self(mob/user)
+ if(bcell && bcell.charge > hitcost)
+ status = !status
+ user << "[src] is now [status ? "on" : "off"]."
+ if(status == 0)
+ playsound(user, 'sound/weapons/saberoff.ogg', 50, 1)
+ else
+ playsound(user, 'sound/weapons/saberon.ogg', 50, 1)
+ else
+ status = 0
+ user << "[src] is out of charge."
+ update_held_icon()
+ add_fingerprint(user)
+
+/obj/item/weapon/storage/box/stunstaff
+ name = "Electrostaff sheath"
+ icon = 'icons/vore/custom_items_vr.dmi'
+ icon_state = "holster_stunstaff"
+ desc = "A sturdy synthetic leather sheath with matching belt and rubberized interior."
+ slot_flags = SLOT_BACK
+ item_icons = list(slot_back_str = 'icons/vore/custom_onmob_vr.dmi')
+
+ can_hold = list(/obj/item/weapon/melee/baton/stunstaff)
+
+ w_class = ITEMSIZE_HUGE
+ max_w_class = ITEMSIZE_HUGE
+ max_storage_space = 16
+
+/obj/item/weapon/storage/box/stunstaff/New()
+ ..()
+ new /obj/item/weapon/melee/baton/stunstaff(src)
\ No newline at end of file
diff --git a/config/custom_items.txt b/config/custom_items.txt
index 315d8e72e0..02aa42875f 100644
--- a/config/custom_items.txt
+++ b/config/custom_items.txt
@@ -890,3 +890,9 @@ ckey: zodiacshadow
character_name: Nehi Maximus
item_path: /obj/item/device/radio/headset/fluff/zodiacshadow
}
+
+{
+ckey: jacknoir413
+character_name: Areax Third
+item_path: /obj/item/weapon/storage/box/stunstaff
+}
diff --git a/icons/vore/custom_items_left_hand_vr.dmi b/icons/vore/custom_items_left_hand_vr.dmi
index 2e07a2b029..ec963c255a 100644
Binary files a/icons/vore/custom_items_left_hand_vr.dmi and b/icons/vore/custom_items_left_hand_vr.dmi differ
diff --git a/icons/vore/custom_items_right_hand_vr.dmi b/icons/vore/custom_items_right_hand_vr.dmi
index 1ff9723b8e..0b5ac6ab66 100644
Binary files a/icons/vore/custom_items_right_hand_vr.dmi and b/icons/vore/custom_items_right_hand_vr.dmi differ
diff --git a/icons/vore/custom_items_vr.dmi b/icons/vore/custom_items_vr.dmi
index d3a876e0e1..752b3f46c5 100644
Binary files a/icons/vore/custom_items_vr.dmi and b/icons/vore/custom_items_vr.dmi differ
diff --git a/icons/vore/custom_onmob_vr.dmi b/icons/vore/custom_onmob_vr.dmi
index bcb6c5270a..b30e7bf7ad 100644
Binary files a/icons/vore/custom_onmob_vr.dmi and b/icons/vore/custom_onmob_vr.dmi differ