From 1f494b47e95a9287c46fd0fa29247eb87aedddf1 Mon Sep 17 00:00:00 2001 From: Ed640 Date: Sun, 11 Feb 2024 07:55:19 -0600 Subject: [PATCH] Fixes Statues emitting solid lights (#81398) ## About The Pull Request Fixes #63653 ![Screenshot 2024-02-10 003356](https://github.com/tgstation/tgstation/assets/16868239/2fc8b2f0-81a0-40d9-9b52-bd04e66a30df) Custom sculpted statues no longer include the light layers of objects such as lanterns and PDA lights. ## Why It's Good For The Game No longer have to worry if sculpting someone with their lights on. Can safely sculpt a vibebot without covering your screen in a solid circle. ## Changelog :cl: fix: Sculpted statues stop including light layers. /:cl: --------- Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> --- code/modules/art/statues.dm | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/code/modules/art/statues.dm b/code/modules/art/statues.dm index a3c43a13b7e..caebda50766 100644 --- a/code/modules/art/statues.dm +++ b/code/modules/art/statues.dm @@ -573,23 +573,21 @@ Moving interrupts var/static/list/plane_whitelist = list(FLOAT_PLANE, GAME_PLANE, FLOOR_PLANE) /// Ideally we'd have knowledge what we're removing but i'd have to be done on target appearance retrieval - var/list/overlays_to_remove = list() + var/list/overlays_to_keep = list() for(var/mutable_appearance/special_overlay as anything in content_ma.overlays) var/mutable_appearance/real = new() real.appearance = special_overlay if(PLANE_TO_TRUE(real.plane) in plane_whitelist) - continue - overlays_to_remove += real - content_ma.overlays -= overlays_to_remove + overlays_to_keep += real + content_ma.overlays = overlays_to_keep - var/list/underlays_to_remove = list() + var/list/underlays_to_keep = list() for(var/mutable_appearance/special_underlay as anything in content_ma.underlays) var/mutable_appearance/real = new() real.appearance = special_underlay if(PLANE_TO_TRUE(real.plane) in plane_whitelist) - continue - underlays_to_remove += real - content_ma.underlays -= underlays_to_remove + underlays_to_keep += real + content_ma.underlays = underlays_to_keep content_ma.appearance_flags &= ~KEEP_APART //Don't want this content_ma.filters = filter(type="color",color=greyscale_with_value_bump,space=FILTER_COLOR_HSV)