diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index 41019d29356..2c4273b2c23 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -140,14 +140,14 @@ proc/get_id_photo(var/mob/living/carbon/human/H) temp = new /icon(icobase, "head_[g]") preview_icon.Blend(temp, ICON_OVERLAY) - for(var/obj/item/organ/external/E in H.organs) - preview_icon.Blend(E.get_icon(), ICON_OVERLAY) - //Tail if(H.species.tail && H.species.flags & HAS_TAIL) temp = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[H.species.tail]_s") preview_icon.Blend(temp, ICON_OVERLAY) + for(var/obj/item/organ/external/E in H.organs) + preview_icon.Blend(E.get_icon(), ICON_OVERLAY) + // Skin tone if(H.species.bodyflags & HAS_SKIN_TONE) if (H.s_tone >= 0) diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index e1c05cc7210..deb6981bd93 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -106,33 +106,35 @@ Please contact me on #coderbus IRC. ~Carn x //Human Overlays Indexes///////// #define MUTANTRACE_LAYER 1 -#define MARKINGS_LAYER 2 -#define MUTATIONS_LAYER 3 -#define DAMAGE_LAYER 4 -#define UNIFORM_LAYER 5 -#define ID_LAYER 6 -#define SHOES_LAYER 7 -#define GLOVES_LAYER 8 -#define EARS_LAYER 9 -#define SUIT_LAYER 10 -#define GLASSES_LAYER 11 -#define BELT_LAYER 12 //Possible make this an overlay of somethign required to wear a belt? -#define TAIL_LAYER 13 //bs12 specific. this hack is probably gonna come back to haunt me -#define SUIT_STORE_LAYER 14 -#define BACK_LAYER 15 -#define HAIR_LAYER 16 //TODO: make part of head layer? -#define HEAD_ACCESSORY_LAYER 17 -#define FHAIR_LAYER 18 -#define FACEMASK_LAYER 19 -#define HEAD_LAYER 20 -#define COLLAR_LAYER 21 -#define HANDCUFF_LAYER 22 -#define LEGCUFF_LAYER 23 -#define L_HAND_LAYER 24 -#define R_HAND_LAYER 25 -#define TARGETED_LAYER 26 //BS12: Layer for the target overlay from weapon targeting system -#define FIRE_LAYER 27 //If you're on fire -#define TOTAL_LAYERS 27 +#define TAIL_LAYER 2 //bs12 specific. this hack is probably gonna come back to haunt me +#define LIMBS_LAYER 3 +#define MARKINGS_LAYER 4 //2 +#define MUTATIONS_LAYER 5 //3 +#define DAMAGE_LAYER 6 //4 +#define UNIFORM_LAYER 7 //5 +#define ID_LAYER 8 //6 +#define SHOES_LAYER 9 //7 +#define GLOVES_LAYER 10 //8 +#define EARS_LAYER 11 //9 +#define SUIT_LAYER 12 //10 +#define GLASSES_LAYER 13 //11 +#define BELT_LAYER 14 //12 //Possible make this an overlay of somethign required to wear a belt? +//#define TAIL_LAYER 13 //bs12 specific. this hack is probably gonna come back to haunt me +#define SUIT_STORE_LAYER 15 //14 +#define BACK_LAYER 16 //15 +#define HAIR_LAYER 17 //16 //TODO: make part of head layer? +#define HEAD_ACCESSORY_LAYER 18 //17 +#define FHAIR_LAYER 19 //18 +#define FACEMASK_LAYER 20 //19 +#define HEAD_LAYER 21 //20 +#define COLLAR_LAYER 22 //21 +#define HANDCUFF_LAYER 23 //22 +#define LEGCUFF_LAYER 24 //23 +#define L_HAND_LAYER 25 //24 +#define R_HAND_LAYER 26 //25 +#define TARGETED_LAYER 27 //26 //BS12: Layer for the target overlay from weapon targeting system +#define FIRE_LAYER 28 //27 //If you're on fire +#define TOTAL_LAYERS 28 //27 @@ -296,6 +298,7 @@ var/global/list/damage_icon_parts = list() if(!(part.icon_position & RIGHT)) temp2.Insert(new/icon(temp,dir=WEST),dir=WEST) base_icon.Blend(temp2, ICON_OVERLAY) + overlays_standing[LIMBS_LAYER] = image(base_icon) if(part.icon_position & LEFT) temp2.Insert(new/icon(temp,dir=EAST),dir=EAST) if(part.icon_position & RIGHT) @@ -1114,11 +1117,13 @@ var/global/list/damage_icon_parts = list() //Human Overlays Indexes///////// #undef MUTANTRACE_LAYER +#undef TAIL_LAYER +#undef LIMBS_LAYER #undef MARKINGS_LAYER #undef MUTATIONS_LAYER #undef DAMAGE_LAYER #undef UNIFORM_LAYER -#undef TAIL_LAYER +//#undef TAIL_LAYER #undef ID_LAYER #undef SHOES_LAYER #undef GLOVES_LAYER diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index 6c2dd25dcd8..7eb20df76ea 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -211,16 +211,6 @@ datum/preferences preview_icon.Blend(new /icon(icobase, "groin_[g]"), ICON_OVERLAY) preview_icon.Blend(new /icon(icobase, "head_[g]"), ICON_OVERLAY) - for(var/name in list("r_arm","r_hand","r_leg","r_foot","l_leg","l_foot","l_arm","l_hand")) - if(organ_data[name] == "amputated") continue - if(organ_data[name] == "cyborg") - var/datum/robolimb/R - if(rlimb_data[name]) R = all_robolimbs[rlimb_data[name]] - if(!R) R = basic_robolimb - preview_icon.Blend(icon(R.icon, "[name]"), ICON_OVERLAY) // This doesn't check gendered_icon. Not an issue while only limbs can be robotic. - continue - preview_icon.Blend(new /icon(icobase, "[name]"), ICON_OVERLAY) - //Tail if(current_species && (current_species.bodyflags & HAS_TAIL)) var/tail_icon @@ -237,6 +227,16 @@ datum/preferences var/icon/temp = new /icon("icon" = tail_icon, "icon_state" = tail_icon_state) preview_icon.Blend(temp, ICON_OVERLAY) + for(var/name in list("r_arm","r_hand","r_leg","r_foot","l_leg","l_foot","l_arm","l_hand")) + if(organ_data[name] == "amputated") continue + if(organ_data[name] == "cyborg") + var/datum/robolimb/R + if(rlimb_data[name]) R = all_robolimbs[rlimb_data[name]] + if(!R) R = basic_robolimb + preview_icon.Blend(icon(R.icon, "[name]"), ICON_OVERLAY) // This doesn't check gendered_icon. Not an issue while only limbs can be robotic. + continue + preview_icon.Blend(new /icon(icobase, "[name]"), ICON_OVERLAY) + // Skin color if(current_species && (current_species.bodyflags & HAS_SKIN_COLOR)) preview_icon.Blend(rgb(r_skin, g_skin, b_skin), ICON_ADD)