diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index e1fc285b9c8..59d14cb2820 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -905,6 +905,8 @@ GLOBAL_LIST_INIT(layers_to_offset, list( "[HAIR_LAYER]" = UPPER_BODY, // Doesn't do much "[EYES_LAYER]" = UPPER_BODY, + "[BENEATH_HAIR_LAYER]" = UPPER_BODY, + "[OUTER_HAIR_LAYER]" = UPPER_BODY, // BUBBER EDIT - ADDITION // Long belts (sabre sheathe) will get cut off by filter "[BELT_LAYER]" = LOWER_BODY, // Everything below looks fine with or without a filter, so we can skip it and just offset diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index d7b3010611e..dcb1327555b 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -1147,7 +1147,20 @@ mutant_styles: The mutant style - taur bodytype, STYLE_TESHARI, etc. // SKYRAT E if(isnull(offset_type)) if(islist(raw_applied)) for(var/image/applied_appearance in raw_applied) - apply_height_filters(applied_appearance) + /* + BUBBER EDIT - ADDITION - CHANGE + ORIGINAL: apply_height_filters(applied_appearance) + */ + var/sub_offset_type = GLOB.layers_to_offset[num2text(-applied_appearance.layer)] + if(isnull(sub_offset_type)) + if(findtext(applied_appearance.icon_state, "horns_", 3, 9) || findtext(applied_appearance.icon_state, "ears_", 3, 8)) + sub_offset_type = UPPER_BODY + if(sub_offset_type) + applied_appearance.pixel_z = initial(applied_appearance.pixel_z) + apply_height_offsets(applied_appearance, sub_offset_type) + else + apply_height_filters(applied_appearance) + // BUBBER EDIT - ADDITION - END else if(isimage(raw_applied)) apply_height_filters(raw_applied) else