PirateCoves AI
From EliteWiki
Turns hermits into bloodsuckers!
Defined states:
- ATTACK: →IDLE
- GLOBAL: →SCANPREY
- IDLE: →ATTACK, →SCAN_DEBRIS
- SALVAGE: →ATTACK, →SCAN_PREY
- SCAN_DEBRIS: →ATTACK, →SCAN_DEBRIS, →SALVAGE
- SCAN_PREY: →ATTACK, →SCAN_DEBRIS
{
"ATTACK" = {
"ATTACKED" = (setTargetToPrimaryAggressor, increaseAlertLevel, groupAttackTarget, launchPirateShip, "pauseAI: 10.0");
"ENTER" = (increaseAlertLevel);
"EXIT" =();
"INCOMING_MISSILE" = (fireECM, increaseAlertLevel);
"NO_TARGET" = ("setStateTo: IDLE");
"RED_ALERT" = (launchPirateShip, "pauseAI: 10.0");
"TARGET_DESTROYED" = ("setStateTo: IDLE");
"TARGET_LOST" = ("setStateTo: IDLE");
"UPDATE" = (launchPirateShip, groupAttackTarget, "pauseAI: 10.0"); };
“GLOBAL” = {
“ENTER” = (“setStateTo: SCAN_PREY”); };
“IDLE” = {
“ATTACKED” = (setTargetToPrimaryAggressor, “setStateTo: ATTACK”);
“CONDITION_GREEN” = (“setStateTo: SCAN_DEBRIS”);
“ENTER” = ();
“EXIT” = ();
“INCOMING_MISSILE” = (fireECM, setTargetToPrimaryAggressor, “setStateTo: ATTACK”);
“UPDATE” = (“pauseAI: 20.0”, decreaseAlertLevel); };
“SALVAGE” = {
“ATTACKED” = (setTargetToPrimaryAggressor, “setStateTo: ATTACK”);
“ENTER” = (launchScavenger, “pauseAI: 20.0”);
“INCOMING_MISSILE” = (fireECM, setTargetToPrimaryAggressor, “setStateTo: ATTACK”);
“NOT_FOUND” = (“setStateTo: SCAN_PREY”);
“TARGET_FOUND” = (launchScavenger, “pauseAI: 20.0”);
“UPDATE” = (scanForLoot, “pauseAI: 20.0”); };
“SCAN_DEBRIS” = {
“ATTACKED” = (setTargetToPrimaryAggressor, “setStateTo: ATTACK”);
“ENTER” = (scanForLoot, “pauseAI: 5.0”);
“INCOMING_MISSILE” = (fireECM, setTargetToPrimaryAggressor, “setStateTo: ATTACK”);
“NOTHING_FOUND” = (“setStateTo: SCAN_PREY”);
“TARGET_FOUND” = (setTargetToFoundTarget, “setStateTo: SALVAGE”);
“UPDATE” = (scanForLoot, “pauseAI: 5.0”); };
“SCAN_PREY” = {
“ATTACKED” = (setTargetToPrimaryAggressor, “setStateTo: ATTACK”);
“ENTER” = (scanForRandomMerchantmen, “pauseAI: 5.0”);
“EXIT” = ();
“INCOMING_MISSILE” = (fireECM, setTargetToPrimaryAggressor, “setStateTo: ATTACK”);
“NOTHING_FOUND” = (“setStateTo: SCAN_DEBRIS”);
“TARGET_FOUND” = (setTargetToFoundTarget, “setStateTo: ATTACK”);
“UPDATE” = (scanForRandomMerchantmen, “pauseAI: 5.0”); };

