oolite/Resources/AIs/minerAI.plist

60 lines
2.5 KiB
Plaintext
Raw Normal View History

{
GLOBAL =
{
ENTER = ("setSpeedFactorTo: 0.1", "setStateTo: LOOK_FOR_SPLINTERS");
};
"LOOK_FOR_ROCKS" =
{
ENTER = (performIdle);
"TARGET_FOUND" = (setTargetToFoundTarget, "setStateTo: BREAK_ROCKS");
"NOTHING_FOUND" = ("setStateTo: DOCK_WITH_STATION");
ATTACKED = (setTargetToPrimaryAggressor, groupAttackTarget, broadcastDistressMessage, "setStateTo: FLEE");
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
UPDATE = (scanForRocks, "pauseAI: 10.0");
};
"BREAK_ROCKS" =
{
ENTER = (performMining);
"TARGET_DESTROYED" = ("setStateTo: LOOK_FOR_SPLINTERS");
"TARGET_LOST" = ("setStateTo: LOOK_FOR_SPLINTERS");
ATTACKED = (setTargetToPrimaryAggressor, groupAttackTarget, broadcastDistressMessage, "setStateTo: FLEE");
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
};
"LOOK_FOR_SPLINTERS" =
{
ENTER = (performIdle, checkForFullHold);
"TARGET_FOUND" = (setTargetToFoundTarget, "setStateTo: COLLECT_STUFF");
"NOTHING_FOUND" = ("setStateTo: LOOK_FOR_ROCKS");
"HOLD_FULL" = ("setStateTo: DOCK_WITH_STATION");
"NO_CARGO_BAY" = ("setStateTo: DOCK_WITH_STATION");
ATTACKED = (setTargetToPrimaryAggressor, groupAttackTarget, broadcastDistressMessage, "setStateTo: FLEE");
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
UPDATE = (scanForRandomLoot, "pauseAI: 10.0");
};
"COLLECT_STUFF" =
{
ENTER = (performCollect);
FRUSTRATED = ("setStateTo: LOOK_FOR_SPLINTERS");
"CARGO_SCOOPED" = ("setStateTo: LOOK_FOR_SPLINTERS");
"HOLD_FULL" = ("setStateTo: DOCK_WITH_STATION");
"TARGET_LOST" = ("setStateTo: LOOK_FOR_SPLINTERS");
"COLLISION" = ("setStateTo: LOOK_FOR_SPLINTERS");
ATTACKED = (setTargetToPrimaryAggressor, groupAttackTarget, broadcastDistressMessage, "setStateTo: FLEE");
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
};
"DOCK_WITH_STATION" =
{
ENTER = (setTargetToStation, "setDesiredRangeTo: 5000.0", performIntercept);
"DESIRED_RANGE_ACHIEVED" = ("setAITo: dockingAI.plist");
ATTACKED = (setTargetToPrimaryAggressor, groupAttackTarget, broadcastDistressMessage, "setStateTo: ATTACK_SHIP");
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
};
FLEE =
{
ENTER = ("setDesiredRangeTo: 25600", performFlee);
"INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
"REACHED_SAFETY" = ("setSpeedTo: 0.0", performIdle);
"ENERGY_FULL" = (performIdle, "setStateTo: LOOK_FOR_SPLINTERS");
"TARGET_LOST" = (performIdle, "setStateTo: LOOK_FOR_SPLINTERS");
};
}