oolite/sunSkimExitAI.plist
Dylan Smith 8b456c000b oolite initial import
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1 127b21dd-08f5-0310-b4b7-95ae10353056
2005-04-19 19:53:18 +00:00

94 lines
3.9 KiB
Plaintext

{
"ATTACK_SHIP" = {
"ENERGY_LOW" = ("setSpeedFactorTo: 1.0", "pauseAI: 15.0", "setStateTo: EXIT_SYSTEM");
ENTER = (performAttack);
EXIT = ();
"INCOMING_MISSILE" = (
fightOrFleeMissile,
"setSpeedFactorTo: 1.0",
"pauseAI: 15.0",
"setStateTo: EXIT_SYSTEM"
);
"TARGET_DESTROYED" = ("setStateTo: HEAD_AWAY_FROM_PLANET");
"TARGET_LOST" = ("setStateTo: HEAD_AWAY_FROM_PLANET");
UPDATE = ();
};
"EXIT_SYSTEM" = {ENTER = (); EXIT = (); UPDATE = (performHyperSpaceExit); };
FLEE = {
ATTACKED = (fightOrFleeHostiles);
ENTER = ("setDesiredRangeTo: 25600", performFlee);
EXIT = ();
FIGHTING = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
FLEEING = (setTargetToPrimaryAggressor, "setStateTo: FLEE");
"INCOMING_MISSILE" = (setTargetToPrimaryAggressor, broadcastDistressMessage, fightOrFleeMissile);
"REACHED_SAFETY" = (performIdle, "setStateTo: GLOBAL");
"TARGET_DESTROYED" = (performIdle, "setStateTo: GLOBAL");
"TARGET_LOST" = (performIdle, "setStateTo: GLOBAL");
UPDATE = ();
};
GLOBAL = {ENTER = ("setStateTo: HEAD_FOR_SUN"); EXIT = (); UPDATE = (); };
"GO_TO_WAYPOINT1" = {
ATTACKED = (fightOrFleeHostiles);
"COURSE_OK" = ("setSpeedFactorTo: 0.75", performFlyToRangeFromDestination);
"DESIRED_RANGE_ACHIEVED" = ("setStateTo: HEAD_FOR_SUN");
ENTER = ("setDesiredRangeTo: 50.0", checkCourseToDestination);
EXIT = ();
FIGHTING = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
FLEEING = (setTargetToPrimaryAggressor, "setStateTo: FLEE");
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
UPDATE = ();
"WAYPOINT_SET" = ("setDesiredRangeTo: 50.0", checkCourseToDestination);
};
"HEAD_FOR_SUN" = {
ATTACKED = (fightOrFleeHostiles);
"COURSE_OK" = (
"setDesiredRangeTo: 500.0",
"setSpeedFactorTo: 0.75",
performFlyToRangeFromDestination
);
"DESIRED_RANGE_ACHIEVED" = ("setStateTo: SKIM_SUN");
ENTER = (
setSunSkimStartCoordinates,
setDestinationFromCoordinates,
checkCourseToDestination
);
EXIT = ();
FIGHTING = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
FLEEING = (setTargetToPrimaryAggressor, "setStateTo: FLEE");
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
UPDATE = ();
"WAYPOINT_SET" = ("setStateTo: GO_TO_WAYPOINT1");
};
"LEAVE_SUN" = {
ATTACKED = (fightOrFleeHostiles);
"DESIRED_RANGE_ACHIEVED" = ("setStateTo: EXIT_SYSTEM");
ENTER = (
setSunSkimExitCoordinates,
setDestinationFromCoordinates,
"setDesiredRangeTo: 250.0",
"setSpeedFactorTo: 1.0",
performFlyToRangeFromDestination
);
EXIT = ();
FIGHTING = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
FLEEING = (setTargetToPrimaryAggressor, "setStateTo: FLEE");
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
UPDATE = ();
};
"SKIM_SUN" = {
ATTACKED = (fightOrFleeHostiles);
"DESIRED_RANGE_ACHIEVED" = ("setStateTo: LEAVE_SUN");
ENTER = (
setSunSkimEndCoordinates,
setDestinationFromCoordinates,
"setDesiredRangeTo: 100.0",
"setSpeedFactorTo: 1.0",
performFlyToRangeFromDestination
);
EXIT = ();
FIGHTING = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
FLEEING = (setTargetToPrimaryAggressor, "setStateTo: FLEE");
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
UPDATE = ();
};
}