oolite/Resources/AIs/planetPatrolAI.plist

34 lines
1.5 KiB
Plaintext
Raw Normal View History

{
GLOBAL = {
ENTER = ("setStateTo: NEXT_COORDS");
UPDATE = ();
EXIT = ();
};
"NEXT_COORDS" = {
"APPROACH_COORDINATES" = ("setStateTo: GO_TO_COORDS");
ENTER = ();
UPDATE = (setPlanetPatrolCoordinates);
EXIT = ();
};
"GO_TO_COORDS" = {
ENTER = (
patrolReportIn,
"setSpeedFactorTo: 0.0",
setDestinationFromCoordinates,
checkCourseToDestination
);
"WAYPOINT_SET" = ("setAITo: gotoWaypointAI.plist");
"COURSE_OK" = ("setSpeedFactorTo: 0.5", performFlyToRangeFromDestination);
"DESIRED_RANGE_ACHIEVED" = ("setStateTo: NEXT_COORDS");
"TARGET_FOUND" = (setTargetToFoundTarget, checkTargetLegalStatus);
"TARGET_MINOR_OFFENDER" = (markTargetForFines);
"TARGET_MARKED" = ("sendTargetCommsMessage: [police-warning]");
"TARGET_OFFENDER" = ("sendTargetCommsMessage: [police-attack-warning]", "setAITo: interceptAI.plist");
"TARGET_FUGITIVE" = ("setAITo: interceptAI.plist");
ATTACKED = (setTargetToPrimaryAggressor, "setAITo: interceptAI.plist");
"OFFENCE_COMMITTED" = (setTargetToFoundTarget, "markTargetForOffence: 7", "sendTargetCommsMessage: [police-attack-warning]", "setAITo: interceptAI.plist");
UPDATE = (setDestinationFromCoordinates, checkCourseToDestination, scanForOffenders, "pauseAI: 7.5");
EXIT = ();
};
"EXIT_SYSTEM" = {ENTER = (performDocking, exitAI); EXIT = (); UPDATE = (); };
}