diff --git a/code/modules/mob/living/carbon/human/species/grey.dm b/code/modules/mob/living/carbon/human/species/grey.dm index f831ce0d44f..c07a44078a2 100644 --- a/code/modules/mob/living/carbon/human/species/grey.dm +++ b/code/modules/mob/living/carbon/human/species/grey.dm @@ -1,7 +1,7 @@ /datum/species/grey name = "Grey" name_plural = "Greys" - icobase = 'icons/mob/human_races/r_grey.dmi' + icobase = 'icons/mob/human_races/grey/r_grey.dmi' language = "Psionic Communication" blurb = "The Grey, known for their psionic abilities and unique appearance, hail from beyond the Milky Way and have an undisclosed homeworld. \ @@ -12,6 +12,13 @@ eyes = "grey_eyes_s" butt_sprite = "grey" + icon_skin_tones = list( + 1 = "Default Grey", + 2 = "Grey Green", + 3 = "Grey Blue", + 4 = "Grey Red" + ) + has_organ = list( "heart" = /obj/item/organ/internal/heart/grey, "lungs" = /obj/item/organ/internal/lungs/grey, @@ -24,7 +31,7 @@ species_traits = list(LIPS, CAN_WINGDINGS, NO_HAIR) clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS - bodyflags = HAS_BODY_MARKINGS | HAS_BODYACC_COLOR | SHAVED | BALD + bodyflags = HAS_BODY_MARKINGS | HAS_BODYACC_COLOR | SHAVED | BALD | HAS_ICON_SKIN_TONE dietflags = DIET_HERB reagent_tag = PROCESS_ORG flesh_color = "#a598ad" @@ -32,6 +39,21 @@ plushie_type = /obj/item/toy/plushie/greyplushie +/datum/species/grey/updatespeciescolor(mob/living/carbon/human/H, owner_sensitive = 1) //Handling species-specific skin-tones for the grey race. + if(H.dna.species.bodyflags & HAS_ICON_SKIN_TONE) + var/new_icobase = 'icons/mob/human_races/grey/r_grey.dmi' //Default grey. + switch(H.s_tone) + if(4) //red Grey. + new_icobase = 'icons/mob/human_races/grey/r_grey_red.dmi' + if(3) //blue grey. + new_icobase = 'icons/mob/human_races/grey/r_grey_blue.dmi' + if(2) //green grey. + new_icobase = 'icons/mob/human_races/grey/r_grey_green.dmi' + else //Default. + new_icobase = 'icons/mob/human_races/grey/r_grey.dmi' + + H.change_icobase(new_icobase, owner_sensitive) //Update the icobase of all our organs, but make sure we don't mess with frankenstein limbs in doing so. + /datum/species/grey/handle_dna(mob/living/carbon/human/H, remove) ..() H.dna.SetSEState(GLOB.remotetalkblock, !remove, TRUE) diff --git a/icons/mob/human_races/r_grey.dmi b/icons/mob/human_races/grey/r_grey.dmi similarity index 100% rename from icons/mob/human_races/r_grey.dmi rename to icons/mob/human_races/grey/r_grey.dmi diff --git a/icons/mob/human_races/grey/r_grey_blue.dmi b/icons/mob/human_races/grey/r_grey_blue.dmi new file mode 100644 index 00000000000..fc804c630b0 Binary files /dev/null and b/icons/mob/human_races/grey/r_grey_blue.dmi differ diff --git a/icons/mob/human_races/grey/r_grey_green.dmi b/icons/mob/human_races/grey/r_grey_green.dmi new file mode 100644 index 00000000000..0d750b7691f Binary files /dev/null and b/icons/mob/human_races/grey/r_grey_green.dmi differ diff --git a/icons/mob/human_races/grey/r_grey_red.dmi b/icons/mob/human_races/grey/r_grey_red.dmi new file mode 100644 index 00000000000..6bf1ad16361 Binary files /dev/null and b/icons/mob/human_races/grey/r_grey_red.dmi differ