oolite/Resources/AIs/policeInterceptAI.plist

33 lines
1.1 KiB
Plaintext

{
GLOBAL =
{
ENTER = (switchLightsOn, "setStateTo: ATTACK_SHIP");
};
"ATTACK_SHIP" =
{
ENTER = (performAttack);
"ENERGY_LOW" = ("setStateTo: FLEE");
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
"TARGET_DESTROYED" = ("setStateTo: DOCK_WITH_STATION");
"TARGET_LOST" = ("setStateTo: DOCK_WITH_STATION");
};
"DOCK_WITH_STATION" =
{
ENTER = (switchLightsOff, setTargetToStation, "setDesiredRangeTo: 5000.0", performIntercept);
"ACCEPT_DISTRESS_CALL" = (setTargetToFoundTarget, "setAITo: interceptAI.plist");
ATTACKED = (switchLightsOn, setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
"GROUP_ATTACK_TARGET" = (switchLightsOn, setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
"DESIRED_RANGE_ACHIEVED" = ("setAITo: dockingAI.plist");
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
RESTARTED = ("setStateTo: DOCK_WITH_STATION");
};
FLEE =
{
ENTER = (performFlee);
"ENERGY_FULL" = ("setStateTo: ATTACK_SHIP");
"TARGET_LOST" = ("setStateTo: DOCK_WITH_STATION");
"TARGET_DESTROYED" = ("setStateTo: DOCK_WITH_STATION");
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
};
}