diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm
index 2bbf74558ec..1de82690573 100644
--- a/code/game/objects/items/weapons/stunbaton.dm
+++ b/code/game/objects/items/weapons/stunbaton.dm
@@ -2,6 +2,7 @@
name = "stunbaton"
desc = "A stun baton for incapacitating people with."
icon_state = "stunbaton"
+ var/base_icon = "stunbaton"
item_state = "baton"
slot_flags = SLOT_BELT
force = 10
@@ -46,11 +47,11 @@
/obj/item/weapon/melee/baton/update_icon()
if(status)
- icon_state = "[initial(name)]_active"
+ icon_state = "[base_icon]_active"
else if(!bcell)
- icon_state = "[initial(name)]_nocell"
+ icon_state = "[base_icon]_nocell"
else
- icon_state = "[initial(name)]"
+ icon_state = "[base_icon]"
/obj/item/weapon/melee/baton/examine(mob/user)
..(user)
@@ -187,6 +188,7 @@
name = "stunprod"
desc = "An improvised stun baton."
icon_state = "stunprod_nocell"
+ base_icon = "stunprod"
item_state = "prod"
w_class = 3
force = 3
diff --git a/code/game/objects/items/weapons/teleprod.dm b/code/game/objects/items/weapons/teleprod.dm
index 0bc1b23f6d6..dfaa52ba396 100644
--- a/code/game/objects/items/weapons/teleprod.dm
+++ b/code/game/objects/items/weapons/teleprod.dm
@@ -2,6 +2,7 @@
name = "teleprod"
desc = "A prod with a bluespace crystal on the end. The crystal doesn't look too fun to touch."
icon_state = "teleprod_nocell"
+ base_icon = "teleprod"
item_state = "teleprod"
origin_tech = "combat=2;bluespace=4;materials=3"
@@ -15,4 +16,4 @@
deductcharge(hitcost)
do_teleport(user, get_turf(user), 50)//honk honk
else if(iscarbon(M) && !M.anchored)
- do_teleport(M, get_turf(M), 15)
\ No newline at end of file
+ do_teleport(M, get_turf(M), 15)
diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm
index c58d932bf29..6cc353d0b17 100644
--- a/code/modules/customitems/item_defines.dm
+++ b/code/modules/customitems/item_defines.dm
@@ -235,6 +235,33 @@
to_chat(target, "You comb your tail with the [src].")
used = 1
+/obj/item/device/fluff/desolate_baton_kit //DesolateG: Michael steampunk_witch
+ name = "stun baton converstion kit"
+ desc = "Some sci-fi looking parts for a stun baton."
+ icon = 'icons/obj/custom_items.dmi'
+ icon_state = "scifikit"
+ w_class = 2
+
+/obj/item/device/fluff/desolate_baton_kit/afterattack(atom/target, mob/user, proximity)
+ if(!proximity || !ishuman(user) || user.incapacitated())
+ return
+
+ if(istype(target, /obj/item/weapon/melee/baton) && !istype(target, /obj/item/weapon/melee/baton/cattleprod))
+ to_chat(user, "You modify the appearance of [target].")
+ //because batons use the initial() proc, we can't just swap the icon state, sadly
+ var/obj/item/weapon/melee/baton/the_baton = target
+ the_baton.base_icon = "desolate_baton"
+ the_baton.item_state = "desolate_baton"
+ the_baton.icon = 'icons/obj/custom_items.dmi'
+ the_baton.lefthand_file = 'icons/mob/inhands/fluff_lefthand.dmi'
+ the_baton.righthand_file = 'icons/mob/inhands/fluff_righthand.dmi'
+ the_baton.update_icon()
+ user.update_icons()
+ qdel(src)
+ return
+
+ to_chat(user, "You can't modify [target]!")
+
/obj/item/device/fluff/cardgage_helmet_kit //captain cardgage: Richard Ulery
name = "welding helmet modkit"
desc = "Some spraypaint and a stencil, perfect for painting flames onto a welding helmet!"
@@ -244,14 +271,14 @@
throwforce = 0
/obj/item/device/fluff/cardgage_helmet_kit/afterattack(atom/target, mob/user, proximity)
- if(!proximity || !ishuman(user) || user.lying)
+ if(!proximity || !ishuman(user) || user.incapacitated())
return
if(istype(target, /obj/item/clothing/head/welding))
to_chat(user, "You modify the appearance of [target].")
var/obj/item/clothing/head/welding/flamedecal/P = new(get_turf(target))
- transfer_fingerprints_to(P)
+ target.transfer_fingerprints_to(P)
qdel(target)
qdel(src)
return
@@ -269,7 +296,7 @@
throwforce = 0
/obj/item/device/fluff/shadey_plasman_modkit/afterattack(atom/target, mob/user, proximity)
- if(!proximity || !ishuman(user) || user.lying)
+ if(!proximity || !ishuman(user) || user.incapacitated())
return
var/mob/living/carbon/human/H = user
@@ -744,4 +771,3 @@
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass(src)
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass(src)
new /obj/item/weapon/reagent_containers/food/drinks/bottle/fluff/moonshine(src)
-
diff --git a/icons/mob/inhands/fluff_lefthand.dmi b/icons/mob/inhands/fluff_lefthand.dmi
new file mode 100644
index 00000000000..8e3ccdbfbff
Binary files /dev/null and b/icons/mob/inhands/fluff_lefthand.dmi differ
diff --git a/icons/mob/inhands/fluff_righthand.dmi b/icons/mob/inhands/fluff_righthand.dmi
new file mode 100644
index 00000000000..21dc49c50ea
Binary files /dev/null and b/icons/mob/inhands/fluff_righthand.dmi differ
diff --git a/icons/obj/custom_items.dmi b/icons/obj/custom_items.dmi
index ec4bb9e314e..e52c0e5b9f4 100644
Binary files a/icons/obj/custom_items.dmi and b/icons/obj/custom_items.dmi differ