From b109cfae4262a06f59ef797977bfa142ebc0195a Mon Sep 17 00:00:00 2001 From: Anewbe Date: Wed, 5 Sep 2018 19:43:24 -0500 Subject: [PATCH] Helmets now show only certain hairstyles --- code/modules/clothing/head/helmet.dm | 16 ++++++---------- .../mob/living/carbon/human/update_icons.dm | 6 +++++- .../modules/mob/new_player/sprite_accessories.dm | 6 +++--- code/modules/organs/organ_icon.dm | 2 +- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 8e7b10052d..70c19a1260 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -6,7 +6,7 @@ restricted_accessory_slots = (ACCESSORY_SLOT_HELM_C) flags = THICKMATERIAL armor = list(melee = 40, bullet = 30, laser = 30, energy = 10, bomb = 10, bio = 0, rad = 0) - flags_inv = HIDEEARS|HIDEEYES + flags_inv = HIDEEARS|BLOCKHEADHAIR cold_protection = HEAD min_cold_protection_temperature = HELMET_MIN_COLD_PROTECTION_TEMPERATURE heat_protection = HEAD @@ -62,7 +62,6 @@ icon_state = "riot" item_state_slots = list(slot_r_hand_str = "swat", slot_l_hand_str = "swat") armor = list(melee = 80, bullet = 10, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0) - flags_inv = HIDEEARS siemens_coefficient = 0.7 valid_accessory_slots = null action_button_name = "Toggle Visor" @@ -82,7 +81,6 @@ icon_state = "helmet_reflec" item_state_slots = list(slot_r_hand_str = "helmet", slot_l_hand_str = "helmet") armor = list(melee = 10, bullet = 10, laser = 80 ,energy = 50, bomb = 0, bio = 0, rad = 0) - flags_inv = HIDEEARS siemens_coefficient = 0.1 valid_accessory_slots = null @@ -92,7 +90,6 @@ icon_state = "helmet_bulletproof" item_state_slots = list(slot_r_hand_str = "helmet", slot_l_hand_str = "helmet") armor = list(melee = 10, bullet = 80, laser = 10 ,energy = 10, bomb = 0, bio = 0, rad = 0) - flags_inv = HIDEEARS siemens_coefficient = 0.7 valid_accessory_slots = null @@ -102,7 +99,7 @@ icon_state = "helmet_combat" item_state_slots = list(slot_r_hand_str = "helmet", slot_l_hand_str = "helmet") armor = list(melee = 50, bullet = 50, laser = 50 ,energy = 30, bomb = 30, bio = 0, rad = 0) - flags_inv = HIDEEARS + flags_inv = HIDEEARS|HIDEEYES|BLOCKHEADHAIR siemens_coefficient = 0.6 valid_accessory_slots = null @@ -111,7 +108,7 @@ desc = "They're often used by highly trained SWAT Officers." icon_state = "swat" armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 10, rad = 0) - flags_inv = HIDEEARS|HIDEEYES + flags_inv = HIDEEARS|HIDEEYES|BLOCKHEADHAIR cold_protection = HEAD min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.5 @@ -142,8 +139,7 @@ desc = "Ave, Imperator, morituri te salutant." icon_state = "gladiator" item_state_slots = list(slot_r_hand_str = "vhelmet", slot_l_hand_str = "vhelmet") - flags = BLOCKHAIR - flags_inv = HIDEMASK|HIDEEARS|HIDEEYES + flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|BLOCKHAIR siemens_coefficient = 1 valid_accessory_slots = null @@ -158,7 +154,7 @@ ) armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 40, bio = 0, rad = 0) - flags_inv = HIDEEARS + flags_inv = HIDEEARS|BLOCKHAIR siemens_coefficient = 0.7 valid_accessory_slots = null @@ -168,7 +164,7 @@ icon_state = "v62" item_state_slots = list(slot_r_hand_str = "head_m", slot_l_hand_str = "head_m") armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 10, rad = 0) - flags_inv = HIDEEARS|HIDEEYES + flags_inv = HIDEEARS|HIDEEYES|BLOCKHEADHAIR cold_protection = HEAD min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.5 diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 30aa8f709c..b6331abe0d 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -406,8 +406,12 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() face_standing.Blend(facial_s, ICON_OVERLAY) - if(h_style && !(head && (head.flags_inv & BLOCKHEADHAIR))) + if(h_style) var/datum/sprite_accessory/hair/hair_style = hair_styles_list[h_style] + if(head && (head.flags_inv & BLOCKHEADHAIR)) + if(!(hair_style.flags & HAIR_VERY_SHORT)) + hair_style = hair_styles_list["Short Hair"] + if(hair_style && (src.species.get_bodytype(src) in hair_style.species_allowed)) var/icon/hair_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_s") var/icon/hair_s_add = new/icon("icon" = hair_style.icon_add, "icon_state" = "[hair_style.icon_state]_s") diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm index f465acb877..3835bbb144 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -133,7 +133,7 @@ ponytail1 name = "Ponytail 1" icon_state = "hair_ponytail" - flags = HAIR_TIEABLE + flags = HAIR_TIEABLE|HAIR_VERY_SHORT ponytail2 name = "Ponytail 2" @@ -158,12 +158,12 @@ ponytail6 name = "Ponytail 6" icon_state = "hair_ponytail6" - flags = HAIR_TIEABLE + flags = HAIR_TIEABLE|HAIR_VERY_SHORT fringetail name = "Fringetail" icon_state = "hair_fringetail" - flags = HAIR_TIEABLE + flags = HAIR_TIEABLE|HAIR_VERY_SHORT sideponytail name = "Side Ponytail" diff --git a/code/modules/organs/organ_icon.dm b/code/modules/organs/organ_icon.dm index 91b96fea31..0adb547284 100644 --- a/code/modules/organs/organ_icon.dm +++ b/code/modules/organs/organ_icon.dm @@ -110,7 +110,7 @@ var/global/list/limb_icon_cache = list() res.add_overlay(facial_s) //Head hair - if(owner.h_style && !(owner.head && (owner.head.flags_inv & BLOCKHEADHAIR))) + if(owner.h_style) var/style = owner.h_style var/datum/sprite_accessory/hair/hair_style = hair_styles_list[style] if(owner.head && (owner.head.flags_inv & BLOCKHEADHAIR))