diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 98f487a71b..a20eeea361 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1322,3 +1322,6 @@ var/mob/dview/dview_mob = new see_in_dark = 1e6 +/mob/dview/New() + // do nothing. we don't want to be in any mob lists; we're a dummy not a mob. + diff --git a/code/modules/lighting/light_source.dm b/code/modules/lighting/light_source.dm index 1ee235fa6f..ce2ee837a6 100644 --- a/code/modules/lighting/light_source.dm +++ b/code/modules/lighting/light_source.dm @@ -177,6 +177,7 @@ T.affecting_lights += src effect_turf += T + END_FOR_DVIEW /datum/light_source/proc/remove_lum() applied = 0 @@ -201,11 +202,11 @@ var/list/view[0] FOR_DVIEW(var/turf/T, light_range, source_turf, INVISIBILITY_LIGHTING) view += T //Filter out turfs. + END_FOR_DVIEW //This is the part where we calculate new turfs (if any) var/list/new_turfs = view - effect_turf //This will result with all the tiles that are added. for(var/turf/T in new_turfs) - //Big huge copy paste from apply_lum() incoming because screw unreadable defines and screw proc call overhead. if(T.lighting_overlay) LUM_FALLOFF(., T, source_turf) . *= light_power diff --git a/code/setup.dm b/code/setup.dm index 98957e2304..78f3f8280a 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -1002,3 +1002,4 @@ var/list/be_special_flags = list( dview_mob.loc = center; \ dview_mob.see_invisible = invis_flags; \ for(type in view(range, dview_mob)) +#define END_FOR_DVIEW dview_mob.loc = null