mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
Fixes duplicate gas layers
This commit is contained in:
@@ -154,18 +154,18 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun
|
|||||||
#ifdef ZASDBG
|
#ifdef ZASDBG
|
||||||
var/updated = 0
|
var/updated = 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//defer updating of self-zone-blocked turfs until after all other turfs have been updated.
|
//defer updating of self-zone-blocked turfs until after all other turfs have been updated.
|
||||||
//this hopefully ensures that non-self-zone-blocked turfs adjacent to self-zone-blocked ones
|
//this hopefully ensures that non-self-zone-blocked turfs adjacent to self-zone-blocked ones
|
||||||
//have valid zones when the self-zone-blocked turfs update.
|
//have valid zones when the self-zone-blocked turfs update.
|
||||||
var/list/deferred = list()
|
var/list/deferred = list()
|
||||||
|
|
||||||
for(var/turf/T in updating)
|
for(var/turf/T in updating)
|
||||||
//check if the turf is self-zone-blocked
|
//check if the turf is self-zone-blocked
|
||||||
if(T.c_airblock(T) & ZONE_BLOCKED)
|
if(T.c_airblock(T) & ZONE_BLOCKED)
|
||||||
deferred += T
|
deferred += T
|
||||||
continue
|
continue
|
||||||
|
|
||||||
T.update_air_properties()
|
T.update_air_properties()
|
||||||
T.post_update_air_properties()
|
T.post_update_air_properties()
|
||||||
T.needs_air_update = 0
|
T.needs_air_update = 0
|
||||||
@@ -234,6 +234,7 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun
|
|||||||
|
|
||||||
/datum/controller/air_system/proc/remove_zone(zone/z)
|
/datum/controller/air_system/proc/remove_zone(zone/z)
|
||||||
zones.Remove(z)
|
zones.Remove(z)
|
||||||
|
zones_to_update.Remove(z)
|
||||||
|
|
||||||
/datum/controller/air_system/proc/air_blocked(turf/A, turf/B)
|
/datum/controller/air_system/proc/air_blocked(turf/A, turf/B)
|
||||||
#ifdef ZASDBG
|
#ifdef ZASDBG
|
||||||
|
|||||||
@@ -108,11 +108,12 @@ Class Procs:
|
|||||||
c_invalidate()
|
c_invalidate()
|
||||||
for(var/turf/simulated/T in contents)
|
for(var/turf/simulated/T in contents)
|
||||||
into.add(T)
|
into.add(T)
|
||||||
|
T.update_graphic(graphic_remove = air.graphic)
|
||||||
#ifdef ZASDBG
|
#ifdef ZASDBG
|
||||||
T.dbg(merged)
|
T.dbg(merged)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//rebuild the old zone's edges so that the will be possesed by the new zone
|
//rebuild the old zone's edges so that they will be possessed by the new zone
|
||||||
for(var/connection_edge/E in edges)
|
for(var/connection_edge/E in edges)
|
||||||
if(E.contains_zone(into))
|
if(E.contains_zone(into))
|
||||||
continue //don't need to rebuild this edge
|
continue //don't need to rebuild this edge
|
||||||
|
|||||||
Reference in New Issue
Block a user