diff --git a/code/modules/lighting/lighting_fake_sun_vr.dm b/code/modules/lighting/lighting_fake_sun_vr.dm index 70f6b6d7e3..e1ce68dcbc 100644 --- a/code/modules/lighting/lighting_fake_sun_vr.dm +++ b/code/modules/lighting/lighting_fake_sun_vr.dm @@ -1,3 +1,5 @@ +var/static/list/fake_sunlight_zs = list() + /obj/effect/fake_sun name = "fake sun" desc = "Deletes itself, but first updates all the lighting on outdoor turfs." @@ -140,6 +142,7 @@ sun.set_alpha(round(CLAMP01(choice["brightness"])*255,1)) if(do_sun) + fake_sunlight_zs |= z for(var/turf/T as anything in turfs_to_use) sun.apply_to_turf(T) diff --git a/code/modules/lighting/lighting_turf.dm b/code/modules/lighting/lighting_turf.dm index 90343e5b90..47a604c0f4 100644 --- a/code/modules/lighting/lighting_turf.dm +++ b/code/modules/lighting/lighting_turf.dm @@ -96,12 +96,18 @@ ///Setter for the byond luminosity var /turf/proc/set_luminosity(new_luminosity, force) - // SSplanets handles outdoor turfs if((is_outdoors() && !force) || outdoors_adjacent) - return + if(check_for_sun()) //If another system handles our lighting, don't interfere + return luminosity = new_luminosity +///Checks planets and fake_suns to see if our turf should be handled by either +/turf/proc/check_for_sun() + if((z in SSplanets.z_to_planet) || (z in fake_sunlight_zs)) + return TRUE + return FALSE + ///Calculate on which directions this turfs block view. /turf/proc/recalculate_directional_opacity() . = directional_opacity