diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm
index 61d8d4fef91..f2bd9cafedf 100644
--- a/code/game/objects/items/weapons/stunbaton.dm
+++ b/code/game/objects/items/weapons/stunbaton.dm
@@ -29,11 +29,6 @@
bcell = null
return ..()
-/obj/item/weapon/melee/baton/CheckParts(list/parts_list)
- ..()
- bcell = locate(/obj/item/weapon/stock_parts/cell) in contents
- update_icon()
-
/obj/item/weapon/melee/baton/loaded/New() //this one starts with a cell pre-installed.
..()
bcell = new(src)
@@ -200,8 +195,18 @@
desc = "An improvised stun baton."
icon_state = "stunprod_nocell"
item_state = "prod"
+ w_class = 3
force = 3
throwforce = 5
stunforce = 5
hitcost = 3750
- slot_flags = null
+ slot_flags = SLOT_BACK
+ var/obj/item/device/assembly/igniter/sparkler = 0
+
+/obj/item/weapon/melee/baton/cattleprod/New()
+ ..()
+ sparkler = new (src)
+
+/obj/item/weapon/melee/baton/cattleprod/baton_stun()
+ if(sparkler.activate())
+ ..()
diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm
index b9c946c6210..0e6be05df88 100644
--- a/code/game/objects/items/weapons/weaponry.dm
+++ b/code/game/objects/items/weapons/weaponry.dm
@@ -105,10 +105,10 @@ obj/item/weapon/wirerod
force = 9
throwforce = 10
w_class = 3
- materials = list(MAT_METAL=1000)
+ materials = list(MAT_METAL=1150, MAT_GLASS=75)
attack_verb = list("hit", "bludgeoned", "whacked", "bonked")
-obj/item/weapon/wirerod/attackby(var/obj/item/I, mob/user as mob, params)
+obj/item/weapon/wirerod/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/weapon/shard))
var/obj/item/weapon/twohanded/spear/S = new /obj/item/weapon/twohanded/spear
@@ -122,7 +122,7 @@ obj/item/weapon/wirerod/attackby(var/obj/item/I, mob/user as mob, params)
qdel(I)
qdel(src)
- else if(istype(I, /obj/item/weapon/wirecutters))
+ else if(istype(I, /obj/item/device/assembly/igniter) && !(I.flags & NODROP))
var/obj/item/weapon/melee/baton/cattleprod/P = new /obj/item/weapon/melee/baton/cattleprod
if(!remove_item_from_storage(user))
@@ -130,7 +130,7 @@ obj/item/weapon/wirerod/attackby(var/obj/item/I, mob/user as mob, params)
user.unEquip(I)
user.put_in_hands(P)
- to_chat(user, "You fasten the wirecutters to the top of the rod with the cable, prongs outward.")
+ to_chat(user, "You fasten [I] to the top of the rod with the cable.")
qdel(I)
qdel(src)
diff --git a/code/modules/crafting/recipes.dm b/code/modules/crafting/recipes.dm
index c75efd74929..d8111a3fed0 100644
--- a/code/modules/crafting/recipes.dm
+++ b/code/modules/crafting/recipes.dm
@@ -48,10 +48,8 @@
result = /obj/item/weapon/melee/baton/cattleprod
reqs = list(/obj/item/weapon/restraints/handcuffs/cable = 1,
/obj/item/stack/rods = 1,
- /obj/item/weapon/wirecutters = 1,
- /obj/item/weapon/stock_parts/cell = 1)
+ /obj/item/device/assembly/igniter = 1)
time = 40
- parts = list(/obj/item/weapon/stock_parts/cell = 1)
category = CAT_WEAPON
/datum/crafting_recipe/bola
diff --git a/icons/mob/back.dmi b/icons/mob/back.dmi
index 7ea4f58b941..a05e783b307 100644
Binary files a/icons/mob/back.dmi and b/icons/mob/back.dmi differ
diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi
index a9b5aa09fa3..3a6701fab2d 100644
Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ
diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi
index 95a78da4df2..634e23d2f8f 100644
Binary files a/icons/mob/inhands/items_righthand.dmi and b/icons/mob/inhands/items_righthand.dmi differ
diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi
index d49373de19e..83276e5ec57 100644
Binary files a/icons/obj/weapons.dmi and b/icons/obj/weapons.dmi differ