anchor.diff:  		closeDoor(A)
   
   /obj/machinery/doorButtons/airlock_controller/proc/closeDoor(obj/machinery/door/airlock/A)
  -	set waitfor = FALSE
   	if(A.density)
   		goIdle()
  -		return 0
  +		return FALSE
   	update_icon()
  +	A.safe = FALSE //Door crushies, manual door after all. Set every time in case someone changed it, safe doors can end up waiting forever.
   	A.unbolt()
  -	. = 1
  -	if(A && A.close())
  +	if(A.close())
   		if(stat & NOPOWER || lostPower || !A || QDELETED(A))
  -			goIdle(1)
  -			return
  +			goIdle(TRUE)
  +			return FALSE
   		A.bolt()
  -		if(busy == CLOSING)
  -			goIdle(1)
  -	else
  -		goIdle(1)
  +		goIdle(TRUE)
  +		return TRUE
  +	goIdle(TRUE)
  +	return FALSE
   
   /obj/machinery/doorButtons/airlock_controller/proc/cycleClose(obj/machinery/door/airlock/A)
   	if(!A || !exteriorAirlock || !interiorAirlock)
  
positive.code: 
  /obj/machinery/doorButtons/airlock_controller/proc/openDoor(obj/machinery/door/airlock/A)
  	if(exteriorAirlock && interiorAirlock && (!exteriorAirlock.density || !interiorAirlock.density))
  		goIdle(1)
  		return
  	A.unbolt()
  	spawn()
  		if(A && A.open())
  			if(stat | (NOPOWER) && !lostPower && A && !QDELETED(A))
  				A.bolt()
  		goIdle(1)
  
  /obj/machinery/doorButtons/airlock_controller/proc/goIdle(update)
  	lostPower = 0
  	busy = FALSE
  	if(update)
  		update_icon()
  
negative.code: /obj/machinery/doorButtons/airlock_controller/power_change()
  	..()
  	if(stat & NOPOWER)
  		lostPower = TRUE
  	else
  		if(!busy)
  			lostPower = FALSE
  	update_icon()
  
  /obj/machinery/doorButtons/airlock_controller/findObjsByTag()
  