Rickshaw AI
From EliteWiki
rickshawAI.plist
{
FLEE = {
ATTACKED = (performFlee);
"TARGET_LOST" = ("setStateTo: GLOBAL");
"TARGET_DESTROYED" = ("setStateTo: GLOBAL");
"ENERGY_LOW" = (setTargetToPrimaryAggressor, "sendTargetCommsMessage: [rickshaw-Adjective] master [rickshaw-enemy] Sir, please consider [rickshaw-plea]!", performFlee);
ENTER = ("setDesiredRangeTo: 15000", "setSpeedFactorTo: 0.6", setTargetToPrimaryAggressor, "sendTargetCommsMessage: [rickshaw-Adjective] [rickshaw-enemy]? It's surely a misunderstanding!", performFlee, "pauseAI: 10.0");
EXIT = ();
"INCOMING_MISSILE" = (setTargetToPrimaryAggressor, "sendTargetCommsMessage: Hai Ram, what a shuttlecock!", fightOrFleeMissile);
"REACHED_SAFETY" = ("sendTargetCommsMessage: Thank you [rickshaw-adjective] [describe-pirate] for sparing our lives.", performIdle, "pauseAI: 10.0", "setStateTo: GLOBAL");
UPDATE = (); };
"GO_TO_WAYPOINT" = {
ENTER = ("scanForNearestShipWithRole: player", "setDesiredRangeTo: 50.0", checkCourseToDestination);
"COURSE_OK" = ("setSpeedFactorTo: 0.6", performFlyToRangeFromDestination);
"WAYPOINT_SET" = ("setDesiredRangeTo: 50.0", checkCourseToDestination);
"DESIRED_RANGE_ACHIEVED" = ("setStateTo: GO_TO_STATION");
ATTACKED = (setTargetToPrimaryAggressor, "sendTargetCommsMessage: Kaun hai, [rickshaw-enemy]?", "setStateTo: FLEE");
"INCOMING_MISSILE" = (setTargetToPrimaryAggressor, "sendTargetCommsMessage: What a shuttlecock!", fightOrFleeMissile, "setStateTo: FLEE");
EXIT = ();
"TARGET_FOUND" = (setTargetToFoundTarget, "sendTargetCommsMessage: [rickshaw-greeting], perhaps there is someone aboard that wishes separate transportation to %H?", "pauseAI: 10.0");
FLEEING = (setTargetToPrimaryAggressor, "setStateTo: FLEE");
UPDATE = ("pauseAI: 10.0"); };
"GO_TO_STATION" = {
ENTER = (setTargetToStation, "setDesiredRangeTo: 5000.0", setDestinationToTarget, checkCourseToDestination);
"COURSE_OK" = ("setSpeedFactorTo: 0.4", performFlyToRangeFromDestination);
"WAYPOINT_SET" = ("setStateTo: GO_TO_WAYPOINT");
"DESIRED_RANGE_ACHIEVED" = ("setAITo: dockingAI.plist");
"AEGIS_IN_DOCKING_RANGE" = ("setAITo: dockingAI.plist");
EXIT = ();
ATTACKED = (setTargetToPrimaryAggressor, "sendTargetCommsMessage: Never peace from [rickshaw-enemy]s!", "setStateTo: FLEE");
"INCOMING_MISSILE" = (setTargetToPrimaryAggressor, "setStateTo: FLEE");
UPDATE = ("pauseAI: 10.0"); };
"HEAD_FOR_PLANET" = {
ENTER = ("scanForNearestShipWithRole: player", setCourseToPlanet, "setDesiredRangeTo: 30000.0", "setSpeedFactorTo: 0.6", performFlyToRangeFromDestination);
"AEGIS_CLOSE_TO_PLANET" = ("setStateTo: GO_TO_STATION");
"AEGIS_IN_DOCKING_RANGE" = ("setStateTo: GO_TO_STATION");
"DESIRED_RANGE_ACHIEVED" = ("setStateTo: GO_TO_STATION");
ATTACKED = (setTargetToPrimaryAggressor, "setStateTo: FLEE");
"INCOMING_MISSILE" = (setTargetToPrimaryAggressor, "sendTargetCommsMessage: Hai Ram, Unforgiveable!", fightOrFleeMissile, "setStateTo: FLEE");
EXIT = ();
"TARGET_FOUND" = (setTargetToFoundTarget, "sendTargetCommsMessage: [rickshaw-greeting], perhaps is someone aboard that wishes separate transportation to %H?", "pauseAI: 10.0");
"NOTHING_FOUND" = ("setStateTo: HEAD_FOR_PLANET");
UPDATE = (); };
GLOBAL = {
ENTER = ("setStateTo: HEAD_FOR_PLANET");
EXIT = ();
UPDATE = (); };
}

