{ GLOBAL = { ENTER = ("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"); }; "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"); }; 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"); }; }