oolite/Resources/AIs/minerAI.plist

173 lines
2.8 KiB
Plaintext
Raw Normal View History

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