8b456c000b
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1 127b21dd-08f5-0310-b4b7-95ae10353056
94 lines
3.9 KiB
Plaintext
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 = ();
|
|
};
|
|
} |