diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 5fb4c5a1268..51ba73663a0 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -670,4 +670,20 @@ /mob/living/carbon/human/proc/check_dna() dna.check_integrity(src) - return \ No newline at end of file + return + +/mob/living/carbon/human/get_species() + if(dna) + switch(dna.mutantrace) + if("lizard") + return "Soghun" + if("tajaran") + return "Tajaran" + if("skrell") + return "Skrell" + if("plant") + return "Mobile vegetation" + if("golem") + return "Animated Construct" + else + return "Human" diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 314922c5aaf..3ec6506d901 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -116,7 +116,8 @@ Please contact me on #coderbus IRC. ~Carn x #define LEGCUFF_LAYER 18 #define L_HAND_LAYER 19 #define R_HAND_LAYER 20 -#define TOTAL_LAYERS 20 +#define TAIL_LAYER 21 //bs12 specific. this is probably gonna come back to haunt me +#define TOTAL_LAYERS 21 ////////////////////////////////// /mob/living/carbon/human @@ -223,6 +224,10 @@ Please contact me on #coderbus IRC. ~Carn x if(!fat) stand_icon.Blend(new /icon('icons/mob/human.dmi', "underwear[underwear]_[g]_s"), ICON_OVERLAY) lying_icon.Blend(new /icon('icons/mob/human.dmi', "underwear[underwear]_[g]_l"), ICON_OVERLAY) + + //tail + update_tail_showing(0) + if(update_icons) update_icons() @@ -551,9 +556,15 @@ Please contact me on #coderbus IRC. ~Carn x overlays_lying[SUIT_LAYER] = lying overlays_standing[SUIT_LAYER] = standing + + update_tail_showing(0) + else overlays_lying[SUIT_LAYER] = null overlays_standing[SUIT_LAYER] = null + + update_tail_showing(0) + if(update_icons) update_icons() /mob/living/carbon/human/update_inv_pockets(var/update_icons=1) @@ -642,6 +653,21 @@ Please contact me on #coderbus IRC. ~Carn x overlays_standing[L_HAND_LAYER] = null if(update_icons) update_icons() +/mob/living/carbon/human/proc/update_tail_showing(var/update_icons=1) + overlays_lying[TAIL_LAYER] = null + overlays_standing[TAIL_LAYER] = null + var/cur_species = get_species() + if( cur_species == "Tajaran") + if(!wear_suit || !(wear_suit.flags_inv & HIDEJUMPSUIT) && !istype(wear_suit, /obj/item/clothing/suit/space)) + overlays_lying[TAIL_LAYER] = image("icon" = 'icons/effects/genetics.dmi', "icon_state" = "tajtail_l") + overlays_standing[TAIL_LAYER] = image("icon" = 'icons/effects/genetics.dmi', "icon_state" = "tajtail_s") + else if( cur_species == "Soghun") + if(!wear_suit || !(wear_suit.flags_inv & HIDEJUMPSUIT) && !istype(wear_suit, /obj/item/clothing/suit/space)) + overlays_lying[TAIL_LAYER] = image("icon" = 'icons/effects/genetics.dmi', "icon_state" = "sogtail_l") + overlays_standing[TAIL_LAYER] = image("icon" = 'icons/effects/genetics.dmi', "icon_state" = "sogtail_s") + + if(update_icons) update_icons() + //Human Overlays Indexes///////// #undef MUTANTRACE_LAYER #undef MUTATIONS_LAYER @@ -663,4 +689,5 @@ Please contact me on #coderbus IRC. ~Carn x #undef LEGCUFF_LAYER #undef L_HAND_LAYER #undef R_HAND_LAYER +#undef TAIL_LAYER #undef TOTAL_LAYERS diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 5a96d1b10b7..15d3f1f30ae 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -412,4 +412,7 @@ It's fairly easy to fix if dealing with single letters but not so much with comp if(src.client.inactivity > 10 * 60 * 10) return 0 if(src.stat == 2) return 0 - return 1 \ No newline at end of file + return 1 + +/mob/proc/get_species() + return diff --git a/code/modules/mob/new_player/preferences.dm b/code/modules/mob/new_player/preferences.dm index 9fdfaf59109..2990baa20df 100644 --- a/code/modules/mob/new_player/preferences.dm +++ b/code/modules/mob/new_player/preferences.dm @@ -783,6 +783,11 @@ datum/preferences //this shouldn't happen f_style = facial_hair_styles_list["Shaved"] + //reset hair colour and skin colour + r_hair = 0//hex2num(copytext(new_hair, 2, 4)) + g_hair = 0//hex2num(copytext(new_hair, 4, 6)) + b_hair = 0//hex2num(copytext(new_hair, 6, 8)) + s_tone = 0 diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index 3806532e404..687d9c6b346 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -207,11 +207,10 @@ datum/preferences if(species == "Tajaran") preview_icon = new /icon('icons/effects/genetics.dmi', "tajaran_[g]_s") - preview_icon.Blend(new /icon('icons/mob/human_face.dmi', "tajears_s"), ICON_OVERLAY) - preview_icon.Blend(new /icon('icons/mob/human_face.dmi', "tajtail_s"), ICON_OVERLAY) + preview_icon.Blend(new /icon('icons/effects/genetics.dmi', "tajtail_s"), ICON_OVERLAY) else if(species == "Soghun") preview_icon = new /icon('icons/effects/genetics.dmi', "lizard_[g]_s") - preview_icon.Blend(new /icon('icons/mob/human_face.dmi', "sogtail_s"), ICON_OVERLAY) + preview_icon.Blend(new /icon('icons/effects/genetics.dmi', "sogtail_s"), ICON_OVERLAY) else if(species == "Skrell") preview_icon = new /icon('icons/effects/genetics.dmi', "skrell_[g]_s") else diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm index ee308e0a2fd..e2b92f22d98 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -49,7 +49,7 @@ name = "Bald" icon_state = "bald" choose_female = 0 - species_allowed = list("Human","Soghun","Tajaran") + species_allowed = list("Human","Soghun") short name = "Short Hair" // try to capatilize the names please~ @@ -290,3 +290,8 @@ icon_state = "skrell_hair_f" species_allowed = list("Skrell") choose_male = 0 + + taj_ears + name = "Tajaran Ears" + icon_state = "tajears" + species_allowed = list("Tajaran") diff --git a/icons/effects/genetics.dmi b/icons/effects/genetics.dmi index ef2c66d6f9e..5b9cf048ff4 100644 Binary files a/icons/effects/genetics.dmi and b/icons/effects/genetics.dmi differ diff --git a/icons/mob/human_face.dmi b/icons/mob/human_face.dmi index 7eb316eb327..61ef91e51c2 100644 Binary files a/icons/mob/human_face.dmi and b/icons/mob/human_face.dmi differ