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()