Difference between revisions of "ThargoidAI"
From Elite Wiki
m |
m |
||
| Line 4: | Line 4: | ||
* '''ATTACK_SHIP''': →ATTACK_SHIP, →LOOK_FOR_TARGETS |
* '''ATTACK_SHIP''': →ATTACK_SHIP, →LOOK_FOR_TARGETS |
||
* '''HEAD_FOR_PLANET''': →GO_TO_WAYPOINT1, →LOOK_FOR_TARGETS, →ATTACK_SHIP |
* '''HEAD_FOR_PLANET''': →GO_TO_WAYPOINT1, →LOOK_FOR_TARGETS, →ATTACK_SHIP |
||
| − | * '''GO_TO_WAYPOINT1''': →HEAD_FOR_PLANET, |
+ | * '''GO_TO_WAYPOINT1''': →HEAD_FOR_PLANET, →ATTACK_SHIP |
Revision as of 18:45, 17 February 2006
Defined states:
- GLOBAL: →LOOK_FOR_TARGETS
- LOOK_FOR_TARGETS: →ATTACK_SHIP, →HEAD_FOR_PLANET
- ATTACK_SHIP: →ATTACK_SHIP, →LOOK_FOR_TARGETS
- HEAD_FOR_PLANET: →GO_TO_WAYPOINT1, →LOOK_FOR_TARGETS, →ATTACK_SHIP
- GO_TO_WAYPOINT1: →HEAD_FOR_PLANET, →ATTACK_SHIP
{
"ATTACK_SHIP" = {
"ATTACKED" = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
ENTER = (performAttack);
EXIT = ();
"INCOMING_MISSILE" = (fightOrFleeMissile, setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
"TARGET_DESTROYED" = ("setStateTo: LOOK_FOR_TARGETS");
"TARGET_FOUND" = (setTargetToFoundTarget, "setStateTo: ATTACK_SHIP");
"TARGET_LOST" = ("setStateTo: LOOK_FOR_TARGETS");
UPDATE = (scanForNonThargoid, "pauseAI: 15.0"); };
"LOOK_FOR_TARGETS" = {
"ATTACKED" = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
"INCOMING_MISSILE" = (fightOrFleeMissile, setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
"TARGET_FOUND" = (setTargetToFoundTarget, "setStateTo: ATTACK_SHIP");
"NOTHING_FOUND" = ("setStateTo: HEAD_FOR_PLANET");
ENTER = ("setSpeedTo: 0.0", performTumble, scanForNonThargoid, "pauseAI: 5.0");
EXIT = ();
UPDATE = (scanForNonThargoid, "pauseAI: 5.0"); };
"HEAD_FOR_PLANET" = {
ENTER = (setCourseToPlanet, "setDesiredRangeTo: 80000.0", checkCourseToDestination);
"COURSE_OK" = ("setSpeedFactorTo: 1.0", performFlyToRangeFromDestination);
"WAYPOINT_SET" = ("setStateTo: GO_TO_WAYPOINT1");
"DESIRED_RANGE_ACHIEVED" = ("setStateTo: LOOK_FOR_TARGETS");
ATTACKED = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
"INCOMING_MISSILE" = (fightOrFleeMissile, setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
"TARGET_FOUND" = (setTargetToFoundTarget, "setStateTo: ATTACK_SHIP");
EXIT = ();
UPDATE = (scanForNonThargoid, "pauseAI: 10.0"); };
"GO_TO_WAYPOINT1" = {
ENTER = ("setDesiredRangeTo: 50.0", checkCourseToDestination);
"COURSE_OK" = ("setSpeedFactorTo: 1.0", performFlyToRangeFromDestination);
"WAYPOINT_SET" = ("setDesiredRangeTo: 50.0", checkCourseToDestination);
"DESIRED_RANGE_ACHIEVED" = ("setStateTo: HEAD_FOR_PLANET");
ATTACKED = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
"INCOMING_MISSILE" = (fightOrFleeMissile, setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
EXIT = ();
UPDATE = (scanForNonThargoid, "pauseAI: 10.0"); };
GLOBAL = {
ENTER = ("setStateTo: LOOK_FOR_TARGETS");
EXIT = ();
UPDATE = (); };
}