diff --git a/code/game/gamemodes/changeling/changeling_powers.dm b/code/game/gamemodes/changeling/changeling_powers.dm index 9fa38d54c7f..c338b2e42d7 100644 --- a/code/game/gamemodes/changeling/changeling_powers.dm +++ b/code/game/gamemodes/changeling/changeling_powers.dm @@ -111,12 +111,13 @@ src.visible_message("[src] transforms!") src.verbs -= /mob/proc/changeling_change_species - spawn(10) src.verbs += /mob/proc/changeling_change_species + H.set_species(S,null,1) //Until someone moves body colour into DNA, they're going to have to use the default. - H.set_species(S) + spawn(10) + src.verbs += /mob/proc/changeling_change_species + src.regenerate_icons() changeling_update_languages(changeling.absorbed_languages) - feedback_add_details("changeling_powers","TR") return 1 diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index d82765f71d6..7bdac4e11f2 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -43,7 +43,7 @@ if(!species) if(new_species) - set_species(new_species) + set_species(new_species,null,1) else set_species() @@ -1227,7 +1227,7 @@ else usr << "\blue [self ? "Your" : "[src]'s"] pulse is [src.get_pulse(GETPULSE_HAND)]." -/mob/living/carbon/human/proc/set_species(var/new_species, var/force_organs) +/mob/living/carbon/human/proc/set_species(var/new_species, var/force_organs, var/default_colour) if(!dna) if(!new_species) @@ -1252,11 +1252,17 @@ if(species.language) add_language(species.language) - spawn(0) - update_icons() - if(species) + if(species.base_color && default_colour) + //Apply colour. + r_skin = hex2num(copytext(species.base_color,2,3)) + g_skin = hex2num(copytext(species.base_color,4,5)) + b_skin = hex2num(copytext(species.base_color,6,7)) species.handle_post_spawn(src) + + spawn(0) + update_icons() + return 1 else return 0 diff --git a/code/modules/mob/living/carbon/species.dm b/code/modules/mob/living/carbon/species.dm index 9636b58188d..66b7e0bae5b 100644 --- a/code/modules/mob/living/carbon/species.dm +++ b/code/modules/mob/living/carbon/species.dm @@ -48,6 +48,7 @@ var/blood_color = "#A10808" //Red. var/flesh_color = "#FFC896" //Pink. + var/base_color //Used when setting species. //Used in icon caching. var/race_key = 0 @@ -139,6 +140,7 @@ flesh_color = "#34AF10" reagent_tag = IS_UNATHI + base_color = "#066000" /datum/species/tajaran name = "Tajaran" @@ -163,6 +165,7 @@ flags = IS_WHITELISTED | HAS_LIPS | HAS_UNDERWEAR | HAS_TAIL | HAS_SKIN_COLOR flesh_color = "#AFA59E" + base_color = "#333333" /datum/species/skrell name = "Skrell"