2005-04-19 19:53:18 +00:00
|
|
|
{
|
2008-08-03 15:44:57 +00:00
|
|
|
GLOBAL =
|
|
|
|
{
|
|
|
|
ENTER = ("setStateTo: LOOK_FOR_TARGETS");
|
|
|
|
};
|
|
|
|
"ATTACK_SHIP" =
|
|
|
|
{
|
|
|
|
ENTER = (performAttack);
|
2009-12-05 20:04:10 +00:00
|
|
|
"ATTACKED" = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
|
|
|
|
"INCOMING_MISSILE" = (fightOrFleeMissile, setTargetToPrimaryAggressor, fireMissile, "setStateTo: ATTACK_SHIP");
|
2008-08-03 15:44:57 +00:00
|
|
|
"TARGET_DESTROYED" = ("setStateTo: LOOK_FOR_TARGETS");
|
|
|
|
"TARGET_FOUND" = (setTargetToFoundTarget, "setStateTo: ATTACK_SHIP");
|
|
|
|
"TARGET_LOST" = ("setStateTo: LOOK_FOR_TARGETS");
|
2009-12-05 18:18:25 +00:00
|
|
|
UPDATE = ("pauseAI: 15.0", "setStateTo: THARGON_COUNTDOWN1");
|
|
|
|
};
|
|
|
|
"THARGON_COUNTDOWN1" =
|
|
|
|
{
|
2009-12-05 20:04:10 +00:00
|
|
|
"ATTACKED" = (setTargetToPrimaryAggressor, performAttack, fireMissile, "setStateTo: THARGON_COUNTDOWN2");
|
|
|
|
"INCOMING_MISSILE" = (fightOrFleeMissile, setTargetToPrimaryAggressor, "setStateTo: THARGON_COUNTDOWN2");
|
2009-12-05 18:18:25 +00:00
|
|
|
"TARGET_DESTROYED" = ("setStateTo: LOOK_FOR_TARGETS");
|
|
|
|
"TARGET_LOST" = ("setStateTo: LOOK_FOR_TARGETS");
|
|
|
|
UPDATE = (scanForNonThargoid, "pauseAI: 15.0", "setStateTo: THARGON_COUNTDOWN2");
|
|
|
|
};
|
|
|
|
"THARGON_COUNTDOWN2" =
|
|
|
|
{
|
2009-12-05 19:54:05 +00:00
|
|
|
"ATTACKED" = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
|
|
|
|
"INCOMING_MISSILE" = (fightOrFleeMissile, setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
|
2009-12-05 18:18:25 +00:00
|
|
|
"TARGET_DESTROYED" = ("setStateTo: LOOK_FOR_TARGETS");
|
|
|
|
"TARGET_LOST" = ("setStateTo: LOOK_FOR_TARGETS");
|
2009-12-05 20:04:10 +00:00
|
|
|
"TARGET_FOUND" = (setTargetToFoundTarget, performAttack);
|
|
|
|
UPDATE = ("rollD: 4");
|
2009-12-05 19:54:05 +00:00
|
|
|
"ROLL_1" = (scanForNonThargoid, "pauseAI: 15.0", "setStateTo: ATTACK_SHIP");
|
|
|
|
"ROLL_2" = (fireMissile, "pauseAI: 15.0", "setStateTo: ATTACK_SHIP");
|
|
|
|
"ROLL_3" = ("pauseAI: 15.0", "setStateTo: ATTACK_SHIP");
|
2009-12-05 20:04:10 +00:00
|
|
|
"ROLL_4" = ("pauseAI: 30.0", "setStateTo: LOOK_FOR_TARGETS");
|
2008-08-03 15:44:57 +00:00
|
|
|
};
|
|
|
|
"LOOK_FOR_TARGETS" =
|
|
|
|
{
|
2005-06-08 10:22:59 +00:00
|
|
|
ENTER = ("setSpeedTo: 0.0", performTumble, scanForNonThargoid, "pauseAI: 5.0");
|
2009-07-04 22:06:27 +00:00
|
|
|
"ATTACKED" = (setTargetToPrimaryAggressor, deployEscorts, "setStateTo: ATTACK_SHIP");
|
2008-08-03 15:44:57 +00:00
|
|
|
"INCOMING_MISSILE" = (fightOrFleeMissile, setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
|
2009-07-04 22:06:27 +00:00
|
|
|
"TARGET_FOUND" = (setTargetToFoundTarget, deployEscorts, "setStateTo: ATTACK_SHIP");
|
2008-08-03 15:44:57 +00:00
|
|
|
"NOTHING_FOUND" = ("setStateTo: HEAD_FOR_PLANET");
|
2005-06-08 10:22:59 +00:00
|
|
|
UPDATE = (scanForNonThargoid, "pauseAI: 5.0");
|
2008-08-03 15:44:57 +00:00
|
|
|
};
|
|
|
|
"HEAD_FOR_PLANET" =
|
|
|
|
{
|
2009-07-04 22:06:27 +00:00
|
|
|
ENTER = (setCourseToPlanet, "setDesiredRangeTo: 80000.0", checkCourseToDestination, checkForNormalSpace);
|
|
|
|
RESTARTED = (setCourseToPlanet, "setDesiredRangeTo: 80000.0", checkCourseToDestination, checkForNormalSpace);
|
2005-06-08 10:22:59 +00:00
|
|
|
"COURSE_OK" = ("setSpeedFactorTo: 1.0", performFlyToRangeFromDestination);
|
2006-06-23 16:10:55 +00:00
|
|
|
"WAYPOINT_SET" = ("setAITo: gotoWaypointAI.plist");
|
2005-06-08 10:22:59 +00:00
|
|
|
"DESIRED_RANGE_ACHIEVED" = ("setStateTo: LOOK_FOR_TARGETS");
|
2009-07-04 22:06:27 +00:00
|
|
|
ATTACKED = (setTargetToPrimaryAggressor, deployEscorts, "setStateTo: ATTACK_SHIP");
|
2008-08-03 15:44:57 +00:00
|
|
|
"INCOMING_MISSILE" = (fightOrFleeMissile, setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
|
2009-07-04 22:06:27 +00:00
|
|
|
"TARGET_FOUND" = (setTargetToFoundTarget, deployEscorts, "setStateTo: ATTACK_SHIP");
|
|
|
|
"INTERSTELLAR_SPACE" = ("setStateTo: HEAD_FOR_WITCHPOINT");
|
2006-06-23 16:10:55 +00:00
|
|
|
UPDATE = (setCourseToPlanet, "setDesiredRangeTo: 80000.0", checkCourseToDestination, scanForNonThargoid, "pauseAI: 10.0");
|
2008-08-03 15:44:57 +00:00
|
|
|
};
|
2009-07-04 22:06:27 +00:00
|
|
|
"HEAD_FOR_WITCHPOINT" =
|
|
|
|
{
|
|
|
|
ENTER = (setCourseToWitchpoint, "setDesiredRangeTo: 15000.0", checkCourseToDestination);
|
|
|
|
"COURSE_OK" = ("setSpeedFactorTo: 1.0", performFlyToRangeFromDestination);
|
|
|
|
"WAYPOINT_SET" = ("setAITo: gotoWaypointAI.plist");
|
|
|
|
"DESIRED_RANGE_ACHIEVED" = ("setStateTo: LOOK_FOR_TARGETS");
|
|
|
|
ATTACKED = (setTargetToPrimaryAggressor, deployEscorts, "setStateTo: ATTACK_SHIP");
|
|
|
|
"INCOMING_MISSILE" = (fightOrFleeMissile, setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
|
|
|
|
"TARGET_FOUND" = (setTargetToFoundTarget, deployEscorts, "setStateTo: ATTACK_SHIP");
|
|
|
|
UPDATE = (setCourseToWitchpoint, "setDesiredRangeTo: 15000.0", checkCourseToDestination, scanForNonThargoid, "pauseAI: 10.0");
|
|
|
|
};
|
|
|
|
}
|