anchor.diff:  	var/cost = 0
   	var/subsystem_cost = 0
   	var/last_thing_processed
  +
  +	// The old fps when we slow it down to prevent lag.
  +	var/old_fps
  +
   	var/list/subsystems = list()
   
   /datum/controller/master/New()
  
positive.code: 								SS.wait = Clamp(NewWait,SS.dwait_lower,SS.dwait_upper)
  								if (oldwait != SS.wait)
  									calculateGCD()
  							SS.next_fire += SS.wait
  							++SS.times_fired
  							//we caused byond to miss a tick, stop processing for a bit
  							if (startingtick < world.time || start_time+1 < world.timeofday)
  
negative.code: 				start_time = world.timeofday
  				var/SubSystemRan = 0
  				for(var/datum/subsystem/SS in subsystems)
  					if(world.cpu >= 100)
  						//if world.cpu gets above 120,
  						//byond will pause most client updates for (about) 1.6 seconds.
  						//(1.6 seconds worth of ticks)
  						//We just stop running subsystems to avoid that.
  						break
  					if(SS.can_fire > 0)
  						if(SS.next_fire <= world.time && SS.last_fire+(SS.wait*0.75) <= world.time)
  							SubSystemRan = 1
  							timer = world.timeofday
  							last_thing_processed = SS.type
  