{ GLOBAL = { ENTER = ("setStateTo: BEGIN_BUSINESS"); }; "FLYING_ESCORT" = { ENTER = (performEscort); RESTARTED = ("setStateTo: NEXT_TARGET"); "GROUP_ATTACK_TARGET" = (setTargetToFoundTarget, "setAITo: interceptAI.plist"); ESCORTING = ("setDesiredRangeTo: 0.0", performEscort); "INCOMING_MISSILE" = ("messageMother: INCOMING_MISSILE"); "CASCADE_WEAPON_DETECTED" = ("setAITo: fleeQMineAI.plist"); "ATTACKED" = ("messageMother: ATTACKED", "messageMother: ESCORT_ATTACKED"); "ATTACKER_MISSED" = ("messageMother: ATTACKER_MISSED", "messageMother: ESCORT_ATTACKED"); "ATTACKED_BY_CLOAKED" = ("messageMother: ATTACKED_BY_CLOAKED"); "NOT_ESCORTING" = ("setStateTo: LOOK_FOR_BUSINESS"); "TARGET_LOST" = ("setStateTo: LOOK_FOR_BUSINESS"); "TARGET_DESTROYED" = ("setStateTo: LOOK_FOR_BUSINESS"); "ENTER WORMHOLE" = ("setStateTo: ENTER_WORMHOLE"); UPDATE = (escortCheckMother, "pauseAI: 15"); }; "BEGIN_BUSINESS" = { "LAUNCHED OKAY" = ("setStateTo: CLEAR_STATION"); ATTACKED = (setTargetToPrimaryAggressor, "setAITo: interceptAI.plist"); ESCORTING = ("setDesiredRangeTo: 0.0", "setStateTo: FLYING_ESCORT"); "NOT_ESCORTING" = ("setStateTo: LOOK_FOR_BUSINESS"); "EXITED WITCHSPACE" = ("setStateTo: EXIT_WORMHOLE"); UPDATE = (escortCheckMother, "pauseAI: 7.5"); }; "ENTER_WORMHOLE" = { ENTER = ( setDestinationToTarget, "setDesiredRangeTo: 1.0", "setSpeedFactorTo: 1.0", performFlyToRangeFromDestination, "dropMessages: TARGET_LOST" ); "PLAYER WITCHSPACE" = (enterTargetWormhole); "DESIRED_RANGE_ACHIEVED" = ("setStateTo: LOOK_FOR_BUSINESS"); }; "EXIT_WORMHOLE" = { ENTER = ( setDestinationToCurrentLocation, "setDesiredRangeTo: 7500.0", "setSpeedTo: 50", performFlyToRangeFromDestination ); ATTACKED = (setTargetToPrimaryAggressor, "setStateTo: FLYING_ESCORT", "setAITo: interceptAI.plist"); "CASCADE_WEAPON_DETECTED" = ("setAITo: fleeQMineAI.plist"); "GROUP_ATTACK_TARGET" = (setTargetToFoundTarget, "setStateTo: FLYING_ESCORT", "setAITo: interceptAI.plist"); "DESIRED_RANGE_ACHIEVED" = ("setStateTo: LOOK_FOR_BUSINESS"); ESCORTING = ("setDesiredRangeTo: 0.0", "setStateTo: NEXT_TARGET"); UPDATE = (escortCheckMother, "pauseAI: 2.5"); }; "CLEAR_STATION" = { ENTER = ( getWitchspaceEntryCoordinates, setDestinationFromCoordinates, "setDesiredRangeTo: 5000.0", "setSpeedFactorTo: 0.50", performFlyToRangeFromDestination, escortCheckMother ); "DESIRED_RANGE_ACHIEVED" = ("setStateTo: LOOK_FOR_BUSINESS"); "TARGET_FOUND" = (setTargetToFoundTarget, suggestEscort, "pauseAI: 1.0"); ESCORTING = ("setDesiredRangeTo: 0.0", "setStateTo: FLYING_ESCORT"); "NOT_ESCORTING" = (scanForFormationLeader); "NOTHING_FOUND" = ("setSpeedFactorTo: 0.50", performFlyToRangeFromDestination); UPDATE = ("pauseAI: 15.0"); }; "LOOK_FOR_BUSINESS" = { ENTER = (scanForFormationLeader); RESTARTED = ("setStateTo: BEGIN_BUSINESS"); "LAUNCHED OKAY" = ("setStateTo: CLEAR_STATION"); ATTACKED = (setTargetToPrimaryAggressor, "setAITo: interceptAI.plist"); ATTACKER_MISSED = (setTargetToPrimaryAggressor, "setAITo: interceptAI.plist"); "CASCADE_WEAPON_DETECTED" = ("setAITo: fleeQMineAI.plist"); ESCORTING = ("setDesiredRangeTo: 0.0", "setStateTo: FLYING_ESCORT"); "NOT_ESCORTING" = ("rollD: 10"); "ROLL_1" = ("setStateTo: CHOOSE_NEW_CAREER"); "TARGET_FOUND" = (setTargetToFoundTarget, suggestEscort); "NOTHING_FOUND" = ("setStateTo: CHOOSE_NEW_CAREER"); "FRUSTRATED" = ("setStateTo: CHOOSE_NEW_CAREER"); "GROUP_ATTACK_TARGET" = (setTargetToFoundTarget, "setStateTo: FLYING_ESCORT", "setAITo: interceptAI.plist"); UPDATE = ("pauseAI: 7.5", scanForFormationLeader); }; "NEXT_TARGET" = { ENTER = (requestNewTarget); RESTARTED = (requestNewTarget); "NOTHING_FOUND" = (switchLightsOff, "setStateTo: FLYING_ESCORT"); "TARGET_FOUND" = (setTargetToFoundTarget, "setAITo: interceptAI.plist"); "MOTHER_LOST" = (switchLightsOff, "setStateTo: BEGIN_BUSINESS"); "INCOMING_MISSILE" = ("messageMother: INCOMING_MISSILE"); "CASCADE_WEAPON_DETECTED" = ("setAITo: fleeQMineAI.plist"); }; "CHOOSE_NEW_CAREER" = { ENTER = (checkOwnLegalStatus); "SELF_CLEAN" = ("switchAITo: route1patrolAI.plist"); "SELF_MINOR_OFFENDER" = (checkForFullHold); "SELF_OFFENDER" = (checkForFullHold); "SELF_FUGITIVE" = ("switchAITo: pirateAI.plist"); "SELF_THARGOID" = ("switchAITo: thargoidAI.plist"); "NO_CARGO_BAY" = ("switchAITo: route1patrolAI.plist"); "HOLD_FULL" = ("switchAITo: route1traderAI.plist"); "HOLD_NOT_FULL" = ("switchAITo: pirateAI.plist"); }; }