From e2cf25470dcb9e2a58f2d275a38fc49229ee0097 Mon Sep 17 00:00:00 2001 From: Roxy <75404941+TealSeer@users.noreply.github.com> Date: Fri, 3 Jul 2026 14:12:07 -0400 Subject: [PATCH] Fix horns getting hidden in modsuits (#5891) ## About The Pull Request Couple things going on here but basically boils down to the `/datum/bodypart_overlay/mutant/horns/can_draw_on_bodypart` proc in `_visual_organs.dm` blocking horns if outfit has `HIDEHAIR` flagged which mods do, this is all fine and dandy but we have a specific carve-out for mods because of the hardlight overlays they add, problem is that the latter check was taking precedence over the carve-out (`is_deely_bopper_hidden`). I commented out this check because `is_deely_bopper_hidden` does everything it does and more, so we don't need it. Also deleted a redundant skyrat override on `/datum/bodypart_overlay/mutant/horns/can_draw_on_bodypart` because the parent `/datum/bodypart_overlay/mutant/can_draw_on_bodypart` override does the same thing. ## Why It's Good For The Game Fixes #5631 ## Proof Of Testing
Screenshots/Videos image
## Changelog :cl: fix: fixed modsuits hiding horns /:cl: --- code/modules/surgery/organs/external/_visual_organs.dm | 2 ++ .../modules/customization/modules/surgery/organs/horns.dm | 7 ------- .../datums/bodypart_overlays/mutant_bodypart_overlay.dm | 8 ++++---- 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/code/modules/surgery/organs/external/_visual_organs.dm b/code/modules/surgery/organs/external/_visual_organs.dm index 953332b338b..6c51c0f95ed 100644 --- a/code/modules/surgery/organs/external/_visual_organs.dm +++ b/code/modules/surgery/organs/external/_visual_organs.dm @@ -126,8 +126,10 @@ Unlike normal organs, we're actually inside a persons limbs at all times dyable = TRUE draw_on_husks = HUSK_OVERLAY_NORMAL +/* BUBBER EDIT REMOVE BEGIN - Customization /datum/bodypart_overlay/mutant/horns/can_draw_on_bodypart(obj/item/bodypart/bodypart_owner, mob/living/carbon/owner, is_husked = FALSE) return ..() && !(bodypart_owner.owner?.obscured_slots & HIDEHAIR) +*/// BUBBER EDIT REMOVE END ///The frills of a lizard (like weird fin ears) /obj/item/organ/frills diff --git a/modular_skyrat/modules/customization/modules/surgery/organs/horns.dm b/modular_skyrat/modules/customization/modules/surgery/organs/horns.dm index 94c2365c1dc..3f0d68db4e0 100644 --- a/modular_skyrat/modules/customization/modules/surgery/organs/horns.dm +++ b/modular_skyrat/modules/customization/modules/surgery/organs/horns.dm @@ -12,10 +12,3 @@ /datum/bodypart_overlay/mutant/horns/override_color(rgb_value) return draw_color -/datum/bodypart_overlay/mutant/horns/can_draw_on_bodypart(obj/item/bodypart/bodypart_owner) - if(!..(bodypart_owner)) - return FALSE - var/mob/living/carbon/human/human = bodypart_owner.owner - if(!human) - return TRUE - return !sprite_datum.is_hidden(human) diff --git a/modular_zubbers/code/datums/bodypart_overlays/mutant_bodypart_overlay.dm b/modular_zubbers/code/datums/bodypart_overlays/mutant_bodypart_overlay.dm index 046d182393f..6a7499be7f1 100644 --- a/modular_zubbers/code/datums/bodypart_overlays/mutant_bodypart_overlay.dm +++ b/modular_zubbers/code/datums/bodypart_overlays/mutant_bodypart_overlay.dm @@ -86,13 +86,13 @@ return sprite_datum?.feature_key_override || feature_key -/datum/bodypart_overlay/mutant/can_draw_on_bodypart(obj/item/bodypart/bodypart_owner) +/datum/bodypart_overlay/mutant/can_draw_on_bodypart(obj/item/bodypart/bodypart_owner, mob/living/carbon/owner, is_husked) if(!..()) return FALSE - var/mob/living/carbon/human/human = bodypart_owner.owner - if(!istype(human)) + var/mob/living/carbon/human/human_owner = owner + if(!istype(human_owner)) return TRUE - return !isnull(sprite_datum) && !sprite_datum.is_hidden(human) + return !isnull(sprite_datum) && !sprite_datum.is_hidden(human_owner) /// Get the images we need to draw on the person. Called from get_overlay() which is called from _bodyparts.dm.