{
	GLOBAL =
	{
		ENTER = ("setSpeedFactorTo: 0.25", "setStateTo: FLY_HOME");
	};
    "FLY_HOME" = {
		"COURSE_OK" = ("setSpeedFactorTo: 1.0", performFlyToRangeFromDestination);
		"WAYPOINT_SET" = ("setStateTo: GO_TO_WAYPOINT");
		"APPROACHING_SURFACE" = ("setSpeedFactorTo: 0.3", "setStateTo: APPROACH");
		"DESIRED_RANGE_ACHIEVED" = ("setSpeedFactorTo: 0.7", "setStateTo: APPROACH");
		"AEGIS_LEAVING_DOCKING_RANGE" = ("setStateTo: APPROACH");
		"LAUNCHED OKAY" = ("setStateTo: CLEAR_STATION");
        ATTACKED = (setTargetToPrimaryAggressor, broadcastDistressMessage); 
        "INCOMING_MISSILE" = (fireECM); 
		UPDATE = (setCourseToPlanet, "setDesiredRangeTo: 300.0", checkCourseToDestination, "pauseAI: 10.0");
	}; 
    "GO_TO_WAYPOINT" = {
		ENTER = ("setDesiredRangeTo: 50.0", checkCourseToDestination);
		"COURSE_OK" = ("setSpeedFactorTo: 0.8", performFlyToRangeFromDestination);
		"WAYPOINT_SET" = ("setDesiredRangeTo: 50.0", checkCourseToDestination);
		"APPROACHING_SURFACE" = ("setSpeedFactorTo: 0.3", "setStateTo: APPROACH");
		"DESIRED_RANGE_ACHIEVED" = ("setStateTo: FLY_HOME");
		ATTACKED = (setTargetToPrimaryAggressor, broadcastDistressMessage); 
		"AEGIS_LEAVING_DOCKING_RANGE" = ("setStateTo: APPROACH");
		"INCOMING_MISSILE" = (fireECM); 
		UPDATE = ("pauseAI: 10.0");
	}; 
	"CLEAR_STATION" = {
		ENTER = (getWitchspaceEntryCoordinates, setDestinationFromCoordinates, "setDesiredRangeTo: 100.0",
			"setSpeedFactorTo: 0.75", performFlyToRangeFromDestination, "pauseAI: 15");
		UPDATE = ("setStateTo: FLY_HOME", "pauseAI: 5.0");
	};
    "APPROACH" = {
		ENTER = (setCourseToPlanet, "setDesiredRangeTo: 100.0", performFlyToRangeFromDestination);
		"APPROACHING_SURFACE" = ("setSpeedFactorTo: 0.3", performFlyToRangeFromDestination);
		"DESIRED_RANGE_ACHIEVED" = ("setSpeedFactorTo: 0.2", "setStateTo: LANDING");
        ATTACKED = (setTargetToPrimaryAggressor, broadcastDistressMessage); 
        "INCOMING_MISSILE" = (fireECM, "setSpeedFactorTo: 1.0"); 
	}; 
    "LANDING" = {
		ENTER = ("setSpeedFactorTo: 0.0", setTakeOffFromPlanet, performFaceDestination, "pauseAI: 4.0");
		"FACING_DESTINATION" = (landOnPlanet); 
	}; 
}