anchor.diff:  			. = authorize(user)
   
   		if("repeal")
  +			if(authorized.len != 0 && last_early_auth + EARLY_AUTHORIZATION_DELAY_TIME > world.time) // this action was performed less than EARLY_AUTHORIZATION_DELAY_TIME *tenths* of a second ago
  +				to_chat(user, "<span class='warning'>The emergency shuttle console is recharging, please wait [((last_early_auth + EARLY_AUTHORIZATION_DELAY_TIME) - world.time)/10] seconds.</span>")
  +				return
   			authorized -= ID
  +			// Record this time so we can remember how long ago this repeal occured, and restrict announcement spam.
  +			last_early_auth = world.time
   
   		if("abort")
   			if(authorized.len)
   				// Abort. The action for when heads are fighting over whether
   				// to launch early.
  +				if(authorized.len != 0 && last_early_auth + EARLY_AUTHORIZATION_DELAY_TIME > world.time) // this action was performed less than EARLY_AUTHORIZATION_DELAY_TIME *tenths* of a second ago
  +					to_chat(user, "<span class='warning'>The emergency shuttle console is recharging, please wait [((last_early_auth + EARLY_AUTHORIZATION_DELAY_TIME) - world.time)/10] seconds.</span>")
  +					return
  +				// Record this time so we can remember how long ago this abortion occured, and restrict announcement spam.
  +				last_early_auth = world.time
   				authorized.Cut()
   				. = TRUE
   
  
positive.code: #define TIME_LEFT (SSshuttle.emergency.timeLeft())
  #define ENGINES_START_TIME 100
  #define ENGINES_STARTED (SSshuttle.emergency.mode == SHUTTLE_IGNITING)
  #define IS_DOCKED (SSshuttle.emergency.mode == SHUTTLE_DOCKED || (ENGINES_STARTED))
  
  
negative.code: 	icon_keyboard = "tech_key"
  	var/auth_need = 3
  	var/list/authorized = list()
  	var/last_early_auth = 0
  
  /obj/machinery/computer/emergency_shuttle/attackby(obj/item/I, mob/user,params)
  	if(istype(I, /obj/item/card/id))
  