2005-04-19 19:53:18 +00:00
|
|
|
{
|
|
|
|
FLEE = {
|
2005-06-08 10:14:52 +00:00
|
|
|
ENTER = (
|
|
|
|
"setDesiredRangeTo: 25600",
|
|
|
|
performFlee
|
|
|
|
);
|
|
|
|
EXIT = (
|
|
|
|
);
|
|
|
|
INCOMING_MISSILE = (
|
|
|
|
fightOrFleeMissile,
|
|
|
|
"setStateTo: FLEE"
|
|
|
|
);
|
|
|
|
REACHED_SAFETY = (
|
|
|
|
"setSpeedTo: 0.0",
|
|
|
|
performIdle,
|
|
|
|
"pauseAI: 30.0"
|
|
|
|
);
|
|
|
|
TARGET_LOST = (
|
|
|
|
performIdle,
|
|
|
|
"setStateTo: GLOBAL"
|
|
|
|
);
|
|
|
|
UPDATE = (
|
|
|
|
);
|
|
|
|
};
|
|
|
|
GLOBAL = {
|
|
|
|
ENTER = (
|
|
|
|
"setSpeedTo: 0.0",
|
|
|
|
"setStateTo: LIFT_OFF"
|
|
|
|
);
|
|
|
|
EXIT = (
|
|
|
|
);
|
|
|
|
UPDATE = (
|
|
|
|
);
|
|
|
|
};
|
|
|
|
GO_TO_STATION = {
|
|
|
|
ATTACKED = (
|
|
|
|
setTargetToPrimaryAggressor,
|
|
|
|
broadcastDistressMessage,
|
|
|
|
"setStateTo: FLEE"
|
|
|
|
);
|
|
|
|
COURSE_OK = (
|
|
|
|
"setSpeedFactorTo: 1.0",
|
|
|
|
performFlyToRangeFromDestination
|
|
|
|
);
|
|
|
|
DESIRED_RANGE_ACHIEVED = (
|
|
|
|
"setAITo: dockingAI.plist"
|
|
|
|
);
|
|
|
|
ENTER = (
|
|
|
|
setTargetToStation,
|
|
|
|
"setDesiredRangeTo: 5000.0",
|
|
|
|
setDestinationToTarget,
|
|
|
|
checkCourseToDestination
|
|
|
|
);
|
|
|
|
EXIT = (
|
|
|
|
);
|
|
|
|
INCOMING_MISSILE = (
|
|
|
|
fightOrFleeMissile,
|
|
|
|
"setStateTo: FLEE"
|
|
|
|
);
|
|
|
|
UPDATE = (
|
|
|
|
);
|
|
|
|
WAYPOINT_SET = (
|
|
|
|
"setStateTo: GO_TO_WAYPOINT"
|
|
|
|
);
|
|
|
|
};
|
|
|
|
GO_TO_WAYPOINT = {
|
|
|
|
ATTACKED = (
|
|
|
|
setTargetToPrimaryAggressor,
|
|
|
|
broadcastDistressMessage,
|
|
|
|
"setStateTo: FLEE"
|
|
|
|
);
|
|
|
|
COURSE_OK = (
|
|
|
|
"setSpeedFactorTo: 1.0",
|
|
|
|
performFlyToRangeFromDestination
|
|
|
|
);
|
|
|
|
DESIRED_RANGE_ACHIEVED = (
|
|
|
|
"setStateTo: GO_TO_STATION"
|
|
|
|
);
|
|
|
|
ENTER = (
|
|
|
|
"setDesiredRangeTo: 50.0",
|
|
|
|
checkCourseToDestination
|
|
|
|
);
|
|
|
|
EXIT = (
|
|
|
|
);
|
|
|
|
INCOMING_MISSILE = (
|
|
|
|
fightOrFleeMissile,
|
|
|
|
"setStateTo: FLEE"
|
|
|
|
);
|
|
|
|
UPDATE = (
|
|
|
|
);
|
|
|
|
WAYPOINT_SET = (
|
|
|
|
"setDesiredRangeTo: 50.0",
|
|
|
|
checkCourseToDestination
|
|
|
|
);
|
|
|
|
};
|
|
|
|
LIFT_OFF = {
|
|
|
|
ATTACKED = (
|
|
|
|
setTargetToPrimaryAggressor,
|
|
|
|
broadcastDistressMessage,
|
|
|
|
"setStateTo: FLEE"
|
|
|
|
);
|
|
|
|
DESIRED_RANGE_ACHIEVED = (
|
|
|
|
"setStateTo: GO_TO_STATION"
|
|
|
|
);
|
|
|
|
ENTER = (
|
|
|
|
setTakeOffFromPlanet,
|
|
|
|
"setSpeedFactorTo: 1.0",
|
|
|
|
performFlyToRangeFromDestination
|
|
|
|
);
|
|
|
|
EXIT = (
|
|
|
|
);
|
|
|
|
INCOMING_MISSILE = (
|
|
|
|
fightOrFleeMissile,
|
|
|
|
"setStateTo: FLEE"
|
|
|
|
);
|
|
|
|
UPDATE = (
|
|
|
|
);
|
|
|
|
};
|
2005-04-19 19:53:18 +00:00
|
|
|
}
|