diff --git a/code/modules/client/preference_setup/loadout/loadout_xeno.dm b/code/modules/client/preference_setup/loadout/loadout_xeno.dm index 79e6a1ec7f..9f814743ae 100644 --- a/code/modules/client/preference_setup/loadout/loadout_xeno.dm +++ b/code/modules/client/preference_setup/loadout/loadout_xeno.dm @@ -12,55 +12,81 @@ whitelisted = "Unathi" sort_category = "Xenowear" -/datum/gear/ears/skrell - display_name = "headtail-wear, female, chain (Skrell)" +/datum/gear/ears/skrell/chains //Chains + display_name = "headtail chain selection (Skrell)" path = /obj/item/clothing/ears/skrell/chain sort_category = "Xenowear" whitelisted = "Skrell" -/datum/gear/ears/skrell/plate - display_name = "headtail-wear, male, bands (Skrell)" +/datum/gear/ears/skrell/chains/New() + ..() + var/list/chaintypes = list() + for(var/chain_style in typesof(/obj/item/clothing/ears/skrell/chain)) + var/obj/item/clothing/ears/skrell/chain/chain = chain_style + chaintypes[initial(chain.name)] = chain + gear_tweaks += new/datum/gear_tweak/path(sortAssoc(chaintypes)) + +/datum/gear/ears/skrell/bands + display_name = "headtail band selection (Skrell)" path = /obj/item/clothing/ears/skrell/band + sort_category = "Xenowear" + whitelisted = "Skrell" -/datum/gear/ears/skrell/cloth //male/red - display_name = "headtail-wear, male, red, cloth (Skrell)" +/datum/gear/ears/skrell/bands/New() + ..() + var/list/bandtypes = list() + for(var/band_style in typesof(/obj/item/clothing/ears/skrell/band)) + var/obj/item/clothing/ears/skrell/band/band = band_style + bandtypes[initial(band.name)] = band + gear_tweaks += new/datum/gear_tweak/path(sortAssoc(bandtypes)) + +/datum/gear/ears/skrell/cloth/male + display_name = "male headtail cloth selection (Skrell)" path = /obj/item/clothing/ears/skrell/cloth_male + sort_category = "Xenowear" + whitelisted = "Skrell" -/datum/gear/ears/skrell/cloth/male //black - display_name = "headtail-wear, male, black, cloth (Skrell)" - path = /obj/item/clothing/ears/skrell/cloth_male/black - -/datum/gear/ears/skrell/cloth/male/blue - display_name = "headtail-wear, male, blue, cloth (Skrell)" - path = /obj/item/clothing/ears/skrell/cloth_male/blue - -/datum/gear/ears/skrell/cloth/male/green - display_name = "headtail-wear, male, green, cloth (Skrell)" - path = /obj/item/clothing/ears/skrell/cloth_male/green - -/datum/gear/ears/skrell/cloth/male/pink - display_name = "headtail-wear, male, pink, cloth (Skrell)" - path = /obj/item/clothing/ears/skrell/cloth_male/pink +/datum/gear/ears/skrell/cloth/male/New() + ..() + var/list/clothtypes = list() + for(var/cloth_style in typesof(/obj/item/clothing/ears/skrell/cloth_male)) + var/obj/item/clothing/ears/skrell/cloth_male/cloth = cloth_style + clothtypes[initial(cloth.name)] = cloth + gear_tweaks += new/datum/gear_tweak/path(sortAssoc(clothtypes)) /datum/gear/ears/skrell/cloth/female - display_name = "headtail-wear, female, red, cloth (Skrell)" + display_name = "female headtail cloth selection (Skrell)" path = /obj/item/clothing/ears/skrell/cloth_female + sort_category = "Xenowear" + whitelisted = "Skrell" -/datum/gear/ears/skrell/cloth/female/black - display_name = "headtail-wear, female, black, cloth (Skrell)" - path = /obj/item/clothing/ears/skrell/cloth_female/black +/datum/gear/ears/skrell/cloth/female/New() + ..() + var/list/clothtypes = list() + for(var/cloth_style in typesof(/obj/item/clothing/ears/skrell/cloth_female)) + var/obj/item/clothing/ears/skrell/cloth_female/cloth = cloth_style + clothtypes[initial(cloth.name)] = cloth + gear_tweaks += new/datum/gear_tweak/path(sortAssoc(clothtypes)) -/datum/gear/ears/skrell/cloth/female/blue - display_name = "headtail-wear, female, blue, cloth (Skrell)" - path = /obj/item/clothing/ears/skrell/cloth_female/blue - -/datum/gear/ears/skrell/cloth/female/green - display_name = "headtail-wear, female, green, cloth (Skrell)" - path = /obj/item/clothing/ears/skrell/cloth_female/green - -/datum/gear/ears/skrell/cloth/female/pink - display_name = "headtail-wear, female, pink, cloth (Skrell)" - path = /obj/item/clothing/ears/skrell/cloth_female/pink +/datum/gear/ears/skrell/colored/band + display_name = "Colored bands (Skrell)" + path = /obj/item/clothing/ears/skrell/colored/band + sort_category = "Xenowear" + whitelisted = "Skrell" + +/datum/gear/ears/skrell/colored/band/New() + ..() + gear_tweaks = list(gear_tweak_free_color_choice) + +/datum/gear/ears/skrell/colored/chain + display_name = "Colored chain (Skrell)" + path = /obj/item/clothing/ears/skrell/colored/chain + sort_category = "Xenowear" + whitelisted = "Skrell" + +/datum/gear/ears/skrell/colored/chain/New() + ..() + gear_tweaks = list(gear_tweak_free_color_choice) /datum/gear/uniform/teshari display_name = "smock, grey (Teshari)" diff --git a/code/modules/clothing/ears/skrell.dm b/code/modules/clothing/ears/skrell.dm index 59428fa5d9..e8bc3e8534 100644 --- a/code/modules/clothing/ears/skrell.dm +++ b/code/modules/clothing/ears/skrell.dm @@ -11,73 +11,135 @@ species_restricted = list("Skrell") /obj/item/clothing/ears/skrell/chain - name = "skrell headtail chains" + name = "Gold headtail chains" desc = "A delicate golden chain worn by female skrell to decorate their head tails." icon_state = "skrell_chain" item_state = "skrell_chain" - + +/obj/item/clothing/ears/skrell/chain/silver + name = "Silver headtail chains" + desc = "A delicate silver chain worn by female skrell to decorate their head tails." + icon_state = "skrell_chain_sil" + item_state = "skrell_chain_sil" + +/obj/item/clothing/ears/skrell/chain/bluejewels + name = "Blue jeweled golden headtail chains" + desc = "A delicate golden chain adorned with blue jewels worn by female skrell to decorate their head tails." + icon_state = "skrell_chain_bjewel" + item_state = "skrell_chain_bjewel" + +/obj/item/clothing/ears/skrell/chain/redjewels + name = "Red jeweled golden headtail chains" + desc = "A delicate golden chain adorned with red jewels worn by female skrell to decorate their head tails." + icon_state = "skrell_chain_rjewel" + item_state = "skrell_chain_rjewel" + +/obj/item/clothing/ears/skrell/chain/ebony + name = "Ebony headtail chains" + desc = "A delicate ebony chain worn by female skrell to decorate their head tails." + icon_state = "skrell_chain_ebony" + item_state = "skrell_chain_ebony" + /obj/item/clothing/ears/skrell/band - name = "skrell headtail bands" + name = "Gold headtail bands" desc = "Golden metallic bands worn by male skrell to adorn their head tails." icon_state = "skrell_band" item_state = "skrell_band" + +/obj/item/clothing/ears/skrell/band/silver + name = "Silver headtail bands" + desc = "Silver metallic bands worn by male skrell to adorn their head tails." + icon_state = "skrell_band_sil" + item_state = "skrell_band_sil" + +/obj/item/clothing/ears/skrell/band/bluejewels + name = "Blue jeweled golden headtail bands" + desc = "Golden metallic bands adorned with blue jewels worn by male skrell to adorn their head tails." + icon_state = "skrell_band_bjewel" + item_state = "skrell_band_bjewel" + +/obj/item/clothing/ears/skrell/band/redjewels + name = "Red jeweled golden headtail bands" + desc = "Golden metallic bands adorned with red jewels worn by male skrell to adorn their head tails." + icon_state = "skrell_band_rjewel" + item_state = "skrell_band_rjewel" + +/obj/item/clothing/ears/skrell/band/ebony + name = "Ebony headtail bands" + desc = "Ebony bands worn by male skrell to adorn their head tails." + icon_state = "skrell_band_ebony" + item_state = "skrell_band_ebony" +/obj/item/clothing/ears/skrell/colored/band + name = "Colored headtail bands" + desc = "Metallic bands worn by male skrell to adorn their head tails." + icon_state = "skrell_band_sil" + item_state = "skrell_band_sil" + +/obj/item/clothing/ears/skrell/colored/chain + name = "Colored headtail chains" + desc = "A delicate chain worn by female skrell to decorate their head tails." + icon_state = "skrell_chain_sil" + item_state = "skrell_chain_sil" + /obj/item/clothing/ears/skrell/cloth_female - name = "skrell headtail cloth" + name = "red headtail cloth" desc = "A cloth shawl worn by female skrell draped around their head tails." icon_state = "skrell_cloth_female" item_state = "skrell_cloth_female" /obj/item/clothing/ears/skrell/cloth_female/black - name = "skrell headtail cloth" - desc = "A cloth shawl worn by female skrell draped around their head tails." + name = "black headtail cloth" icon_state = "skrell_cloth_black_female" item_state = "skrell_cloth_black_female" /obj/item/clothing/ears/skrell/cloth_female/blue - name = "skrell headtail cloth" - desc = "A cloth shawl worn by female skrell draped around their head tails." + name = "blue headtail cloth" icon_state = "skrell_cloth_blue_female" item_state = "skrell_cloth_blue_female" /obj/item/clothing/ears/skrell/cloth_female/green - name = "skrell headtail cloth" - desc = "A cloth shawl worn by female skrell draped around their head tails." + name = "green headtail cloth" icon_state = "skrell_cloth_green_female" item_state = "skrell_cloth_green_female" /obj/item/clothing/ears/skrell/cloth_female/pink - name = "skrell headtail cloth" - desc = "A cloth shawl worn by female skrell draped around their head tails." + name = "pink headtail cloth" icon_state = "skrell_cloth_pink_female" item_state = "skrell_cloth_pink_female" +/obj/item/clothing/ears/skrell/cloth_female/lightblue + name = "light blue headtail cloth" + icon_state = "skrell_cloth_lblue_female" + item_state = "skrell_cloth_lblue_female" + /obj/item/clothing/ears/skrell/cloth_male - name = "skrell headtail cloth" + name = "red headtail cloth" desc = "A cloth band worn by male skrell around their head tails." icon_state = "skrell_cloth_male" item_state = "skrell_cloth_male" /obj/item/clothing/ears/skrell/cloth_male/black - name = "skrell headtail cloth" - desc = "A cloth band worn by male skrell around their head tails." + name = "black headtail cloth" icon_state = "skrell_cloth_black_male" item_state = "skrell_cloth_black_male" /obj/item/clothing/ears/skrell/cloth_male/blue - name = "skrell headtail cloth" - desc = "A cloth band worn by male skrell around their head tails." + name = "blue headtail cloth" icon_state = "skrell_cloth_blue_male" item_state = "skrell_cloth_blue_male" /obj/item/clothing/ears/skrell/cloth_male/green - name = "skrell headtail cloth" - desc = "A cloth band worn by male skrell around their head tails." + name = "green headtail cloth" icon_state = "skrell_cloth_green_male" item_state = "skrell_cloth_green_male" /obj/item/clothing/ears/skrell/cloth_male/pink - name = "skrell headtail cloth" - desc = "A cloth band worn by male skrell around their head tails." + name = "pink headtail cloth" icon_state = "skrell_cloth_pink_male" - item_state = "skrell_cloth_pink_male" \ No newline at end of file + item_state = "skrell_cloth_pink_male" + +/obj/item/clothing/ears/skrell/cloth_male/lightblue + name = "light blue headtail cloth" + icon_state = "skrell_cloth_lblue_male" + item_state = "skrell_cloth_lblue_male" \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 7f0489b90f..b15db41f51 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -556,13 +556,15 @@ var/global/list/damage_icon_parts = list() /mob/living/carbon/human/update_inv_glasses(var/update_icons=1) if(glasses) - + var/image/standing if(glasses.icon_override) - overlays_standing[GLASSES_LAYER] = image("icon" = glasses.icon_override, "icon_state" = "[glasses.icon_state]") + standing = image("icon" = glasses.icon_override, "icon_state" = "[glasses.icon_state]") else if(glasses.sprite_sheets && glasses.sprite_sheets[species.get_bodytype(src)]) - overlays_standing[GLASSES_LAYER]= image("icon" = glasses.sprite_sheets[species.get_bodytype(src)], "icon_state" = "[glasses.icon_state]") + standing = image("icon" = glasses.sprite_sheets[species.get_bodytype(src)], "icon_state" = "[glasses.icon_state]") else - overlays_standing[GLASSES_LAYER]= image("icon" = 'icons/mob/eyes.dmi', "icon_state" = "[glasses.icon_state]") + standing = image("icon" = 'icons/mob/eyes.dmi', "icon_state" = "[glasses.icon_state]") + standing.color = glasses.color + overlays_standing[GLASSES_LAYER] = standing else overlays_standing[GLASSES_LAYER] = null @@ -575,29 +577,37 @@ var/global/list/damage_icon_parts = list() return if(l_ear || r_ear) + var/image/both = image("icon" = null) + if(l_ear) - + var/image/standing var/t_type = l_ear.icon_state if(l_ear.icon_override) t_type = "[t_type]_l" - overlays_standing[EARS_LAYER] = image("icon" = l_ear.icon_override, "icon_state" = "[t_type]") + standing = image("icon" = l_ear.icon_override, "icon_state" = "[t_type]") else if(l_ear.sprite_sheets && l_ear.sprite_sheets[species.get_bodytype(src)]) t_type = "[t_type]_l" - overlays_standing[EARS_LAYER] = image("icon" = l_ear.sprite_sheets[species.get_bodytype(src)], "icon_state" = "[t_type]") + standing = image("icon" = l_ear.sprite_sheets[species.get_bodytype(src)], "icon_state" = "[t_type]") else - overlays_standing[EARS_LAYER] = image("icon" = 'icons/mob/ears.dmi', "icon_state" = "[t_type]") - + standing = image("icon" = 'icons/mob/ears.dmi', "icon_state" = "[t_type]") + standing.color = l_ear.color + both.overlays += standing + if(r_ear) - + var/image/standing var/t_type = r_ear.icon_state if(r_ear.icon_override) t_type = "[t_type]_r" - overlays_standing[EARS_LAYER] = image("icon" = r_ear.icon_override, "icon_state" = "[t_type]") + standing = image("icon" = r_ear.icon_override, "icon_state" = "[t_type]") else if(r_ear.sprite_sheets && r_ear.sprite_sheets[species.get_bodytype(src)]) t_type = "[t_type]_r" - overlays_standing[EARS_LAYER] = image("icon" = r_ear.sprite_sheets[species.get_bodytype(src)], "icon_state" = "[t_type]") + standing = image("icon" = r_ear.sprite_sheets[species.get_bodytype(src)], "icon_state" = "[t_type]") else - overlays_standing[EARS_LAYER] = image("icon" = 'icons/mob/ears.dmi', "icon_state" = "[t_type]") + standing = image("icon" = 'icons/mob/ears.dmi', "icon_state" = "[t_type]") + standing.color = r_ear.color + both.overlays += standing + + overlays_standing[EARS_LAYER] = both else overlays_standing[EARS_LAYER] = null diff --git a/icons/mob/ears.dmi b/icons/mob/ears.dmi index eeabb79eb4..7326be690e 100644 Binary files a/icons/mob/ears.dmi and b/icons/mob/ears.dmi differ diff --git a/icons/obj/clothing/ears.dmi b/icons/obj/clothing/ears.dmi index 318c17d9be..a2c81adfbe 100644 Binary files a/icons/obj/clothing/ears.dmi and b/icons/obj/clothing/ears.dmi differ