mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-29 15:08:02 +01:00
fixes firelocks et al. preventing the movement of air (#17539)
Co-authored-by: mafemergency <mafemergency@gmail.com>
This commit is contained in:
co-authored by
mafemergency
parent
e5de6c5d81
commit
45fe5c80b1
@@ -278,6 +278,14 @@ SUBSYSTEM_DEF(air)
|
||||
T.excited_group.garbage_collect()
|
||||
|
||||
/datum/controller/subsystem/air/proc/add_to_active(turf/simulated/T, blockchanges = 1)
|
||||
if(!initialized)
|
||||
/* it makes no sense to "activate" turfs before setup_allturfs is
|
||||
called, as setup_allturfs would simply cull the list incorrectly.
|
||||
only /turf/simulated/Initialize_Atmos() is blessed enough to
|
||||
activate turfs during this phase of initialization, as it happens
|
||||
post-cull and inlines the logic (perhaps incorrectly) */
|
||||
return
|
||||
|
||||
if(istype(T) && T.air)
|
||||
T.excited = 1
|
||||
active_turfs |= T
|
||||
@@ -290,11 +298,8 @@ SUBSYSTEM_DEF(air)
|
||||
add_to_active(S)
|
||||
|
||||
/datum/controller/subsystem/air/proc/setup_allturfs(list/turfs_to_init = block(locate(1, 1, 1), locate(world.maxx, world.maxy, world.maxz)))
|
||||
var/list/active_turfs = src.active_turfs
|
||||
|
||||
// Clear active turfs - faster than removing every single turf in the world
|
||||
// one-by-one, and Initalize_Atmos only ever adds `src` back in.
|
||||
active_turfs.Cut()
|
||||
if(active_turfs.len)
|
||||
log_debug("failed sanity check: active_turfs is not empty before initialization ([active_turfs.len])")
|
||||
|
||||
for(var/thing in turfs_to_init)
|
||||
var/turf/T = thing
|
||||
|
||||
Reference in New Issue
Block a user