diff --git a/code/WorkInProgress/SkyMarshal/Ultralight.dm b/code/WorkInProgress/SkyMarshal/Ultralight.dm index 3da33929f62..fa682336529 100644 --- a/code/WorkInProgress/SkyMarshal/Ultralight.dm +++ b/code/WorkInProgress/SkyMarshal/Ultralight.dm @@ -26,6 +26,12 @@ var proc/ul_Clamp(var/Value) return min(max(Value, 0), ul_Steps) +proc/ul_UnblankLocal(var/list/ReApply = view(ul_TopLuminosity, src)) + for(var/atom/Light in ReApply) + if(Light.ul_IsLuminous()) + Light.ul_Illuminate() + return + atom/var/LuminosityRed = 0 atom/var/LuminosityGreen = 0 atom/var/LuminosityBlue = 0 @@ -241,13 +247,6 @@ atom/proc/ul_SetOpacity(var/NewOpacity) return -atom/proc/ul_UnblankLocal(var/list/ReApply = view(ul_TopLuminosity, src)) - for(var/atom/Light in ReApply) - if(Light.ul_IsLuminous()) - Light.ul_Illuminate() - - return - atom/proc/ul_BlankLocal() var/list/Blanked = list( ) var/TurfAdjust = isturf(src) ? 1 : 0 diff --git a/code/ZAS/Functions.dm b/code/ZAS/Functions.dm index 06d8ad09fa6..bc25ea165bb 100644 --- a/code/ZAS/Functions.dm +++ b/code/ZAS/Functions.dm @@ -126,7 +126,7 @@ proc/ZConnect(turf/A,turf/B) if(C && (C.B == B || C.A == B)) return - new connection(A,B) + new /connection(A,B) /* proc/ZDisconnect(turf/A,turf/B) diff --git a/code/defines/procs/helpers.dm b/code/defines/procs/helpers.dm index 2ef0a60f833..ecd717913a5 100644 --- a/code/defines/procs/helpers.dm +++ b/code/defines/procs/helpers.dm @@ -1427,15 +1427,19 @@ proc/listclearnulls(list/list) var/list/turfs_src = get_area_turfs(src.type) var/list/turfs_trg = get_area_turfs(A.type) + var/blanked_turfs = list() + var/src_min_x = 0 var/src_min_y = 0 for (var/turf/T in turfs_src) + blanked_turfs |= T.ul_BlankLocal() if(T.x < src_min_x || !src_min_x) src_min_x = T.x if(T.y < src_min_y || !src_min_y) src_min_y = T.y var/trg_min_x = 0 var/trg_min_y = 0 for (var/turf/T in turfs_trg) + blanked_turfs |= T.ul_BlankLocal() if(T.x < trg_min_x || !trg_min_x) trg_min_x = T.x if(T.y < trg_min_y || !trg_min_y) trg_min_y = T.y @@ -1553,6 +1557,8 @@ proc/listclearnulls(list/list) doors += D2 air_master.tiles_to_update |= T2 + ul_UnblankLocal(blanked_turfs) + for(var/obj/O in doors) O:update_nearby_tiles(1) diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 6df80670be9..413dfffcfd3 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -42,7 +42,7 @@ luminosity = 1 else luminosity = 0 - area_lights_luminosity = rand(5,7) + area_lights_luminosity = rand(6,7) if(LightLevels) ul_Light() //ul_SetLuminosity(0) // *DAL* diff --git a/code/game/objects/explosion.dm b/code/game/objects/explosion.dm index 658d1a26c4c..cbcb08f79a9 100644 --- a/code/game/objects/explosion.dm +++ b/code/game/objects/explosion.dm @@ -78,16 +78,16 @@ proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impa E.Stress(1)*/ if(roundExplosions) - if(/obj/effect/energy_field in range(src, max(devastation_range, heavy_impact_range, light_impact_range))) - fTurfs = circlerange(epicenter,max(devastation_range, heavy_impact_range, light_impact_range, flash_range)) - dTurfs = circlerange(epicenter,devastation_range) - hTurfs = circlerange(epicenter,heavy_impact_range) - dTurfs - lTurfs = circlerange(epicenter,light_impact_range) - dTurfs - hTurfs + if(locate(/obj/effect/energy_field) in range(src, max(devastation_range, heavy_impact_range, light_impact_range))) + fTurfs = circlerangeturfs(epicenter,max(devastation_range, heavy_impact_range, light_impact_range, flash_range)) + dTurfs = circlerangeturfs(epicenter,devastation_range) + hTurfs = circlerangeturfs(epicenter,heavy_impact_range) - dTurfs + lTurfs = circlerangeturfs(epicenter,light_impact_range) - dTurfs - hTurfs else - fTurfs = circlerange(epicenter,max(devastation_range, heavy_impact_range, light_impact_range, flash_range)) - dTurfs = circlerange(epicenter,devastation_range) - hTurfs = circlerange(epicenter,heavy_impact_range) - dTurfs - lTurfs = circlerange(epicenter,light_impact_range) - dTurfs - hTurfs + fTurfs = circlerangeturfs(epicenter,max(devastation_range, heavy_impact_range, light_impact_range, flash_range)) + dTurfs = circlerangeturfs(epicenter,devastation_range) + hTurfs = circlerangeturfs(epicenter,heavy_impact_range) - dTurfs + lTurfs = circlerangeturfs(epicenter,light_impact_range) - dTurfs - hTurfs //add some stress to nearby shields for(var/obj/effect/energy_field/E in circlerange(epicenter, devastation_range)) diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index b97ef79607d..ee653e4b10f 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -83,7 +83,7 @@ var/area/A = src.loc.loc brightness = A.area_lights_luminosity else - brightness = rand(5,7) + brightness = rand(6,7) if(prob(5)) broken(1) if("bulb") @@ -123,7 +123,7 @@ var/oldlum = luminosity //luminosity = on * brightness - ul_SetLuminosity(on * brightness, on * brightness, ( fitting != "bulb" ? on * brightness : on ) ) // *DAL* + ul_SetLuminosity(on * brightness, on * brightness, ( fitting != "bulb" ? on * brightness : round(on*brightness/2) ) ) // *DAL* // if the state changed, inc the switching counter if(oldlum != luminosity)