From d879d481d7f46fefc4e15c862998b6c72b553c30 Mon Sep 17 00:00:00 2001 From: Verkister Date: Sat, 28 Oct 2017 00:58:13 +0300 Subject: [PATCH] It's time for hair color revolution! -I SOMEHOW FIGURED OUT A COMBO BLEND THAT COMBINES THE BEST OF BOTH, ADD AND MULTIPLY AND LOOKING GOOD AT ALL COLORS IN LESS THAN AN HOUR AAAAAAAA! -IMPOSSIBILITIES MY ARSE I AM GOD HSGHFJSD -May need some adjustments in case some bases don't behave as well as they should but that's a task for future me after people have found and pointed out the hypothetical fucky hairstyles I'm too stoked to not rush this through right now lmao. --- .../mob/living/carbon/human/update_icons.dm | 5 ++- .../mob/new_player/sprite_accessories_vr.dm | 30 ++++++++++++++++++ code/modules/organs/organ_icon.dm | 4 ++- icons/mob/human_face_vr_add.dmi | Bin 0 -> 24409 bytes 4 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 icons/mob/human_face_vr_add.dmi diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 0325965901..fc7941ad68 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -383,11 +383,14 @@ var/global/list/damage_icon_parts = list() face_standing.Blend(facial_s, ICON_OVERLAY) if(h_style && !(head && (head.flags_inv & BLOCKHEADHAIR))) - var/datum/sprite_accessory/hair_style = hair_styles_list[h_style] + var/datum/sprite_accessory/hair/hair_style = hair_styles_list[h_style] // VOREStation edit 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") // VOREStation edit if(hair_style.do_colouration) hair_s.Blend(rgb(r_hair, g_hair, b_hair), ICON_MULTIPLY) //VOREStation edit + hair_s.Blend(hair_s_add, ICON_ADD) // VOREStation edit + overlays |= hair_s face_standing.Blend(hair_s, ICON_OVERLAY) diff --git a/code/modules/mob/new_player/sprite_accessories_vr.dm b/code/modules/mob/new_player/sprite_accessories_vr.dm index 8fa9e2b169..654c2bcb5a 100644 --- a/code/modules/mob/new_player/sprite_accessories_vr.dm +++ b/code/modules/mob/new_player/sprite_accessories_vr.dm @@ -7,12 +7,14 @@ /datum/sprite_accessory/hair icon = 'icons/mob/human_face_or_vr.dmi' + var/icon_add = 'icons/mob/human_face.dmi' var/color_blend_mode = ICON_MULTIPLY species_allowed = list("Human","Skrell","Unathi","Tajara", "Teshari", "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Xenochimera", "Xenomorph Hybrid", "Vasilissan", "Rapala") //This lets all races use the default hairstyles. awoohair name = "Shoulder-length Messy" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "momijihair" citheronia @@ -25,36 +27,42 @@ citheronia_colorable name = "Citheronia Hair" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "citheronia_hair_c" do_colouration = 1 sergal_plain name = "Sergal Plain" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "serg_plain" species_allowed = list("Sergal") sergal_medicore name = "Sergal Medicore" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "serg_medicore" species_allowed = list("Sergal") sergal_tapered name = "Sergal Tapered" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "serg_tapered" species_allowed = list("Sergal") sergal_fairytail name = "Sergal Fairytail" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "serg_fairytail" species_allowed = list("Sergal") braid name = "Floorlength Braid" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "hair_braid" bald @@ -66,12 +74,14 @@ ponytail6_fixed //Eggnerd's done with waiting for upstream fixes lmao. name = "Ponytail 6 but fixed" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "hair_ponytail6" species_allowed = list("Human","Skrell","Unathi","Tajara", "Nevrean", "Akula", "Sergal", "Flatland Zorren", "Highlander Zorren", "Vulpkanin", "Xenochimera", "Xenomorph Hybrid", "Rapala") una_hood name = "Cobra Hood" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "soghun_hood" una_spines_long @@ -123,6 +133,7 @@ una_doublehorns name = "Double Unathi Horns" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "soghun_dubhorns" species_allowed = list("Unathi", "Xenochimera") @@ -221,6 +232,7 @@ vulp_hair_kajam name = "Kajam" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "kajam" species_allowed = list("Vulpkanin", "Xenochimera", "Tajara", "Sergal", "Flatland Zorren", "Highlander Zorren") gender = NEUTER @@ -228,6 +240,7 @@ vulp_hair_keid name = "Keid" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "keid" species_allowed = list("Vulpkanin", "Xenochimera", "Tajara", "Sergal", "Flatland Zorren", "Highlander Zorren") gender = NEUTER @@ -235,6 +248,7 @@ vulp_hair_adhara name = "Adhara" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "adhara" species_allowed = list("Vulpkanin", "Xenochimera", "Tajara", "Sergal", "Flatland Zorren", "Highlander Zorren") gender = NEUTER @@ -242,6 +256,7 @@ vulp_hair_kleeia name = "Kleeia" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "kleeia" species_allowed = list("Vulpkanin", "Xenochimera", "Tajara", "Sergal", "Flatland Zorren", "Highlander Zorren") gender = NEUTER @@ -249,6 +264,7 @@ vulp_hair_mizar name = "Mizar" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "mizar" species_allowed = list("Vulpkanin", "Xenochimera", "Tajara", "Sergal", "Flatland Zorren", "Highlander Zorren") gender = NEUTER @@ -256,6 +272,7 @@ vulp_hair_apollo name = "Apollo" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "apollo" species_allowed = list("Vulpkanin", "Xenochimera", "Tajara", "Sergal", "Flatland Zorren", "Highlander Zorren") gender = NEUTER @@ -263,6 +280,7 @@ vulp_hair_belle name = "Belle" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "belle" species_allowed = list("Vulpkanin", "Xenochimera", "Tajara", "Sergal", "Flatland Zorren", "Highlander Zorren") gender = NEUTER @@ -270,6 +288,7 @@ vulp_hair_bun name = "Bun" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "bun" species_allowed = list("Vulpkanin", "Xenochimera", "Tajara", "Sergal", "Flatland Zorren", "Highlander Zorren") gender = NEUTER @@ -277,6 +296,7 @@ vulp_hair_jagged name = "Jagged" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "jagged" species_allowed = list("Vulpkanin", "Xenochimera", "Tajara", "Sergal", "Flatland Zorren", "Highlander Zorren") gender = NEUTER @@ -284,6 +304,7 @@ vulp_hair_curl name = "Curl" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "curl" species_allowed = list("Vulpkanin", "Xenochimera", "Tajara", "Sergal", "Flatland Zorren", "Highlander Zorren") gender = NEUTER @@ -291,6 +312,7 @@ vulp_hair_hawk name = "Hawk" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "hawk" species_allowed = list("Vulpkanin", "Xenochimera", "Tajara", "Sergal", "Flatland Zorren", "Highlander Zorren") gender = NEUTER @@ -298,6 +320,7 @@ vulp_hair_anita name = "Anita" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "anita" species_allowed = list("Vulpkanin", "Xenochimera", "Tajara", "Sergal", "Flatland Zorren", "Highlander Zorren") gender = NEUTER @@ -305,6 +328,7 @@ vulp_hair_short name = "Short" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "short" species_allowed = list("Vulpkanin", "Xenochimera", "Tajara", "Sergal", "Flatland Zorren", "Highlander Zorren") gender = NEUTER @@ -312,6 +336,7 @@ vulp_hair_spike name = "Spike" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "spike" species_allowed = list("Vulpkanin", "Xenochimera", "Tajara", "Sergal", "Flatland Zorren", "Highlander Zorren") gender = NEUTER @@ -320,6 +345,7 @@ xeno_head_drone_color name = "Drone dome" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "cxeno_drone" species_allowed = list("Xenomorph Hybrid") gender = NEUTER @@ -327,6 +353,7 @@ xeno_head_sentinel_color name = "Sentinal dome" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "cxeno_sentinel" species_allowed = list("Xenomorph Hybrid") gender = NEUTER @@ -334,6 +361,7 @@ xeno_head_queen_color name = "Queen dome" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "cxeno_queen" species_allowed = list("Xenomorph Hybrid") gender = NEUTER @@ -341,6 +369,7 @@ xeno_head_hunter_color name = "Hunter dome" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "cxeno_hunter" species_allowed = list("Xenomorph Hybrid") gender = NEUTER @@ -348,6 +377,7 @@ xeno_head_praetorian_color name = "Praetorian dome" icon = 'icons/mob/human_face_vr.dmi' + icon_add = 'icons/mob/human_face_vr_add.dmi' icon_state = "cxeno_praetorian" species_allowed = list("Xenomorph Hybrid") gender = NEUTER diff --git a/code/modules/organs/organ_icon.dm b/code/modules/organs/organ_icon.dm index 89d4b36da1..d0deb9f55a 100644 --- a/code/modules/organs/organ_icon.dm +++ b/code/modules/organs/organ_icon.dm @@ -89,11 +89,13 @@ var/global/list/limb_icon_cache = list() overlays |= facial_s if(owner.h_style && !(owner.head && (owner.head.flags_inv & BLOCKHEADHAIR))) - var/datum/sprite_accessory/hair_style = hair_styles_list[owner.h_style] + var/datum/sprite_accessory/hair/hair_style = hair_styles_list[owner.h_style] // VOREStation edit if(hair_style && (species.get_bodytype(owner) 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") // VOREStation edit if(hair_style.do_colouration && islist(h_col) && h_col.len >= 3) hair_s.Blend(rgb(h_col[1], h_col[2], h_col[3]), ICON_MULTIPLY) // VOREStation edit + hair_s.Blend(hair_s_add, ICON_ADD) // VOREStation edit overlays |= hair_s return mob_icon diff --git a/icons/mob/human_face_vr_add.dmi b/icons/mob/human_face_vr_add.dmi new file mode 100644 index 0000000000000000000000000000000000000000..34a4aba08d5284bdcec4bf3063dacde1c4deb7bc GIT binary patch literal 24409 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 UNInlESUUvK*D=5mPT1Z0ANnZnPXGV_ literal 0 HcmV?d00001