diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index c8ba2b49c40..2455aefad5e 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -84,14 +84,14 @@
if(istype(A, /datum/reagent))
if(!reagents)
reagents = new()
- reagents.reagent_list.Add(A)
- reagents.conditional_update()
+ reagents.reagent_list.Add(A)
+ reagents.conditional_update()
else if(istype(A, /atom/movable))
var/atom/movable/M = A
if(istype(M.loc, /mob/living))
var/mob/living/L = M.loc
L.unEquip(M)
- M.loc = src
+ M.loc = src
/atom/proc/assume_air(datum/gas_mixture/giver)
qdel(giver)
diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm
index ae299d78a90..c0ecd475f5e 100644
--- a/code/game/machinery/machinery.dm
+++ b/code/game/machinery/machinery.dm
@@ -361,10 +361,9 @@ Class Procs:
return ..()
-/obj/machinery/CheckParts()
+/obj/machinery/CheckParts(list/parts_list)
..()
RefreshParts()
- return
/obj/machinery/proc/RefreshParts() //Placeholder proc for machines that are built using frames.
return
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 017583b7336..111f7c4dc33 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -1,3 +1,5 @@
+var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.dmi', "icon_state" = "fire")
+
/obj/item
name = "item"
icon = 'icons/obj/items.dmi'
diff --git a/code/game/objects/items/weapons/clown_items.dm b/code/game/objects/items/weapons/clown_items.dm
index 416608b77f7..7cad42a216c 100644
--- a/code/game/objects/items/weapons/clown_items.dm
+++ b/code/game/objects/items/weapons/clown_items.dm
@@ -105,4 +105,28 @@
desc = "Damn son, where'd you find this?"
icon_state = "air_horn"
honk_sound = 'sound/items/AirHorn2.ogg'
- cooldowntime = 50
\ No newline at end of file
+ cooldowntime = 50
+
+/obj/item/weapon/bikehorn/golden
+ name = "golden bike horn"
+ desc = "Golden? Clearly, its made with bananium! Honk!"
+ icon_state = "gold_horn"
+ item_state = "gold_horn"
+
+/obj/item/weapon/bikehorn/golden/attack()
+ flip_mobs()
+ return ..()
+
+/obj/item/weapon/bikehorn/golden/attack_self(mob/user)
+ flip_mobs()
+ ..()
+
+/obj/item/weapon/bikehorn/golden/proc/flip_mobs(mob/living/carbon/M, mob/user)
+ if (!spam_flag)
+ var/turf/T = get_turf(src)
+ for(M in ohearers(7, T))
+ if(istype(M, /mob/living/carbon/human))
+ var/mob/living/carbon/human/H = M
+ if(istype(H.l_ear, /obj/item/clothing/ears/earmuffs) || istype(H.r_ear, /obj/item/clothing/ears/earmuffs) || H.ear_deaf)
+ continue
+ M.emote("flip")
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm
index 9ccff568b87..d14c48a761e 100644
--- a/code/game/objects/items/weapons/defib.dm
+++ b/code/game/objects/items/weapons/defib.dm
@@ -69,7 +69,7 @@
ratio = Ceiling(ratio*4) * 25
overlays += "[icon_state]-charge[ratio]"
-/obj/item/weapon/defibrillator/CheckParts()
+/obj/item/weapon/defibrillator/CheckParts(list/parts_list)
..()
bcell = locate(/obj/item/weapon/stock_parts/cell) in contents
update_icon()
diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm
index c3a23b2ba7d..e595ab33afc 100644
--- a/code/game/objects/items/weapons/flamethrower.dm
+++ b/code/game/objects/items/weapons/flamethrower.dm
@@ -164,10 +164,13 @@
update_icon()
return
-/obj/item/weapon/flamethrower/CheckParts()
+/obj/item/weapon/flamethrower/CheckParts(list/parts_list)
..()
weldtool = locate(/obj/item/weapon/weldingtool) in contents
igniter = locate(/obj/item/device/assembly/igniter) in contents
+ weldtool.status = 0
+ igniter.secured = 0
+ status = 1
update_icon()
//Called from turf.dm turf/dblclick
diff --git a/code/game/objects/items/weapons/grenades/ghettobomb.dm b/code/game/objects/items/weapons/grenades/ghettobomb.dm
index cad1b7630e3..745afd967ee 100644
--- a/code/game/objects/items/weapons/grenades/ghettobomb.dm
+++ b/code/game/objects/items/weapons/grenades/ghettobomb.dm
@@ -93,7 +93,7 @@
else
range = pick(2,2,2,3,3,3,4)
-/obj/item/weapon/grenade/iedcasing/CheckParts()
+/obj/item/weapon/grenade/iedcasing/CheckParts(list/parts_list)
..()
var/obj/item/weapon/reagent_containers/food/drinks/cans/can = locate() in contents
if(can)
diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm
index 8348bef8bb1..9c27c8cc5ec 100644
--- a/code/game/objects/items/weapons/storage/boxes.dm
+++ b/code/game/objects/items/weapons/storage/boxes.dm
@@ -705,3 +705,72 @@
new /obj/item/weapon/lipstick/green(src)
new /obj/item/weapon/lipstick/blue(src)
new /obj/item/weapon/lipstick/white(src)
+
+#define NODESIGN "None"
+#define NANOTRASEN "NanotrasenStandard"
+#define SYNDI "SyndiSnacks"
+#define HEART "Heart"
+#define SMILE "SmileyFace"
+
+/obj/item/weapon/storage/box/papersack
+ name = "paper sack"
+ desc = "A sack neatly crafted out of paper."
+ icon_state = "paperbag_None"
+ item_state = "paperbag_None"
+ foldable = null
+ var/design = NODESIGN
+
+/obj/item/weapon/storage/box/papersack/update_icon()
+ if(contents.len == 0)
+ icon_state = "[item_state]"
+ else icon_state = "[item_state]_closed"
+
+/obj/item/weapon/storage/box/papersack/attackby(obj/item/weapon/W, mob/user, params)
+ if(istype(W, /obj/item/weapon/pen))
+ //if a pen is used on the sack, dialogue to change its design appears
+ if(contents.len)
+ to_chat(user, "You can't modify this [src] with items still inside!")
+ return
+ var/list/designs = list(NODESIGN, NANOTRASEN, SYNDI, HEART, SMILE, "Cancel")
+ var/switchDesign = input("Select a Design:", "Paper Sack Design", designs[1]) in designs
+ if(get_dist(usr, src) > 1)
+ to_chat(usr, "You have moved too far away!")
+ return
+ var/choice = designs.Find(switchDesign)
+ if(design == designs[choice] || designs[choice] == "Cancel")
+ return 0
+ to_chat(usr, "You make some modifications to the [src] using your pen.")
+ design = designs[choice]
+ icon_state = "paperbag_[design]"
+ item_state = "paperbag_[design]"
+ switch(designs[choice])
+ if(NODESIGN)
+ desc = "A sack neatly crafted out of paper."
+ if(NANOTRASEN)
+ desc = "A standard Nanotrasen paper lunch sack for loyal employees on the go."
+ if(SYNDI)
+ desc = "The design on this paper sack is a remnant of the notorious 'SyndieSnacks' program."
+ if(HEART)
+ desc = "A paper sack with a heart etched onto the side."
+ if(SMILE)
+ desc = "A paper sack with a crude smile etched onto the side."
+ return 0
+ else if(is_sharp(W))
+ if(!contents.len)
+ if(item_state == "paperbag_None")
+ to_chat(user, "You cut eyeholes into the [src].")
+ new /obj/item/clothing/head/papersack(user.loc)
+ qdel(src)
+ return 0
+ else if(item_state == "paperbag_SmileyFace")
+ to_chat(user, "You cut eyeholes into the [src] and modify the design.")
+ new /obj/item/clothing/head/papersack/smiley(user.loc)
+ qdel(src)
+ return 0
+ return ..()
+
+#undef NODESIGN
+#undef NANOTRASEN
+#undef SYNDI
+#undef HEART
+#undef SMILE
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm
index 305befe2ecb..017f2250e2c 100644
--- a/code/game/objects/items/weapons/stunbaton.dm
+++ b/code/game/objects/items/weapons/stunbaton.dm
@@ -23,7 +23,7 @@
update_icon()
return
-/obj/item/weapon/melee/baton/CheckParts()
+/obj/item/weapon/melee/baton/CheckParts(list/parts_list)
..()
bcell = locate(/obj/item/weapon/stock_parts/cell) in contents
update_icon()
diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm
index 7ecbef740cd..174108a3a87 100644
--- a/code/game/objects/items/weapons/twohanded.dm
+++ b/code/game/objects/items/weapons/twohanded.dm
@@ -283,20 +283,90 @@
w_class = 4
slot_flags = SLOT_BACK
force_unwielded = 10
- force_wielded = 18 // Was 13, Buffed - RR
+ force_wielded = 18
throwforce = 20
- throw_speed = 3
+ throw_speed = 4
armour_penetration = 10
- no_spin_thrown = 1 // Thrown spears that spin look dumb. -Fox
+ materials = list(MAT_METAL=1150, MAT_GLASS=2075)
+ hitsound = 'sound/weapons/bladeslice.ogg'
attack_verb = list("attacked", "poked", "jabbed", "torn", "gored")
+ sharp = 1
+ edge = 1
+ no_spin_thrown = 1
+ var/obj/item/weapon/grenade/explosive = null
+ var/war_cry = "AAAAARGH!!!"
/obj/item/weapon/twohanded/spear/update_icon()
- icon_state = "spearglass[wielded]"
- return
+ if(explosive)
+ icon_state = "spearbomb[wielded]"
+ else
+ icon_state = "spearglass[wielded]"
-/obj/item/weapon/twohanded/spear/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
- playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1)
- return ..()
+/obj/item/weapon/twohanded/spear/afterattack(atom/movable/AM, mob/user, proximity)
+ if(!proximity)
+ return
+ if(isturf(AM)) //So you can actually melee with it
+ return
+ if(explosive && wielded)
+ user.say("[war_cry]")
+ explosive.loc = AM
+ explosive.prime()
+ qdel(src)
+
+/obj/item/weapon/twohanded/spear/throw_impact(atom/target)
+ . = ..()
+ if(explosive)
+ explosive.prime()
+ qdel(src)
+
+/obj/item/weapon/twohanded/spear/AltClick()
+ ..()
+ if(!explosive)
+ return
+ if(ismob(loc))
+ var/mob/M = loc
+ var/input = stripped_input(M, "What do you want your war cry to be? You will shout it when you hit someone in melee.", ,"", 50)
+ if(input)
+ war_cry = input
+
+/obj/item/weapon/twohanded/spear/CheckParts(list/parts_list)
+ ..()
+ if(explosive)
+ explosive.loc = get_turf(src.loc)
+ explosive = null
+ var/obj/item/weapon/grenade/G = locate() in contents
+ if(G)
+ explosive = G
+ name = "explosive lance"
+ desc = "A makeshift spear with [G] attached to it. Alt+click on the spear to set your war cry!"
+ return
+ update_icon()
+
+//GREY TIDE
+/obj/item/weapon/twohanded/spear/grey_tide
+ icon_state = "spearglass0"
+ name = "\improper Grey Tide"
+ desc = "Recovered from the aftermath of a revolt aboard Defense Outpost Theta Aegis, in which a seemingly endless tide of Assistants caused heavy casualities among Nanotrasen military forces."
+ force_unwielded = 15
+ force_wielded = 25
+ throwforce = 20
+ throw_speed = 4
+ attack_verb = list("gored")
+
+/obj/item/weapon/twohanded/spear/grey_tide/afterattack(atom/movable/AM, mob/living/user, proximity)
+ ..()
+ if(!proximity)
+ return
+ user.faction |= "greytide(\ref[user])"
+ if(isliving(AM))
+ var/mob/living/L = AM
+ if(istype (L, /mob/living/simple_animal/hostile/illusion))
+ return
+ if(!L.stat && prob(50))
+ var/mob/living/simple_animal/hostile/illusion/M = new(user.loc)
+ M.faction = user.faction.Copy()
+ M.Copy_Parent(user, 100, user.health/2.5, 12, 30)
+ M.GiveTarget(L)
//Putting heads on spears
/obj/item/organ/external/head/attackby(var/obj/item/weapon/W, var/mob/living/user, params)
@@ -348,6 +418,53 @@
name = "Kidan spear"
desc = "A spear brought over from the Kidan homeworld."
+// DIY CHAINSAW
+/obj/item/weapon/twohanded/required/chainsaw
+ name = "chainsaw"
+ desc = "A versatile power tool. Useful for limbing trees and delimbing humans."
+ icon_state = "gchainsaw_off"
+ flags = CONDUCT
+ force = 13
+ w_class = 5
+ throwforce = 13
+ throw_speed = 2
+ throw_range = 4
+ materials = list(MAT_METAL=13000)
+ origin_tech = "materials=3;engineering=4;combat=2"
+ attack_verb = list("sawed", "cut", "hacked", "carved", "cleaved", "butchered", "felled", "timbered")
+ hitsound = "swing_hit"
+ sharp = 1
+ edge = 1
+ actions_types = list(/datum/action/item_action/startchainsaw)
+ var/on = 0
+
+/obj/item/weapon/twohanded/required/chainsaw/attack_self(mob/user)
+ on = !on
+ to_chat(user, "As you pull the starting cord dangling from [src], [on ? "it begins to whirr." : "the chain stops moving."]")
+ if(on)
+ playsound(loc, 'sound/weapons/chainsawstart.ogg', 50, 1)
+ force = on ? 21 : 13
+ throwforce = on ? 21 : 13
+ icon_state = "gchainsaw_[on ? "on" : "off"]"
+
+ if(hitsound == "swing_hit")
+ hitsound = 'sound/weapons/chainsaw.ogg'
+ else
+ hitsound = "swing_hit"
+
+ if(src == user.get_active_hand()) //update inhands
+ user.update_inv_l_hand()
+ user.update_inv_r_hand()
+ for(var/X in actions)
+ var/datum/action/A = X
+ A.UpdateButtonIcon()
+
+/obj/item/weapon/twohanded/required/chainsaw/doomslayer
+ name = "OOOH BABY"
+ desc = "VRRRRRRR!!!"
+ armour_penetration = 100
+
+
///CHAINSAW///
/obj/item/weapon/twohanded/chainsaw
icon_state = "chainsaw0"
diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm
index f7253a82cdf..6e53e8a9b04 100644
--- a/code/modules/clothing/head/misc.dm
+++ b/code/modules/clothing/head/misc.dm
@@ -372,3 +372,17 @@
desc = "A horribly bloated and mismatched human head."
icon_state = "lingspacehelmet"
item_state = "lingspacehelmet"
+
+/obj/item/clothing/head/papersack
+ name = "paper sack hat"
+ desc = "A paper sack with crude holes cut out for eyes. Useful for hiding one's identity or ugliness."
+ icon_state = "papersack"
+ flags = BLOCKHAIR
+ flags_inv = HIDEFACE|HIDEEARS
+
+/obj/item/clothing/head/papersack/smiley
+ name = "paper sack hat"
+ desc = "A paper sack with crude holes cut out for eyes and a sketchy smile drawn on the front. Not creepy at all."
+ icon_state = "papersack_smile"
+ flags = BLOCKHAIR
+ flags_inv = HIDEFACE|HIDEEARS
diff --git a/code/modules/crafting/recipes.dm b/code/modules/crafting/recipes.dm
index 4a059158e2f..6f946146aa4 100644
--- a/code/modules/crafting/recipes.dm
+++ b/code/modules/crafting/recipes.dm
@@ -26,6 +26,24 @@
time = 15
category = CAT_WEAPON
+/datum/crafting_recipe/lance
+ name = "explosive lance (grenade)"
+ result = /obj/item/weapon/twohanded/spear
+ reqs = list(/obj/item/weapon/twohanded/spear = 1,
+ /obj/item/weapon/grenade = 1)
+ parts = list(/obj/item/weapon/grenade = 1)
+ time = 15
+ category = CAT_WEAPON
+
+/datum/crafting_recipe/molotov
+ name = "Molotov"
+ result = /obj/item/weapon/reagent_containers/food/drinks/bottle/molotov
+ reqs = list(/obj/item/weapon/reagent_containers/glass/rag = 1,
+ /obj/item/weapon/reagent_containers/food/drinks/bottle = 1)
+ parts = list(/obj/item/weapon/reagent_containers/food/drinks/bottle = 1)
+ time = 40
+ category = CAT_WEAPON
+
/datum/crafting_recipe/stunprod
name = "Stunprod"
result = /obj/item/weapon/melee/baton/cattleprod
@@ -109,7 +127,9 @@
result = /obj/item/weapon/flamethrower
reqs = list(/obj/item/weapon/weldingtool = 1,
/obj/item/device/assembly/igniter = 1,
- /obj/item/stack/rods = 2)
+ /obj/item/stack/rods = 1)
+ parts = list(/obj/item/device/assembly/igniter = 1,
+ /obj/item/weapon/weldingtool = 1)
tools = list(/obj/item/weapon/screwdriver)
time = 10
category = CAT_WEAPON
@@ -206,6 +226,16 @@
time = 100
category = CAT_WEAPON
+/datum/crafting_recipe/chainsaw
+ name = "Chainsaw"
+ result = /obj/item/weapon/twohanded/required/chainsaw
+ reqs = list(/obj/item/weapon/circular_saw = 1,
+ /obj/item/stack/cable_coil = 1,
+ /obj/item/stack/sheet/plasteel = 1)
+ tools = list(/obj/item/weapon/weldingtool)
+ time = 50
+ category = CAT_WEAPON
+
/datum/crafting_recipe/spear
name = "Spear"
result = /obj/item/weapon/twohanded/spear
@@ -223,6 +253,13 @@
/datum/reagent/holywater = 10)
parts = list(/obj/item/device/camera = 1)
+/datum/crafting_recipe/papersack
+ name = "Paper Sack"
+ result = /obj/item/weapon/storage/box/papersack
+ time = 10
+ reqs = list(/obj/item/weapon/paper = 5)
+ category = CAT_MISC
+
/datum/crafting_recipe/notreallysoap
name = "Homemade Soap"
result = /obj/item/weapon/soap/ducttape
@@ -264,4 +301,12 @@
result = /obj/item/latexballon
time = 15
reqs = list(/obj/item/clothing/gloves/color/latex = 1,
- /obj/item/stack/cable_coil = 5)
\ No newline at end of file
+ /obj/item/stack/cable_coil = 5)
+
+/datum/crafting_recipe/gold_horn
+ name = "Golden bike horn"
+ result = /obj/item/weapon/bikehorn/golden
+ time = 20
+ reqs = list(/obj/item/stack/sheet/mineral/bananium = 5,
+ /obj/item/weapon/bikehorn)
+ category = CAT_MISC
\ No newline at end of file
diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm
index 0863302f5a0..93d80552de6 100644
--- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm
+++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm
@@ -277,3 +277,70 @@
item_state = "carton"
isGlass = 0
list_reagents = list("limejuice" = 100)
+
+////////////////////////// MOLOTOV ///////////////////////
+/obj/item/weapon/reagent_containers/food/drinks/bottle/molotov
+ name = "molotov cocktail"
+ desc = "A throwing weapon used to ignite things, typically filled with an accelerant. Recommended highly by rioters and revolutionaries. Light and toss."
+ icon_state = "vodkabottle"
+ list_reagents = list()
+ var/list/accelerants = list(/datum/reagent/ethanol,/datum/reagent/fuel,/datum/reagent/clf3,/datum/reagent/phlogiston,
+ /datum/reagent/napalm,/datum/reagent/hellwater,/datum/reagent/plasma,/datum/reagent/plasma_dust)
+ var/active = 0
+
+/obj/item/weapon/reagent_containers/food/drinks/bottle/molotov/CheckParts(list/parts_list)
+ ..()
+ var/obj/item/weapon/reagent_containers/food/drinks/bottle/B = locate() in contents
+ if(B)
+ icon_state = B.icon_state
+ B.reagents.copy_to(src, 100)
+ if(!B.isGlass)
+ desc += " You're not sure if making this out of a carton was the brightest idea."
+ isGlass = 0
+
+/obj/item/weapon/reagent_containers/food/drinks/bottle/molotov/throw_impact(atom/target,mob/thrower)
+ var/firestarter = 0
+ for(var/datum/reagent/R in reagents.reagent_list)
+ for(var/A in accelerants)
+ if(istype(R, A))
+ firestarter = 1
+ break
+ SplashReagents(target)
+ if(firestarter && active)
+ target.fire_act()
+ new /obj/effect/hotspot(get_turf(target))
+ ..()
+
+/obj/item/weapon/reagent_containers/food/drinks/bottle/molotov/attackby(obj/item/I, mob/user, params)
+ if(is_hot(I) && !active)
+ active = 1
+ var/turf/bombturf = get_turf(src)
+ var/area/bombarea = get_area(bombturf)
+ message_admins("[key_name(user)]? has primed a [name] for detonation at [bombarea] (JMP).")
+ log_game("[key_name(user)] has primed a [name] for detonation at [bombarea] ([bombturf.x],[bombturf.y],[bombturf.z]).")
+
+ to_chat(user, "You light [src] on fire.")
+ overlays += fire_overlay
+ if(!isGlass)
+ spawn(50)
+ if(active)
+ var/counter
+ var/target = loc
+ for(counter = 0, counter < 2, counter++)
+ if(istype(target, /obj/item/weapon/storage))
+ var/obj/item/weapon/storage/S = target
+ target = S.loc
+ if(istype(target, /atom))
+ var/atom/A = target
+ SplashReagents(A)
+ A.fire_act()
+ qdel(src)
+
+/obj/item/weapon/reagent_containers/food/drinks/bottle/molotov/attack_self(mob/user)
+ if(active)
+ if(!isGlass)
+ to_chat(user, "The flame's spread too far on it!")
+ return
+ to_chat(user, "You snuff out the flame on \the [src].")
+ overlays -= fire_overlay
+ active = 0
\ No newline at end of file
diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm
index 689799680ec..a09589f22ee 100644
--- a/code/modules/paperwork/photography.dm
+++ b/code/modules/paperwork/photography.dm
@@ -153,7 +153,7 @@
var/see_ghosts = 0 //for the spoop of it
-/obj/item/device/camera/spooky/CheckParts()
+/obj/item/device/camera/spooky/CheckParts(list/parts_list)
..()
var/obj/item/device/camera/C = locate(/obj/item/device/camera) in contents
if(C)
diff --git a/icons/goonstation/effects/fire.dmi b/icons/goonstation/effects/fire.dmi
new file mode 100644
index 00000000000..48a1f9b90e6
Binary files /dev/null and b/icons/goonstation/effects/fire.dmi differ
diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi
index 7553227171c..fec4fdce7a1 100644
Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ
diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi
index 2a5ac2889c2..076449fa8ad 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 f950b2bdf74..428b3d40998 100644
Binary files a/icons/mob/inhands/items_righthand.dmi and b/icons/mob/inhands/items_righthand.dmi differ
diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi
index 21205081639..25ec0162866 100644
Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ
diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi
index 40ef753fb6f..f81f4ab555a 100644
Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ
diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi
index 9c90b468860..d21263adf0f 100644
Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ
diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi
index 2c9a230d1df..4b3bb90082d 100644
Binary files a/icons/obj/weapons.dmi and b/icons/obj/weapons.dmi differ