diff --git a/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm b/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm
index bd543535f81..c4af29c6ad3 100644
--- a/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm
+++ b/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm
@@ -726,9 +726,7 @@
/turf/simulated/floor/plating/airless,
/area/ruin/onehalf/hallway)
"bK" = (
-/obj/machinery/vending/coffee{
- name = "\improper Solar's Best Hot Drinks"
- },
+/obj/machinery/vending/coffee,
/obj/effect/landmark/damageturf,
/turf/simulated/floor/plasteel/airless,
/area/ruin/onehalf/hallway)
diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index 4bbc7d03d07..5fd98794503 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -1926,23 +1926,23 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
return pois
-/proc/flash_color(mob_or_client, flash_color="#960000", flash_time=20)
+/proc/flash_color(mob_or_client, flash_color = "#960000", flash_time = 2 SECONDS)
+ var/mob/M
var/client/C
- if(istype(mob_or_client, /mob))
- var/mob/M = mob_or_client
- if(M.client)
- C = M.client
- else
+ if(ismob(mob_or_client))
+ M = mob_or_client
+ if(!M.client)
return
- else if(istype(mob_or_client, /client))
+ C = M.client
+ else if(isclient(mob_or_client))
C = mob_or_client
+ M = C.mob
- if(!istype(C))
+ if(!istype(C) || !istype(M))
return
C.color = flash_color
- spawn(0)
- animate(C, color = initial(C.color), time = flash_time)
+ INVOKE_ASYNC(C, /client/.proc/colour_transition, M.get_screen_colour(), flash_time)
#define RANDOM_COLOUR (rgb(rand(0,255),rand(0,255),rand(0,255)))
diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm
index 14a952cb36f..28f69ba1795 100644
--- a/code/controllers/subsystem/ticker.dm
+++ b/code/controllers/subsystem/ticker.dm
@@ -287,7 +287,7 @@ SUBSYSTEM_DEF(ticker)
else
log_debug("Playercount: [playercount] versus trigger: [highpop_trigger] - keeping standard job config")
- SSnightshift.check_nightshift()
+ SSnightshift.check_nightshift(TRUE)
#ifdef UNIT_TESTS
RunUnitTests()
diff --git a/code/datums/progressbar.dm b/code/datums/progressbar.dm
index 4a812b40e4e..3efc5b1e094 100644
--- a/code/datums/progressbar.dm
+++ b/code/datums/progressbar.dm
@@ -14,9 +14,9 @@
EXCEPTION("Invalid target given")
if(goal_number)
goal = goal_number
- bar = image('icons/effects/progessbar.dmi', target, "prog_bar_0", HUD_LAYER)
+ bar = image('icons/effects/progessbar.dmi', target, "prog_bar_0", ABOVE_HUD_LAYER)
bar.alpha = 0
- bar.plane = HUD_PLANE
+ bar.plane = ABOVE_HUD_PLANE
bar.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA
user = User
if(user)
diff --git a/code/game/gamemodes/changeling/powers/epinephrine.dm b/code/game/gamemodes/changeling/powers/epinephrine.dm
index ef22de10ce4..6d57f52bd15 100644
--- a/code/game/gamemodes/changeling/powers/epinephrine.dm
+++ b/code/game/gamemodes/changeling/powers/epinephrine.dm
@@ -16,7 +16,7 @@
else
to_chat(user, "Adrenaline rushes through us.")
user.SetSleeping(0)
- user.stat = 0
+ user.WakeUp()
user.SetParalysis(0)
user.SetStunned(0)
user.SetWeakened(0)
diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm
index fbb6a0ad3c3..6d695141fc9 100644
--- a/code/game/machinery/constructable_frame.dm
+++ b/code/game/machinery/constructable_frame.dm
@@ -231,20 +231,23 @@ to destroy them and players will be able to make replacements.
build_path = /obj/machinery/vending/boozeomat
req_components = list(/obj/item/vending_refill/boozeomat = 1)
- var/static/list/vending_names_paths = list(
+ var/static/list/vending_names_paths = list( // This should really get refactored at some point
"Booze-O-Mat" = /obj/machinery/vending/boozeomat,
- "Solar's Best Hot Drinks" = /obj/machinery/vending/coffee,
+ "Hot Drinks machine" = /obj/machinery/vending/coffee,
"Getmore Chocolate Corp" = /obj/machinery/vending/snack,
"Mr. Chang" = /obj/machinery/vending/chinese,
"Robust Softdrinks" = /obj/machinery/vending/cola,
- "ShadyCigs Deluxe" = /obj/machinery/vending/cigarette,
+ "cigarette machine" = /obj/machinery/vending/cigarette,
+ "ShadyCigs Ultra" = /obj/machinery/vending/cigarette/beach,
"Hatlord 9000" = /obj/machinery/vending/hatdispenser,
"Suitlord 9000" = /obj/machinery/vending/suitdispenser,
"Shoelord 9000" = /obj/machinery/vending/shoedispenser,
"AutoDrobe" = /obj/machinery/vending/autodrobe,
"ClothesMate" = /obj/machinery/vending/clothing,
- "NanoMed Plus" = /obj/machinery/vending/medical,
"NanoMed" = /obj/machinery/vending/wallmed,
+ "Emergency NanoMed" = /obj/machinery/vending/wallmed,
+ "NanoMed Plus" = /obj/machinery/vending/medical,
+ "SyndiMed Plus" = /obj/machinery/vending/medical/syndicate_access,
"Vendomat" = /obj/machinery/vending/assist,
"YouTool" = /obj/machinery/vending/tool,
"Engi-Vend" = /obj/machinery/vending/engivend,
@@ -270,6 +273,9 @@ to destroy them and players will be able to make replacements.
/obj/item/circuitboard/vendor/proc/set_type(type)
var/obj/machinery/vending/typepath = vending_names_paths[type]
+ if(!typepath)
+ stack_trace("set_type() called with an invalid type variable. type: [type]")
+
build_path = typepath
board_name = "[type] Vendor"
format_board_name()
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index 5d979ff2044..d40aa3424e0 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -1646,7 +1646,7 @@
//don't forget to change the refill size if you change the machine's contents!
/obj/machinery/vending/clothing
- name = "\improper ClothesMate" //renamed to make the slogan rhyme
+ name = "\improper ClothesMate" //renamed to make the slogan rhyme
desc = "A vending machine for clothing."
icon_state = "clothes"
slogan_list = list("Dress for success!","Prepare to look swagalicious!","Look at all this free swag!","Why leave style up to fate? Use the ClothesMate!")
diff --git a/code/game/objects/items/weapons/holy_weapons.dm b/code/game/objects/items/weapons/holy_weapons.dm
index 0f30d33d7b4..6e1c2ba7c99 100644
--- a/code/game/objects/items/weapons/holy_weapons.dm
+++ b/code/game/objects/items/weapons/holy_weapons.dm
@@ -266,9 +266,10 @@
possessed = TRUE
- var/list/mob/dead/observer/candidates = SSghost_spawns.poll_candidates("Do you want to play as the spirit of [user.real_name]'s blade?", ROLE_PAI, FALSE, 10 SECONDS, source = src)
+ var/list/mob/dead/observer/candidates = SSghost_spawns.poll_candidates("Do you want to play as the spirit of [user.real_name]'s blade?", ROLE_PAI, FALSE, 10 SECONDS, source = src, role_cleanname = "Possessed Blade")
var/mob/dead/observer/theghost = null
-
+ if(QDELETED(src))
+ return
if(length(candidates))
theghost = pick(candidates)
var/mob/living/simple_animal/shade/sword/S = new(src)
diff --git a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm
index 896ed8e5134..398e587145b 100644
--- a/code/game/objects/structures/signs.dm
+++ b/code/game/objects/structures/signs.dm
@@ -1,18 +1,15 @@
/obj/structure/sign
icon = 'icons/obj/decals.dmi'
- anchored = 1
- opacity = 0
- density = 0
- layer = 3.5
+ anchored = TRUE
+ layer = NOT_HIGH_OBJ_LAYER
max_integrity = 100
- armor = list("melee" = 50, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50)
flags_2 = RAD_PROTECT_CONTENTS_2 | RAD_NO_CONTAMINATE_2
/obj/structure/sign/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)
switch(damage_type)
if(BRUTE)
if(damage_amount)
- playsound(src.loc, 'sound/weapons/slash.ogg', 80, TRUE)
+ playsound(loc, 'sound/weapons/slash.ogg', 80, TRUE)
else
playsound(loc, 'sound/weapons/tap.ogg', 50, TRUE)
if(BURN)
@@ -25,50 +22,41 @@
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
to_chat(user, "You unfasten the sign with [I].")
- var/obj/item/sign/S = new(src.loc)
+ var/obj/item/sign/S = new(get_turf(user)) // This is bad
S.name = name
S.desc = desc
S.icon_state = icon_state
- //var/icon/I = icon('icons/obj/decals.dmi', icon_state)
- //S.icon = I.Scale(24, 24)
- S.sign_state = icon_state
qdel(src)
/obj/item/sign
name = "sign"
- desc = ""
icon = 'icons/obj/decals.dmi'
w_class = WEIGHT_CLASS_NORMAL
resistance_flags = FLAMMABLE
- var/sign_state = ""
-/obj/item/sign/attackby(obj/item/tool as obj, mob/user as mob) //construction
- if(istype(tool, /obj/item/screwdriver) && isturf(user.loc))
- var/direction = input("In which direction?", "Select direction.") in list("North", "East", "South", "West", "Cancel")
- if(direction == "Cancel")
- return
- if(QDELETED(src))
- return
- var/obj/structure/sign/S = new(user.loc)
- switch(direction)
- if("North")
- S.pixel_y = 32
- if("East")
- S.pixel_x = 32
- if("South")
- S.pixel_y = -32
- if("West")
- S.pixel_x = -32
- else
- return
- S.name = name
- S.desc = desc
- S.icon_state = sign_state
- to_chat(user, "You fasten \the [S] with your [tool].")
- qdel(src)
- else
- return ..()
+/obj/item/sign/screwdriver_act(mob/living/user, obj/item/I)
+ . = TRUE
+ var/direction = input("In which direction?", "Select direction.") as null|anything in list("North", "South", "East", "West")
+ if(!direction || QDELETED(src) || !in_range(src, user))
+ return
+ if(!I.use_tool(src, user, 0, volume = I.tool_volume))
+ return
+ var/obj/structure/sign/S = new(get_turf(src)) // This is also bad
+ switch(direction)
+ if("North")
+ S.pixel_y = 32
+ if("South")
+ S.pixel_y = -32
+ if("East")
+ S.pixel_x = 32
+ if("West")
+ S.pixel_x = -32
+ S.name = name
+ S.desc = desc
+ S.icon_state = icon_state
+ to_chat(user, "You fasten [src] with [I].")
+ qdel(src)
/obj/structure/sign/double/map
name = "station map"
diff --git a/code/modules/awaymissions/mission_code/ruins/oldstation.dm b/code/modules/awaymissions/mission_code/ruins/oldstation.dm
index ab1f4ca2603..2b3cdaff80d 100644
--- a/code/modules/awaymissions/mission_code/ruins/oldstation.dm
+++ b/code/modules/awaymissions/mission_code/ruins/oldstation.dm
@@ -43,7 +43,7 @@
/obj/item/card/id/away/old/apc
name = "APC Access ID"
desc = "A special ID card that allows access to APC terminals."
- icon_state = "centcom_old"
+ icon_state = "guest_invalid"
access = list(ACCESS_ENGINE_EQUIP)
/obj/item/storage/backpack/old
diff --git a/code/modules/events/blob.dm b/code/modules/events/blob.dm
index 65d820ce43f..4f15e3983e4 100644
--- a/code/modules/events/blob.dm
+++ b/code/modules/events/blob.dm
@@ -27,6 +27,7 @@
var/mob/living/simple_animal/mouse/blobinfected/B = new(vent.loc)
var/mob/M = pick(candidates)
B.key = M.key
+ B.mind.special_role = SPECIAL_ROLE_BLOB
SSticker.mode.update_blob_icons_added(B.mind)
to_chat(B, "You are now a mouse, infected with blob spores. Find somewhere isolated... before you burst and become the blob! Use ventcrawl (alt-click on vents) to move around.")
diff --git a/code/modules/events/rogue_drones.dm b/code/modules/events/rogue_drones.dm
index f3ea93c80c4..e069fb4e5c8 100644
--- a/code/modules/events/rogue_drones.dm
+++ b/code/modules/events/rogue_drones.dm
@@ -22,7 +22,7 @@
else if(prob(50))
msg = "Contact has been lost with a combat drone wing operating out of the NSV Icarus. If any are sighted in the area, approach with caution."
else
- msg = "Unidentified hackers have targetted a combat drone wing deployed from the NSV Icarus. If any are sighted in the area, approach with caution."
+ msg = "Unidentified hackers have targeted a combat drone wing deployed from the NSV Icarus. If any are sighted in the area, approach with caution."
GLOB.event_announcement.Announce(msg, "Rogue drone alert")
/datum/event/rogue_drone/tick()
diff --git a/code/modules/food_and_drinks/food/foods/candy.dm b/code/modules/food_and_drinks/food/foods/candy.dm
index aeab2b52128..730ba91f413 100644
--- a/code/modules/food_and_drinks/food/foods/candy.dm
+++ b/code/modules/food_and_drinks/food/foods/candy.dm
@@ -132,6 +132,7 @@
filling_color = "#7D5F46"
bitesize = 3
junkiness = 25
+ antable = FALSE
list_reagents = list("nutriment" = 1, "chocolate" = 1)
tastes = list("chocolate" = 1)
diff --git a/code/modules/food_and_drinks/food/foods/ethnic.dm b/code/modules/food_and_drinks/food/foods/ethnic.dm
index 6523b7521e3..469f96d906a 100644
--- a/code/modules/food_and_drinks/food/foods/ethnic.dm
+++ b/code/modules/food_and_drinks/food/foods/ethnic.dm
@@ -58,6 +58,7 @@
desc = "What is in this anyways?"
icon_state = "chinese1"
junkiness = 25
+ antable = FALSE
list_reagents = list("nutriment" = 1, "beans" = 3, "msg" = 4, "sugar" = 2)
tastes = list("noodle" = 1, "vegetables" = 1)
diff --git a/code/modules/food_and_drinks/food/foods/junkfood.dm b/code/modules/food_and_drinks/food/foods/junkfood.dm
index ec17f3c4a5a..7b7a665e0f5 100644
--- a/code/modules/food_and_drinks/food/foods/junkfood.dm
+++ b/code/modules/food_and_drinks/food/foods/junkfood.dm
@@ -11,6 +11,7 @@
trash = /obj/item/trash/chips
filling_color = "#E8C31E"
junkiness = 20
+ antable = FALSE
list_reagents = list("nutriment" = 1, "sodiumchloride" = 1, "sugar" = 3)
tastes = list("crisps" = 1)
@@ -21,6 +22,7 @@
trash = /obj/item/trash/sosjerky
filling_color = "#631212"
junkiness = 25
+ antable = FALSE
list_reagents = list("protein" = 1, "sugar" = 3)
tastes = list("chewy beef" = 1)
@@ -31,6 +33,7 @@
trash = /obj/item/trash/pistachios
filling_color = "#BAD145"
junkiness = 20
+ antable = FALSE
list_reagents = list("plantmatter" = 2, "sodiumchloride" = 1, "sugar" = 4)
tastes = list("pistachios" = 1)
@@ -41,6 +44,7 @@
trash = /obj/item/trash/raisins
filling_color = "#343834"
junkiness = 25
+ antable = FALSE
list_reagents = list("plantmatter" = 2, "sugar" = 4)
tastes = list("dried raisins" = 1)
@@ -61,6 +65,7 @@
trash = /obj/item/trash/cheesie
filling_color = "#FFA305"
junkiness = 25
+ antable = FALSE
list_reagents = list("nutriment" = 1, "fake_cheese" = 2, "sugar" = 3)
tastes = list("cheese" = 1, "crisps" = 2)
@@ -71,6 +76,7 @@
filling_color = "#FF5D05"
trash = /obj/item/trash/syndi_cakes
bitesize = 3
+ antable = FALSE
list_reagents = list("nutriment" = 4, "salglu_solution" = 5)
tastes = list("sweetness" = 3, "cake" = 1)
@@ -81,6 +87,7 @@
trash = /obj/item/trash/tastybread
filling_color = "#A66829"
junkiness = 20
+ antable = FALSE
list_reagents = list("nutriment" = 2, "sugar" = 4)
tastes = list("bread" = 1)
diff --git a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm
index 4ec135e9e01..740e8b8a103 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm
@@ -24,6 +24,23 @@
idle_power_usage = 2
active_power_usage = 500
+/obj/machinery/gibber/Initialize(mapload)
+ . = ..()
+ overlays += image('icons/obj/kitchen.dmi', "grjam")
+ component_parts = list()
+ component_parts += new /obj/item/circuitboard/gibber(null)
+ component_parts += new /obj/item/stock_parts/matter_bin(null)
+ component_parts += new /obj/item/stock_parts/manipulator(null)
+ RefreshParts()
+
+/obj/machinery/gibber/Destroy()
+ if(contents.len)
+ for(var/atom/movable/A in contents)
+ A.loc = get_turf(src)
+ if(occupant)
+ occupant = null
+ return ..()
+
/obj/machinery/gibber/suicide_act(mob/user)
if(occupant || locked)
return FALSE
@@ -36,21 +53,6 @@
addtimer(CALLBACK(src, .proc/startgibbing, user), 33)
return OBLITERATION
-/obj/machinery/gibber/Destroy()
- if(contents.len)
- for(var/atom/movable/A in contents)
- A.loc = get_turf(src)
- if(occupant)
- occupant = null
- return ..()
-
-/obj/machinery/gibber/RefreshParts() //If you want to make the machine upgradable, this is where you would change any vars basd on its stock parts.
- return
-
-/obj/machinery/gibber/New()
- ..()
- overlays += image('icons/obj/kitchen.dmi', "grjam")
-
/obj/machinery/gibber/update_icon()
overlays.Cut()
diff --git a/code/modules/mob/dead/observer/orbit.dm b/code/modules/mob/dead/observer/orbit.dm
index 20b2a4d375a..ca0ab3f4051 100644
--- a/code/modules/mob/dead/observer/orbit.dm
+++ b/code/modules/mob/dead/observer/orbit.dm
@@ -31,10 +31,6 @@
update_static_data(owner, ui)
. = TRUE
-/datum/orbit_menu/ui_data(mob/user)
- var/list/data = list()
- return data
-
/datum/orbit_menu/ui_static_data(mob/user)
var/list/data = list()
@@ -96,6 +92,7 @@
)
if(SSticker && SSticker.mode)
other_antags += list(
+ "Blob" = (mind.special_role = SPECIAL_ROLE_BLOB),
"Cultist" = (mind in SSticker.mode.cult),
"Wizard" = (mind in SSticker.mode.wizards),
"Wizard's Apprentice" = (mind in SSticker.mode.apprentices),
@@ -121,6 +118,10 @@
var/list/antag_serialized = serialized.Copy()
antag_serialized["antag"] = "Terror Spider"
antagonists += list(antag_serialized)
+ else if(istype(M, /mob/living/simple_animal/revenant))
+ var/list/antag_serialized = serialized.Copy()
+ antag_serialized["antag"] = "Revenant"
+ antagonists += list(antag_serialized)
else
misc += list(serialized)
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 160a9d55288..6b275922345 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -272,6 +272,8 @@
* * target - The mob who is currently on fire
*/
/mob/living/carbon/proc/pat_out(mob/living/target)
+ if(target == src)
+ return // Probably shouldn't be able to pat yourself out.
var/self_message = "You try to extinguish [target]!"
if(prob(30) && ishuman(src)) // 30% chance of burning your hands
var/mob/living/carbon/human/H = src
diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm
index a8a4133310d..348aab228ae 100644
--- a/code/modules/mob/living/carbon/human/emote.dm
+++ b/code/modules/mob/living/carbon/human/emote.dm
@@ -170,9 +170,13 @@
if("growl", "growls")
var/M = handle_emote_param(param)
- message = "[src] growls[M ? " at [M]" : ""]."
- playsound(loc, "growls", 80, 1, frequency = get_age_pitch())
- m_type = 2
+ if(miming)
+ message = "[src] acts out a growl[M ? " at [M]" : ""]!"
+ m_type = 1
+ else
+ message = "[src] growls[M ? " at [M]" : ""]!"
+ playsound(loc, "growls", 80, 1, frequency = get_age_pitch())
+ m_type = 2
if("ping", "pings")
var/M = handle_emote_param(param)
diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm
index 8276d06f126..3ac0ef0f64d 100644
--- a/code/modules/mob/mob_helpers.dm
+++ b/code/modules/mob/mob_helpers.dm
@@ -13,6 +13,7 @@
return 0
/mob/proc/get_screen_colour()
+ return
/mob/proc/update_client_colour(time = 10) //Update the mob's client.color with an animation the specified time in length.
if(!client) //No client_colour without client. If the player logs back in they'll be back through here anyway.
diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm
index 21c0f648a3b..1c8e886e736 100755
--- a/code/modules/recycling/sortingmachinery.dm
+++ b/code/modules/recycling/sortingmachinery.dm
@@ -97,12 +97,10 @@
A.emp_act(severity)
/obj/item/smallDelivery/attack_self(mob/user as mob)
- if(wrapped && wrapped.loc) //sometimes items can disappear. For example, bombs. --rastaf0
- wrapped.loc = user.loc
+ if(wrapped?.loc == src) //sometimes items can disappear. For example, bombs. --rastaf0
+ wrapped.forceMove(get_turf(src))
if(ishuman(user))
user.put_in_hands(wrapped)
- else
- wrapped.loc = get_turf(src)
playsound(src.loc, 'sound/items/poster_ripped.ogg', 50, 1)
qdel(src)
@@ -163,6 +161,8 @@
if(is_type_in_list(target, no_wrap))
return
+ if(is_type_in_list(A.loc, list(/obj/item/smallDelivery, /obj/structure/bigDelivery)))
+ return
if(target.anchored)
return
if(target in user)
diff --git a/icons/mob/clothing/species/drask/gloves1.dmi b/icons/mob/clothing/species/drask/gloves1.dmi
deleted file mode 100644
index 70423488ef5..00000000000
Binary files a/icons/mob/clothing/species/drask/gloves1.dmi and /dev/null differ
diff --git a/icons/mob/clothing/species/drask/uniform.dmi b/icons/mob/clothing/species/drask/uniform.dmi
index 25cfb51013c..82281f52c84 100644
Binary files a/icons/mob/clothing/species/drask/uniform.dmi and b/icons/mob/clothing/species/drask/uniform.dmi differ
diff --git a/icons/mob/inhands/guns_righthand.dmi b/icons/mob/inhands/guns_righthand.dmi
index 2c541898b08..32c27e7d57d 100644
Binary files a/icons/mob/inhands/guns_righthand.dmi and b/icons/mob/inhands/guns_righthand.dmi differ