From c7ff5eebe36bdd984b6993a39c4449526e33d540 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 27 Jun 2015 22:32:00 -0400 Subject: [PATCH] Updates hats to use item_state_slots where necessary. --- code/__defines/items_clothing.dm | 5 +- .../crates_lockers/closets/secure/security.dm | 12 ++-- code/modules/clothing/head/collectable.dm | 26 ++++----- code/modules/clothing/head/hardhat.dm | 5 -- code/modules/clothing/head/helmet.dm | 33 +++-------- code/modules/clothing/head/jobs.dm | 55 +++++++++++++------ code/modules/clothing/head/misc.dm | 52 +++++++----------- code/modules/clothing/head/misc_special.dm | 30 +++++----- code/modules/clothing/head/soft_caps.dm | 5 +- code/modules/clothing/under/jobs/security.dm | 18 ------ .../mob/living/carbon/human/update_icons.dm | 24 +++++--- 11 files changed, 122 insertions(+), 143 deletions(-) diff --git a/code/__defines/items_clothing.dm b/code/__defines/items_clothing.dm index 7a461cedf6c..103cccf8335 100644 --- a/code/__defines/items_clothing.dm +++ b/code/__defines/items_clothing.dm @@ -97,10 +97,11 @@ // Inventory slot strings. // since numbers cannot be used as associative list keys. -#define slot_back_str "back" +#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" // Bitflags for clothing parts. #define HEAD 1 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 f0c96695dcb..61d20f9de5b 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/head/collectable.dm b/code/modules/clothing/head/collectable.dm index bf20b3e9528..6ea43fa0fad 100644 --- a/code/modules/clothing/head/collectable.dm +++ b/code/modules/clothing/head/collectable.dm @@ -26,8 +26,7 @@ /obj/item/clothing/head/collectable/chef name = "collectable chef's hat" desc = "A rare Chef's Hat meant for hat collectors!" - icon_state = "hats" - item_state = "chefhat" + icon_state = "chefhat" /obj/item/clothing/head/collectable/paper name = "collectable paper hat" @@ -39,14 +38,20 @@ name = "collectable top hat" desc = "A top hat worn by only the most prestigious hat collectors." icon_state = "tophat" - item_state = "that" + item_state_slots = list( + slot_l_hand_str = "that", + slot_r_hand_str = "that", + ) 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 @@ -65,40 +70,38 @@ name = "collectable welding helmet" desc = "A Collectable Welding Helmet. Now with 80% less lead! Not for actual welding. Any welding done while wearing this Helmet is done so at the owner's own risk!" icon_state = "welding" - item_state = "welding" body_parts_covered = HEAD|FACE|EYES /obj/item/clothing/head/collectable/slime 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 +113,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 +125,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 16a6adda677..a98d747bfd4 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 eec6c828d86..c0290c0d7ee 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -2,8 +2,8 @@ name = "helmet" desc = "Standard Security gear. Protects the head from impacts." icon_state = "helmet" - flags = HEADCOVERSEYES | THICKMATERIAL item_state = "helmet" + flags = HEADCOVERSEYES | THICKMATERIAL 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 +13,11 @@ 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" + item_state_slots = list(slot_head_str = "riot") flags = HEADCOVERSEYES armor = list(melee = 82, bullet = 15, laser = 5,energy = 5, bomb = 5, bio = 2, rad = 0) flags_inv = HIDEEARS @@ -80,7 +59,7 @@ name = "tactical helmet" desc = "An armored helmet capable of being fitted with a multitude of attachments." icon_state = "swathelm" - item_state = "helmet" + item_state_slots = list(slot_head_str = "swathelm") flags = HEADCOVERSEYES sprite_sheets = list( "Tajara" = 'icons/mob/species/tajaran/helmet.dmi', @@ -108,6 +87,7 @@ 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_slots = list(slot_head_str = "erthelmet_cmd") item_state = "syndicate-helm-green" armor = list(melee = 62, bullet = 50, laser = 50,energy = 35, bomb = 10, bio = 2, rad = 0) @@ -121,15 +101,18 @@ name = "emergency response team security helmet" desc = "An in-atmosphere helmet worn by security members of the NanoTrasen Emergency Response Team. Has red highlights." icon_state = "erthelmet_sec" + item_state_slots = list(slot_head_str = "erthelmet_sec") //Engineer /obj/item/clothing/head/helmet/ert/engineer name = "emergency response team engineer helmet" desc = "An in-atmosphere helmet worn by engineering members of the NanoTrasen Emergency Response Team. Has orange highlights." icon_state = "erthelmet_eng" + item_state_slots = list(slot_head_str = "erthelmet_eng") //Medical /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" + item_state_slots = list(slot_head_str = "erthelmet_med") diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index ae2873e8f46..c4c7302bed3 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -4,29 +4,33 @@ name = "chef's hat" 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 +38,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,17 +46,35 @@ 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 +/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" + 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/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/head/beret/sec name = "security beret" desc = "A beret with the security insignia emblazoned on it. For officers that are more inclined towards style than safety." diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index 7b13c10b4b0..3d9455b9dff 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -4,7 +4,6 @@ name = "\improper CentComm. hat" icon_state = "centcom" desc = "It's good to be emperor." - item_state = "centhat" siemens_coefficient = 0.9 body_parts_covered = 0 @@ -12,7 +11,6 @@ name = "hair flower pin" icon_state = "hairflower" desc = "Smells nice." - item_state = "hairflower" slot_flags = SLOT_HEAD | SLOT_EARS body_parts_covered = 0 @@ -20,13 +18,15 @@ name = "powdered wig" desc = "A powdered wig." icon_state = "pwig" - item_state = "pwig" /obj/item/clothing/head/that name = "top-hat" desc = "It's an amish looking hat." icon_state = "tophat" - item_state = "that" + item_state_slots = list( + slot_l_hand_str = "that", + slot_r_hand_str = "that", + ) siemens_coefficient = 0.9 body_parts_covered = 0 @@ -67,7 +67,6 @@ /obj/item/clothing/head/syndicatefake name = "red space-helmet replica" 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 @@ -79,7 +78,6 @@ 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" flags = HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR - item_state="cueball" flags_inv = 0 body_parts_covered = HEAD|FACE|EYES @@ -87,7 +85,6 @@ name = "green bandana" desc = "It's a green bandana with some fine nanotech lining." icon_state = "greenbandana" - item_state = "greenbandana" flags_inv = 0 body_parts_covered = 0 @@ -95,7 +92,6 @@ name = "cardborg helmet" desc = "A helmet made out of a box." icon_state = "cardborg_h" - item_state = "cardborg_h" flags = HEADCOVERSEYES | HEADCOVERSMOUTH flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE body_parts_covered = HEAD|FACE|EYES @@ -104,24 +100,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 +124,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 = "detective", + slot_r_hand_str = "detective", + ) 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 +158,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 +192,6 @@ name = "witch costume wig" desc = "Eeeee~heheheheheheh!" icon_state = "witch" - item_state = "witch" flags = BLOCKHAIR siemens_coefficient = 2.0 @@ -216,7 +199,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 +211,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 +231,6 @@ 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" flags = BLOCKHAIR siemens_coefficient = 2.0 //why is it so conductive?! body_parts_covered = 0 @@ -252,5 +239,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 e7e3981b99a..1ffe0f352e8 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -15,11 +15,14 @@ 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) + armor = list(melee = 30, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) flags_inv = (HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE) body_parts_covered = HEAD|FACE|EYES action_button_name = "Flip Welding Mask" @@ -62,12 +65,13 @@ name = "cake-hat" desc = "It's tasty looking!" icon_state = "cake0" + item_state_slots = list( + slot_l_hand_str = "cakehat0", + slot_r_hand_str = "cakehat0", + ) 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 +88,20 @@ 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_slots[slot_l_hand_str] = "cakehat1" + src.item_state_slots[slot_r_hand_str] = "cakehat1" processing_objects.Add(src) else src.force = null src.damtype = "brute" src.icon_state = "cake0" + src.item_state_slots[slot_l_hand_str] = "cakehat0" + src.item_state_slots[slot_r_hand_str] = "cakehat0" return @@ -105,17 +112,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 +129,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 +155,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 d41a4598a43..f92fb0ca761 100644 --- a/code/modules/clothing/head/soft_caps.dm +++ b/code/modules/clothing/head/soft_caps.dm @@ -3,7 +3,10 @@ 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 diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm index 003e8ba0488..14f687543a0 100644 --- a/code/modules/clothing/under/jobs/security.dm +++ b/code/modules/clothing/under/jobs/security.dm @@ -124,16 +124,6 @@ //item_state = "hos_corporate" worn_state = "hos_corporate" -/obj/item/clothing/head/helmet/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/suit/armor/hos name = "armored coat" desc = "A greatcoat enhanced with a special alloy for some protection and style." @@ -144,14 +134,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 f3fcff7108f..45c646a6ffc 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -638,19 +638,25 @@ 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] - + 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)