[MIRROR] makes it so the sanitize_hexcolors' default is 6 characters rather than 3 and gets rid of color_legacy [MDB IGNORE] (#8840)

* makes it so the sanitize_hexcolors' default is 6 characters rather than 3 and gets rid of color_legacy

* Feex

* Feex some more

* Final feex

* Please no more I'm tired

* <<<<<<< HEAD

Co-authored-by: Seris02 <49109742+Seris02@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
This commit is contained in:
SkyratBot
2021-10-17 06:30:28 +02:00
committed by GitHub
parent a928f02179
commit f0db07b17d
42 changed files with 183 additions and 193 deletions
+3 -3
View File
@@ -16,11 +16,11 @@
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()
@@ -28,7 +28,7 @@
// Mutant randomizing, doesn't affect the mob appearance unless it's the specific mutant.
//SKYRAT EDIT REMOVAL BEGIN - CUSTOMIZATION
/*
H.dna.features["mcolor"] = random_short_color() SKYRAT EDIT - We dont use those in favor for a more modular system
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)
+1 -1
View File
@@ -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()
@@ -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)
+2 -2
View File
@@ -350,11 +350,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
+1 -5
View File
@@ -265,14 +265,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(
+4 -16
View File
@@ -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)
@@ -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
@@ -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
@@ -1,21 +1,21 @@
/* SKYRAT EDIT REMOVAL
/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
@@ -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
+2 -2
View File
@@ -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
+1 -1
View File
@@ -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.\""
+5 -5
View File
@@ -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()
+2 -2
View File
@@ -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()
@@ -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."))
+2 -2
View File
@@ -820,11 +820,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)
@@ -17,20 +17,20 @@
health = MAX_HUMAN_LIFE //SKYRAT EDIT ADDITION
//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
@@ -41,7 +41,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.
@@ -706,7 +706,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]
+19 -19
View File
@@ -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
@@ -574,13 +574,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
@@ -647,13 +647,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
@@ -664,7 +664,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
@@ -751,7 +751,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
@@ -799,7 +799,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)
@@ -984,20 +984,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
@@ -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)
@@ -139,7 +139,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)
@@ -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 <span class='danger'>Iron Golem</span>, 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 <span class='danger'>Adamantine Golem</span>, 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 <span class='danger'>Diamond Golem</span>, 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 <span class='danger'>Silver Golem</span>, 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 <span class='danger'>Titanium Golem</span>, 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 <span class='danger'>Plastitanium Golem</span>, 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 <span class='danger'>Uranium Golem</span>, 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 <span class='danger'>Bluespace Golem</span>, 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 <span class='danger'>Bronze Golem</span>, 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 <span class='danger'>Leather Golem</span>, 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 <span class='danger'>Metallic Hydrogen Golem</span>, 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
@@ -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()
@@ -241,7 +241,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
@@ -308,8 +308,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)
@@ -169,8 +169,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))
@@ -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
@@ -2383,8 +2383,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)
@@ -1075,8 +1075,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()
// SKYRAT EDIT ADDITION BEGIN
exposed_human.update_mutant_bodyparts(force_update=TRUE)
@@ -1446,8 +1446,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)
@@ -494,8 +494,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)
@@ -2098,7 +2098,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
@@ -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)
+13 -5
View File
@@ -850,7 +850,7 @@
species_color = ""
if(!dropping_limb && human_owner.dna.check_mutation(HULK))
mutation_color = "00aa00"
mutation_color = "#00aa00"
else
mutation_color = ""
@@ -962,9 +962,9 @@
if(should_draw_greyscale)
var/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)
limb_em_block.dir = image_dir
@@ -974,11 +974,19 @@
var/mutable_appearance/aux_em_block = emissive_blocker(aux.icon, aux.icon_state, alpha = aux.alpha)
aux_em_block.dir = image_dir
aux.overlays += aux_em_block
//Draw external organs like horns and frills
for(var/obj/item/organ/external/external_organ in external_organs)
if(!dropped && !external_organ.can_draw_on_bodypart(owner))
continue
//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)
*/
//SKYRAT EDIT REMOVAL END
/obj/item/bodypart/deconstruct(disassembled = TRUE)
drop_organs()
qdel(src)
+9 -9
View File
@@ -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'
+13 -13
View File
@@ -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
+1 -1
View File
@@ -84,7 +84,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()