From e76af744d9632574e48d732e3c1fb51668ef9d67 Mon Sep 17 00:00:00 2001
From: Roxy <94389951+SapphoQueer@users.noreply.github.com>
Date: Sun, 22 Feb 2026 21:02:21 +0100
Subject: [PATCH] Fixes the weird taur bug that makes clothing be weird
sometimes (#5273)
## About The Pull Request
Sometimes, taur clothing didn't display the actually work sprite. This
was most prominent with things like gear harnesses and the like. This
should fix it.
## Why It's Good For The Game
Bug Bad Fix Good
## Proof Of Testing
this is with the gear harness on and it's not displaying what i wore
prior so??? i think it works?? I can't repro it anymore if anything.
Screenshots/Videos
## Changelog
:cl:
fix: Taur legs no longer messes with your clothing's rendering.
/:cl:
---
code/modules/mob/living/carbon/human/human_update_icons.dm | 4 +++-
modular_skyrat/master_files/code/modules/clothing/clothing.dm | 4 ++--
2 files changed, 5 insertions(+), 3 deletions(-)
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)