diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 719d77118e..45c10b6633 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1547,7 +1547,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) underwear = new_underwear if("undie_color") - var/n_undie_color = input(user, "Choose your underwear's color.", "Character Preference", undie_color) as color|null + var/n_undie_color = input(user, "Choose your underwear's color.", "Character Preference", "#[undie_color]") as color|null if(n_undie_color) undie_color = sanitize_hexcolor(n_undie_color) @@ -1557,7 +1557,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) undershirt = new_undershirt if("shirt_color") - var/n_shirt_color = input(user, "Choose your undershirt's color.", "Character Preference", shirt_color) as color|null + var/n_shirt_color = input(user, "Choose your undershirt's color.", "Character Preference", "#[shirt_color]") as color|null if(n_shirt_color) shirt_color = sanitize_hexcolor(n_shirt_color) @@ -1567,7 +1567,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) socks = new_socks if("socks_color") - var/n_socks_color = input(user, "Choose your socks' color.", "Character Preference", socks_color) as color|null + var/n_socks_color = input(user, "Choose your socks' color.", "Character Preference", "#[socks_color]") as color|null if(n_socks_color) socks_color = sanitize_hexcolor(n_socks_color) @@ -1843,8 +1843,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/default = use_custom_skin_tone ? skin_tone : null var/custom_tone = input(user, "Choose your custom skin tone:", "Character Preference", default) as color|null if(custom_tone) - var/temp_hsv = RGBtoHSV(new_s_tone) - if(ReadHSV(temp_hsv)[3] < ReadHSV("#202020")[3]) + var/temp_hsv = RGBtoHSV(custom_tone) + if(ReadHSV(temp_hsv)[3] < ReadHSV("#333333")[3]) // rgb(50,50,50) to_chat(user,"Invalid color. Your color is not bright enough.") else use_custom_skin_tone = TRUE @@ -1954,7 +1954,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/temp_hsv = RGBtoHSV(new_cockcolor) if(new_cockcolor == "#000000") features["cock_color"] = pref_species.default_color - else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) + else if(ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) features["cock_color"] = sanitize_hexcolor(new_cockcolor) else to_chat(user,"Invalid color. Your color is not bright enough.") @@ -1994,7 +1994,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/temp_hsv = RGBtoHSV(new_ballscolor) if(new_ballscolor == "#000000") features["balls_color"] = pref_species.default_color - else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) + else if(ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) features["balls_color"] = sanitize_hexcolor(new_ballscolor) else to_chat(user,"Invalid color. Your color is not bright enough.") @@ -2021,7 +2021,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/temp_hsv = RGBtoHSV(new_breasts_color) if(new_breasts_color == "#000000") features["breasts_color"] = pref_species.default_color - else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) + else if(ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) features["breasts_color"] = sanitize_hexcolor(new_breasts_color) else to_chat(user,"Invalid color. Your color is not bright enough.") @@ -2043,7 +2043,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/temp_hsv = RGBtoHSV(new_vagcolor) if(new_vagcolor == "#000000") features["vag_color"] = pref_species.default_color - else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) + else if(ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) features["vag_color"] = sanitize_hexcolor(new_vagcolor) else to_chat(user,"Invalid color. Your color is not bright enough.") diff --git a/code/modules/surgery/bodyparts/bodyparts.dm b/code/modules/surgery/bodyparts/bodyparts.dm index 7a99d3ff29..d6f0866936 100644 --- a/code/modules/surgery/bodyparts/bodyparts.dm +++ b/code/modules/surgery/bodyparts/bodyparts.dm @@ -361,7 +361,7 @@ species_color = "" if(base_bp_icon != DEFAULT_BODYPART_ICON) - color_src = mut_colors ? MUTCOLORS : (H.dna.skin_tone_override && S.use_skintones == USE_SKINTONES_GRAYSCALE_CUSTOM) ? CUSTOM_SKINTONE : SKINTONE + color_src = mut_colors ? MUTCOLORS : ((H.dna.skin_tone_override && S.use_skintones == USE_SKINTONES_GRAYSCALE_CUSTOM) ? CUSTOM_SKINTONE : SKINTONE) if(S.mutant_bodyparts["legs"]) if(body_zone == BODY_ZONE_L_LEG || body_zone == BODY_ZONE_R_LEG) @@ -545,21 +545,23 @@ return if(color_src) //TODO - add color matrix support for base species limbs - var/draw_color = mutation_color || species_color || GLOB.skin_tones[skin_tone] + var/draw_color = mutation_color || species_color var/grayscale = FALSE - if(!draw_color) //check for custom skin tones. - draw_color = skin_tone - grayscale = color_src == CUSTOM_SKINTONE //Cause human (the species) parts states have a very pale pink hue. + if(!draw_color) + draw_color = SKINTONE2HEX(skin_tone) + grayscale = color_src == CUSTOM_SKINTONE //Cause human limbs have a very pale pink hue by def. + else + draw_color = "#[draw_color]" if(draw_color) if(grayscale) limb.icon_state += "_g" - limb.color = "#[draw_color]" + limb.color = draw_color if(aux_icons) for(var/a in aux) var/image/I = a if(grayscale) I.icon_state += "_g" - I.color = "#[draw_color]" + I.color = draw_color if(!isnull(aux_marking)) for(var/a in auxmarking) var/image/I = a