diff --git a/code/modules/admin/create_mob.dm b/code/modules/admin/create_mob.dm index 59a89288576..1b0a89f22a8 100644 --- a/code/modules/admin/create_mob.dm +++ b/code/modules/admin/create_mob.dm @@ -10,35 +10,36 @@ user << browse(create_panel_helper(create_mob_html), "window=create_mob;size=425x475") -/proc/randomize_human(mob/living/carbon/human/H) - H.gender = pick(MALE, FEMALE) - H.physique = H.gender - H.real_name = random_unique_name(H.gender) - H.name = H.real_name - H.underwear = random_underwear(H.gender) - 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_color()]" - H.facial_hair_color = H.hair_color +/proc/randomize_human(mob/living/carbon/human/human) + human.gender = pick(MALE, FEMALE) + human.physique = human.gender + human.real_name = random_unique_name(human.gender) + human.name = human.real_name + human.underwear = random_underwear(human.gender) + human.underwear_color = "#[random_color()]" + human.skin_tone = random_skin_tone() + human.hairstyle = random_hairstyle(human.gender) + human.facial_hairstyle = random_facial_hairstyle(human.gender) + human.hair_color = "#[random_color()]" + human.facial_hair_color = human.hair_color var/random_eye_color = random_eye_color() - H.eye_color_left = random_eye_color - H.eye_color_right = random_eye_color - H.dna.blood_type = random_blood_type() + human.eye_color_left = random_eye_color + human.eye_color_right = random_eye_color + human.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_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) - H.dna.features["horns"] = pick(GLOB.horns_list) - H.dna.features["frills"] = pick(GLOB.frills_list) - H.dna.features["spines"] = pick(GLOB.spines_list) - H.dna.features["body_markings"] = pick(GLOB.body_markings_list) - H.dna.features["moth_wings"] = pick(GLOB.moth_wings_list) - H.dna.features["moth_antennae"] = pick(GLOB.moth_antennae_list) - H.dna.features["pod_hair"] = pick(GLOB.pod_hair_list) + human.dna.features["mcolor"] = "#[random_color()]" + human.dna.features["ethcolor"] = GLOB.color_list_ethereal[pick(GLOB.color_list_ethereal)] + human.dna.features["tail_lizard"] = pick(GLOB.tails_list_lizard) + human.dna.features["snout"] = pick(GLOB.snouts_list) + human.dna.features["horns"] = pick(GLOB.horns_list) + human.dna.features["frills"] = pick(GLOB.frills_list) + human.dna.features["spines"] = pick(GLOB.spines_list) + human.dna.features["body_markings"] = pick(GLOB.body_markings_list) + human.dna.features["moth_wings"] = pick(GLOB.moth_wings_list) + human.dna.features["moth_antennae"] = pick(GLOB.moth_antennae_list) + human.dna.features["pod_hair"] = pick(GLOB.pod_hair_list) - H.update_body(is_creating = TRUE) - H.update_hair(is_creating = TRUE) + human.update_body(is_creating = TRUE) + human.update_hair(is_creating = TRUE) + human.dna.species.spec_updatehealth(human) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 5986ab77e7a..73bdc473082 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -20,8 +20,6 @@ GLOBAL_LIST_EMPTY(features_by_species) /// The formatting of the name of the species in plural context. Defaults to "[name]\s" if unset. /// Ex "[Plasmamen] are weak", "[Mothmen] are strong", "[Lizardpeople] don't like", "[Golems] hate" var/plural_form - // Default color. If mutant colors are disabled, this is the color that will be used by that race. - 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 diff --git a/code/modules/mob/living/carbon/human/species_types/dullahan.dm b/code/modules/mob/living/carbon/human/species_types/dullahan.dm index 2004b5c4675..c8600e3ec7b 100644 --- a/code/modules/mob/living/carbon/human/species_types/dullahan.dm +++ b/code/modules/mob/living/carbon/human/species_types/dullahan.dm @@ -1,7 +1,6 @@ /datum/species/dullahan name = "Dullahan" id = SPECIES_DULLAHAN - default_color = "FFFFFF" species_traits = list(EYECOLOR, HAIR, FACEHAIR, LIPS, HAS_FLESH, HAS_BONE) inherent_traits = list( TRAIT_ADVANCEDTOOLUSER, 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 0e4176a5266..d3e1398d897 100644 --- a/code/modules/mob/living/carbon/human/species_types/ethereal.dm +++ b/code/modules/mob/living/carbon/human/species_types/ethereal.dm @@ -48,6 +48,7 @@ var/static/g2 = 164 var/static/b2 = 149 var/obj/effect/dummy/lighting_obj/ethereal_light + var/default_color @@ -99,13 +100,17 @@ return randname -/datum/species/ethereal/spec_updatehealth(mob/living/carbon/human/H) +/datum/species/ethereal/spec_updatehealth(mob/living/carbon/human/ethereal) . = ..() if(!ethereal_light) return - - if(H.stat != DEAD && !EMPeffect) - var/healthpercent = max(H.health, 0) / 100 + if(default_color != ethereal.dna.features["ethcolor"]) + var/new_color = ethereal.dna.features["ethcolor"] + r1 = GETREDPART(new_color) + g1 = GETGREENPART(new_color) + b1 = GETBLUEPART(new_color) + if(ethereal.stat != DEAD && !EMPeffect) + var/healthpercent = max(ethereal.health, 0) / 100 if(!emageffect) current_color = rgb(r2 + ((r1-r2)*healthpercent), g2 + ((g1-g2)*healthpercent), b2 + ((b1-b2)*healthpercent)) ethereal_light.set_light_range_power_color(1 + (2 * healthpercent), 1 + (1 * healthpercent), current_color) @@ -114,7 +119,7 @@ else ethereal_light.set_light_on(FALSE) fixed_mut_color = rgb(128,128,128) - H.update_body(is_creating = TRUE) + ethereal.update_body(is_creating = TRUE) /datum/species/ethereal/proc/on_emp_act(mob/living/carbon/human/H, severity) SIGNAL_HANDLER 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 85f66b89c6f..060b948c0e4 100644 --- a/code/modules/mob/living/carbon/human/species_types/humans.dm +++ b/code/modules/mob/living/carbon/human/species_types/humans.dm @@ -1,7 +1,6 @@ /datum/species/human name = "\improper Human" id = SPECIES_HUMAN - default_color = "FFFFFF" species_traits = list(EYECOLOR,HAIR,FACEHAIR,LIPS,HAS_FLESH,HAS_BONE) inherent_traits = list( TRAIT_ADVANCEDTOOLUSER, 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 e6aa440b83f..2c1b5b88977 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -3,7 +3,6 @@ name = "\improper Jellyperson" plural_form = "Jellypeople" id = SPECIES_JELLYPERSON - default_color = "00FF90" say_mod = "chirps" species_traits = list(MUTCOLORS,EYECOLOR,NOBLOOD) inherent_traits = list( @@ -150,7 +149,6 @@ name = "\improper Slimeperson" plural_form = "Slimepeople" id = SPECIES_SLIMEPERSON - default_color = "00FFFF" species_traits = list(MUTCOLORS,EYECOLOR,HAIR,FACEHAIR,NOBLOOD) hair_color = "mutcolor" hair_alpha = 150 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 4336a0d6edd..4844add6702 100644 --- a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm @@ -4,7 +4,6 @@ plural_form = "Lizardfolk" id = SPECIES_LIZARD say_mod = "hisses" - default_color = COLOR_VIBRANT_LIME species_traits = list(MUTCOLORS, EYECOLOR, LIPS, HAS_FLESH, HAS_BONE) inherent_traits = list( TRAIT_ADVANCEDTOOLUSER, diff --git a/code/modules/mob/living/carbon/human/species_types/mothmen.dm b/code/modules/mob/living/carbon/human/species_types/mothmen.dm index 6a805be1f0f..b4e1736d124 100644 --- a/code/modules/mob/living/carbon/human/species_types/mothmen.dm +++ b/code/modules/mob/living/carbon/human/species_types/mothmen.dm @@ -3,7 +3,6 @@ plural_form = "Mothmen" id = SPECIES_MOTH say_mod = "flutters" - default_color = "00FF00" species_traits = list(LIPS, HAS_FLESH, HAS_BONE, HAS_MARKINGS, TRAIT_ANTENNAE) inherent_traits = list( TRAIT_ADVANCEDTOOLUSER, diff --git a/code/modules/mob/living/carbon/human/species_types/podpeople.dm b/code/modules/mob/living/carbon/human/species_types/podpeople.dm index 798629a30cf..c3d7b68781a 100644 --- a/code/modules/mob/living/carbon/human/species_types/podpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/podpeople.dm @@ -3,7 +3,6 @@ name = "\improper Podperson" plural_form = "Podpeople" id = SPECIES_PODPERSON - default_color = "59CE00" species_traits = list(MUTCOLORS, EYECOLOR, HAS_FLESH, HAS_BONE) inherent_traits = list( TRAIT_ADVANCEDTOOLUSER, diff --git a/code/modules/mob/living/carbon/human/species_types/snail.dm b/code/modules/mob/living/carbon/human/species_types/snail.dm index ceaba6a5981..e2266bb5f2d 100644 --- a/code/modules/mob/living/carbon/human/species_types/snail.dm +++ b/code/modules/mob/living/carbon/human/species_types/snail.dm @@ -1,7 +1,6 @@ /datum/species/snail name = "Snailperson" id = SPECIES_SNAIL - default_color = "336600" //vomit green species_traits = list(MUTCOLORS, NO_UNDERWEAR, HAS_FLESH, HAS_BONE) inherent_traits = list( TRAIT_ADVANCEDTOOLUSER, diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm index d80a3c08595..ec4a11ad709 100644 --- a/code/modules/mob/living/carbon/human/species_types/vampire.dm +++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm @@ -7,7 +7,6 @@ /datum/species/vampire name = "Vampire" id = SPECIES_VAMPIRE - default_color = "FFFFFF" species_traits = list( EYECOLOR, HAIR, diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 399bf14fae7..79fd7348d6e 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -729,7 +729,7 @@ /datum/reagent/mulligan name = "Mulligan Toxin" - description = "This toxin will rapidly change the DNA of human beings. Commonly used by Syndicate spies and assassins in need of an emergency ID change." + description = "This toxin will rapidly change the DNA of humanoid beings. Commonly used by Syndicate spies and assassins in need of an emergency ID change." color = "#5EFF3B" //RGB: 94, 255, 59 metabolization_rate = INFINITY taste_description = "slime"