{
	GLOBAL =
	{
		ENTER = ("setStateTo: NEW_WAYPOINT");
	};
	"GO_TO_WAYPOINT" =
	{
		ENTER = ("setSpeedFactorTo: 0.75");
		"WAYPOINT_SET" = ("setStateTo: NEW_WAYPOINT");
		"DESIRED_RANGE_ACHIEVED" = ("setDesiredRangeTo: 1000.0", exitAI);
		ATTACKED = ("exitAIWithMessage: ATTACKED");
		"FRUSTRATED" = ("setSpeedFactorTo: 0.1", "setDesiredRangeTo: 1000.0", exitAI);
		"INCOMING_MISSILE" = ("exitAIWithMessage: INCOMING_MISSILE");
		UPDATE = (performFlyToRangeFromDestination, 
				checkCourseToDestination, "pauseAI: 2.0");
	};
	"NEW_WAYPOINT" =
	{
		ENTER = ("setSpeedFactorTo: 0.0", "setDesiredRangeTo: 50.0", checkCourseToDestination);
		"WAYPOINT_SET" = ("setStateTo: NEW_WAYPOINT");
		"COURSE_OK" = ("setStateTo: GO_TO_WAYPOINT");
		"FRUSTRATED" = ("setSpeedFactorTo: 0.1", "setDesiredRangeTo: 1000.0", exitAI);
		ATTACKED = ("exitAIWithMessage: ATTACKED");
		"DESIRED_RANGE_ACHIEVED" = ("setDesiredRangeTo: 1000.0", exitAI);
		"INCOMING_MISSILE" = ("exitAIWithMessage: INCOMING_MISSILE");
	};
}