From cb6fd27d457f67ed697a0555aa20c5e9cfeb5268 Mon Sep 17 00:00:00 2001 From: Aronai Sieyes Date: Fri, 13 Mar 2020 13:47:56 -0400 Subject: [PATCH] Add 'antilight' overlay on corner turfs to make them look good --- code/game/turfs/simulated/floor_types.dm | 19 ++++++++++++++++++- icons/effects/lighting_overlay.dmi | Bin 1890 -> 2789 bytes 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/code/game/turfs/simulated/floor_types.dm b/code/game/turfs/simulated/floor_types.dm index 7502243d56..8facf305ec 100644 --- a/code/game/turfs/simulated/floor_types.dm +++ b/code/game/turfs/simulated/floor_types.dm @@ -83,6 +83,16 @@ var/turf/under_turf //Underlay override turf path. var/join_flags = 0 //Bitstring to represent adjacency of joining walls var/join_group = "shuttle" //A tag for what other walls to join with. Null if you don't want them to. + var/static/list/antilight_cache + +/turf/simulated/shuttle/New() + ..() + if(!antilight_cache) + antilight_cache = list() + for(var/diag in cornerdirs) + var/image/I = image(LIGHTING_ICON, null, icon_state = "diagonals", layer = 10, dir = diag) + I.plane = PLANE_LIGHTING + antilight_cache["[diag]"] = I /turf/simulated/shuttle/Destroy() landed_holder = null @@ -143,13 +153,20 @@ under_ma = new(under) if(under_ma) - if(ispath(under,/turf/space)) //Scramble space turfs + if(ispath(under,/turf/space)) //Space gets weird treatment under_ma.icon_state = "white" under_ma.plane = SPACE_PLANE us.underlays = list(under_ma) appearance = us + //Dynamic lighting dissolver + var/turf/T = get_step(src, turn(join_flags,180)) + if(!T || !T.dynamic_lighting || !get_area(T).dynamic_lighting) + add_overlay(antilight_cache["[join_flags]"], TRUE) + else + cut_overlay(antilight_cache["[join_flags]"], TRUE) + return under /turf/simulated/shuttle/floor diff --git a/icons/effects/lighting_overlay.dmi b/icons/effects/lighting_overlay.dmi index b8c184562f99e39f017361f25bbd1f47cb5039e9..bc3d25204ce01ad8af9c3f6449dd527527ff28ca 100644 GIT binary patch literal 2789 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 YxleltI?d+g?4Ks!MeuXyxn9WlA6&b08~^|S