{ GLOBAL = { ENTER = ("setStateTo: HEAD_FOR_PLANET"); }; "HEAD_FOR_PLANET" = { ENTER = (setCourseToPlanet, "setDesiredRangeTo: 30000.0", "setSpeedFactorTo: 0.35", checkCourseToDestination); "COURSE_OK" = ("setSpeedFactorTo: 0.65", performFlyToRangeFromDestination); "WAYPOINT_SET" = ("setAITo: gotoWaypointAI.plist"); "AEGIS_CLOSE_TO_MAIN_PLANET" = ("setStateTo: GO_TO_STATION"); "CLOSE_TO_SECONDARY_PLANET" = ("setStateTo: GO_TO_SUB_STATION"); "AEGIS_IN_DOCKING_RANGE" = (dockEscorts, "setStateTo: GO_TO_STATION"); "DESIRED_RANGE_ACHIEVED" = ("setStateTo: GO_TO_STATION"); "TARGET_FOUND" = (setTargetToFoundTarget, "setAITo: traderInterceptAI.plist", fightOrFleeHostiles); "INCOMING_MISSILE" = ("setAITo: traderInterceptAI.plist", "setStateTo: INCOMING_MISSILE", "randomPauseAI: 0.5 2.0"); ATTACKED = ("setAITo: traderInterceptAI.plist", fightOrFleeHostiles); RESTARTED = (checkAegis); UPDATE = ( setCourseToPlanet, "setDesiredRangeTo: 30000.0", checkCourseToDestination, scanForHostiles, "pauseAI: 10.0" ); }; "GO_TO_STATION" = { ENTER = (setTargetToSystemStation, "setDesiredRangeTo: 5000.0", setDestinationToTarget, checkCourseToDestination); "COURSE_OK" = ("setSpeedFactorTo: 0.5", performFlyToRangeFromDestination); "WAYPOINT_SET" = ("setAITo: gotoWaypointAI.plist"); "DESIRED_RANGE_ACHIEVED" = (dockEscorts, setTargetToSystemStation, "setAITo: dockingAI.plist"); "AEGIS_IN_DOCKING_RANGE" = (dockEscorts, setTargetToSystemStation, "setAITo: dockingAI.plist"); "DOCKING_REFUSED" = ("switchAITo: route2sunskimAI.plist"); "NO_STATION_FOUND" = ("switchAITo: exitingTraderAI.plist"); "TARGET_FOUND" = (setTargetToFoundTarget, "setAITo: traderInterceptAI.plist", fightOrFleeHostiles); "INCOMING_MISSILE" = ("setAITo: traderInterceptAI.plist", "setStateTo: INCOMING_MISSILE", "randomPauseAI: 0.25 1.5"); ATTACKED = ("setAITo: traderInterceptAI.plist", fightOrFleeHostiles); UPDATE = ( setTargetToSystemStation, "setDesiredRangeTo: 5000.0", setDestinationToTarget, checkCourseToDestination, scanForHostiles, "pauseAI: 10.0" ); }; "GO_TO_SUB_STATION" = { ENTER = (setTargetToStation, "setDesiredRangeTo: 5000.0", setDestinationToTarget, checkCourseToDestination); "COURSE_OK" = ("setSpeedFactorTo: 0.5", performFlyToRangeFromDestination); "WAYPOINT_SET" = ("setAITo: gotoWaypointAI.plist"); "DESIRED_RANGE_ACHIEVED" = (dockEscorts, setTargetToStation, "setAITo: dockingAI.plist"); "AEGIS_IN_DOCKING_RANGE" = (dockEscorts, setTargetToSystemStation, "setAITo: dockingAI.plist"); "DOCKING_REFUSED" = ("switchAITo: route2sunskimAI.plist"); "NO_STATION_FOUND" = ("switchAITo: exitingTraderAI.plist"); "TARGET_FOUND" = (setTargetToFoundTarget, "setAITo: traderInterceptAI.plist", fightOrFleeHostiles); "INCOMING_MISSILE" = ("setAITo: traderInterceptAI.plist", "setStateTo: INCOMING_MISSILE", "randomPauseAI: 0.25 1.5"); ATTACKED = ("setAITo: traderInterceptAI.plist", fightOrFleeHostiles); UPDATE = ( setTargetToStation, "setDesiredRangeTo: 5000.0", setDestinationToTarget, checkCourseToDestination, scanForHostiles, "pauseAI: 10.0" ); }; }