diff --git a/code/__defines/items_clothing.dm b/code/__defines/items_clothing.dm index 7a461cedf6..8a8f64e2a9 100644 --- a/code/__defines/items_clothing.dm +++ b/code/__defines/items_clothing.dm @@ -97,10 +97,13 @@ // Inventory slot strings. // since numbers cannot be used as associative list keys. -#define slot_back_str "back" +//icon_back, icon_l_hand, etc would be much better names for these... +#define slot_back_str "slot_back" #define slot_l_hand_str "slot_l_hand" #define slot_r_hand_str "slot_r_hand" -#define slot_w_uniform_str "w_uniform" +#define slot_w_uniform_str "slot_w_uniform" +#define slot_head_str "slot_head" +#define slot_wear_suit_str "slot_suit" // Bitflags for clothing parts. #define HEAD 1 diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index 4ae8268402..1dfa1c37eb 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -48,7 +48,6 @@ /obj/item/clothing/head/culthood/magus name = "magus helm" icon_state = "magus" - item_state = "magus" desc = "A helm worn by the followers of Nar-Sie." flags_inv = HIDEFACE flags = HEADCOVERSEYES | HEADCOVERSMOUTH | BLOCKHAIR @@ -56,7 +55,6 @@ /obj/item/clothing/head/culthood/alt icon_state = "cult_hoodalt" - item_state = "cult_hoodalt" /obj/item/clothing/suit/cultrobes name = "cult robes" @@ -88,7 +86,6 @@ name = "cult helmet" desc = "A space worthy helmet used by the followers of Nar-Sie" icon_state = "cult_helmet" - item_state = "cult_helmet" armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30) siemens_coefficient = 0 diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index f0c96695dc..61d20f9de5 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -16,7 +16,7 @@ new /obj/item/weapon/storage/backpack/satchel_cap(src) new /obj/item/clothing/suit/captunic(src) new /obj/item/clothing/suit/captunic/capjacket(src) - new /obj/item/clothing/head/helmet/cap(src) + new /obj/item/clothing/head/caphat/cap(src) new /obj/item/clothing/under/rank/captain(src) new /obj/item/clothing/suit/storage/vest(src) new /obj/item/weapon/cartridge/captain(src) @@ -28,7 +28,7 @@ new /obj/item/clothing/suit/armor/captain(src) new /obj/item/weapon/melee/telebaton(src) new /obj/item/clothing/under/dress/dress_cap(src) - new /obj/item/clothing/head/helmet/formalcaptain(src) + new /obj/item/clothing/head/caphat/formal(src) new /obj/item/clothing/under/captainformal(src) return @@ -82,7 +82,7 @@ new /obj/item/clothing/shoes/leather(src) new /obj/item/clothing/shoes/white(src) new /obj/item/clothing/under/rank/head_of_personnel_whimsy(src) - new /obj/item/clothing/head/helmet/hop(src) + new /obj/item/clothing/head/caphat/hop(src) return @@ -103,13 +103,13 @@ new /obj/item/weapon/storage/backpack/security(src) else new /obj/item/weapon/storage/backpack/satchel_sec(src) - new /obj/item/clothing/head/helmet/HoS(src) + new /obj/item/clothing/head/HoS(src) new /obj/item/clothing/suit/storage/vest/hos(src) new /obj/item/clothing/under/rank/head_of_security/jensen(src) new /obj/item/clothing/under/rank/head_of_security/corp(src) new /obj/item/clothing/suit/armor/hos/jensen(src) new /obj/item/clothing/suit/armor/hos(src) - new /obj/item/clothing/head/helmet/HoS/dermal(src) + new /obj/item/clothing/head/HoS/dermal(src) new /obj/item/weapon/cartridge/hos(src) new /obj/item/device/radio/headset/heads/hos(src) new /obj/item/clothing/glasses/sunglasses/sechud(src) @@ -148,7 +148,7 @@ new /obj/item/clothing/under/rank/warden(src) new /obj/item/clothing/under/rank/warden/corp(src) new /obj/item/clothing/suit/armor/vest/warden(src) - new /obj/item/clothing/head/helmet/warden(src) + new /obj/item/clothing/head/warden(src) new /obj/item/weapon/cartridge/security(src) new /obj/item/device/radio/headset/headset_sec(src) new /obj/item/clothing/glasses/sunglasses/sechud(src) diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index 40851e1616..fe4eecb1f5 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -75,7 +75,6 @@ /obj/item/clothing/head/chameleon name = "grey cap" icon_state = "greysoft" - item_state = "greysoft" desc = "It looks like a plain hat, but upon closer inspection, there's an advanced holographic array installed inside. It seems to have a small dial inside." origin_tech = list(TECH_ILLEGAL = 3) body_parts_covered = 0 diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 7fa6bd788b..8ec49ecd5f 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -241,6 +241,10 @@ BLIND // can't see anything /obj/item/clothing/head name = "head" icon = 'icons/obj/clothing/hats.dmi' + item_icons = list( + slot_l_hand_str = 'icons/mob/items/lefthand_hats.dmi', + slot_r_hand_str = 'icons/mob/items/righthand_hats.dmi', + ) body_parts_covered = HEAD slot_flags = SLOT_HEAD w_class = 2.0 diff --git a/code/modules/clothing/head/collectable.dm b/code/modules/clothing/head/collectable.dm index bf20b3e952..bc6c993351 100644 --- a/code/modules/clothing/head/collectable.dm +++ b/code/modules/clothing/head/collectable.dm @@ -21,32 +21,40 @@ name = "collectable xenomorph helmet!" desc = "Hiss hiss hiss!" icon_state = "xenom" + item_state_slots = list( + slot_l_hand_str = "xenos_helm", + slot_r_hand_str = "xenos_helm", + ) body_parts_covered = HEAD|FACE|EYES /obj/item/clothing/head/collectable/chef name = "collectable chef's hat" desc = "A rare Chef's Hat meant for hat collectors!" - icon_state = "hats" + icon_state = "chefhat" item_state = "chefhat" /obj/item/clothing/head/collectable/paper name = "collectable paper hat" desc = "What looks like an ordinary paper hat, is actually a rare and valuable collector's edition paper hat. Keep away from water, fire and Librarians." icon_state = "paper" + item_state = "paper" body_parts_covered = 0 /obj/item/clothing/head/collectable/tophat name = "collectable top hat" desc = "A top hat worn by only the most prestigious hat collectors." icon_state = "tophat" - item_state = "that" + item_state = "tophat" body_parts_covered = 0 /obj/item/clothing/head/collectable/captain name = "collectable captain's hat" desc = "A Collectable Hat that'll make you look just like a real comdom!" icon_state = "captain" - item_state = "caphat" + item_state_slots = list( + slot_l_hand_str = "caphat", + slot_r_hand_str = "caphat", + ) body_parts_covered = 0 /obj/item/clothing/head/collectable/police @@ -72,33 +80,32 @@ name = "collectable slime hat" desc = "Just like a real Brain Slug!" icon_state = "headslime" - item_state = "headslime" /obj/item/clothing/head/collectable/flatcap name = "collectable flat cap" desc = "A Collectible farmer's Flat Cap!" icon_state = "flat_cap" - item_state = "detective" + item_state_slots = list( + slot_l_hand_str = "detective", + slot_r_hand_str = "detective", + ) /obj/item/clothing/head/collectable/pirate name = "collectable pirate hat" desc = "You'd make a great Dread Syndie Roberts!" icon_state = "pirate" - item_state = "pirate" body_parts_covered = 0 /obj/item/clothing/head/collectable/kitty name = "collectable kitty ears" desc = "The fur feels.....a bit too realistic." icon_state = "kitty" - item_state = "kitty" body_parts_covered = 0 /obj/item/clothing/head/collectable/rabbitears name = "collectable rabbit ears" desc = "Not as lucky as the feet!" icon_state = "bunny" - item_state = "bunny" body_parts_covered = 0 /obj/item/clothing/head/collectable/wizard @@ -110,7 +117,6 @@ name = "collectable hard hat" desc = "WARNING! Offers no real protection, or luminosity, but it is damn fancy!" icon_state = "hardhat0_yellow" - item_state = "hardhat0_yellow" body_parts_covered = 0 /obj/item/clothing/head/collectable/HoS @@ -123,10 +129,8 @@ name = "collectable Thunderdome helmet" desc = "Go Red! I mean Green! I mean Red! No Green!" icon_state = "thunderdome" - item_state = "thunderdome" /obj/item/clothing/head/collectable/swat name = "collectable SWAT helmet" desc = "Now you can be in the Deathsquad too!" icon_state = "swat" - item_state = "swat" \ No newline at end of file diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index 16a6adda67..a98d747bfd 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -2,7 +2,6 @@ name = "hard hat" desc = "A piece of headgear used in dangerous working conditions to protect the head. Comes with a built-in flashlight." icon_state = "hardhat0_yellow" - item_state = "hardhat0_yellow" brightness_on = 4 //luminosity when on light_overlay = "hardhat_light" armor = list(melee = 30, bullet = 5, laser = 20,energy = 10, bomb = 20, bio = 10, rad = 20) @@ -11,11 +10,9 @@ /obj/item/clothing/head/hardhat/orange icon_state = "hardhat0_orange" - item_state = "hardhat0_orange" /obj/item/clothing/head/hardhat/red icon_state = "hardhat0_red" - item_state = "hardhat0_red" name = "firefighter helmet" flags = STOPPRESSUREDAMAGE heat_protection = HEAD @@ -23,11 +20,9 @@ /obj/item/clothing/head/hardhat/white icon_state = "hardhat0_white" - item_state = "hardhat0_white" flags = STOPPRESSUREDAMAGE heat_protection = HEAD max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE /obj/item/clothing/head/hardhat/dblue icon_state = "hardhat0_dblue" - item_state = "hardhat0_dblue" diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index eec6c828d8..18a0e5fcbf 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -2,8 +2,11 @@ name = "helmet" desc = "Standard Security gear. Protects the head from impacts." icon_state = "helmet" + item_state_slots = list( + slot_l_hand_str = "helmet", + slot_r_hand_str = "helmet", + ) flags = HEADCOVERSEYES | THICKMATERIAL - item_state = "helmet" armor = list(melee = 50, bullet = 15, laser = 50,energy = 10, bomb = 25, bio = 0, rad = 0) flags_inv = HIDEEARS|HIDEEYES cold_protection = HEAD @@ -13,32 +16,10 @@ siemens_coefficient = 0.7 w_class = 3 -/obj/item/clothing/head/helmet/warden - name = "warden's hat" - desc = "It's a special helmet issued to the Warden of a securiy force. Protects the head from impacts." - icon_state = "policehelm" - flags_inv = 0 - body_parts_covered = 0 - -/obj/item/clothing/head/helmet/hop - name = "crew resource's hat" - desc = "A stylish hat that both protects you from enraged former-crewmembers and gives you a false sense of authority." - icon_state = "hopcap" - flags_inv = 0 - body_parts_covered = 0 - -/obj/item/clothing/head/helmet/formalcaptain - name = "parade hat" - desc = "No one in a commanding position should be without a perfect, white hat of ultimate authority." - icon_state = "officercap" - flags_inv = 0 - body_parts_covered = 0 - /obj/item/clothing/head/helmet/riot name = "riot helmet" desc = "It's a helmet specifically designed to protect against close range attacks." icon_state = "riot" - item_state = "helmet" flags = HEADCOVERSEYES armor = list(melee = 82, bullet = 15, laser = 5,energy = 5, bomb = 5, bio = 2, rad = 0) flags_inv = HIDEEARS @@ -49,7 +30,6 @@ desc = "They're often used by highly trained Swat Members." icon_state = "swat" flags = HEADCOVERSEYES - item_state = "swat" armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 10, rad = 0) flags_inv = HIDEEARS|HIDEEYES cold_protection = HEAD @@ -61,7 +41,6 @@ desc = "'Let the battle commence!'" icon_state = "thunderdome" flags = HEADCOVERSEYES - item_state = "thunderdome" armor = list(melee = 80, bullet = 60, laser = 50,energy = 10, bomb = 25, bio = 10, rad = 0) cold_protection = HEAD min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE @@ -72,7 +51,6 @@ desc = "Ave, Imperator, morituri te salutant." icon_state = "gladiator" flags = HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR - item_state = "gladiator" flags_inv = HIDEMASK|HIDEEARS|HIDEEYES siemens_coefficient = 1 @@ -80,7 +58,6 @@ name = "tactical helmet" desc = "An armored helmet capable of being fitted with a multitude of attachments." icon_state = "swathelm" - item_state = "helmet" flags = HEADCOVERSEYES sprite_sheets = list( "Tajara" = 'icons/mob/species/tajaran/helmet.dmi', @@ -96,7 +73,6 @@ desc = "A helmet with optical and cranial augments coupled to it." icon_state = "v62" flags = HEADCOVERSEYES - item_state = "v62" armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 10, rad = 0) flags_inv = HIDEEARS|HIDEEYES cold_protection = HEAD @@ -108,7 +84,10 @@ name = "emergency response team helmet" desc = "An in-atmosphere helmet worn by members of the NanoTrasen Emergency Response Team. Protects the head from impacts." icon_state = "erthelmet_cmd" - item_state = "syndicate-helm-green" + item_state_slots = list( + slot_l_hand_str = "syndicate-helm-green", + slot_r_hand_str = "syndicate-helm-green", + ) armor = list(melee = 62, bullet = 50, laser = 50,energy = 35, bomb = 10, bio = 2, rad = 0) //Commander @@ -132,4 +111,4 @@ /obj/item/clothing/head/helmet/ert/medical name = "emergency response team medical helmet" desc = "A set of armor worn by medical members of the NanoTrasen Emergency Response Team. Has red and white highlights." - icon_state = "erthelmet_med" \ No newline at end of file + icon_state = "erthelmet_med" diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index ae2873e8f4..7543df6bb1 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -5,28 +5,33 @@ desc = "It's a hat used by chefs to keep hair out of your food. Judging by the food in the mess, they don't work." icon_state = "chefhat" item_state = "chefhat" - desc = "The commander in chef's head wear." - siemens_coefficient = 0.9 -//Captain: This probably shouldn't be space-worthy +//Captain /obj/item/clothing/head/caphat name = "captain's hat" icon_state = "captain" desc = "It's good being the king." - item_state = "caphat" - siemens_coefficient = 0.9 + item_state_slots = list( + slot_l_hand_str = "caphat", + slot_r_hand_str = "caphat", + ) + body_parts_covered = 0 -//Captain: This probably shouldn't be space-worthy -/obj/item/clothing/head/helmet/cap +/obj/item/clothing/head/caphat/cap name = "captain's cap" desc = "You fear to wear it for the negligence it brings." icon_state = "capcap" - flags_inv = 0 - body_parts_covered = 0 - cold_protection = HEAD - min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE - siemens_coefficient = 0.9 - body_parts_covered = 0 + +/obj/item/clothing/head/caphat/formal + name = "parade hat" + desc = "No one in a commanding position should be without a perfect, white hat of ultimate authority." + icon_state = "officercap" + +//HOP +/obj/item/clothing/head/caphat/hop + name = "crew resource's hat" + desc = "A stylish hat that both protects you from enraged former-crewmembers and gives you a false sense of authority." + icon_state = "hopcap" //Chaplain /obj/item/clothing/head/chaplain_hood @@ -34,7 +39,6 @@ desc = "It's hood that covers the head. It keeps you warm during the space winters." icon_state = "chaplain_hood" flags = HEADCOVERSEYES|BLOCKHAIR - siemens_coefficient = 0.9 body_parts_covered = HEAD|EYES //Chaplain @@ -43,14 +47,13 @@ desc = "Maximum piety in this star system." icon_state = "nun_hood" flags = HEADCOVERSEYES|BLOCKHAIR - siemens_coefficient = 0.9 + body_parts_covered = HEAD //Mime /obj/item/clothing/head/beret name = "beret" desc = "A beret, an artists favorite headwear." icon_state = "beret" - siemens_coefficient = 0.9 body_parts_covered = 0 //Security diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index 7b13c10b4b..281a341f26 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -3,8 +3,11 @@ /obj/item/clothing/head/centhat name = "\improper CentComm. hat" icon_state = "centcom" + item_state_slots = list( + slot_l_hand_str = "centhat", + slot_r_hand_str = "centhat", + ) desc = "It's good to be emperor." - item_state = "centhat" siemens_coefficient = 0.9 body_parts_covered = 0 @@ -12,7 +15,6 @@ name = "hair flower pin" icon_state = "hairflower" desc = "Smells nice." - item_state = "hairflower" slot_flags = SLOT_HEAD | SLOT_EARS body_parts_covered = 0 @@ -26,7 +28,7 @@ name = "top-hat" desc = "It's an amish looking hat." icon_state = "tophat" - item_state = "that" + item_state = "tophat" siemens_coefficient = 0.9 body_parts_covered = 0 @@ -66,8 +68,11 @@ /obj/item/clothing/head/syndicatefake name = "red space-helmet replica" + item_state_slots = list( + slot_l_hand_str = "syndicate-helm-black-red", + slot_r_hand_str = "syndicate-helm-black-red", + ) icon_state = "syndicate" - item_state = "syndicate" desc = "A plastic replica of a bloodthirsty mercenary's space helmet, you'll look just like a real murderous criminal operative in this! This is a toy, it is not made for use in space!" flags = BLOCKHAIR flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE @@ -78,8 +83,8 @@ name = "cueball helmet" desc = "A large, featureless white orb mean to be worn on your head. How do you even see out of this thing?" icon_state = "cueball" + item_state = "cueball" flags = HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR - item_state="cueball" flags_inv = 0 body_parts_covered = HEAD|FACE|EYES @@ -104,24 +109,19 @@ name = "justice hat" desc = "fight for what's righteous!" icon_state = "justicered" - item_state = "justicered" flags = HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR /obj/item/clothing/head/justice/blue icon_state = "justiceblue" - item_state = "justiceblue" /obj/item/clothing/head/justice/yellow icon_state = "justiceyellow" - item_state = "justiceyellow" /obj/item/clothing/head/justice/green icon_state = "justicegreen" - item_state = "justicegreen" /obj/item/clothing/head/justice/pink icon_state = "justicepink" - item_state = "justicepink" /obj/item/clothing/head/rabbitears name = "rabbit ears" @@ -133,34 +133,33 @@ name = "flat cap" desc = "A working man's cap." icon_state = "flat_cap" - item_state = "detective" + item_state_slots = list( + slot_l_hand_str = "det_hat", + slot_r_hand_str = "det_hat", + ) siemens_coefficient = 0.9 /obj/item/clothing/head/pirate name = "pirate hat" desc = "Yarr." icon_state = "pirate" - item_state = "pirate" body_parts_covered = 0 /obj/item/clothing/head/hgpiratecap name = "pirate hat" desc = "Yarr." icon_state = "hgpiratecap" - item_state = "hgpiratecap" body_parts_covered = 0 /obj/item/clothing/head/bandana name = "pirate bandana" desc = "Yarr." icon_state = "bandana" - item_state = "bandana" /obj/item/clothing/head/bowler name = "bowler-hat" desc = "Gentleman, elite aboard!" icon_state = "bowler" - item_state = "bowler" body_parts_covered = 0 //stylish bs12 hats @@ -168,38 +167,32 @@ /obj/item/clothing/head/bowlerhat name = "bowler hat" icon_state = "bowler_hat" - item_state = "bowler_hat" desc = "For the gentleman of distinction." body_parts_covered = 0 /obj/item/clothing/head/beaverhat name = "beaver hat" icon_state = "beaver_hat" - item_state = "beaver_hat" desc = "Soft felt makes this hat both comfortable and elegant." /obj/item/clothing/head/boaterhat name = "boater hat" icon_state = "boater_hat" - item_state = "boater_hat" desc = "The ultimate in summer fashion." /obj/item/clothing/head/fedora - name = "\improper fedora" + name = "fedora" icon_state = "fedora" - item_state = "fedora" desc = "A sharp, stylish hat." /obj/item/clothing/head/feathertrilby - name = "\improper feather trilby" + name = "feather trilby" icon_state = "feather_trilby" - item_state = "feather_trilby" desc = "A sharp, stylish hat with a feather." /obj/item/clothing/head/fez - name = "\improper fez" + name = "fez" icon_state = "fez" - item_state = "fez" desc = "You should wear a fez. Fezzes are cool." //end bs12 hats @@ -208,7 +201,6 @@ name = "witch costume wig" desc = "Eeeee~heheheheheheh!" icon_state = "witch" - item_state = "witch" flags = BLOCKHAIR siemens_coefficient = 2.0 @@ -216,7 +208,10 @@ name = "chicken suit head" desc = "Bkaw!" icon_state = "chickenhead" - item_state = "chickensuit" + item_state_slots = list( + slot_l_hand_str = "chickensuit", + slot_r_hand_str = "chickensuit", + ) flags = BLOCKHAIR siemens_coefficient = 0.7 body_parts_covered = HEAD|FACE|EYES @@ -225,14 +220,16 @@ name = "bear pelt hat" desc = "Fuzzy." icon_state = "bearpelt" - item_state = "bearpelt" flags = BLOCKHAIR siemens_coefficient = 0.7 /obj/item/clothing/head/xenos name = "xenos helmet" icon_state = "xenos" - item_state = "xenos_helm" + item_state_slots = list( + slot_l_hand_str = "xenos_helm", + slot_r_hand_str = "xenos_helm", + ) desc = "A helmet made out of chitinous alien hide." flags = BLOCKHAIR flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE @@ -243,7 +240,10 @@ name = "natural philosopher's wig" desc = "A stylish monstrosity unearthed from Earth's Renaissance period. With this most distinguish'd wig, you'll be ready for your next soiree!" icon_state = "philosopher_wig" - item_state = "philosopher_wig" + item_state_slots = list( + slot_l_hand_str = "pwig", + slot_r_hand_str = "pwig", + ) flags = BLOCKHAIR siemens_coefficient = 2.0 //why is it so conductive?! body_parts_covered = 0 @@ -252,5 +252,4 @@ name = "orange bandana" desc = "An orange piece of cloth, worn on the head." icon_state = "orange_bandana" - item_state = "orange_bandana" body_parts_covered = 0 diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index e7e3981b99..462f61aeb4 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -15,8 +15,11 @@ name = "welding helmet" desc = "A head-mounted face cover designed to protect the wearer completely from space-arc eye." icon_state = "welding" + item_state_slots = list( + slot_l_hand_str = "welding", + slot_r_hand_str = "welding", + ) flags = HEADCOVERSEYES | HEADCOVERSMOUTH - item_state = "welding" matter = list(DEFAULT_WALL_MATERIAL = 3000, "glass" = 1000) var/up = 0 armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) @@ -62,12 +65,10 @@ name = "cake-hat" desc = "It's tasty looking!" icon_state = "cake0" + item_state = "cake0" flags = HEADCOVERSEYES - var/onfire = 0.0 - var/status = 0 - var/fire_resist = T0C+1300 //this is the max temp it can stand before you start to cook. although it might not burn away, you take damage - var/processing = 0 //I dont think this is used anywhere. - body_parts_covered = EYES + var/onfire = 0 + body_parts_covered = HEAD|EYES /obj/item/clothing/head/cakehat/process() if(!onfire) @@ -84,17 +85,18 @@ location.hotspot_expose(700, 1) /obj/item/clothing/head/cakehat/attack_self(mob/user as mob) - if(status > 1) return src.onfire = !( src.onfire ) if (src.onfire) src.force = 3 src.damtype = "fire" src.icon_state = "cake1" + src.item_state = "cake1" processing_objects.Add(src) else src.force = null src.damtype = "brute" src.icon_state = "cake0" + src.item_state = "cake0" return @@ -105,17 +107,14 @@ name = "ushanka" desc = "Perfect for winter in Siberia, da?" icon_state = "ushankadown" - item_state = "ushankadown" flags_inv = HIDEEARS /obj/item/clothing/head/ushanka/attack_self(mob/user as mob) if(src.icon_state == "ushankadown") src.icon_state = "ushankaup" - src.item_state = "ushankaup" user << "You raise the ear flaps on the ushanka." else src.icon_state = "ushankadown" - src.item_state = "ushankadown" user << "You lower the ear flaps on the ushanka." /* @@ -125,7 +124,6 @@ name = "carved pumpkin" desc = "A jack o' lantern! Believed to ward off evil spirits." icon_state = "hardhat0_pumpkin"//Could stand to be renamed - item_state = "hardhat0_pumpkin" flags = HEADCOVERSEYES | HEADCOVERSMOUTH | BLOCKHAIR flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE body_parts_covered = HEAD|EYES @@ -152,10 +150,9 @@ var/icon/earbit = new/icon("icon" = 'icons/mob/head.dmi', "icon_state" = "kittyinner") ears.Blend(earbit, ICON_OVERLAY) - /obj/item/clothing/head/richard name = "chicken mask" desc = "You can hear the distant sounds of rhythmic electronica." icon_state = "richard" body_parts_covered = HEAD|FACE - flags = HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR \ No newline at end of file + flags = HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm index d41a4598a4..5cb23c58ea 100644 --- a/code/modules/clothing/head/soft_caps.dm +++ b/code/modules/clothing/head/soft_caps.dm @@ -3,29 +3,28 @@ desc = "It's a peaked cap in a tasteless yellow color." icon_state = "cargosoft" flags = HEADCOVERSEYES - item_state = "helmet" + item_state_slots = list( + slot_l_hand_str = "helmet", //probably a placeholder + slot_r_hand_str = "helmet", + ) var/flipped = 0 siemens_coefficient = 0.9 body_parts_covered = 0 - dropped() - src.icon_state = initial(icon_state) - src.flipped=0 - ..() +/obj/item/clothing/head/soft/dropped() + src.icon_state = initial(icon_state) + src.flipped=0 + ..() - verb/flip() - set category = "Object" - set name = "Flip cap" - set src in usr - if(usr.canmove && !usr.stat && !usr.restrained()) - src.flipped = !src.flipped - if(src.flipped) - icon_state = "[icon_state]_flipped" - usr << "You flip the hat backwards." - else - src.icon_state = initial(icon_state) - usr << "You flip the hat back in normal position." - update_clothing_icon() //so our mob-overlays update +/obj/item/clothing/head/soft/attack_self(mob/user) + src.flipped = !src.flipped + if(src.flipped) + icon_state = "[icon_state]_flipped" + user << "You flip the hat backwards." + else + src.icon_state = initial(icon_state) + user << "You flip the hat back in normal position." + update_clothing_icon() //so our mob-overlays update /obj/item/clothing/head/soft/red name = "red cap" diff --git a/code/modules/clothing/spacesuits/alien.dm b/code/modules/clothing/spacesuits/alien.dm index 9b4eb86b98..d42df195e4 100644 --- a/code/modules/clothing/spacesuits/alien.dm +++ b/code/modules/clothing/spacesuits/alien.dm @@ -8,11 +8,9 @@ /obj/item/clothing/head/helmet/space/skrell/white icon_state = "skrell_helmet_white" - item_state = "skrell_helmet_white" /obj/item/clothing/head/helmet/space/skrell/black icon_state = "skrell_helmet_black" - item_state = "skrell_helmet_black" /obj/item/clothing/suit/space/skrell name = "Skrellian voidsuit" diff --git a/code/modules/clothing/spacesuits/captain.dm b/code/modules/clothing/spacesuits/captain.dm index 68a7ea51d9..0e79b36d64 100644 --- a/code/modules/clothing/spacesuits/captain.dm +++ b/code/modules/clothing/spacesuits/captain.dm @@ -2,7 +2,7 @@ /obj/item/clothing/head/helmet/space/capspace name = "space helmet" icon_state = "capspace" - item_state = "capspacehelmet" + item_state = "capspace" desc = "A special helmet designed for work in a hazardous, low-pressure environment. Only for the most fashionable of military figureheads." flags = HEADCOVERSEYES | BLOCKHAIR | STOPPRESSUREDAMAGE flags_inv = HIDEFACE diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index 7aec6068b0..27b8c12642 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -2,7 +2,7 @@ /obj/item/clothing/head/helmet/space/capspace name = "space helmet" icon_state = "capspace" - item_state = "capspacehelmet" + item_state = "capspace" desc = "A special helmet designed for work in a hazardous, low-pressure environment. Only for the most fashionable of military figureheads." flags_inv = HIDEFACE permeability_coefficient = 0.01 @@ -32,11 +32,15 @@ name = "deathsquad helmet" desc = "That's not red paint. That's real blood." icon_state = "deathsquad" - item_state = "deathsquad" + item_state_slots = list( + slot_l_hand_str = "syndicate-helm-black-red", + slot_r_hand_str = "syndicate-helm-black-red", + ) armor = list(melee = 65, bullet = 55, laser = 35,energy = 20, bomb = 30, bio = 100, rad = 60) flags = HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | STOPPRESSUREDAMAGE | THICKMATERIAL siemens_coefficient = 0.6 +//how is this a space helmet? /obj/item/clothing/head/helmet/space/deathsquad/beret name = "officer's beret" desc = "An armored beret commonly used by special operations officers." @@ -50,6 +54,7 @@ name = "Santa's hat" desc = "Ho ho ho. Merrry X-mas!" icon_state = "santahat" + item_state = "santahat" flags = HEADCOVERSEYES | BLOCKHAIR | STOPPRESSUREDAMAGE body_parts_covered = HEAD diff --git a/code/modules/clothing/spacesuits/spacesuits.dm b/code/modules/clothing/spacesuits/spacesuits.dm index 78ecc731de..c09721e7f3 100644 --- a/code/modules/clothing/spacesuits/spacesuits.dm +++ b/code/modules/clothing/spacesuits/spacesuits.dm @@ -7,7 +7,10 @@ icon_state = "space" desc = "A special helmet designed for work in a hazardous, low-pressure environment." flags = HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | STOPPRESSUREDAMAGE | THICKMATERIAL | AIRTIGHT - item_state = "space" + item_state_slots = list( + slot_l_hand_str = "s_helmet", + slot_r_hand_str = "s_helmet", + ) permeability_coefficient = 0.01 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE diff --git a/code/modules/clothing/spacesuits/syndi.dm b/code/modules/clothing/spacesuits/syndi.dm index 5cb1d8446e..0262c5489c 100644 --- a/code/modules/clothing/spacesuits/syndi.dm +++ b/code/modules/clothing/spacesuits/syndi.dm @@ -2,7 +2,7 @@ /obj/item/clothing/head/helmet/space/syndicate name = "red space helmet" icon_state = "syndicate" - item_state = "space_helmet_syndicate" + item_state = "syndicate" desc = "A crimson helmet sporting clean lines and durable plating. Engineered to look menacing." armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30) siemens_coefficient = 0.6 @@ -107,7 +107,7 @@ /obj/item/clothing/head/helmet/space/syndicate/black/med name = "black medical space helmet" icon_state = "syndicate-helm-black-med" - item_state = "syndicate-helm-black" + item_state_slots = list(slot_head_str = "syndicate-black-med") /obj/item/clothing/suit/space/syndicate/black/med name = "black medical space suit" @@ -119,7 +119,7 @@ /obj/item/clothing/head/helmet/space/syndicate/black/orange name = "black and orange space helmet" icon_state = "syndicate-helm-black-orange" - item_state = "syndicate-helm-black" + item_state_slots = list(slot_head_str = "syndicate-helm-black-orange") /obj/item/clothing/suit/space/syndicate/black/orange name = "black and orange space suit" @@ -142,9 +142,9 @@ /obj/item/clothing/head/helmet/space/syndicate/black/engie name = "black engineering space helmet" icon_state = "syndicate-helm-black-engie" - item_state = "syndicate-helm-black" + item_state_slots = list(slot_head_str = "syndicate-helm-black-engie") /obj/item/clothing/suit/space/syndicate/black/engie name = "black engineering space suit" icon_state = "syndicate-black-engie" - item_state = "syndicate-black" \ No newline at end of file + item_state = "syndicate-black" diff --git a/code/modules/clothing/spacesuits/void/station.dm b/code/modules/clothing/spacesuits/void/station.dm index b7477e2f0e..f8e6f03611 100644 --- a/code/modules/clothing/spacesuits/void/station.dm +++ b/code/modules/clothing/spacesuits/void/station.dm @@ -4,7 +4,10 @@ name = "engineering voidsuit helmet" desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has radiation shielding." icon_state = "rig0-engineering" - item_state = "eng_helm" + item_state_slots = list( + slot_l_hand_str = "eng_helm", + slot_r_hand_str = "eng_helm", + ) armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 80) /obj/item/clothing/suit/space/void/engineering @@ -21,7 +24,10 @@ name = "mining voidsuit helmet" desc = "A special helmet designed for work in a hazardous, low pressure environment. Has reinforced plating." icon_state = "rig0-mining" - item_state = "mining_helm" + item_state_slots = list( + slot_l_hand_str = "mining_helm", + slot_r_hand_str = "mining_helm", + ) armor = list(melee = 50, bullet = 5, laser = 20,energy = 5, bomb = 55, bio = 100, rad = 20) light_overlay = "helmet_light_dual" @@ -37,7 +43,10 @@ name = "medical voidsuit helmet" desc = "A special helmet designed for work in a hazardous, low pressure environment. Has minor radiation shielding." icon_state = "rig0-medical" - item_state = "medical_helm" + item_state_slots = list( + slot_l_hand_str = "medical_helm", + slot_r_hand_str = "medical_helm", + ) armor = list(melee = 30, bullet = 5, laser = 20,energy = 5, bomb = 25, bio = 100, rad = 50) /obj/item/clothing/suit/space/void/medical @@ -53,7 +62,10 @@ name = "security voidsuit helmet" desc = "A special helmet designed for work in a hazardous, low pressure environment. Has an additional layer of armor." icon_state = "rig0-sec" - item_state = "sec_helm" + item_state_slots = list( + slot_l_hand_str = "sec_helm", + slot_r_hand_str = "sec_helm", + ) armor = list(melee = 60, bullet = 10, laser = 30, energy = 5, bomb = 45, bio = 100, rad = 10) siemens_coefficient = 0.7 light_overlay = "helmet_light_dual" @@ -72,7 +84,10 @@ desc = "A special helmet designed for work in a hazardous, low pressure environments. Has improved thermal protection and minor radiation shielding." name = "atmospherics voidsuit helmet" icon_state = "rig0-atmos" - item_state = "atmos_helm" + item_state_slots = list( + slot_l_hand_str = "atmos_helm", + slot_r_hand_str = "atmos_helm", + ) armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 50) max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE light_overlay = "helmet_light_dual" diff --git a/code/modules/clothing/spacesuits/void/void.dm b/code/modules/clothing/spacesuits/void/void.dm index aef2724349..294cac24c7 100644 --- a/code/modules/clothing/spacesuits/void/void.dm +++ b/code/modules/clothing/spacesuits/void/void.dm @@ -3,7 +3,6 @@ name = "void helmet" desc = "A high-tech dark red space suit helmet. Used for AI satellite maintenance." icon_state = "void" - item_state = "void" heat_protection = HEAD armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 20) diff --git a/code/modules/clothing/spacesuits/void/wizard.dm b/code/modules/clothing/spacesuits/void/wizard.dm index 2fc0c76dbd..846d0466eb 100644 --- a/code/modules/clothing/spacesuits/void/wizard.dm +++ b/code/modules/clothing/spacesuits/void/wizard.dm @@ -3,7 +3,10 @@ name = "gem-encrusted voidsuit helmet" desc = "A bizarre gem-encrusted helmet that radiates magical energies." icon_state = "rig0-wiz" - item_state = "wiz_helm" + item_state_slots = list( + slot_l_hand_str = "wiz_helm", + slot_r_hand_str = "wiz_helm", + ) unacidable = 1 //No longer shall our kind be foiled by lone chemists with spray bottles! armor = list(melee = 40, bullet = 20, laser = 20,energy = 20, bomb = 35, bio = 100, rad = 60) siemens_coefficient = 0.7 diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm index 037eb6833e..bbeb7335e3 100644 --- a/code/modules/clothing/suits/bio.dm +++ b/code/modules/clothing/suits/bio.dm @@ -2,6 +2,10 @@ /obj/item/clothing/head/bio_hood name = "bio hood" icon_state = "bio" + item_state_slots = list( + slot_l_hand_str = "bio_hood", + slot_r_hand_str = "bio_hood", + ) desc = "A hood that protects the head and face from biological comtaminants." permeability_coefficient = 0.01 flags = HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm index c0cdd91ecd..37008da464 100644 --- a/code/modules/clothing/suits/utility.dm +++ b/code/modules/clothing/suits/utility.dm @@ -72,12 +72,10 @@ /obj/item/clothing/head/bomb_hood/security icon_state = "bombsuitsec" - item_state = "bombsuitsec" body_parts_covered = HEAD /obj/item/clothing/suit/bomb_suit/security icon_state = "bombsuitsec" - item_state = "bombsuitsec" allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs) body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS diff --git a/code/modules/clothing/suits/wiz_robe.dm b/code/modules/clothing/suits/wiz_robe.dm index 69e51093f9..361bce66aa 100644 --- a/code/modules/clothing/suits/wiz_robe.dm +++ b/code/modules/clothing/suits/wiz_robe.dm @@ -2,6 +2,10 @@ name = "wizard hat" desc = "Strange-looking hat-wear that most certainly belongs to a real magic user." icon_state = "wizard" + item_state_slots = list( + slot_l_hand_str = "wizhat", + slot_r_hand_str = "wizhat", + ) //Not given any special protective value since the magic robes are full-body protection --NEO siemens_coefficient = 0.8 body_parts_covered = 0 @@ -30,6 +34,10 @@ desc = "A mysterious helmet that hums with an unearthly power" icon_state = "magus" item_state = "magus" + item_state_slots = list( + slot_l_hand_str = "helmet", + slot_r_hand_str = "helmet", + ) siemens_coefficient = 0.8 body_parts_covered = HEAD|FACE|EYES @@ -37,12 +45,20 @@ name = "psychic amplifier" desc = "A crown-of-thorns psychic amplifier. Kind of looks like a tiara having sex with an industrial robot." icon_state = "amp" + item_state_slots = list( + slot_l_hand_str = "helmet", + slot_r_hand_str = "helmet", + ) siemens_coefficient = 0.8 /obj/item/clothing/head/wizard/cap name = "Gentlemans Cap" desc = "A checkered gray flat cap woven together with the rarest of threads." icon_state = "gentcap" + item_state_slots = list( + slot_l_hand_str = "det_hat", + slot_r_hand_str = "det_hat", + ) siemens_coefficient = 0.8 /obj/item/clothing/suit/wizrobe diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm index 003e8ba048..b92bebc9e9 100644 --- a/code/modules/clothing/under/jobs/security.dm +++ b/code/modules/clothing/under/jobs/security.dm @@ -17,6 +17,12 @@ armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) siemens_coefficient = 0.9 +/obj/item/clothing/head/warden + name = "warden's hat" + desc = "It's a special helmet issued to the Warden of a securiy force." + icon_state = "policehelm" + body_parts_covered = 0 + /obj/item/clothing/under/rank/security name = "security officer's jumpsuit" desc = "It's made of a slightly sturdier material than standard jumpsuits, to allow for robust protection." @@ -98,6 +104,10 @@ name = "hat" desc = "Someone who wears this will look very smart." icon_state = "detective" + item_state_slots = list( + slot_l_hand_str = "det_hat", + slot_r_hand_str = "det_hat", + ) allowed = list(/obj/item/weapon/reagent_containers/food/snacks/candy_corn, /obj/item/weapon/pen) armor = list(melee = 50, bullet = 5, laser = 25,energy = 10, bomb = 0, bio = 0, rad = 0) siemens_coefficient = 0.9 @@ -124,16 +134,19 @@ //item_state = "hos_corporate" worn_state = "hos_corporate" -/obj/item/clothing/head/helmet/HoS +/obj/item/clothing/head/HoS name = "Head of Security Hat" desc = "The hat of the Head of Security. For showing the officers who's in charge." icon_state = "hoscap" - flags = HEADCOVERSEYES - armor = list(melee = 80, bullet = 60, laser = 50,energy = 10, bomb = 25, bio = 10, rad = 0) - flags_inv = HIDEEARS body_parts_covered = 0 siemens_coefficient = 0.8 +/obj/item/clothing/head/HoS/dermal + name = "Dermal Armour Patch" + desc = "You're not quite sure how you manage to take it on and off, but it implants nicely in your head." + icon_state = "dermal" + siemens_coefficient = 0.6 + /obj/item/clothing/suit/armor/hos name = "armored coat" desc = "A greatcoat enhanced with a special alloy for some protection and style." @@ -144,14 +157,6 @@ flags_inv = HIDEJUMPSUIT siemens_coefficient = 0.6 - -/obj/item/clothing/head/helmet/HoS/dermal - name = "Dermal Armour Patch" - desc = "You're not quite sure how you manage to take it on and off, but it implants nicely in your head." - icon_state = "dermal" - item_state = "dermal" - siemens_coefficient = 0.6 - //Jensen cosplay gear /obj/item/clothing/under/rank/head_of_security/jensen desc = "You never asked for anything that stylish." diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index f3fcff7108..f9c1779547 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -638,18 +638,24 @@ var/global/list/damage_icon_parts = list() head.screen_loc = ui_head //TODO //Determine the icon to use - var/t_icon = INV_HEAD_DEF_ICON + var/t_icon if(head.icon_override) t_icon = head.icon_override else if(head.sprite_sheets && head.sprite_sheets[species.name]) t_icon = head.sprite_sheets[species.name] + else if(head.item_icons && (slot_head_str in head.item_icons)) + t_icon = head.item_icons[slot_head_str] + else + t_icon = INV_HEAD_DEF_ICON //Determine the state to use - var/t_state = head.icon_state - if(istype(head, /obj/item/weapon/paper)) - /* I don't like this, but bandaid to fix half the hats in the game - being completely broken without re-breaking paper hats */ - t_state = "paper" + var/t_state + if(head.item_state_slots && head.item_state_slots[slot_head_str]) + t_state = head.item_state_slots[slot_head_str] + else if(head.item_state) + t_state = head.item_state + else + t_state = head.icon_state //Create the image var/image/standing = image(icon = t_icon, icon_state = t_state) @@ -703,12 +709,15 @@ var/global/list/damage_icon_parts = list() var/image/standing + var/t_icon = INV_SUIT_DEF_ICON if(wear_suit.icon_override) - standing = image("icon" = wear_suit.icon_override, "icon_state" = "[wear_suit.icon_state]") + t_icon = wear_suit.icon_override else if(wear_suit.sprite_sheets && wear_suit.sprite_sheets[species.name]) - standing = image("icon" = wear_suit.sprite_sheets[species.name], "icon_state" = "[wear_suit.icon_state]") - else - standing = image("icon" = 'icons/mob/suit.dmi', "icon_state" = "[wear_suit.icon_state]") + t_icon = wear_suit.sprite_sheets[species.name] + else if(wear_suit.item_icons && wear_suit.item_icons[slot_wear_suit_str]) + t_icon = wear_suit.item_icons[slot_wear_suit_str] + + standing = image("icon" = t_icon, "icon_state" = "[wear_suit.icon_state]") if( istype(wear_suit, /obj/item/clothing/suit/straight_jacket) ) drop_from_inventory(handcuffed) diff --git a/code/modules/mob/update_icons.dm b/code/modules/mob/update_icons.dm index 627fb1dc53..958808234f 100644 --- a/code/modules/mob/update_icons.dm +++ b/code/modules/mob/update_icons.dm @@ -8,7 +8,7 @@ #define INV_R_HAND_DEF_ICON 'icons/mob/items/righthand.dmi' #define INV_W_UNIFORM_DEF_ICON 'icons/mob/uniform.dmi' #define INV_ACCESSORIES_DEF_ICON 'icons/mob/ties.dmi' - +#define INV_SUIT_DEF_ICON 'icons/mob/suit.dmi' /mob/proc/regenerate_icons() //TODO: phase this out completely if possible return diff --git a/icons/mob/items/lefthand.dmi b/icons/mob/items/lefthand.dmi index e6fbfdc9e4..aaac106c0c 100644 Binary files a/icons/mob/items/lefthand.dmi and b/icons/mob/items/lefthand.dmi differ diff --git a/icons/mob/items/lefthand_hats.dmi b/icons/mob/items/lefthand_hats.dmi new file mode 100644 index 0000000000..2cae6e7e96 Binary files /dev/null and b/icons/mob/items/lefthand_hats.dmi differ diff --git a/icons/mob/items/righthand.dmi b/icons/mob/items/righthand.dmi index 64c220ff1e..60426d724b 100644 Binary files a/icons/mob/items/righthand.dmi and b/icons/mob/items/righthand.dmi differ diff --git a/icons/mob/items/righthand_hats.dmi b/icons/mob/items/righthand_hats.dmi new file mode 100644 index 0000000000..ffaa950b55 Binary files /dev/null and b/icons/mob/items/righthand_hats.dmi differ