mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-01-05 15:03:48 +00:00
fix for blueprint areas randomly disappearing after a while, blueprint areas power not working, blueprint areas lighting being [initially] borked
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
This commit is contained in:
@@ -236,18 +236,24 @@ turf/proc/update_lumcount(amount)
|
||||
|
||||
turf/proc/shift_to_subarea()
|
||||
lighting_changed = 0
|
||||
|
||||
var/area/Area = loc
|
||||
|
||||
if(!istype(Area) || !Area.lighting_use_dynamic) return
|
||||
|
||||
// change the turf's area depending on its brightness
|
||||
// restrict light to valid levels
|
||||
var/light = min(max(round(lighting_lumcount,1),0),lighting_controller.lighting_states)
|
||||
var/new_tag = "[Area.type]sd_L[light]"
|
||||
|
||||
var/find = findtextEx(Area.tag, "sd_L")
|
||||
var/new_tag = copytext(Area.tag, 1, find)
|
||||
new_tag += "sd_L[light]"
|
||||
|
||||
if(Area.tag!=new_tag) //skip if already in this area
|
||||
|
||||
var/area/A = locate(new_tag) // find an appropriate area
|
||||
|
||||
if(!A)
|
||||
|
||||
A = new Area.type() // create area if it wasn't found
|
||||
// replicate vars
|
||||
for(var/V in Area.vars)
|
||||
@@ -362,6 +368,7 @@ atom
|
||||
|
||||
return brightness
|
||||
|
||||
|
||||
#undef LIGHTING_MAX_LUMINOSITY
|
||||
#undef LIGHTING_MAX_LUMINOSITY_MOB
|
||||
#undef LIGHTING_LAYER
|
||||
|
||||
@@ -130,6 +130,12 @@ move an amendment</a> to the drawing.</p>
|
||||
A.power_light = 0
|
||||
A.power_environ = 0
|
||||
move_turfs_to_area(turfs, A)
|
||||
|
||||
A.always_unpowered = 0
|
||||
for(var/turf/T in A.contents)
|
||||
T.lighting_changed = 1
|
||||
lighting_controller.changed_turfs += T
|
||||
|
||||
spawn(5)
|
||||
//ma = A.master ? "[A.master]" : "(null)"
|
||||
//world << "DEBUG: create_area(5): <br>A.name=[A.name]<br>A.tag=[A.tag]<br>A.master=[ma]"
|
||||
|
||||
Reference in New Issue
Block a user