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 497f3a22174..0fe722c4735 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -1123,12 +1123,14 @@ mutant_styles: The mutant style - taur bodytype, STYLE_TESHARI, etc. // SKYRAT E if (mutant_styles & STYLE_TAUR_ALL) if (!using_taur_variant) var/cropping_state = DEFAULT_TAUR_CLIPPING_MASK + var/taur_cache_key = "[t_state]-[file2use]-[female_uniform]-[is_digi]-[type]-[greyscale_colors]-[cropping_state]" if (ishuman(loc)) var/mob/living/carbon/human/humie = loc var/obj/item/organ/taur_body/taur = humie.get_organ_slot(ORGAN_SLOT_EXTERNAL_TAUR) cropping_state = (taur ? taur.clothing_cropping_state : DEFAULT_TAUR_CLIPPING_MASK) + taur_cache_key = "[t_state]-[file2use]-[female_uniform]-[is_digi]-[type]-[greyscale_colors]-[cropping_state]" - draw_target = wear_taur_version(draw_target.icon_state, draw_target.icon, layer2use, female_uniform, greyscale_colors, cropping_state) + draw_target = wear_taur_version(draw_target.icon_state, draw_target.icon, layer2use, female_uniform, greyscale_colors, cropping_state, taur_cache_key) else draw_target.pixel_w -= 16 // it doesnt look right otherwise // SKYRAT EDIT ADDITION END diff --git a/modular_skyrat/master_files/code/modules/clothing/clothing.dm b/modular_skyrat/master_files/code/modules/clothing/clothing.dm index 3f37f1f8acb..64f42f44463 100644 --- a/modular_skyrat/master_files/code/modules/clothing/clothing.dm +++ b/modular_skyrat/master_files/code/modules/clothing/clothing.dm @@ -53,10 +53,10 @@ GLOBAL_LIST_EMPTY(taur_clothing_icons) * * Returns a taur-compatible mutable_appearance! */ -/proc/wear_taur_version(icon_state, icon/icon_to_process, layer, female_type, greyscale_colors, cropping_state) +/proc/wear_taur_version(icon_state, icon/icon_to_process, layer, female_type, greyscale_colors, cropping_state, cache_key = null) RETURN_TYPE(/mutable_appearance) - var/index = "[icon_state]-[greyscale_colors]-[female_type]-[cropping_state]" + var/index = cache_key || "[icon_state]-[greyscale_colors]-[female_type]-[cropping_state]" var/icon/taur_clothing_icon = GLOB.taur_clothing_icons[index] if(!taur_clothing_icon) //Create standing/laying icons if they don't exist generate_taur_clothing(index, icon_to_process, icon_state, cropping_state)