oolite/Resources/AIs/oolite-constrictor-AI.plist

55 lines
2.2 KiB
Plaintext

{
GLOBAL =
{
ENTER = ("setStateTo: TRAVEL_TO_LURK_AREA");
};
"ATTACK_SHIP" =
{
ENTER = (performAttack);
ATTACKED = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
"ENERGY_LOW" = ("setStateTo: FLEE");
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
"TARGET_DESTROYED" = ("setStateTo: LURK");
"TARGET_LOST" = ("setStateTo: LURK");
"ENTER WORMHOLE" = ("setStateTo: ENTER_WORMHOLE");
UPDATE = ("sendScriptMessage: checkDistance", "pauseAI: 5.0");
};
FLEE =
{
ENTER = ("setDesiredRangeTo: 25600", performFlee);
"ENERGY_FULL" = (performIdle, "setStateTo: LURK");
"TARGET_LOST" = (performIdle, "setStateTo: LURK");
"DESIRED_RANGE_ACHIEVED" = (performIdle, "setStateTo: LURK");
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
"REACHED_SAFETY" = ("setSpeedTo: 0.0", performIdle, "pauseAI: 10.0");
ATTACKED = (setTargetToPrimaryAggressor, "setStateTo: FLEE");
UPDATE = ("sendScriptMessage: checkDistance", "pauseAI: 5.0");
};
"TRAVEL_TO_LURK_AREA" =
{
ENTER = (setDestinationToCurrentLocation, "setDesiredRangeTo: 1500.0", performFlyToRangeFromDestination);
ATTACKED = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
"DESIRED_RANGE_ACHIEVED" = ("setStateTo: LURK");
"GROUP_ATTACK_TARGET" = (setTargetToFoundTarget, "setStateTo: ATTACK_SHIP");
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
"EXITED WITCHSPACE" = ("setStateTo: LURK");
UPDATE = ("sendScriptMessage: checkDistance", "pauseAI: 1.0");
};
LURK =
{
ENTER = ("setSpeedTo: 0.0", performIdle);
ATTACKED = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
"TARGET_FOUND" = (setTargetToFoundTarget, checkGroupOddsVersusTarget);
"ODDS_GOOD" = (groupAttackTarget);
"ODDS_LEVEL" = (groupAttackTarget);
"GROUP_ATTACK_TARGET" = (setTargetToFoundTarget, "setStateTo: ATTACK_SHIP");
UPDATE = ("sendScriptMessage: checkDistance", "scanForNearestShipWithPrimaryRole: player", "pauseAI: 5.0");
};
"ENTER_WORMHOLE" =
{
ENTER = (setDestinationToTarget, "setDesiredRangeTo: 1.0", "setSpeedFactorTo: 1.0", performFlyToRangeFromDestination);
"PLAYER WITCHSPACE" = (enterTargetWormhole);
};
}