diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm
index 80633148e9..a5190af23a 100644
--- a/code/__DEFINES/traits.dm
+++ b/code/__DEFINES/traits.dm
@@ -164,6 +164,7 @@
#define TRAIT_NO_MIDROUND_ANTAG "no-midround-antag" //can't be turned into an antag by random events
#define TRAIT_PUGILIST "pugilist" //This guy punches people for a living
#define TRAIT_KI_VAMPIRE "ki-vampire" //when someone with this trait rolls maximum damage on a punch and stuns the target, they regain some stamina and do clone damage
+#define TRAIT_MAULER "mauler" // this guy punches the shit out of people to hurt them, not to drain their stamina
#define TRAIT_PASSTABLE "passtable"
#define TRAIT_GIANT "giant"
#define TRAIT_DWARF "dwarf"
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index b4c114eb6a..65fdbb6f1c 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -315,7 +315,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
return
if(loc == user && current_equipped_slot && current_equipped_slot != SLOT_HANDS)
if(current_equipped_slot in user.check_obscured_slots())
- to_chat(src, "You are unable to unequip that while wearing other garments over it!")
+ to_chat(user, "You are unable to unequip that while wearing other garments over it!")
return FALSE
if(resistance_flags & ON_FIRE)
@@ -383,7 +383,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
return
if(loc == user && current_equipped_slot && current_equipped_slot != SLOT_HANDS)
if(current_equipped_slot in user.check_obscured_slots())
- to_chat(src, "You are unable to unequip that while wearing other garments over it!")
+ to_chat(user, "You are unable to unequip that while wearing other garments over it!")
return FALSE
diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm
index 9f91d2c5e0..31f11a199c 100644
--- a/code/game/objects/structures/tables_racks.dm
+++ b/code/game/objects/structures/tables_racks.dm
@@ -73,7 +73,7 @@
if(user.grab_state < GRAB_AGGRESSIVE)
to_chat(user, "You need a better grip to do that!")
return
- if(user.grab_state >= GRAB_NECK)
+ if(user.grab_state >= GRAB_NECK || HAS_TRAIT(user, TRAIT_MAULER))
tablelimbsmash(user, pushed_mob)
else
tablepush(user, pushed_mob)
@@ -147,7 +147,7 @@
pushed_mob.Knockdown(30)
var/obj/item/bodypart/banged_limb = pushed_mob.get_bodypart(user.zone_selected) || pushed_mob.get_bodypart(BODY_ZONE_HEAD)
var/extra_wound = 0
- if(HAS_TRAIT(user, TRAIT_HULK))
+ if(HAS_TRAIT(user, TRAIT_HULK) || HAS_TRAIT(user, TRAIT_MAULER))
extra_wound = 20
banged_limb.receive_damage(30, wound_bonus = extra_wound)
pushed_mob.apply_damage(60, STAMINA)
diff --git a/code/modules/antagonists/changeling/powers/mutations.dm b/code/modules/antagonists/changeling/powers/mutations.dm
index 24288be078..05c265bc15 100644
--- a/code/modules/antagonists/changeling/powers/mutations.dm
+++ b/code/modules/antagonists/changeling/powers/mutations.dm
@@ -6,6 +6,10 @@
Shield
Armor
Tentacles
+ Hatterhat Additions:
+ claws! (glove slot)
+ jagged (thieves') claws
+ bone gauntlets for punching dudes
*/
@@ -89,7 +93,7 @@
return 1
var/mob/living/carbon/human/H = user
if(istype(H.wear_suit, suit_type) || istype(H.head, helmet_type))
- H.visible_message("[H] casts off [H.p_their()] [suit_name_simple]!", "We cast off our [suit_name_simple].", "You hear the organic matter ripping and tearing!")
+ H.visible_message("[H] casts off [H.p_their()] [suit_name_simple]!", "We cast off our [suit_name_simple].", "You hear organic matter ripping and tearing!")
H.temporarilyRemoveItemFromInventory(H.head, TRUE) //The qdel on dropped() takes care of it
H.temporarilyRemoveItemFromInventory(H.wear_suit, TRUE)
H.update_inv_wear_suit()
@@ -461,7 +465,7 @@
if(--remaining_uses < 1)
if(ishuman(loc))
var/mob/living/carbon/human/H = loc
- H.visible_message("With a sickening crunch, [H] reforms [H.p_their()] shield into an arm!", "We assimilate our shield into our body", "With a sickening crunch, [H] reforms [H.p_their()] shield into an arm!", "We assimilate our shield into our body.", "With a sickening crunch, [H] reforms [H.p_their()] [glove_name_simple] into hands!", "We assimilate our [glove_name_simple].", "You hear organic matter ripping and tearing!")
+ H.temporarilyRemoveItemFromInventory(H.gloves, TRUE) //The qdel on dropped() takes care of it
+ H.update_inv_gloves()
+ playsound(H.loc, 'sound/effects/blobattack.ogg', 30, 1)
+ if(blood_on_castoff)
+ H.add_splatter_floor()
+ playsound(H.loc, 'sound/effects/splat.ogg', 50, 1) //So real sounds
+
+ changeling.chem_recharge_slowdown -= recharge_slowdown
+ return 1
+
+/obj/effect/proc_holder/changeling/gloves/on_refund(mob/user)
+ if(!ishuman(user))
+ return
+ action.Remove(user)
+ var/mob/living/carbon/human/H = user
+ check_gloves(H)
+
+/obj/effect/proc_holder/changeling/gloves/sting_action(mob/living/carbon/human/user)
+ if(!user.canUnEquip(user.gloves))
+ to_chat(user, "\the [user.gloves] is stuck to your body, you cannot grow [glove_name_simple] over it!")
+ return
+
+ user.dropItemToGround(user.gloves)
+
+ user.equip_to_slot_if_possible(new glove_type(user), SLOT_GLOVES, 1, 1, 1)
+ playsound(user, 'sound/effects/blobattack.ogg', 30, 1)
+ var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling)
+ changeling.chem_recharge_slowdown += recharge_slowdown
+ return TRUE
+
+/obj/item/clothing/gloves/claws
+ name = "claws of doing nothing"
+ desc = "These shouldn't be here."
+ icon_state = "bracers"
+ item_state = "bracers"
+ transfer_prints = TRUE
+ body_parts_covered = HANDS
+ cold_protection = HANDS
+ min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
+ max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT
+ armor = list("melee" = 20, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 35, "bio" = 35, "rad" = 35, "fire" = 0, "acid" = 0)
+
+/obj/item/clothing/gloves/claws/Initialize()
+ . = ..()
+ ADD_TRAIT(src, TRAIT_NODROP, CHANGELING_TRAIT)
+
+/obj/item/clothing/gloves/claws/vulture // prying shit off dead/soon to be dead dudes!
+ name = "jagged claws"
+ desc = "Good for prying things off of people and looking incredibly creepy."
+ strip_mod = 2
+
+/obj/effect/proc_holder/changeling/gloves/gauntlets
+ name = "Bone Gauntlets"
+ desc = "We turn our hands into solid bone and chitin, sacrificing dexterity for raw strength."
+ helptext = "These grotesque, bone-and-chitin gauntlets are remarkably good at beating victims senseless, and cannot be used in lesser form. This ability is loud, and might cause our blood to react violently to heat."
+ chemical_cost = 10 // same cost as armblade because its a sidegrade (sacrifice utility for punching people violently)
+ dna_cost = 2
+ loudness = 2
+ req_human = 1
+ action_icon = 'icons/mob/actions/actions_changeling.dmi'
+ action_icon_state = "ling_gauntlets"
+ action_background_icon_state = "bg_ling"
+
+ glove_type = /obj/item/clothing/gloves/fingerless/pugilist/cling // just punch his head off dude
+ glove_name_simple = "bone gauntlets"
+
+/obj/item/clothing/gloves/fingerless/pugilist/cling // switches between lesser GotNS and Big Punchy Rib Breaky Hands
+ name = "hewn bone gauntlets"
+ icon_state = "ling_gauntlets"
+ item_state = "ling_gauntlets"
+ desc = "Rough bone and chitin, pulsing with an abomination barely called \"life\". Good for punching people, not so much for firearms."
+ transfer_prints = TRUE
+ body_parts_covered = ARMS|HANDS
+ cold_protection = ARMS|HANDS
+ min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
+ max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT
+ armor = list("melee" = 20, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 35, "bio" = 35, "rad" = 35, "fire" = 0, "acid" = 0)
+ enhancement = 9 // first, do harm. all of it. all of the harm. just fuck em up.
+ wound_enhancement = 9
+ var/fast_enhancement = 9
+ var/fast_wound_enhancement = 9
+ var/slow_enhancement = 20
+ var/slow_wound_enhancement = 20
+ silent = TRUE
+ inherited_trait = TRAIT_CHUNKYFINGERS // dummy thicc bone hands
+ secondary_trait = TRAIT_MAULER // its only violence from here, bucko
+ var/fasthands = TRUE
+
+/obj/item/clothing/gloves/fingerless/pugilist/cling/examine(mob/user)
+ . = ..()
+ . += "[src] are formed to allow for [fasthands ? "fast, precise strikes" : "crippling, damaging blows"]."
+ . += "Alt-click them to change between rapid strikes and strong blows."
+
+/obj/item/clothing/gloves/fingerless/pugilist/cling/AltClick(mob/user)
+ . = ..()
+ use_buffs(user, FALSE) // reset
+ fasthands = !fasthands
+ if(fasthands)
+ enhancement = fast_enhancement
+ wound_enhancement = fast_wound_enhancement
+ else
+ enhancement = slow_enhancement // fuck em up kiddo
+ wound_enhancement = slow_wound_enhancement // really. fuck em up.
+ to_chat(user, "[src] are now formed to allow for [fasthands ? "fast, precise strikes" : "crippling, damaging blows"].")
+ addtimer(CALLBACK(src, .proc/use_buffs, user, TRUE), 0.1) // go fuckin get em
+
+/obj/item/clothing/gloves/fingerless/pugilist/cling/Initialize()
+ . = ..()
+ ADD_TRAIT(src, TRAIT_NODROP, CHANGELING_TRAIT)
+
+/obj/item/clothing/gloves/fingerless/pugilist/cling/equipped(mob/user, slot)
+ . = ..()
+ if(current_equipped_slot == SLOT_GLOVES)
+ to_chat(user, "With [src] formed around our arms, we are ready to fight.")
+
+/obj/item/clothing/gloves/fingerless/pugilist/cling/dropped(mob/user)
+ . = ..()
+ if(wornonce)
+ to_chat(user, "With [src] assimilated, we feel less ready to punch things.")
+
+/obj/item/clothing/gloves/fingerless/pugilist/cling/Touch(atom/target, proximity = TRUE)
+ if(!isliving(target))
+ return
+ var/mob/living/M = loc
+ if(fasthands)
+ M.SetNextAction(CLICK_CD_RANGE) // fast punches
+ else
+ M.SetNextAction(CLICK_CD_GRABBING) // strong punches
+ return NO_AUTO_CLICKDELAY_HANDLING | ATTACK_IGNORE_ACTION
diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm
index b5d92fb780..f9f587ae5b 100644
--- a/code/modules/clothing/gloves/miscellaneous.dm
+++ b/code/modules/clothing/gloves/miscellaneous.dm
@@ -20,8 +20,14 @@
body_parts_covered = ARMS
cold_protection = ARMS
strip_delay = 300 //you can't just yank them off
+ /// did you ever get around to wearing these or no
+ var/wornonce = FALSE
///Extra damage through the punch.
var/enhancement = 0 //it's a +0 to your punches because it isn't magical
+ ///extra wound bonus through the punch (MAYBE DON'T BE GENEROUS WITH THIS)
+ var/wound_enhancement = 0
+ /// do we give the flavortext for wearing them
+ var/silent = FALSE
///Main trait added by the gloves to the user on wear.
var/inherited_trait = TRAIT_NOGUNS //what are you, dishonoroable?
///Secondary trait added by the gloves to the user on wear.
@@ -29,7 +35,18 @@
/obj/item/clothing/gloves/fingerless/pugilist/equipped(mob/user, slot)
. = ..()
- if(slot == SLOT_GLOVES)
+ if(current_equipped_slot == SLOT_GLOVES)
+ use_buffs(user, TRUE)
+ wornonce = TRUE
+
+/obj/item/clothing/gloves/fingerless/pugilist/dropped(mob/user)
+ . = ..()
+ if(wornonce)
+ use_buffs(user, FALSE)
+ wornonce = FALSE
+
+/obj/item/clothing/gloves/fingerless/pugilist/proc/use_buffs(mob/user, buff)
+ if(buff) // tarukaja
if(ishuman(user))
var/mob/living/carbon/human/H = user
ADD_TRAIT(H, TRAIT_PUGILIST, GLOVE_TRAIT)
@@ -37,17 +54,20 @@
ADD_TRAIT(H, secondary_trait, GLOVE_TRAIT)
H.dna.species.punchdamagehigh += enhancement
H.dna.species.punchdamagelow += enhancement
-
-/obj/item/clothing/gloves/fingerless/pugilist/dropped(mob/user)
-
- REMOVE_TRAIT(user, TRAIT_PUGILIST, GLOVE_TRAIT)
- REMOVE_TRAIT(user, inherited_trait, GLOVE_TRAIT)
- REMOVE_TRAIT(user, secondary_trait, GLOVE_TRAIT)
- if(ishuman(user))
- var/mob/living/carbon/human/H = user
- H.dna.species.punchdamagehigh -= enhancement
- H.dna.species.punchdamagelow -= enhancement
- return ..()
+ H.dna.species.punchwoundbonus += wound_enhancement
+ if(!silent)
+ to_chat(H, "With [src] on your arms, you feel ready to punch things.")
+ else // dekaja
+ REMOVE_TRAIT(user, TRAIT_PUGILIST, GLOVE_TRAIT)
+ REMOVE_TRAIT(user, inherited_trait, GLOVE_TRAIT)
+ REMOVE_TRAIT(user, secondary_trait, GLOVE_TRAIT)
+ if(ishuman(user))
+ var/mob/living/carbon/human/H = user
+ H.dna.species.punchdamagehigh -= enhancement
+ H.dna.species.punchdamagelow -= enhancement
+ H.dna.species.punchwoundbonus -= wound_enhancement
+ if(!silent)
+ to_chat(user, "With [src] off of your arms, you feel less ready to punch things.")
/obj/item/clothing/gloves/fingerless/pugilist/chaplain
name = "armwraps of unyielding resolve"
@@ -93,6 +113,7 @@
icon_state = "rapid"
item_state = "rapid"
enhancement = 10 //omae wa mou shindeiru
+ wound_enhancement = 10
var/warcry = "AT"
secondary_trait = TRAIT_NOSOFTCRIT //basically extra health
diff --git a/code/modules/clothing/gloves/tacklers.dm b/code/modules/clothing/gloves/tacklers.dm
index f4b4140a1a..eda36ea12f 100644
--- a/code/modules/clothing/gloves/tacklers.dm
+++ b/code/modules/clothing/gloves/tacklers.dm
@@ -65,12 +65,14 @@
heat_protection = HANDS
max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT
resistance_flags = NONE
+ strip_mod = 1.2 // because apparently black gloves had this
/obj/item/clothing/gloves/tackler/combat/insulated
name = "guerrilla gloves"
desc = "Superior quality combative gloves, good for performing tackle takedowns as well as absorbing electrical shocks."
siemens_coefficient = 0
permeability_coefficient = 0.05
+ strip_mod = 1.5 // and combat gloves had this??
/obj/item/clothing/gloves/tackler/combat/insulated/infiltrator
name = "insidious guerrilla gloves"
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 904753f9b1..a4543389b4 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -254,10 +254,10 @@
if(href_list["pockets"])
var/strip_mod = 1
var/strip_silence = FALSE
- var/obj/item/clothing/gloves/g = gloves
- if (istype(g))
- strip_mod = g.strip_mod
- strip_silence = g.strip_silence
+ var/obj/item/clothing/gloves/G = gloves
+ if(istype(G))
+ strip_mod = G.strip_mod
+ strip_silence = G.strip_silence
var/pocket_side = href_list["pockets"]
var/pocket_id = (pocket_side == "right" ? SLOT_R_STORE : SLOT_L_STORE)
var/obj/item/pocket_item = (pocket_id == SLOT_R_STORE ? r_store : l_store)
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index b08d4a64aa..c8d0d8fc78 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -64,7 +64,8 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
var/stunmod = 1 // multiplier for stun duration
var/punchdamagelow = 1 //lowest possible punch damage. if this is set to 0, punches will always miss
var/punchdamagehigh = 10 //highest possible punch damage
- var/punchstunthreshold = 10//damage at which punches from this race will stun //yes it should be to the attacked race but it's not useful that way even if it's logical
+ var/punchstunthreshold = 10 //damage at which punches from this race will stun //yes it should be to the attacked race but it's not useful that way even if it's logical
+ var/punchwoundbonus = 0 // additional wound bonus. generally zero.
var/siemens_coeff = 1 //base electrocution coefficient
var/damage_overlay_type = "human" //what kind of damage overlays (if any) appear on our species when wounded?
var/fixed_mut_color = "" //to use MUTCOLOR with a fixed color that's independent of dna.feature["mcolor"]
@@ -1386,6 +1387,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
user.do_attack_animation(target, ATTACK_EFFECT_PUNCH)
var/damage = rand(user.dna.species.punchdamagelow, user.dna.species.punchdamagehigh)
+ var/punchwoundbonus = user.dna.species.punchwoundbonus
var/puncherstam = user.getStaminaLoss()
var/puncherbrute = user.getBruteLoss()
var/punchedstam = target.getStaminaLoss()
@@ -1401,6 +1403,8 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
//END OF CITADEL CHANGES
var/obj/item/bodypart/affecting = target.get_bodypart(ran_zone(user.zone_selected))
+ if(HAS_TRAIT(user, TRAIT_PUGILIST))
+ affecting = target.get_bodypart(check_zone(user.zone_selected)) // if you're going the based unarmed route you won't miss
if(!affecting) //Maybe the bodypart is missing? Or things just went wrong..
affecting = target.get_bodypart(BODY_ZONE_CHEST) //target chest instead, as failsafe. Or hugbox? You decide.
@@ -1412,8 +1416,8 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
if(user.dna.species.punchdamagelow)
if(atk_verb == ATTACK_EFFECT_KICK) //kicks never miss (provided your species deals more than 0 damage)
miss_chance = 0
- else if(HAS_TRAIT(user, TRAIT_PUGILIST)) //pugilists have a flat 10% miss chance
- miss_chance = 10
+ else if(HAS_TRAIT(user, TRAIT_PUGILIST)) //pugilists, being good at Punching People, also never miss
+ miss_chance = 0
else
miss_chance = min(10 + max(puncherstam * 0.5, puncherbrute * 0.5), 100) //probability of miss has a base of 10, and modified based on half brute total. Capped at max 100 to prevent weirdness in prob()
@@ -1427,12 +1431,13 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
var/armor_block = target.run_armor_check(affecting, "melee")
+ if(HAS_TRAIT(user, TRAIT_MAULER)) // maulers get 15 armorpierce because if you're going to punch someone you might as well do a good job of it
+ armor_block = target.run_armor_check(affecting, "melee", armour_penetration = 15) // lot of good that sec jumpsuit did you
playsound(target.loc, user.dna.species.attack_sound, 25, 1, -1)
-
- target.visible_message("[user] [atk_verb]s [target]!", \
- "[user] [atk_verb]s you!", null, COMBAT_MESSAGE_RANGE, null, \
- user, "You [atk_verb] [target]!")
+ target.visible_message("[user] [atk_verb]ed [target]!", \
+ "[user] [atk_verb]ed you!", null, COMBAT_MESSAGE_RANGE, null, \
+ user, "You [atk_verb]ed [target]!")
target.lastattacker = user.real_name
target.lastattackerckey = user.ckey
@@ -1442,11 +1447,15 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
target.dismembering_strike(user, affecting.body_zone)
if(atk_verb == ATTACK_EFFECT_KICK)//kicks deal 1.5x raw damage + 0.5x stamina damage
- target.apply_damage(damage*1.5, attack_type, affecting, armor_block)
+ target.apply_damage(damage*1.5, attack_type, affecting, armor_block, wound_bonus = punchwoundbonus)
target.apply_damage(damage*0.5, STAMINA, affecting, armor_block)
log_combat(user, target, "kicked")
- else//other attacks deal full raw damage + 2x in stamina damage
- target.apply_damage(damage, attack_type, affecting, armor_block)
+ else if(HAS_TRAIT(user, TRAIT_MAULER)) // mauler punches deal 1.3x raw damage + 1x stam damage, and have some armor pierce
+ target.apply_damage(damage*1.3, attack_type, affecting, armor_block, wound_bonus = punchwoundbonus)
+ target.apply_damage(damage, STAMINA, affecting, armor_block)
+ log_combat(user, target, "punched (mauler)")
+ else //other attacks deal full raw damage + 2x in stamina damage
+ target.apply_damage(damage, attack_type, affecting, armor_block, wound_bonus = punchwoundbonus)
target.apply_damage(damage*2, STAMINA, affecting, armor_block)
log_combat(user, target, "punched")
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index 8dac56a8c9..7e872992dc 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -842,12 +842,12 @@
return
var/strip_mod = 1
var/strip_silence = FALSE
- if (ishuman(src)) //carbon doesn't actually wear gloves
+ if(ishuman(src)) //carbon doesn't actually wear gloves
var/mob/living/carbon/C = src
- var/obj/item/clothing/gloves/g = C.gloves
- if (istype(g))
- strip_mod = g.strip_mod
- strip_silence = g.strip_silence
+ var/obj/item/clothing/gloves/G = C.gloves
+ if(istype(G))
+ strip_mod = G.strip_mod
+ strip_silence = G.strip_silence
if (!strip_silence)
who.visible_message("[src] tries to remove [who]'s [what.name].", \
"[src] tries to remove your [what.name].", target = src,
diff --git a/code/modules/uplink/uplink_items/uplink_clothing.dm b/code/modules/uplink/uplink_items/uplink_clothing.dm
index 745eddcc07..6163e5722a 100644
--- a/code/modules/uplink/uplink_items/uplink_clothing.dm
+++ b/code/modules/uplink/uplink_items/uplink_clothing.dm
@@ -92,8 +92,8 @@
cost = 6
exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
-/datum/uplink_item/device_tools/guerillagloves
- name = "Guerilla Gloves"
+/datum/uplink_item/device_tools/guerrillagloves
+ name = "Guerrilla Gloves"
desc = "A pair of highly robust combat gripper gloves that excels at performing takedowns at close range, with an added lining of insulation. Careful not to hit a wall!"
item = /obj/item/clothing/gloves/tackler/combat/insulated
include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
diff --git a/icons/mob/actions/actions_changeling.dmi b/icons/mob/actions/actions_changeling.dmi
index ce6b81e13b..2f384c6119 100644
Binary files a/icons/mob/actions/actions_changeling.dmi and b/icons/mob/actions/actions_changeling.dmi differ
diff --git a/icons/mob/clothing/hands.dmi b/icons/mob/clothing/hands.dmi
index 44499649f9..b95c377e12 100644
Binary files a/icons/mob/clothing/hands.dmi and b/icons/mob/clothing/hands.dmi differ
diff --git a/icons/obj/clothing/gloves.dmi b/icons/obj/clothing/gloves.dmi
index c0f78ee604..0feb6a75db 100644
Binary files a/icons/obj/clothing/gloves.dmi and b/icons/obj/clothing/gloves.dmi differ
diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi
index 8fbb2abe1e..4f650f8561 100644
Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ