From 694c2999b08cbbfbd30aa52a42eb7b0851d02569 Mon Sep 17 00:00:00 2001 From: Seris02 <49109742+Seris02@users.noreply.github.com> Date: Sat, 16 Oct 2021 02:48:55 +0800 Subject: [PATCH] makes it so the sanitize_hexcolors' default is 6 characters rather than 3 and gets rid of color_legacy (#61980) --- code/__DEFINES/cult.dm | 4 +- code/__HELPERS/mobs.dm | 18 ++++----- code/__HELPERS/sanitize_values.dm | 2 +- code/_globalvars/lists/flavor_misc.dm | 38 +++++++++---------- code/game/machinery/limbgrower.dm | 2 +- code/game/objects/items/dyekit.dm | 2 +- code/game/objects/structures/dresser.dm | 2 +- code/game/objects/structures/mirror.dm | 8 ++-- code/modules/admin/create_mob.dm | 6 +-- code/modules/antagonists/creep/creep.dm | 2 +- .../antagonists/fugitive/fugitive_outfits.dm | 4 +- code/modules/awaymissions/corpse.dm | 4 +- code/modules/client/preferences.dm | 6 +-- .../modules/client/preferences/_preference.dm | 20 ++-------- .../preferences/species_features/basic.dm | 16 ++++---- .../preferences/species_features/ethereal.dm | 2 +- .../preferences/species_features/mutants.dm | 10 ++--- .../client/preferences/underwear_color.dm | 6 +-- code/modules/clothing/glasses/_glasses.dm | 4 +- code/modules/clothing/head/animalears.dm | 2 +- code/modules/clothing/head/wig.dm | 10 ++--- code/modules/clothing/outfits/event.dm | 4 +- .../modules/mining/lavaland/megafauna_loot.dm | 4 +- code/modules/mob/dead/observer/observer.dm | 4 +- .../mob/living/carbon/human/human_defines.dm | 10 ++--- .../living/carbon/human/human_update_icons.dm | 2 +- .../mob/living/carbon/human/species.dm | 38 +++++++++---------- .../carbon/human/species_types/ethereal.dm | 2 +- .../carbon/human/species_types/felinid.dm | 2 +- .../carbon/human/species_types/golems.dm | 38 +++++++++---------- .../carbon/human/species_types/humans.dm | 2 +- .../carbon/human/species_types/jellypeople.dm | 5 +-- .../human/species_types/lizardpeople.dm | 4 +- .../carbon/human/species_types/mushpeople.dm | 4 +- .../chemistry/reagents/alcohol_reagents.dm | 4 +- .../chemistry/reagents/medicine_reagents.dm | 8 ++-- .../chemistry/reagents/other_reagents.dm | 6 +-- .../research/xenobiology/xenobiology.dm | 2 +- code/modules/surgery/bodyparts/_bodyparts.dm | 8 ++-- code/modules/surgery/bodyparts/head.dm | 18 ++++----- code/modules/surgery/bodyparts/helpers.dm | 26 ++++++------- code/modules/surgery/organs/tails.dm | 2 +- 42 files changed, 172 insertions(+), 189 deletions(-) diff --git a/code/__DEFINES/cult.dm b/code/__DEFINES/cult.dm index f9cd5e9edd6..af420c14190 100644 --- a/code/__DEFINES/cult.dm +++ b/code/__DEFINES/cult.dm @@ -26,8 +26,8 @@ #define DEFAULT_TOOLTIP "6:-29,5:-2" //misc #define SOULS_TO_REVIVE 3 -#define BLOODCULT_EYE "f00" +#define BLOODCULT_EYE "#FF0000" //soulstone & construct themes -#define THEME_CULT "cult" +#define THEME_CULT "cult" #define THEME_WIZARD "wizard" #define THEME_HOLY "holy" diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index 18520f5b47e..beb98d0b234 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -4,21 +4,21 @@ /proc/random_eye_color() switch(pick(20;"brown",20;"hazel",20;"grey",15;"blue",15;"green",1;"amber",1;"albino")) if("brown") - return "630" + return "#663300" if("hazel") - return "542" + return "#554422" if("grey") - return pick("666","777","888","999","aaa","bbb","ccc") + return pick("#666666","#777777","#888888","#999999","#aaaaaa","#bbbbbb","#cccccc") if("blue") - return "36c" + return "#3366cc" if("green") - return "060" + return "#006600" if("amber") - return "fc0" + return "#ffcc00" if("albino") - return pick("c","d","e","f") + pick("0","1","2","3","4","5","6","7","8","9") + pick("0","1","2","3","4","5","6","7","8","9") + return "#" + pick("cc","dd","ee","ff") + pick("00","11","22","33","44","55","66","77","88","99") + pick("00","11","22","33","44","55","66","77","88","99") else - return "000" + return "#000000" /proc/random_underwear(gender) if(!GLOB.underwear_list.len) @@ -78,7 +78,7 @@ if(!GLOB.moth_markings_list.len) init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_markings, GLOB.moth_markings_list) //For now we will always return none for tail_human and ears. - return(list("mcolor" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),"ethcolor" = GLOB.color_list_ethereal[pick(GLOB.color_list_ethereal)], "tail_lizard" = pick(GLOB.tails_list_lizard), "tail_human" = "None", "wings" = "None", "snout" = pick(GLOB.snouts_list), "horns" = pick(GLOB.horns_list), "ears" = "None", "frills" = pick(GLOB.frills_list), "spines" = pick(GLOB.spines_list), "body_markings" = pick(GLOB.body_markings_list), "legs" = "Normal Legs", "caps" = pick(GLOB.caps_list), "moth_wings" = pick(GLOB.moth_wings_list), "moth_antennae" = pick(GLOB.moth_antennae_list), "moth_markings" = pick(GLOB.moth_markings_list), "tail_monkey" = "None")) + return(list("mcolor" = "#[pick("7F","FF")][pick("7F","FF")][pick("7F","FF")]","ethcolor" = GLOB.color_list_ethereal[pick(GLOB.color_list_ethereal)], "tail_lizard" = pick(GLOB.tails_list_lizard), "tail_human" = "None", "wings" = "None", "snout" = pick(GLOB.snouts_list), "horns" = pick(GLOB.horns_list), "ears" = "None", "frills" = pick(GLOB.frills_list), "spines" = pick(GLOB.spines_list), "body_markings" = pick(GLOB.body_markings_list), "legs" = "Normal Legs", "caps" = pick(GLOB.caps_list), "moth_wings" = pick(GLOB.moth_wings_list), "moth_antennae" = pick(GLOB.moth_antennae_list), "moth_markings" = pick(GLOB.moth_markings_list), "tail_monkey" = "None")) /proc/random_hairstyle(gender) switch(gender) diff --git a/code/__HELPERS/sanitize_values.dm b/code/__HELPERS/sanitize_values.dm index acfd19bae52..cdfcdc6f81e 100644 --- a/code/__HELPERS/sanitize_values.dm +++ b/code/__HELPERS/sanitize_values.dm @@ -51,7 +51,7 @@ return default return default -/proc/sanitize_hexcolor(color, desired_format = 3, include_crunch = FALSE, default) +/proc/sanitize_hexcolor(color, desired_format = 6, include_crunch = TRUE, default) var/crunch = include_crunch ? "#" : "" if(!istext(color)) color = "" diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm index d6f955313fc..6a4a6ce3383 100644 --- a/code/_globalvars/lists/flavor_misc.dm +++ b/code/_globalvars/lists/flavor_misc.dm @@ -41,25 +41,25 @@ GLOBAL_LIST_EMPTY(caps_list) GLOBAL_LIST_EMPTY(tails_list_monkey) GLOBAL_LIST_INIT(color_list_ethereal, list( - "Red" = "ff4d4d", - "Faint Red" = "ffb3b3", - "Dark Red" = "9c3030", - "Orange" = "ffa64d", - "Burnt Orange" = "cc4400", - "Bright Yellow" = "ffff99", - "Dull Yellow" = "fbdf56", - "Faint Green" = "ddff99", - "Green" = "97ee63", - "Seafoam Green" = "00fa9a", - "Dark Green" = "37835b", - "Cyan Blue" = "00ffff", - "Faint Blue" = "b3d9ff", - "Blue" = "3399ff", - "Dark Blue" = "6666ff", - "Purple" = "ee82ee", - "Dark Fuschia" = "cc0066", - "Pink" = "ff99cc", - "White" = "f2f2f2",)) + "Red" = "#ff4d4d", + "Faint Red" = "#ffb3b3", + "Dark Red" = "#9c3030", + "Orange" = "#ffa64d", + "Burnt Orange" = "#cc4400", + "Bright Yellow" = "#ffff99", + "Dull Yellow" = "#fbdf56", + "Faint Green" = "#ddff99", + "Green" = "#97ee63", + "Seafoam Green" = "#00fa9a", + "Dark Green" = "#37835b", + "Cyan Blue" = "#00ffff", + "Faint Blue" = "#b3d9ff", + "Blue" = "#3399ff", + "Dark Blue" = "#6666ff", + "Purple" = "#ee82ee", + "Dark Fuschia" = "#cc0066", + "Pink" = "#ff99cc", + "White" = "#f2f2f2",)) GLOBAL_LIST_INIT(ghost_forms_with_directions_list, list( "ghost", diff --git a/code/game/machinery/limbgrower.dm b/code/game/machinery/limbgrower.dm index 61b143844ed..9130bf6da9a 100644 --- a/code/game/machinery/limbgrower.dm +++ b/code/game/machinery/limbgrower.dm @@ -221,7 +221,7 @@ if(selected_category == SPECIES_HUMAN) //humans don't use the full colour spectrum, they use random_skin_tone limb.skin_tone = random_skin_tone() else - limb.species_color = random_short_color() + limb.species_color = "#[random_color()]" limb.icon = 'icons/mob/human_parts_greyscale.dmi' limb.should_draw_greyscale = TRUE else diff --git a/code/game/objects/items/dyekit.dm b/code/game/objects/items/dyekit.dm index 80bf55c70d8..f70ad945e8a 100644 --- a/code/game/objects/items/dyekit.dm +++ b/code/game/objects/items/dyekit.dm @@ -28,7 +28,7 @@ if(!new_grad_style) return - var/new_grad_color = input(usr, "Choose a secondary hair color:", "Character Preference","#"+human_target.grad_color) as color|null + var/new_grad_color = input(usr, "Choose a secondary hair color:", "Character Preference",human_target.grad_color) as color|null if(!new_grad_color) return diff --git a/code/game/objects/structures/dresser.dm b/code/game/objects/structures/dresser.dm index f5eaf0aca83..cc0f3a55d10 100644 --- a/code/game/objects/structures/dresser.dm +++ b/code/game/objects/structures/dresser.dm @@ -43,7 +43,7 @@ if(new_undies) H.underwear = new_undies if("Underwear Color") - var/new_underwear_color = input(H, "Choose your underwear color", "Underwear Color","#"+H.underwear_color) as color|null + var/new_underwear_color = input(H, "Choose your underwear color", "Underwear Color",H.underwear_color) as color|null if(new_underwear_color) H.underwear_color = sanitize_hexcolor(new_underwear_color) if("Undershirt") diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index 20952433ec5..c09ad90d476 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -208,7 +208,7 @@ H.dna.update_ui_block(DNA_SKIN_TONE_BLOCK) if(MUTCOLORS in H.dna.species.species_traits) - var/new_mutantcolor = input(user, "Choose your skin color:", "Race change","#"+H.dna.features["mcolor"]) as color|null + var/new_mutantcolor = input(user, "Choose your skin color:", "Race change",H.dna.features["mcolor"]) as color|null if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return if(new_mutantcolor) @@ -259,21 +259,21 @@ if(hairchoice == "Style") //So you just want to use a mirror then? ..() else - var/new_hair_color = input(H, "Choose your hair color", "Hair Color","#"+H.hair_color) as color|null + var/new_hair_color = input(H, "Choose your hair color", "Hair Color",H.hair_color) as color|null if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return if(new_hair_color) H.hair_color = sanitize_hexcolor(new_hair_color) H.dna.update_ui_block(DNA_HAIR_COLOR_BLOCK) if(H.gender == "male") - var/new_face_color = input(H, "Choose your facial hair color", "Hair Color","#"+H.facial_hair_color) as color|null + var/new_face_color = input(H, "Choose your facial hair color", "Hair Color",H.facial_hair_color) as color|null if(new_face_color) H.facial_hair_color = sanitize_hexcolor(new_face_color) H.dna.update_ui_block(DNA_FACIAL_HAIR_COLOR_BLOCK) H.update_hair() if(BODY_ZONE_PRECISE_EYES) - var/new_eye_color = input(H, "Choose your eye color", "Eye Color","#"+H.eye_color) as color|null + var/new_eye_color = input(H, "Choose your eye color", "Eye Color",H.eye_color) as color|null if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return if(new_eye_color) diff --git a/code/modules/admin/create_mob.dm b/code/modules/admin/create_mob.dm index 7520a93038c..87783dc9880 100644 --- a/code/modules/admin/create_mob.dm +++ b/code/modules/admin/create_mob.dm @@ -16,17 +16,17 @@ H.real_name = random_unique_name(H.gender) H.name = H.real_name H.underwear = random_underwear(H.gender) - H.underwear_color = random_short_color() + H.underwear_color = "#[random_color()]" H.skin_tone = random_skin_tone() H.hairstyle = random_hairstyle(H.gender) H.facial_hairstyle = random_facial_hairstyle(H.gender) - H.hair_color = random_short_color() + H.hair_color = "#[random_color()]" H.facial_hair_color = H.hair_color H.eye_color = random_eye_color() H.dna.blood_type = random_blood_type() // Mutant randomizing, doesn't affect the mob appearance unless it's the specific mutant. - H.dna.features["mcolor"] = random_short_color() + H.dna.features["mcolor"] = "#[random_color()]" H.dna.features["ethcolor"] = GLOB.color_list_ethereal[pick(GLOB.color_list_ethereal)] H.dna.features["tail_lizard"] = pick(GLOB.tails_list_lizard) H.dna.features["snout"] = pick(GLOB.snouts_list) diff --git a/code/modules/antagonists/creep/creep.dm b/code/modules/antagonists/creep/creep.dm index 6c65d5e170d..4a087592658 100644 --- a/code/modules/antagonists/creep/creep.dm +++ b/code/modules/antagonists/creep/creep.dm @@ -47,7 +47,7 @@ /datum/antagonist/obsessed/get_preview_icon() var/mob/living/carbon/human/dummy/consistent/victim_dummy = new - victim_dummy.hair_color = "b96" // Brown + victim_dummy.hair_color = "#bb9966" // Brown victim_dummy.hairstyle = "Messy" victim_dummy.update_hair() diff --git a/code/modules/antagonists/fugitive/fugitive_outfits.dm b/code/modules/antagonists/fugitive/fugitive_outfits.dm index 286ee2f37de..e7e4dc875f3 100644 --- a/code/modules/antagonists/fugitive/fugitive_outfits.dm +++ b/code/modules/antagonists/fugitive/fugitive_outfits.dm @@ -30,12 +30,12 @@ if(visualsOnly) return equipped_on.fully_replace_character_name(null,"Waldo") - equipped_on.eye_color = "000" + equipped_on.eye_color = "#000000" equipped_on.gender = MALE equipped_on.skin_tone = "caucasian3" equipped_on.hairstyle = "Business Hair 3" equipped_on.facial_hairstyle = "Shaved" - equipped_on.hair_color = "000" + equipped_on.hair_color = "#000000" equipped_on.facial_hair_color = equipped_on.hair_color equipped_on.update_body() if(equipped_on.mind) diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index c654d97dbf3..ce54b3046b1 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -214,11 +214,11 @@ if(haircolor) H.hair_color = haircolor else - H.hair_color = random_short_color() + H.hair_color = "#[random_color()]" if(facial_haircolor) H.facial_hair_color = facial_haircolor else - H.facial_hair_color = random_short_color() + H.facial_hair_color = "#[random_color()]" if(skin_tone) H.skin_tone = skin_tone else diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index c818a8d9715..c3ac4973d27 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -248,14 +248,10 @@ GLOBAL_LIST_EMPTY(preferences_datums) if (isnull(requested_preference)) return FALSE - if (!istype(requested_preference, /datum/preference/color) \ - && !istype(requested_preference, /datum/preference/color_legacy) \ - ) + if (!istype(requested_preference, /datum/preference/color)) return FALSE var/default_value = read_preference(requested_preference.type) - if (istype(requested_preference, /datum/preference/color_legacy)) - default_value = expand_three_digit_color(default_value) // Yielding var/new_color = input( diff --git a/code/modules/client/preferences/_preference.dm b/code/modules/client/preferences/_preference.dm index 84fccade56b..cc761115021 100644 --- a/code/modules/client/preferences/_preference.dm +++ b/code/modules/client/preferences/_preference.dm @@ -424,32 +424,20 @@ GLOBAL_LIST_INIT(preference_entries_by_key, init_preference_entries_by_key()) return data -/// A preference that represents an RGB color of something, crunched down to 3 hex numbers. -/// Was used heavily in the past, but doesn't provide as much range and only barely conserves space. -/datum/preference/color_legacy - abstract_type = /datum/preference/color_legacy - -/datum/preference/color_legacy/deserialize(input, datum/preferences/preferences) - return sanitize_hexcolor(input) - -/datum/preference/color_legacy/create_default_value() - return random_short_color() - -/datum/preference/color_legacy/is_valid(value) - var/static/regex/is_legacy_color = regex(@"^[0-9a-fA-F]{3}$") - return findtext(value, is_legacy_color) - /// A preference that represents an RGB color of something. /// Will give the value as 6 hex digits, without a hash. /datum/preference/color abstract_type = /datum/preference/color /datum/preference/color/deserialize(input, datum/preferences/preferences) - return sanitize_color(input) + return sanitize_hexcolor(input) /datum/preference/color/create_default_value() return random_color() +/datum/preference/color/serialize(input) + return sanitize_hexcolor(input) + /datum/preference/color/is_valid(value) return findtext(value, GLOB.is_color) diff --git a/code/modules/client/preferences/species_features/basic.dm b/code/modules/client/preferences/species_features/basic.dm index bf57c5fd1b5..f8d96833705 100644 --- a/code/modules/client/preferences/species_features/basic.dm +++ b/code/modules/client/preferences/species_features/basic.dm @@ -2,7 +2,7 @@ var/list/values = possible_values_for_sprite_accessory_list(accessories) var/icon/head_icon = icon('icons/mob/human_parts_greyscale.dmi', "human_head_m") - head_icon.Blend("#[skintone2hex("caucasian1")]", ICON_MULTIPLY) + head_icon.Blend(skintone2hex("caucasian1"), ICON_MULTIPLY) for (var/name in values) var/datum/sprite_accessory/accessory = accessories[name] @@ -22,13 +22,13 @@ return values -/datum/preference/color_legacy/eye_color +/datum/preference/color/eye_color savefile_key = "eye_color" savefile_identifier = PREFERENCE_CHARACTER category = PREFERENCE_CATEGORY_SECONDARY_FEATURES relevant_species_trait = EYECOLOR -/datum/preference/color_legacy/eye_color/apply_to_human(mob/living/carbon/human/target, value) +/datum/preference/color/eye_color/apply_to_human(mob/living/carbon/human/target, value) target.eye_color = value var/obj/item/organ/eyes/eyes_organ = target.getorgan(/obj/item/organ/eyes) @@ -37,7 +37,7 @@ eyes_organ.eye_color = value eyes_organ.old_eye_color = value -/datum/preference/color_legacy/eye_color/create_default_value() +/datum/preference/color/eye_color/create_default_value() return random_eye_color() /datum/preference/choiced/facial_hairstyle @@ -61,22 +61,22 @@ return data -/datum/preference/color_legacy/facial_hair_color +/datum/preference/color/facial_hair_color savefile_key = "facial_hair_color" savefile_identifier = PREFERENCE_CHARACTER category = PREFERENCE_CATEGORY_SUPPLEMENTAL_FEATURES relevant_species_trait = FACEHAIR -/datum/preference/color_legacy/facial_hair_color/apply_to_human(mob/living/carbon/human/target, value) +/datum/preference/color/facial_hair_color/apply_to_human(mob/living/carbon/human/target, value) target.facial_hair_color = value -/datum/preference/color_legacy/hair_color +/datum/preference/color/hair_color savefile_key = "hair_color" savefile_identifier = PREFERENCE_CHARACTER category = PREFERENCE_CATEGORY_SUPPLEMENTAL_FEATURES relevant_species_trait = HAIR -/datum/preference/color_legacy/hair_color/apply_to_human(mob/living/carbon/human/target, value) +/datum/preference/color/hair_color/apply_to_human(mob/living/carbon/human/target, value) target.hair_color = value /datum/preference/choiced/hairstyle diff --git a/code/modules/client/preferences/species_features/ethereal.dm b/code/modules/client/preferences/species_features/ethereal.dm index 5a0ac1e5be5..dfd7afb06a9 100644 --- a/code/modules/client/preferences/species_features/ethereal.dm +++ b/code/modules/client/preferences/species_features/ethereal.dm @@ -24,7 +24,7 @@ var/color = GLOB.color_list_ethereal[name] var/icon/icon = new(ethereal_base) - icon.Blend("#[color]", ICON_MULTIPLY) + icon.Blend(color, ICON_MULTIPLY) values[name] = icon return values diff --git a/code/modules/client/preferences/species_features/mutants.dm b/code/modules/client/preferences/species_features/mutants.dm index 3d79bcb5c34..31750644c51 100644 --- a/code/modules/client/preferences/species_features/mutants.dm +++ b/code/modules/client/preferences/species_features/mutants.dm @@ -1,20 +1,20 @@ -/datum/preference/color_legacy/mutant_color +/datum/preference/color/mutant_color savefile_key = "feature_mcolor" savefile_identifier = PREFERENCE_CHARACTER category = PREFERENCE_CATEGORY_SECONDARY_FEATURES relevant_species_trait = MUTCOLORS -/datum/preference/color_legacy/mutant_color/create_default_value() +/datum/preference/color/mutant_color/create_default_value() return sanitize_hexcolor("[pick("7F", "FF")][pick("7F", "FF")][pick("7F", "FF")]") -/datum/preference/color_legacy/mutant_color/apply_to_human(mob/living/carbon/human/target, value) +/datum/preference/color/mutant_color/apply_to_human(mob/living/carbon/human/target, value) target.dna.features["mcolor"] = value -/datum/preference/color_legacy/mutant_color/is_valid(value) +/datum/preference/color/mutant_color/is_valid(value) if (!..(value)) return FALSE - if (is_color_dark(expand_three_digit_color(value))) + if (is_color_dark(value)) return FALSE return TRUE diff --git a/code/modules/client/preferences/underwear_color.dm b/code/modules/client/preferences/underwear_color.dm index cb0aa0c9bda..a005145d173 100644 --- a/code/modules/client/preferences/underwear_color.dm +++ b/code/modules/client/preferences/underwear_color.dm @@ -1,12 +1,12 @@ -/datum/preference/color_legacy/underwear_color +/datum/preference/color/underwear_color savefile_key = "underwear_color" savefile_identifier = PREFERENCE_CHARACTER category = PREFERENCE_CATEGORY_SUPPLEMENTAL_FEATURES -/datum/preference/color_legacy/underwear_color/apply_to_human(mob/living/carbon/human/target, value) +/datum/preference/color/underwear_color/apply_to_human(mob/living/carbon/human/target, value) target.underwear_color = value -/datum/preference/color_legacy/underwear_color/is_accessible(datum/preferences/preferences) +/datum/preference/color/underwear_color/is_accessible(datum/preferences/preferences) if (!..(preferences)) return FALSE diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index cd8ca97f27d..6d8676a193c 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -401,7 +401,7 @@ /obj/item/clothing/glasses/blindfold/white/update_icon(updates=ALL, mob/living/carbon/human/user) . = ..() if(ishuman(user) && !colored_before) - add_atom_colour("#[user.eye_color]", FIXED_COLOUR_PRIORITY) + add_atom_colour(user.eye_color, FIXED_COLOUR_PRIORITY) colored_before = TRUE /obj/item/clothing/glasses/blindfold/white/worn_overlays(mutable_appearance/standing, isinhands = FALSE, file2use) @@ -412,7 +412,7 @@ var/mob/living/carbon/human/H = loc var/mutable_appearance/M = mutable_appearance('icons/mob/clothing/eyes.dmi', "blindfoldwhite") M.appearance_flags |= RESET_COLOR - M.color = "#[H.eye_color]" + M.color = H.eye_color . += M /obj/item/clothing/glasses/sunglasses/big diff --git a/code/modules/clothing/head/animalears.dm b/code/modules/clothing/head/animalears.dm index 9eefef25f86..f5a73214538 100644 --- a/code/modules/clothing/head/animalears.dm +++ b/code/modules/clothing/head/animalears.dm @@ -16,7 +16,7 @@ /obj/item/clothing/head/kitty/update_icon(updates=ALL, mob/living/carbon/human/user) . = ..() if(ishuman(user)) - add_atom_colour("#[user.hair_color]", FIXED_COLOUR_PRIORITY) + add_atom_colour(user.hair_color, FIXED_COLOUR_PRIORITY) /obj/item/clothing/head/kitty/genuine desc = "A pair of kitty ears. A tag on the inside says \"Hand made from real cats.\"" diff --git a/code/modules/clothing/head/wig.dm b/code/modules/clothing/head/wig.dm index cc831688f06..67a9ff2f68a 100644 --- a/code/modules/clothing/head/wig.dm +++ b/code/modules/clothing/head/wig.dm @@ -6,7 +6,7 @@ inhand_icon_state = "pwig" worn_icon_state = "wig" flags_inv = HIDEHAIR - color = "#000" + color = "#000000" var/hairstyle = "Very Long Hair" var/adjustablecolor = TRUE //can color be changed manually? @@ -77,7 +77,7 @@ selected_hairstyle_color = wig.color else if((HAIR in target.dna.species.species_traits) && target.hairstyle != "Bald") selected_hairstyle = target.hairstyle - selected_hairstyle_color = "#[target.hair_color]" + selected_hairstyle_color = "[target.hair_color]" if(selected_hairstyle) to_chat(user, span_notice("You adjust the [src] to look just like [target.name]'s [selected_hairstyle].")) @@ -93,7 +93,7 @@ /obj/item/clothing/head/wig/natural name = "natural wig" desc = "A bunch of hair without a head attached. This one changes color to match the hair of the wearer. Nothing natural about that." - color = "#FFF" + color = "#FFFFFF" adjustablecolor = FALSE custom_price = PAYCHECK_HARD @@ -104,7 +104,7 @@ /obj/item/clothing/head/wig/natural/visual_equipped(mob/living/carbon/human/user, slot) . = ..() if(ishuman(user) && slot == ITEM_SLOT_HEAD) - if (color != "#[user.hair_color]") // only update if necessary - add_atom_colour("#[user.hair_color]", FIXED_COLOUR_PRIORITY) + if (color != user.hair_color) // only update if necessary + add_atom_colour(user.hair_color, FIXED_COLOUR_PRIORITY) update_appearance() user.update_inv_head() diff --git a/code/modules/clothing/outfits/event.dm b/code/modules/clothing/outfits/event.dm index 8ab4478dc00..7fdc712038b 100644 --- a/code/modules/clothing/outfits/event.dm +++ b/code/modules/clothing/outfits/event.dm @@ -23,6 +23,6 @@ H.hairstyle = "Long Hair 3" H.facial_hairstyle = "Beard (Full)" - H.hair_color = "FFF" - H.facial_hair_color = "FFF" + H.hair_color = "#FFFFFF" + H.facial_hair_color = "#FFFFFF" H.update_hair() diff --git a/code/modules/mining/lavaland/megafauna_loot.dm b/code/modules/mining/lavaland/megafauna_loot.dm index 4093f9b6ea6..e66fe842b5d 100644 --- a/code/modules/mining/lavaland/megafauna_loot.dm +++ b/code/modules/mining/lavaland/megafauna_loot.dm @@ -710,8 +710,8 @@ switch(random) if(1) to_chat(user, span_danger("Your appearance morphs to that of a very small humanoid ash dragon! You get to look like a freak without the cool abilities.")) - consumer.dna.features = list("mcolor" = "A02720", "tail_lizard" = "Dark Tiger", "tail_human" = "None", "snout" = "Sharp", "horns" = "Curled", "ears" = "None", "wings" = "None", "frills" = "None", "spines" = "Long", "body_markings" = "Dark Tiger Body", "legs" = "Digitigrade Legs") - consumer.eye_color = "fee5a3" + consumer.dna.features = list("mcolor" = "#A02720", "tail_lizard" = "Dark Tiger", "tail_human" = "None", "snout" = "Sharp", "horns" = "Curled", "ears" = "None", "wings" = "None", "frills" = "None", "spines" = "Long", "body_markings" = "Dark Tiger Body", "legs" = "Digitigrade Legs") + consumer.eye_color = "#FEE5A3" consumer.set_species(/datum/species/lizard) if(2) to_chat(user, span_danger("Your flesh begins to melt! Miraculously, you seem fine otherwise.")) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index a055725f566..32ba2d23146 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -813,11 +813,11 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(HAIR in species.species_traits) hairstyle = client.prefs.read_preference(/datum/preference/choiced/hairstyle) - hair_color = brighten_color(client.prefs.read_preference(/datum/preference/color_legacy/hair_color)) + hair_color = brighten_color(client.prefs.read_preference(/datum/preference/color/hair_color)) if(FACEHAIR in species.species_traits) facial_hairstyle = client.prefs.read_preference(/datum/preference/choiced/facial_hairstyle) - facial_hair_color = brighten_color(client.prefs.read_preference(/datum/preference/color_legacy/facial_hair_color)) + facial_hair_color = brighten_color(client.prefs.read_preference(/datum/preference/color/facial_hair_color)) qdel(species) diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index f96ad786f29..15f2c09bc31 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -14,20 +14,20 @@ can_be_shoved_into = TRUE //Hair colour and style - var/hair_color = "000" + var/hair_color = "#000000" var/hairstyle = "Bald" ///Colour used for the hair gradient. - var/grad_color = "000" + var/grad_color = "#000000" ///Style used for the hair gradient. var/grad_style //Facial hair colour and style - var/facial_hair_color = "000" + var/facial_hair_color = "#000000" var/facial_hairstyle = "Shaved" //Eye colour - var/eye_color = "000" + var/eye_color = "#000000" var/skin_tone = "caucasian1" //Skin tone @@ -38,7 +38,7 @@ //consider updating /mob/living/carbon/human/copy_clothing_prefs() if adding more of these var/underwear = "Nude" //Which underwear the player wants - var/underwear_color = "000" + var/underwear_color = "#000000" var/undershirt = "Nude" //Which undershirt the player wants var/socks = "Nude" //Which socks the player wants var/backpack = DBACKPACK //Which backpack type the player has chosen. diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index 48b151fa87a..3a1e6c3cd79 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -669,7 +669,7 @@ generate/load female uniform sprites matching all previously decided variables else eye_overlay = mutable_appearance('icons/mob/human_face.dmi', E.eye_icon_state, -BODY_LAYER) if((EYECOLOR in dna.species.species_traits) && E) - eye_overlay.color = "#" + eye_color + eye_overlay.color = eye_color if(OFFSET_FACE in dna.species.offset_features) eye_overlay.pixel_x += dna.species.offset_features[OFFSET_FACE][1] eye_overlay.pixel_y += dna.species.offset_features[OFFSET_FACE][2] diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 97abb04b4c4..c4ccc7ade66 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -20,7 +20,7 @@ GLOBAL_LIST_EMPTY(features_by_species) ///This is the fluff name. They are displayed on health analyzers and in the character setup menu. Leave them generic for other servers to customize. var/name // Default color. If mutant colors are disabled, this is the color that will be used by that race. - var/default_color = "#FFF" + var/default_color = "#FFFFFF" ///Whether or not the race has sexual characteristics (biological genders). At the moment this is only FALSE for skeletons and shadows var/sexes = TRUE @@ -582,13 +582,13 @@ GLOBAL_LIST_EMPTY(features_by_species) if(!forced_colour) if(hair_color) if(hair_color == "mutcolor") - facial_overlay.color = "#" + H.dna.features["mcolor"] + facial_overlay.color = H.dna.features["mcolor"] else if(hair_color == "fixedmutcolor") - facial_overlay.color = "#[fixed_mut_color]" + facial_overlay.color = fixed_mut_color else - facial_overlay.color = "#" + hair_color + facial_overlay.color = hair_color else - facial_overlay.color = "#" + H.facial_hair_color + facial_overlay.color = H.facial_hair_color else facial_overlay.color = forced_colour @@ -655,13 +655,13 @@ GLOBAL_LIST_EMPTY(features_by_species) if(!forced_colour) if(hair_color) if(hair_color == "mutcolor") - hair_overlay.color = "#" + H.dna.features["mcolor"] + hair_overlay.color = H.dna.features["mcolor"] else if(hair_color == "fixedmutcolor") - hair_overlay.color = "#[fixed_mut_color]" + hair_overlay.color = fixed_mut_color else - hair_overlay.color = "#" + hair_color + hair_overlay.color = hair_color else - hair_overlay.color = "#" + H.hair_color + hair_overlay.color = H.hair_color //Gradients grad_style = H.grad_style @@ -672,7 +672,7 @@ GLOBAL_LIST_EMPTY(features_by_species) var/icon/temp_hair = icon(hair_file, hair_state) temp.Blend(temp_hair, ICON_ADD) gradient_overlay.icon = temp - gradient_overlay.color = "#" + grad_color + gradient_overlay.color = grad_color else hair_overlay.color = forced_colour @@ -745,7 +745,7 @@ GLOBAL_LIST_EMPTY(features_by_species) eye_overlay.pixel_x += add_pixel_x eye_overlay.pixel_y += add_pixel_y if((EYECOLOR in species_traits) && eye_organ) - eye_overlay.color = "#" + species_human.eye_color + eye_overlay.color = species_human.eye_color standing += eye_overlay // organic body markings @@ -793,7 +793,7 @@ GLOBAL_LIST_EMPTY(features_by_species) else underwear_overlay = mutable_appearance(underwear.icon, underwear.icon_state, -BODY_LAYER) if(!underwear.use_static) - underwear_overlay.color = "#" + species_human.underwear_color + underwear_overlay.color = species_human.underwear_color standing += underwear_overlay if(species_human.undershirt) @@ -959,20 +959,20 @@ GLOBAL_LIST_EMPTY(features_by_species) switch(accessory.color_src) if(MUTCOLORS) if(fixed_mut_color) - accessory_overlay.color = "#[fixed_mut_color]" + accessory_overlay.color = fixed_mut_color else - accessory_overlay.color = "#[source.dna.features["mcolor"]]" + accessory_overlay.color = source.dna.features["mcolor"] if(HAIR) if(hair_color == "mutcolor") - accessory_overlay.color = "#[source.dna.features["mcolor"]]" + accessory_overlay.color = source.dna.features["mcolor"] else if(hair_color == "fixedmutcolor") - accessory_overlay.color = "#[fixed_mut_color]" + accessory_overlay.color = fixed_mut_color else - accessory_overlay.color = "#[source.hair_color]" + accessory_overlay.color = source.hair_color if(FACEHAIR) - accessory_overlay.color = "#[source.facial_hair_color]" + accessory_overlay.color = source.facial_hair_color if(EYECOLOR) - accessory_overlay.color = "#[source.eye_color]" + accessory_overlay.color = source.eye_color else accessory_overlay.color = forced_colour standing += accessory_overlay diff --git a/code/modules/mob/living/carbon/human/species_types/ethereal.dm b/code/modules/mob/living/carbon/human/species_types/ethereal.dm index 82ae396f47c..a24ef4e9b67 100644 --- a/code/modules/mob/living/carbon/human/species_types/ethereal.dm +++ b/code/modules/mob/living/carbon/human/species_types/ethereal.dm @@ -48,7 +48,7 @@ if(!ishuman(C)) return var/mob/living/carbon/human/ethereal = C - default_color = "#[ethereal.dna.features["ethcolor"]]" + default_color = ethereal.dna.features["ethcolor"] r1 = GETREDPART(default_color) g1 = GETGREENPART(default_color) b1 = GETBLUEPART(default_color) diff --git a/code/modules/mob/living/carbon/human/species_types/felinid.dm b/code/modules/mob/living/carbon/human/species_types/felinid.dm index bd962f16460..a268105dbd7 100644 --- a/code/modules/mob/living/carbon/human/species_types/felinid.dm +++ b/code/modules/mob/living/carbon/human/species_types/felinid.dm @@ -134,7 +134,7 @@ /datum/species/human/felinid/prepare_human_for_preview(mob/living/carbon/human/human) human.hairstyle = "Hime Cut" - human.hair_color = "fcc" // pink + human.hair_color = "#ffcccc" // pink human.update_hair() var/obj/item/organ/ears/cat/cat_ears = human.getorgan(/obj/item/organ/ears/cat) diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm index ecc7d895543..9f3c2885217 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -37,7 +37,7 @@ // To prevent golem subtypes from overwhelming the odds when random species // changes, only the Random Golem type can be chosen limbs_id = "golem" - fixed_mut_color = "aaa" + fixed_mut_color = "#aaaaaa" var/info_text = "As an Iron Golem, you don't have any special traits." var/random_eligible = TRUE //If false, the golem subtype can't be made through golem mutation toxin @@ -82,7 +82,7 @@ id = SPECIES_GOLEM_ADAMANTINE meat = /obj/item/food/meat/slab/human/mutant/golem/adamantine mutant_organs = list(/obj/item/organ/adamantine_resonator, /obj/item/organ/vocal_cords/adamantine) - fixed_mut_color = "4ed" + fixed_mut_color = "#44eedd" info_text = "As an Adamantine Golem, you possess special vocal cords allowing you to \"resonate\" messages to all golems. Your unique mineral makeup makes you immune to most types of magic." prefix = "Adamantine" special_names = null @@ -99,7 +99,7 @@ /datum/species/golem/plasma name = "Plasma Golem" id = SPECIES_GOLEM_PLASMA - fixed_mut_color = "a3d" + fixed_mut_color = "#aa33dd" meat = /obj/item/stack/ore/plasma //Can burn and takes damage from heat //no RESISTHEAT, NOFIRE @@ -171,7 +171,7 @@ /datum/species/golem/diamond name = "Diamond Golem" id = SPECIES_GOLEM_DIAMOND - fixed_mut_color = "0ff" + fixed_mut_color = "#00ffff" armor = 70 //up from 55 meat = /obj/item/stack/ore/diamond info_text = "As a Diamond Golem, you are more resistant than the average golem." @@ -182,7 +182,7 @@ /datum/species/golem/gold name = "Gold Golem" id = SPECIES_GOLEM_GOLD - fixed_mut_color = "cc0" + fixed_mut_color = "#cccc00" speedmod = 1 armor = 25 //down from 55 meat = /obj/item/stack/ore/gold @@ -194,7 +194,7 @@ /datum/species/golem/silver name = "Silver Golem" id = SPECIES_GOLEM_SILVER - fixed_mut_color = "ddd" + fixed_mut_color = "#dddddd" punchstunthreshold = 9 //60% chance, from 40% meat = /obj/item/stack/ore/silver info_text = "As a Silver Golem, your attacks have a higher chance of stunning. Being made of silver, your body is immune to most types of magic." @@ -213,7 +213,7 @@ /datum/species/golem/plasteel name = "Plasteel Golem" id = SPECIES_GOLEM_PLASTEEL - fixed_mut_color = "bbb" + fixed_mut_color = "#bbbbbb" stunmod = 0.4 punchdamagelow = 12 punchdamagehigh = 21 @@ -242,7 +242,7 @@ /datum/species/golem/titanium name = "Titanium Golem" id = SPECIES_GOLEM_TITANIUM - fixed_mut_color = "fff" + fixed_mut_color = "#ffffff" meat = /obj/item/stack/ore/titanium info_text = "As a Titanium Golem, you are immune to ash storms, and slightly more resistant to burn damage." burnmod = 0.9 @@ -261,7 +261,7 @@ /datum/species/golem/plastitanium name = "Plastitanium Golem" id = SPECIES_GOLEM_PLASTITANIUM - fixed_mut_color = "888" + fixed_mut_color = "#888888" meat = /obj/item/stack/ore/titanium info_text = "As a Plastitanium Golem, you are immune to both ash storms and lava, and slightly more resistant to burn damage." burnmod = 0.8 @@ -282,7 +282,7 @@ /datum/species/golem/alloy name = "Alien Alloy Golem" id = SPECIES_GOLEM_ALIEN - fixed_mut_color = "333" + fixed_mut_color = "#333333" meat = /obj/item/stack/sheet/mineral/abductor mutanttongue = /obj/item/organ/tongue/abductor speedmod = 1 //faster @@ -302,7 +302,7 @@ /datum/species/golem/wood name = "Wood Golem" id = SPECIES_GOLEM_WOOD - fixed_mut_color = "9E704B" + fixed_mut_color = "#9E704B" meat = /obj/item/stack/sheet/mineral/wood //Can burn and take damage from heat inherent_traits = list( @@ -357,7 +357,7 @@ /datum/species/golem/uranium name = "Uranium Golem" id = SPECIES_GOLEM_URANIUM - fixed_mut_color = "7f0" + fixed_mut_color = "#77ff00" meat = /obj/item/stack/ore/uranium info_text = "As an Uranium Golem, your very touch burns and irradiates organic lifeforms. You don't hit as hard as most golems, but you are far more durable against blunt force trauma." attack_verb = "burn" @@ -408,7 +408,7 @@ /datum/species/golem/sand name = "Sand Golem" id = SPECIES_GOLEM_SAND - fixed_mut_color = "ffdc8f" + fixed_mut_color = "#ffdc8f" meat = /obj/item/stack/ore/glass //this is sand armor = 0 burnmod = 3 //melts easily @@ -439,7 +439,7 @@ /datum/species/golem/glass name = "Glass Golem" id = SPECIES_GOLEM_GLASS - fixed_mut_color = "5a96b4aa" //transparent body + fixed_mut_color = "#5a96b4aa" //transparent body meat = /obj/item/shard armor = 0 brutemod = 3 //very fragile @@ -476,7 +476,7 @@ /datum/species/golem/bluespace name = "Bluespace Golem" id = SPECIES_GOLEM_BLUESPACE - fixed_mut_color = "33f" + fixed_mut_color = "#3333ff" meat = /obj/item/stack/ore/bluespace_crystal info_text = "As a Bluespace Golem, you are spatially unstable: You will teleport when hit, and you can teleport manually at a long distance." attack_verb = "bluespace punch" @@ -571,7 +571,7 @@ /datum/species/golem/bananium name = "Bananium Golem" id = SPECIES_GOLEM_BANANIUM - fixed_mut_color = "ff0" + fixed_mut_color = "#ffff00" say_mod = "honks" inherent_traits = list( TRAIT_ADVANCEDTOOLUSER, @@ -899,7 +899,7 @@ id = SPECIES_GOLEM_BRONZE prefix = "Bronze" special_names = list("Bell") - fixed_mut_color = "cd7f32" + fixed_mut_color = "#cd7f32" info_text = "As a Bronze Golem, you are very resistant to loud noises, and make loud noises if something hard hits you, however this ability does hurt your hearing." special_step_sounds = list('sound/machines/clockcult/integration_cog_install.ogg', 'sound/magic/clockwork/fellowship_armory.ogg' ) mutantears = /obj/item/organ/ears/bronze @@ -1043,7 +1043,7 @@ TRAIT_STRONG_GRABBER, ) prefix = "Leather" - fixed_mut_color = "624a2e" + fixed_mut_color = "#624a2e" info_text = "As a Leather Golem, you are flammable, but you can grab things with incredible ease, allowing all your grabs to start at a strong level." grab_sound = 'sound/weapons/whipgrab.ogg' attack_sound = 'sound/weapons/whip.ogg' @@ -1252,7 +1252,7 @@ /datum/species/golem/mhydrogen name = "Metallic Hydrogen Golem" id = SPECIES_GOLEM_HYDROGEN - fixed_mut_color = "ddd" + fixed_mut_color = "#dddddd" info_text = "As a Metallic Hydrogen Golem, you were forged in the highest pressures and the highest heats. Your unique mineral makeup makes you immune to most types of damages." prefix = "Metallic Hydrogen" special_names = null diff --git a/code/modules/mob/living/carbon/human/species_types/humans.dm b/code/modules/mob/living/carbon/human/species_types/humans.dm index cb7d84dc0d5..a90a1dcb32b 100644 --- a/code/modules/mob/living/carbon/human/species_types/humans.dm +++ b/code/modules/mob/living/carbon/human/species_types/humans.dm @@ -18,5 +18,5 @@ /datum/species/human/prepare_human_for_preview(mob/living/carbon/human/human) human.hairstyle = "Business Hair" - human.hair_color = "b96" // brown + human.hair_color = "#bb9966" // brown human.update_hair() diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm index 72e735b460d..34d85f196ae 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -232,7 +232,7 @@ spare.underwear = "Nude" H.dna.transfer_identity(spare, transfer_SE=1) - spare.dna.features["mcolor"] = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F") + spare.dna.features["mcolor"] = "#[pick("7F", "FF")][pick("7F", "FF")][pick("7F", "FF")]" spare.dna.update_uf_block(DNA_MUTANT_COLOR_BLOCK) spare.real_name = spare.dna.real_name spare.name = spare.dna.real_name @@ -299,8 +299,7 @@ continue var/list/L = list() - // HTML colors need a # prefix - L["htmlcolor"] = "#[body.dna.features["mcolor"]]" + L["htmlcolor"] = body.dna.features["mcolor"] L["area"] = get_area_name(body, TRUE) var/stat = "error" switch(body.stat) diff --git a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm index 922f3ce8c7e..a229432783c 100644 --- a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm @@ -161,8 +161,8 @@ Lizard subspecies: SILVER SCALED var/mob/living/carbon/human/new_silverscale = C old_mutcolor = C.dna.features["mcolor"] old_eyecolor = new_silverscale.eye_color - new_silverscale.dna.features["mcolor"] = "eeeeee" - new_silverscale.eye_color = "0000a0" + new_silverscale.dna.features["mcolor"] = "#eeeeee" + new_silverscale.eye_color = "#0000a0" ..() new_silverscale.add_filter("silver_glint", 2, list("type" = "outline", "color" = "#ffffff63", "size" = 2)) diff --git a/code/modules/mob/living/carbon/human/species_types/mushpeople.dm b/code/modules/mob/living/carbon/human/species_types/mushpeople.dm index a7bd7a404f3..593876e17b9 100644 --- a/code/modules/mob/living/carbon/human/species_types/mushpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/mushpeople.dm @@ -4,8 +4,8 @@ mutant_bodyparts = list("caps" = "Round") changesource_flags = MIRROR_BADMIN | WABBAJACK | ERT_SPAWN - fixed_mut_color = "DBBF92" - hair_color = "FF4B19" //cap color, spot color uses eye color + fixed_mut_color = "#DBBF92" + hair_color = "#FF4B19" //cap color, spot color uses eye color nojumpsuit = TRUE say_mod = "poofs" //what does a mushroom sound like diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index 20b1025802e..0357eb1f185 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -2326,8 +2326,8 @@ All effects don't start immediately, but rather get worse over time; the rate is if(DT_PROB(10, delta_time) && istype(metabolizer)) metabolizer.age += 1 if(metabolizer.age > 70) - metabolizer.facial_hair_color = "ccc" - metabolizer.hair_color = "ccc" + metabolizer.facial_hair_color = "#cccccc" + metabolizer.hair_color = "#cccccc" metabolizer.update_hair() if(metabolizer.age > 100) metabolizer.become_nearsighted(type) diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 39658f01801..488e31da48f 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -1069,8 +1069,8 @@ return var/mob/living/carbon/human/exposed_human = exposed_mob - exposed_human.hair_color = "C2F" - exposed_human.facial_hair_color = "C2F" + exposed_human.hair_color = "#CC22FF" + exposed_human.facial_hair_color = "#CC22FF" exposed_human.update_hair() /datum/reagent/medicine/regen_jelly/on_mob_life(mob/living/carbon/M, delta_time, times_fired) @@ -1437,8 +1437,8 @@ . = ..() if(!(methods & (TOUCH|VAPOR)) || !ishuman(exposed_human) || (reac_volume < 0.5)) return - exposed_human.hair_color = "92f" - exposed_human.facial_hair_color = "92f" + exposed_human.hair_color = "#9922ff" + exposed_human.facial_hair_color = "#9922ff" exposed_human.update_hair() /datum/reagent/medicine/polypyr/overdose_process(mob/living/M, delta_time, times_fired) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 60219766db7..6e0cd8fb465 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -493,8 +493,8 @@ if(!HAS_TRAIT(N, TRAIT_BALD)) N.hairstyle = "Spiky" N.facial_hairstyle = "Shaved" - N.facial_hair_color = "000" - N.hair_color = "000" + N.facial_hair_color = "#000000" + N.hair_color = "#000000" if(!(HAIR in N.dna.species.species_traits)) //No hair? No problem! N.dna.species.species_traits += HAIR if(N.dna.species.use_skintones) @@ -2092,7 +2092,7 @@ name = "Quantum Hair Dye" description = "Has a high chance of making you look like a mad scientist." reagent_state = LIQUID - var/list/potential_colors = list("0ad","a0f","f73","d14","d14","0b5","0ad","f73","fc2","084","05e","d22","fa0") // fucking hair code + var/list/potential_colors = list("#00aadd","#aa00ff","#ff7733","#dd1144","#dd1144","#00bb55","#00aadd","#ff7733","#ffcc22","#008844","#0055ee","#dd2222","#ffaa00") // fucking hair code color = "#C8A5DC" taste_description = "sourness" penetrates_skin = NONE diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index d51ba137a2b..3253896f0f5 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -605,7 +605,7 @@ /obj/item/slime_extract/rainbow/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) switch(activation_type) if(SLIME_ACTIVATE_MINOR) - user.dna.features["mcolor"] = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F") + user.dna.features["mcolor"] = "#[pick("7F", "FF")][pick("7F", "FF")][pick("7F", "FF")]" user.dna.update_uf_block(DNA_MUTANT_COLOR_BLOCK) user.updateappearance(mutcolor_update=1) species.update_glow(user) diff --git a/code/modules/surgery/bodyparts/_bodyparts.dm b/code/modules/surgery/bodyparts/_bodyparts.dm index 1fe383b3d62..2e70d7a37b7 100644 --- a/code/modules/surgery/bodyparts/_bodyparts.dm +++ b/code/modules/surgery/bodyparts/_bodyparts.dm @@ -794,7 +794,7 @@ species_color = "" if(!dropping_limb && human_owner.dna.check_mutation(HULK)) - mutation_color = "00aa00" + mutation_color = "#00aa00" else mutation_color = "" @@ -905,9 +905,9 @@ if(should_draw_greyscale) draw_color = mutation_color || species_color || (skin_tone && skintone2hex(skin_tone)) if(draw_color) - limb.color = "#[draw_color]" + limb.color = draw_color if(aux_zone) - aux.color = "#[draw_color]" + aux.color = draw_color if(blocks_emissive) var/mutable_appearance/limb_em_block = emissive_blocker(limb.icon, limb.icon_state, alpha = limb.alpha) @@ -929,7 +929,7 @@ //Some externals have multiple layers for background, foreground and between for(var/external_layer in external_organ.all_layers) if(external_organ.layers & external_layer) - external_organ.get_overlays(., image_dir, external_organ.bitflag_to_layer(external_layer), icon_gender, "#[draw_color]") + external_organ.get_overlays(., image_dir, external_organ.bitflag_to_layer(external_layer), icon_gender, draw_color) /obj/item/bodypart/deconstruct(disassembled = TRUE) drop_organs() diff --git a/code/modules/surgery/bodyparts/head.dm b/code/modules/surgery/bodyparts/head.dm index 1eac7973d97..53bcbcf1468 100644 --- a/code/modules/surgery/bodyparts/head.dm +++ b/code/modules/surgery/bodyparts/head.dm @@ -27,11 +27,11 @@ //Limb appearance info: var/real_name = "" //Replacement name //Hair colour and style - var/hair_color = "000" + var/hair_color = "#000000" var/hairstyle = "Bald" var/hair_alpha = 255 //Facial hair colour and style - var/facial_hair_color = "000" + var/facial_hair_color = "#000000" var/facial_hairstyle = "Shaved" //Eye Colouring @@ -159,7 +159,7 @@ if(owner_species.hair_color == "mutcolor") facial_hair_color = human_head_owner.dna.features["mcolor"] else if(hair_color == "fixedmutcolor") - facial_hair_color = "#[owner_species.fixed_mut_color]" + facial_hair_color = owner_species.fixed_mut_color else facial_hair_color = owner_species.hair_color else @@ -167,7 +167,7 @@ hair_alpha = owner_species.hair_alpha else facial_hairstyle = "Shaved" - facial_hair_color = "000" + facial_hair_color = "#000000" hair_alpha = 255 //Hair if(human_head_owner.hairstyle && (HAIR in owner_species.species_traits)) @@ -176,7 +176,7 @@ if(owner_species.hair_color == "mutcolor") hair_color = human_head_owner.dna.features["mcolor"] else if(hair_color == "fixedmutcolor") - hair_color = "#[owner_species.fixed_mut_color]" + hair_color = owner_species.fixed_mut_color else hair_color = owner_species.hair_color else @@ -184,7 +184,7 @@ hair_alpha = owner_species.hair_alpha else hairstyle = "Bald" - hair_color = "000" + hair_color = "#000000" hair_alpha = initial(hair_alpha) // lipstick if(human_head_owner.lip_style && (LIPS in owner_species.species_traits)) @@ -216,7 +216,7 @@ var/datum/sprite_accessory/sprite = GLOB.facial_hairstyles_list[facial_hairstyle] if(sprite) var/image/facial_overlay = image(sprite.icon, "[sprite.icon_state]", -HAIR_LAYER, SOUTH) - facial_overlay.color = "#" + facial_hair_color + facial_overlay.color = facial_hair_color facial_overlay.alpha = hair_alpha . += facial_overlay @@ -237,7 +237,7 @@ var/datum/sprite_accessory/sprite2 = GLOB.hairstyles_list[hairstyle] if(sprite2) var/image/hair_overlay = image(sprite2.icon, "[sprite2.icon_state]", -HAIR_LAYER, SOUTH) - hair_overlay.color = "#" + hair_color + hair_overlay.color = hair_color hair_overlay.alpha = hair_alpha . += hair_overlay @@ -255,7 +255,7 @@ eyes_overlay.icon_state = eyes.eye_icon_state if(eyes.eye_color) - eyes_overlay.color = "#" + eyes.eye_color + eyes_overlay.color = eyes.eye_color /obj/item/bodypart/head/monkey icon = 'icons/mob/animal_parts.dmi' diff --git a/code/modules/surgery/bodyparts/helpers.dm b/code/modules/surgery/bodyparts/helpers.dm index 4d0eafd433b..7e5d3c2884e 100644 --- a/code/modules/surgery/bodyparts/helpers.dm +++ b/code/modules/surgery/bodyparts/helpers.dm @@ -190,31 +190,31 @@ . = 0 switch(skin_tone) if("caucasian1") - . = "ffe0d1" + . = "#ffe0d1" if("caucasian2") - . = "fcccb3" + . = "#fcccb3" if("caucasian3") - . = "e8b59b" + . = "#e8b59b" if("latino") - . = "d9ae96" + . = "#d9ae96" if("mediterranean") - . = "c79b8b" + . = "#c79b8b" if("asian1") - . = "ffdeb3" + . = "#ffdeb3" if("asian2") - . = "e3ba84" + . = "#e3ba84" if("arab") - . = "c4915e" + . = "#c4915e" if("indian") - . = "b87840" + . = "#b87840" if("african1") - . = "754523" + . = "#754523" if("african2") - . = "471c18" + . = "#471c18" if("albino") - . = "fff4e6" + . = "#fff4e6" if("orange") - . = "ffc905" + . = "#ffc905" /mob/living/carbon/proc/Digitigrade_Leg_Swap(swap_back) var/body_plan_changed = FALSE diff --git a/code/modules/surgery/organs/tails.dm b/code/modules/surgery/organs/tails.dm index 51a3c882aa9..6f08d0d28e2 100644 --- a/code/modules/surgery/organs/tails.dm +++ b/code/modules/surgery/organs/tails.dm @@ -78,7 +78,7 @@ ..() if(istype(tail_owner)) tail_owner.dna.species.mutant_bodyparts -= "tail_lizard" - color = "#" + tail_owner.dna.features["mcolor"] + color = tail_owner.dna.features["mcolor"] tail_type = tail_owner.dna.features["tail_lizard"] spines = tail_owner.dna.features["spines"] tail_owner.update_body()