oolite/Resources/AIs/route1patrolAI.plist
Eric Walch b4e88583c5 - changed code that made that every entity, including subentities got an escortGroup.
- further tweaks in jink setting for dealing with high speed approach
- added code to route1patrol that allows escorts in this AI to sometimes start escorting again.

git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@3771 127b21dd-08f5-0310-b4b7-95ae10353056
2010-10-17 10:51:23 +00:00

89 lines
4.5 KiB
Plaintext

{
GLOBAL =
{
ENTER = (switchLightsOff, "setStateTo: HEAD_FOR_WITCHPOINT");
};
"HEAD_FOR_PLANET" =
{
ENTER = (setCourseToPlanet, "setDesiredRangeTo: 50000.0", checkCourseToDestination);
"COURSE_OK" = (setSpeedToCruiseSpeed, performFlyToRangeFromDestination);
"WAYPOINT_SET" = ("setAITo: gotoWaypointAI.plist");
"DOCKING_REQUESTED" = ("setAITo: receiveDockingAI.plist");
"AEGIS_CLOSE_TO_MAIN_PLANET" = ("setStateTo: HEAD_FOR_WITCHPOINT");
"DESIRED_RANGE_ACHIEVED" = ("setStateTo: HEAD_FOR_WITCHPOINT");
"ACCEPT_DISTRESS_CALL" = (setTargetToFoundTarget, deployEscorts, groupAttackTarget);
"OFFENCE_COMMITTED" = (setTargetToFoundTarget, "markTargetForOffence: 7", deployEscorts, groupAttackTarget);
"TARGET_FOUND" = (setTargetToFoundTarget, deployEscorts, groupAttackTarget);
"INCOMING_MISSILE" = (fightOrFleeMissile, setTargetToPrimaryAggressor, deployEscorts, groupAttackTarget);
ATTACKED = (setTargetToPrimaryAggressor, groupAttackTarget);
"GROUP_ATTACK_TARGET" = (setTargetToFoundTarget, "setStateTo: INBOUND_LOOT", "setAITo: interceptAI.plist");
RESTARTED = (checkAegis);
UPDATE = (setCourseToPlanet, "setDesiredRangeTo: 50000.0", checkCourseToDestination, scanForOffenders, "pauseAI: 10.0");
};
"HEAD_FOR_WITCHPOINT" =
{
ENTER = (setCourseToWitchpoint, checkCourseToDestination);
"COURSE_OK" = (setSpeedToCruiseSpeed, performFlyToRangeFromDestination);
"WAYPOINT_SET" = ("setAITo: gotoWaypointAI.plist");
"DOCKING_REQUESTED" = ("setAITo: receiveDockingAI.plist");
"DESIRED_RANGE_ACHIEVED" = ("setStateTo: HEAD_FOR_PLANET");
"ACCEPT_DISTRESS_CALL" = (setTargetToFoundTarget, deployEscorts, groupAttackTarget);
"OFFENCE_COMMITTED" = (setTargetToFoundTarget, "markTargetForOffence: 7", deployEscorts, groupAttackTarget);
"TARGET_FOUND" = (setTargetToFoundTarget, deployEscorts, groupAttackTarget);
"INCOMING_MISSILE" = (fightOrFleeMissile, setTargetToPrimaryAggressor, deployEscorts, groupAttackTarget);
ATTACKED = (setTargetToPrimaryAggressor, groupAttackTarget);
"GROUP_ATTACK_TARGET" = (setTargetToFoundTarget, "setStateTo: OUTBOUND_LOOT", "setAITo: interceptAI.plist");
UPDATE = (setCourseToWitchpoint, checkCourseToDestination, scanForOffenders, "pauseAI: 10.0");
};
"INBOUND_LOOT" =
{
ENTER = ("setSpeedTo: 0.0", performIdle);
"GROUP_ATTACK_TARGET" = (setTargetToFoundTarget, "setAITo: interceptAI.plist");
"DOCKING_REQUESTED" = ("setSpeedFactorTo: 0.0", "setAITo: receivingDockingAI.plist");
ATTACKED = (setTargetToPrimaryAggressor, groupAttackTarget);
"INCOMING_MISSILE" = (fightOrFleeMissile, setTargetToPrimaryAggressor, deployEscorts, groupAttackTarget);
"TARGET_FOUND" = (setTargetToFoundTarget, "setAITo: collectLootAI.plist");
"NOTHING_FOUND" = ("setStateTo: INBOUND_CHECK");
"HOLD_FULL" = ("setStateTo: INBOUND_CHECK");
UPDATE = (scanForLoot, "pauseAI: 10.0");
};
"OUTBOUND_LOOT" =
{
ENTER = ("setSpeedTo: 0.0", performIdle);
"GROUP_ATTACK_TARGET" = (setTargetToFoundTarget, "setAITo: interceptAI.plist");
"DOCKING_REQUESTED" = ("setSpeedFactorTo: 0.0", "setAITo: receivingDockingAI.plist");
ATTACKED = (setTargetToPrimaryAggressor, groupAttackTarget);
"INCOMING_MISSILE" = (fightOrFleeMissile, setTargetToPrimaryAggressor, deployEscorts, groupAttackTarget);
"TARGET_FOUND" = (setTargetToFoundTarget, "setAITo: collectLootAI.plist");
"NOTHING_FOUND" = ("setStateTo: OUTBOUND_CHECK");
"HOLD_FULL" = ("setStateTo: OUTBOUND_CHECK");
UPDATE = (scanForLoot, "pauseAI: 10.0");
};
"INBOUND_CHECK" =
{
ENTER = (scanForFormationLeader);
RESTARTED = ("setStateTo: INBOUND_LOOT");
"OFFENCE_COMMITTED" = (setTargetToFoundTarget, "markTargetForOffence: 7", deployEscorts, groupAttackTarget);
"TARGET_FOUND" = ("switchAITo: escortAI.plist");
"NOTHING_FOUND" = (checkForNormalSpace);
"GROUP_ATTACK_TARGET" = (setTargetToFoundTarget, "setAITo: interceptAI.plist");
"NORMAL_SPACE" = (checkAegis, "setStateTo: HEAD_FOR_PLANET");
"INTERSTELLAR_SPACE" = ("setSpeedFactorTo: 1.0", "pauseAI: 15.0", "setStateTo: HYPER_OUT");
};
"OUTBOUND_CHECK" =
{
ENTER = (scanForFormationLeader);
RESTARTED = ("setStateTo: OUTBOUND_LOOT");
"OFFENCE_COMMITTED" = (setTargetToFoundTarget, "markTargetForOffence: 7", deployEscorts, groupAttackTarget);
"TARGET_FOUND" = ("switchAITo: escortAI.plist");
"NOTHING_FOUND" = (checkForNormalSpace);
"GROUP_ATTACK_TARGET" = (setTargetToFoundTarget, "setAITo: interceptAI.plist");
"NORMAL_SPACE" = ("setStateTo: HEAD_FOR_WITCHPOINT");
"INTERSTELLAR_SPACE" = ("setSpeedFactorTo: 1.0", "pauseAI: 15.0", "setStateTo: HYPER_OUT");
};
"HYPER_OUT" =
{
UPDATE = (performHyperSpaceExit);
};
}