{ GLOBAL = { "LAUNCHED OKAY" = ("setStateTo: CLEAR_STATION"); UPDATE = ("setSpeedFactorTo: 1.0", "setStateTo: LOOK_FOR_STUFF"); }; "LOOK_FOR_STUFF" = { ENTER = (performTumble, checkForFullHold); ATTACKED = (setTargetToPrimaryAggressor, groupAttackTarget, broadcastDistressMessage, "setStateTo: FLEE"); "HOLD_FULL" = ("setStateTo: DOCK_WITH_STATION"); "INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE"); "TARGET_FOUND" = (setTargetToFoundTarget, "setStateTo: COLLECT_STUFF"); "NOTHING_FOUND" = ("setStateTo: DOCK_WITH_STATION"); UPDATE = (scanForRandomLoot, "pauseAI: 8.0"); }; "CLEAR_STATION" = { ENTER = (getWitchspaceEntryCoordinates, setDestinationFromCoordinates, "setDesiredRangeTo: 100.0", "setSpeedFactorTo: 0.75", performFlyToRangeFromDestination, "pauseAI: 10"); UPDATE = ("setStateTo: LOOK_FOR_STUFF"); }; "DOCK_WITH_STATION" = { ENTER = (setTargetToNearestStation, "setDesiredRangeTo: 5000.0", performIntercept); ATTACKED = (setTargetToPrimaryAggressor, groupAttackTarget, broadcastDistressMessage, "setStateTo: FLEE"); "DESIRED_RANGE_ACHIEVED" = ("setAITo: dockingAI.plist"); "INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE"); "TARGET_LOST" = ("setStateTo: GO_TO_STATION"); RESTARTED = ("switchAITo: route1traderAI.plist"); }; "GO_TO_STATION" = { ENTER = (setTargetToNearestStation, "setDesiredRangeTo: 5000.0", setDestinationToTarget, checkCourseToDestination); "COURSE_OK" = (setSpeedToCruiseSpeed, performFlyToRangeFromDestination); "WAYPOINT_SET" = ("setAITo: gotoWaypointAI.plist"); "DESIRED_RANGE_ACHIEVED" = ("setAITo: dockingAI.plist"); "INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE"); ATTACKED = (setTargetToPrimaryAggressor, groupAttackTarget, broadcastDistressMessage, "setStateTo: FLEE"); UPDATE = (setTargetToNearestStation, "setDesiredRangeTo: 5000.0", setDestinationToTarget, checkCourseToDestination, "pauseAI: 10.0"); }; FLEE = { ENTER = ("setDesiredRangeTo: 25600", performFlee); ATTACKED = (setTargetToPrimaryAggressor, "setStateTo: FLEE"); "ENERGY_FULL" = (performIdle, "setStateTo: LOOK_FOR_STUFF"); "TARGET_LOST" = (performIdle, "setStateTo: LOOK_FOR_STUFF"); "INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE"); "REACHED_SAFETY" = ("setSpeedTo: 0.0", "pauseAI: 60", "setStateTo: LOOK_FOR_STUFF"); }; "COLLECT_STUFF" = { ENTER = (performCollect); FRUSTRATED = ("setSpeedTo: 0.0", setDestinationToTarget, "setDesiredRangeTo: 2.0", performFaceDestination); "FACING_DESTINATION" = (performCollect); "CARGO_SCOOPED" = ("setStateTo: LOOK_FOR_STUFF"); ATTACKED = (setTargetToPrimaryAggressor, groupAttackTarget, broadcastDistressMessage, "setStateTo: FLEE"); "TARGET_LOST" = ("setStateTo: LOOK_FOR_STUFF"); "COLLISION" = ("setStateTo: LOOK_FOR_STUFF"); "HOLD_FULL" = ("setStateTo: DOCK_WITH_STATION"); "INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE"); }; }