Custom skin tone preferences.

This commit is contained in:
Ghommie
2020-04-14 19:10:28 +02:00
parent 8f71aafde5
commit 571584901c
30 changed files with 210 additions and 185 deletions
+12 -3
View File
@@ -350,7 +350,8 @@
body_gender = H.dna.features["body_model"]
should_draw_gender = S.sexes
if(MUTCOLORS in S.species_traits)
var/mut_colors = (MUTCOLORS in S.species_traits)
if(mut_colors)
if(S.fixed_mut_color)
species_color = S.fixed_mut_color
else
@@ -360,7 +361,7 @@
species_color = ""
if(base_bp_icon != DEFAULT_BODYPART_ICON)
color_src = MUTCOLORS //TODO - Add color matrix support to base limbs
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)
@@ -544,12 +545,20 @@
return
if(color_src) //TODO - add color matrix support for base species limbs
var/draw_color = mutation_color || species_color || (skin_tone && skintone2hex(skin_tone))
var/draw_color = mutation_color || species_color || GLOB.skin_tones[skin_tone]
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)
if(grayscale)
limb.icon_state += "_g"
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]"
if(!isnull(aux_marking))
for(var/a in auxmarking)
-31
View File
@@ -252,37 +252,6 @@
L.change_bodypart_status(BODYPART_ROBOTIC)
. = L
/proc/skintone2hex(skin_tone)
. = 0
switch(skin_tone)
if("caucasian1")
. = "ffe0d1"
if("caucasian2")
. = "fcccb3"
if("caucasian3")
. = "e8b59b"
if("latino")
. = "d9ae96"
if("mediterranean")
. = "c79b8b"
if("asian1")
. = "ffdeb3"
if("asian2")
. = "e3ba84"
if("arab")
. = "c4915e"
if("indian")
. = "b87840"
if("african1")
. = "754523"
if("african2")
. = "471c18"
if("albino")
. = "fff4e6"
if("orange")
. = "ffc905"
/mob/living/carbon/proc/Digitigrade_Leg_Swap(swap_back)
for(var/X in bodyparts)
var/obj/item/bodypart/O = X