diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm
index 96253c9da98..4b260e7971d 100644
--- a/code/game/objects/effects/spawners/lootdrop.dm
+++ b/code/game/objects/effects/spawners/lootdrop.dm
@@ -100,7 +100,8 @@
/obj/item/grenade/smokebomb = 1,
/obj/item/flashlight/seclite = 1,
/obj/item/tailclub = 1, //want to buy makeshift wooden club sprite
- /obj/item/kitchen/knife/carrotshiv = 4, //no normal shivs, need sprites
+ /obj/item/kitchen/knife/shiv = 4,
+ /obj/item/kitchen/knife/shiv/carrot = 1,
/obj/item/kitchen/knife = 1,
/obj/item/storage/wallet/random = 1,
/obj/item/pda = 1
diff --git a/code/game/objects/items/kitchen.dm b/code/game/objects/items/kitchen.dm
index 670b59f063d..0e32c922568 100644
--- a/code/game/objects/items/kitchen.dm
+++ b/code/game/objects/items/kitchen.dm
@@ -190,20 +190,29 @@
icon_state = "knife_cyborg"
desc = "A cyborg-mounted plasteel knife. Extremely sharp and durable."
-/obj/item/kitchen/knife/carrotshiv
+/obj/item/kitchen/knife/shiv
+ name = "glass shiv"
+ icon = 'icons/obj/shards.dmi'
+ icon_state = "shiv"
+ item_state = "shiv"
+ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
+ desc = "A makeshift glass shiv."
+ force = 8
+ throwforce = 12
+ attack_verb = list("shanked", "shivved")
+ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
+ custom_materials = list(/datum/material/glass=400)
+
+/obj/item/kitchen/knife/shiv/carrot
name = "carrot shiv"
icon_state = "carrotshiv"
item_state = "carrotshiv"
- lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi'
- righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi'
+ icon = 'icons/obj/kitchen.dmi'
desc = "Unlike other carrots, you should probably keep this far away from your eyes."
- force = 8
- throwforce = 12//fuck git
custom_materials = null
- attack_verb = list("shanked", "shivved")
- armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
-/obj/item/kitchen/knife/carrotshiv/suicide_act(mob/living/carbon/user)
+/obj/item/kitchen/knife/shiv/carrot/suicide_act(mob/living/carbon/user)
user.visible_message("[user] forcefully drives \the [src] into [user.p_their()] eye! It looks like [user.p_theyre()] trying to commit suicide!")
return BRUTELOSS
diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm
index 41171ba8575..a2b23f45095 100644
--- a/code/game/objects/items/stacks/sheets/glass.dm
+++ b/code/game/objects/items/stacks/sheets/glass.dm
@@ -309,10 +309,21 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list(
to_chat(M, "[src] cuts into your hand!")
M.apply_damage(force*0.5, BRUTE, hit_hand)
-
/obj/item/shard/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/lightreplacer))
- I.attackby(src, user)
+ var/obj/item/lightreplacer/L = I
+ L.attackby(src, user)
+ else if(istype(I, /obj/item/stack/sheet/cloth))
+ var/obj/item/stack/sheet/cloth/C = I
+ to_chat(user, "You begin to wrap the [C] around the [src]...")
+ if(do_after(user, 35, target = src))
+ var/obj/item/kitchen/knife/shiv/S = new /obj/item/kitchen/knife/shiv
+ user.put_in_hands(S)
+ C.use(1)
+ to_chat(user, "You wrap the [C] around the [src] forming a makeshift weapon.")
+ remove_item_from_storage(src)
+ qdel(src)
+
else
return ..()
diff --git a/code/modules/antagonists/fugitive/fugitive_outfits.dm b/code/modules/antagonists/fugitive/fugitive_outfits.dm
index 42d33ec0859..ea8ceccb41a 100644
--- a/code/modules/antagonists/fugitive/fugitive_outfits.dm
+++ b/code/modules/antagonists/fugitive/fugitive_outfits.dm
@@ -2,7 +2,7 @@
name = "Prison Escapee"
uniform = /obj/item/clothing/under/rank/prisoner
shoes = /obj/item/clothing/shoes/sneakers/orange
- r_pocket = /obj/item/kitchen/knife/carrotshiv
+ r_pocket = /obj/item/kitchen/knife/shiv
/datum/outfit/prisoner/post_equip(mob/living/carbon/human/H, visualsOnly=FALSE)
if(visualsOnly)
diff --git a/code/modules/hydroponics/grown/root.dm b/code/modules/hydroponics/grown/root.dm
index ac171b4e45c..10a4d04fdb3 100644
--- a/code/modules/hydroponics/grown/root.dm
+++ b/code/modules/hydroponics/grown/root.dm
@@ -28,7 +28,7 @@
/obj/item/reagent_containers/food/snacks/grown/carrot/attackby(obj/item/I, mob/user, params)
if(I.get_sharpness())
to_chat(user, "You sharpen the carrot into a shiv with [I].")
- var/obj/item/kitchen/knife/carrotshiv/Shiv = new /obj/item/kitchen/knife/carrotshiv
+ var/obj/item/kitchen/knife/shiv/carrot/Shiv = new /obj/item/kitchen/knife/shiv/carrot
remove_item_from_storage(user)
qdel(src)
user.put_in_hands(Shiv)
diff --git a/icons/mob/inhands/weapons/swords_lefthand.dmi b/icons/mob/inhands/weapons/swords_lefthand.dmi
index d6950f4e1e4..fbc00e7f67e 100644
Binary files a/icons/mob/inhands/weapons/swords_lefthand.dmi and b/icons/mob/inhands/weapons/swords_lefthand.dmi differ
diff --git a/icons/mob/inhands/weapons/swords_righthand.dmi b/icons/mob/inhands/weapons/swords_righthand.dmi
index 96558291134..ea5b236ab06 100644
Binary files a/icons/mob/inhands/weapons/swords_righthand.dmi and b/icons/mob/inhands/weapons/swords_righthand.dmi differ
diff --git a/icons/obj/crates.dmi b/icons/obj/crates.dmi
index 1dee34b6687..fda6667a5bd 100644
Binary files a/icons/obj/crates.dmi and b/icons/obj/crates.dmi differ
diff --git a/icons/obj/shards.dmi b/icons/obj/shards.dmi
index 94d1602fa00..78bf5f950c0 100644
Binary files a/icons/obj/shards.dmi and b/icons/obj/shards.dmi differ