From 157ea3000d4738bbfca01e642ad0dd125e2c700e Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Fri, 8 Jun 2012 03:23:32 -0700 Subject: [PATCH] Fix for runtimes, DERP. --- code/ZAS/Processing.dm | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/code/ZAS/Processing.dm b/code/ZAS/Processing.dm index c63b419f28a..2d001fb97bf 100644 --- a/code/ZAS/Processing.dm +++ b/code/ZAS/Processing.dm @@ -27,10 +27,13 @@ zone/proc/process() do if(sample) tried_turfs |= sample - sample = pick(contents - tried_turfs) //Nor this. - while(length(contents - tried_turfs) && (!istype(sample) || !sample.CanPass(null, sample, 1.5, 1))) + var/list/turfs_to_consider = contents - tried_turfs + if(!turfs_to_consider.len) + break + sample = pick(turfs_to_consider) //Nor this. + while(!istype(sample) || !sample.CanPass(null, sample, 1.5, 1)) - if(!sample) //Not a single valid turf. + if(!istype(sample) || !sample.CanPass(null, sample, 1.5, 1)) //Not a single valid turf. for(var/turf/simulated/T in contents) air_master.tiles_to_update |= T del src @@ -92,6 +95,16 @@ zone/proc/process() AirflowSpace(src) ShareSpace(air,total_space*(zone_share_percent/100)) + if(!(last_update%20)) //every 20 processes. + if(connections) + connections.Remove(null) + if(!connections.len) + del connections + if(connected_zones) + connected_zones.Remove(null) + if(!connected_zones.len) + del connected_zones + //React the air here. //air.react(null,0)