diff --git a/code/controllers/_DynamicAreaLighting_TG.dm b/code/controllers/_DynamicAreaLighting_TG.dm index c8f52ef9365..baed6adaf4f 100644 --- a/code/controllers/_DynamicAreaLighting_TG.dm +++ b/code/controllers/_DynamicAreaLighting_TG.dm @@ -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 diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm index 5ce14b361ec..ce9a25b0602 100644 --- a/code/game/objects/items/blueprints.dm +++ b/code/game/objects/items/blueprints.dm @@ -130,6 +130,12 @@ move an amendment to the drawing.

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):
A.name=[A.name]
A.tag=[A.tag]
A.master=[ma]"