anchor.diff:  	var/docked = S1 == assigned_transit
   	sound_played = FALSE
   	if(docked)	//about to launch
  -		if(!force_depart && PersonCheck())
  -			mode = SHUTTLE_IDLE
  -			if(console)
  -				console.say("Launch cancelled, lifeform dectected on board.")
  -			return
  +		if(!force_depart)
  +			var/cancel_reason
  +			if(PersonCheck())
  +				cancel_reason = "lifeform dectected on board"
  +			else if(NukeDiskCheck())
  +				cancel_reason = "critical station device detected on board"
  +			if(cancel_reason)
  +				mode = SHUTTLE_IDLE
  +				if(console)
  +					console.say("Launch cancelled, [cancel_reason].")
  +				return
   		force_depart = FALSE
   	. = ..()
   	if(!. && !docked && !damaged)
  
positive.code: 			return TRUE
  	return FALSE
  
  /obj/docking_port/mobile/arrivals/proc/SendToStation()
  	var/dockTime = config.arrivals_shuttle_dock_window
  	if(mode == SHUTTLE_CALL && timeLeft(1) > dockTime)
  
negative.code: 			SendToStation()
  		return
  
  	var/found_awake = PersonCheck() || NukeDiskCheck()
  	if(mode == SHUTTLE_CALL)
  		if(found_awake)
  			SendToStation()
  