2005-04-19 19:53:18 +00:00
|
|
|
{
|
2009-07-08 16:20:10 +00:00
|
|
|
GLOBAL = {ENTER = ("setStateTo: TRAVEL_TO_LURK_AREA"); };
|
2009-07-04 22:06:27 +00:00
|
|
|
"ATTACK_SHIP" = {
|
2009-07-08 16:20:10 +00:00
|
|
|
ENTER = (performAttack);
|
2009-07-04 22:06:27 +00:00
|
|
|
ATTACKED = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
|
2009-07-08 16:20:10 +00:00
|
|
|
"ATTACKED_BY_CLOAKED" = ("setStateTo: FLEE_FOR_CLOAKED");
|
2009-07-04 22:06:27 +00:00
|
|
|
"ENERGY_LOW" = ("setStateTo: FLEE");
|
|
|
|
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
|
|
|
|
"TARGET_DESTROYED" = ("setStateTo: COLLECT_LOOT");
|
|
|
|
"TARGET_LOST" = ("setStateTo: COLLECT_LOOT");
|
2005-11-05 13:58:18 +00:00
|
|
|
"ENTER WORMHOLE" = ("setStateTo: ENTER_WORMHOLE");
|
2009-07-08 16:20:10 +00:00
|
|
|
"PLAYER WITCHSPACE" = (enterTargetWormhole);
|
2009-07-04 22:06:27 +00:00
|
|
|
};
|
|
|
|
FLEE = {
|
|
|
|
ENTER = ("setDesiredRangeTo: 25600", performFlee);
|
|
|
|
"ENERGY_FULL" = ("setStateTo: LURK");
|
|
|
|
"TARGET_LOST" = ("setStateTo: LURK");
|
|
|
|
"DESIRED_RANGE_ACHIEVED" = ("setStateTo: LURK");
|
|
|
|
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
|
|
|
|
"REACHED_SAFETY" = ("setSpeedTo: 0.0", performIdle, "pauseAI: 10.0");
|
|
|
|
ATTACKED = (setTargetToPrimaryAggressor, "setStateTo: FLEE");
|
|
|
|
};
|
|
|
|
"FLEE_FOR_CLOAKED" = {
|
|
|
|
ENTER = ("setDesiredRangeTo: 7500", performFlee);
|
|
|
|
"ENERGY_FULL" = ("setStateTo: LURK");
|
|
|
|
"ENERGY_LOW" = ("setStateTo: FLEE");
|
|
|
|
"TARGET_LOST" = ("setStateTo: LURK");
|
|
|
|
"DESIRED_RANGE_ACHIEVED" = ("setStateTo: LURK");
|
|
|
|
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
|
|
|
|
"REACHED_SAFETY" = ("setSpeedTo: 0.0", performIdle, "pauseAI: 10.0");
|
|
|
|
ATTACKED = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
|
|
|
|
};
|
|
|
|
"COLLECT_LOOT" = {
|
|
|
|
ENTER = ("setSpeedTo: 0.0", performIdle);
|
2009-07-08 16:20:10 +00:00
|
|
|
ATTACKED = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
|
|
|
|
"ATTACKED_BY_CLOAKED" = ("setStateTo: FLEE_FOR_CLOAKED");
|
2009-07-04 22:06:27 +00:00
|
|
|
"HOLD_FULL" = ("setStateTo: CONSIDER_DOCKING");
|
|
|
|
"GROUP_ATTACK_TARGET" = (setTargetToFoundTarget, "setStateTo: ATTACK_SHIP");
|
|
|
|
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
|
|
|
|
"TARGET_FOUND" = (setTargetToFoundTarget, "setStateTo: LOOT");
|
|
|
|
"NOTHING_FOUND" = ("setStateTo: CONSIDER_DOCKING");
|
2005-11-05 13:58:18 +00:00
|
|
|
"ENTER WORMHOLE" = ("setStateTo: ENTER_WORMHOLE");
|
2009-07-04 22:06:27 +00:00
|
|
|
UPDATE = (scanForLoot, "pauseAI: 5.0");
|
|
|
|
};
|
|
|
|
LOOT = {
|
|
|
|
ENTER = (performCollect);
|
|
|
|
ATTACKED = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
|
2009-07-08 16:20:10 +00:00
|
|
|
"ATTACKED_BY_CLOAKED" = ("setStateTo: FLEE_FOR_CLOAKED");
|
2009-07-04 22:06:27 +00:00
|
|
|
"CARGO_SCOOPED" = ("setStateTo: CHECK_CARGO");
|
|
|
|
FRUSTRATED = ("setStateTo: COLLECT_LOOT");
|
|
|
|
"GROUP_ATTACK_TARGET" = (setTargetToFoundTarget, "setStateTo: ATTACK_SHIP");
|
|
|
|
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
|
|
|
|
"TARGET_FOUND" = (setTargetToFoundTarget, "setStateTo: LOOT");
|
|
|
|
"NOTHING_FOUND" = ("setStateTo: CONSIDER_DOCKING");
|
|
|
|
"TARGET_LOST" = ("setStateTo: CHECK_CARGO");
|
2005-11-05 13:58:18 +00:00
|
|
|
"ENTER WORMHOLE" = ("setStateTo: ENTER_WORMHOLE");
|
2009-07-04 22:06:27 +00:00
|
|
|
};
|
|
|
|
"CHECK_CARGO" = {
|
|
|
|
ENTER = ("setSpeedTo: 0.0", performIdle, checkForFullHold);
|
|
|
|
ATTACKED = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
|
2009-07-08 16:20:10 +00:00
|
|
|
"ATTACKED_BY_CLOAKED" = ("setStateTo: FLEE_FOR_CLOAKED");
|
2009-07-04 22:06:27 +00:00
|
|
|
"HOLD_FULL" = ("setStateTo: CONSIDER_LEAVING");
|
|
|
|
"HOLD_NOT_FULL" = ("setStateTo: COLLECT_LOOT");
|
|
|
|
"NO_CARGO_BAY" = ("setStateTo: COLLECT_LOOT");
|
|
|
|
"GROUP_ATTACK_TARGET" = (setTargetToFoundTarget, "setStateTo: ATTACK_SHIP");
|
|
|
|
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
|
2005-11-05 13:58:18 +00:00
|
|
|
"ENTER WORMHOLE" = ("setStateTo: ENTER_WORMHOLE");
|
2009-07-04 22:06:27 +00:00
|
|
|
};
|
|
|
|
"CONSIDER_LEAVING" = {
|
|
|
|
ATTACKED = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
|
2009-07-08 16:20:10 +00:00
|
|
|
"ATTACKED_BY_CLOAKED" = ("setStateTo: FLEE_FOR_CLOAKED");
|
2009-07-04 22:06:27 +00:00
|
|
|
"NOTHING_FOUND" = ("setStateTo: EXIT_SYSTEM", "pauseAI: 5.0");
|
|
|
|
"STATION_FOUND" = ("setAITo: dockingAI.plist");
|
|
|
|
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
|
2009-07-08 16:20:10 +00:00
|
|
|
UPDATE = (checkForMotherStation);
|
2009-07-04 22:06:27 +00:00
|
|
|
};
|
|
|
|
"EXIT_SYSTEM" = {
|
|
|
|
"WITCHSPACE OKAY" = (wormholeEscorts, wormholeGroup);
|
|
|
|
"WITCHSPACE BLOCKED" = (setTargetToFoundTarget,
|
|
|
|
setDestinationWithinTarget,
|
|
|
|
"setDesiredRangeTo: 10000.0",
|
|
|
|
performFlyToRangeFromDestination
|
|
|
|
);
|
|
|
|
"WITCHSPACE UNAVAILABLE" = ("setStateTo: DOCK_WITH_STATION");
|
2009-07-08 16:20:10 +00:00
|
|
|
UPDATE = (performHyperSpaceExit, "pauseAI: 5.0");
|
2009-07-04 22:06:27 +00:00
|
|
|
};
|
|
|
|
"CONSIDER_DOCKING" = {
|
|
|
|
ATTACKED = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
|
|
|
|
"ATTACKED_BY_CLOAKED" = ("setStateTo: FLEE_FOR_CLOAKED");
|
2005-04-19 19:53:18 +00:00
|
|
|
"NOTHING_FOUND" = ("setStateTo: LURK");
|
|
|
|
"STATION_FOUND" = ("setAITo: dockingAI.plist");
|
2009-07-04 22:06:27 +00:00
|
|
|
"CARGO_SCOOPED" = ("setStateTo: CHECK_CARGO");
|
|
|
|
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
|
2009-07-08 16:20:10 +00:00
|
|
|
UPDATE = (checkForMotherStation);
|
2009-07-04 22:06:27 +00:00
|
|
|
};
|
|
|
|
"DOCK_WITH_STATION" = {
|
2006-03-05 16:26:25 +00:00
|
|
|
ENTER = (checkForMotherStation);
|
2009-07-08 16:20:10 +00:00
|
|
|
ATTACKED = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
|
|
|
|
"ATTACKED_BY_CLOAKED" = ("setStateTo: FLEE_FOR_CLOAKED");
|
2006-03-05 16:26:25 +00:00
|
|
|
"NOTHING_FOUND" = ("setAITo: route1traderAI.plist");
|
|
|
|
"STATION_FOUND" = ("setAITo: dockingAI.plist");
|
2009-07-04 22:06:27 +00:00
|
|
|
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
|
|
|
|
};
|
|
|
|
"ENTER_WORMHOLE" = {
|
|
|
|
ENTER = (setDestinationToTarget,
|
|
|
|
"setDesiredRangeTo: 1.0",
|
|
|
|
"setSpeedFactorTo: 1.0",
|
|
|
|
performFlyToRangeFromDestination
|
|
|
|
);
|
2009-07-08 16:20:10 +00:00
|
|
|
"TARGET_LOST" = ("setStateTo: LURK");
|
|
|
|
"DESIRED_RANGE_ACHIEVED" = ("setStateTo: LURK");
|
2005-11-19 12:06:54 +00:00
|
|
|
"PLAYER WITCHSPACE" = (enterTargetWormhole);
|
2009-07-04 22:06:27 +00:00
|
|
|
};
|
|
|
|
LURK = {
|
|
|
|
ENTER = ("setSpeedTo: 0.0", performIdle);
|
|
|
|
ATTACKED = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
|
2009-07-08 16:20:10 +00:00
|
|
|
"ATTACKED_BY_CLOAKED" = ("setStateTo: FLEE_FOR_CLOAKED");
|
|
|
|
"TARGET_LOST" = ("setStateTo: TRAVEL_TO_LURK_AREA", "pauseAI: 0.5");
|
2009-07-04 22:06:27 +00:00
|
|
|
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
|
|
|
|
"NOTHING_FOUND" = ("setStateTo: COLLECT_LOOT");
|
|
|
|
"TARGET_FOUND" = (setTargetToFoundTarget, checkGroupOddsVersusTarget);
|
|
|
|
"CARGO_SCOOPED" = ("setStateTo: CHECK_CARGO");
|
|
|
|
"ODDS_GOOD" = (groupAttackTarget);
|
|
|
|
"ODDS_LEVEL" = (groupAttackTarget);
|
|
|
|
"GROUP_ATTACK_TARGET" = (setTargetToFoundTarget, "setStateTo: ATTACK_SHIP");
|
|
|
|
"ENTER WORMHOLE" = ("setStateTo: ENTER_WORMHOLE");
|
|
|
|
UPDATE = (scanForRandomMerchantmen, "pauseAI: 5.0");
|
|
|
|
};
|
|
|
|
"TRAVEL_TO_LURK_AREA" = {
|
|
|
|
ENTER = (
|
|
|
|
setDestinationToCurrentLocation,
|
|
|
|
"setDesiredRangeTo: 1500.0",
|
|
|
|
performFlyToRangeFromDestination
|
|
|
|
);
|
|
|
|
ATTACKED = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
|
2009-07-08 16:20:10 +00:00
|
|
|
"ATTACKED_BY_CLOAKED" = ("setStateTo: FLEE_FOR_CLOAKED");
|
2009-07-04 22:06:27 +00:00
|
|
|
"DESIRED_RANGE_ACHIEVED" = ("setStateTo: LURK");
|
|
|
|
"GROUP_ATTACK_TARGET" = (setTargetToFoundTarget, "setStateTo: ATTACK_SHIP");
|
|
|
|
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
|
2009-07-08 16:20:10 +00:00
|
|
|
"LAUNCHED OKAY" = ("setStateTo: CLEAR_STATION");
|
2009-07-04 22:06:27 +00:00
|
|
|
"ENTER WORMHOLE" = ("setStateTo: ENTER_WORMHOLE");
|
|
|
|
"EXITED WITCHSPACE" = ("switchAITo: enteringPirateAI.plist");
|
2009-07-08 16:20:10 +00:00
|
|
|
"FRUSTRATED" = ("setStateTo: LURK");
|
2009-07-04 22:06:27 +00:00
|
|
|
};
|
|
|
|
"CLEAR_STATION" = {
|
|
|
|
ENTER = (
|
|
|
|
setDestinationToCurrentLocation,
|
|
|
|
"setDesiredRangeTo: 2000.0",
|
|
|
|
"setSpeedFactorTo: 0.75",
|
|
|
|
performFlyToRangeFromDestination
|
|
|
|
);
|
|
|
|
"DESIRED_RANGE_ACHIEVED" = (scanForRandomMerchantmen);
|
2009-07-08 16:20:10 +00:00
|
|
|
"NOTHING_FOUND" = ("setStateTo: TRAVEL_TO_LURK_AREA");
|
|
|
|
"TARGET_FOUND" = (groupAttackTarget);
|
|
|
|
"GROUP_ATTACK_TARGET" = (setTargetToFoundTarget, "setStateTo: ATTACK_SHIP");
|
2008-08-03 15:44:57 +00:00
|
|
|
};
|
2009-07-04 22:06:27 +00:00
|
|
|
}
|