Difference between revisions of "OXP howto AI"

From Elite Wiki
(shipEntityAI laid out)
 
(filled in some)
Line 2: Line 2:
   
   
acceptDistressMessageFrom:(ShipEntity *)other;
+
=== acceptDistressMessageFrom:(ShipEntity *)other; ===
  +
Has police either respond to a distress call, or possibly decide it is too busy or too scared.
   
addFuel:(NSString*) fuel_number;
+
=== addFuel:(NSString*) fuel_number; ===
   
   
broadcastDistressMessage;
+
=== broadcastDistressMessage; ===
  +
Locates all the stations, bounty hunters and police ships in range and tells them that you are under attack.
   
   
checkCourseToDestination;
+
=== checkCourseToDestination; ===
  +
Will return "COURSE_OK" or in case of obstacles on the direct route, "WAYPOINT_SET".
   
checkDistanceTravelled;
+
=== checkDistanceTravelled; ===
  +
May return "GONE_BEYOND_RANGE".
   
checkGroupOddsVersusTarget;
+
=== checkGroupOddsVersusTarget; ===
  +
Will return "ODDS_GOOD" or "ODDS_BAD".
   
checkForFullHold;
+
=== checkForFullHold; ===
  +
If entity's cargo capacity is reached, will return "HOLD_FULL".
   
checkForMotherStation;
+
=== checkForMotherStation; ===
  +
Will return "STATION_FOUND" or "NOTHING_FOUND".
   
checkForNormalSpace;
+
=== checkForNormalSpace; ===
  +
Will return "NORMAL_SPACE" or "INTERSTELLAR_SPACE".
   
checkTargetLegalStatus;
+
=== checkTargetLegalStatus; ===
  +
Returns "TARGET_CLEAN, "TARGET_MINOR_OFFENDER", "TARGET_OFFENDER", "TARGET_FUGITIVE" or "NO_TARGET".
   
commsMessage:(NSString *)valueString;
+
=== commsMessage:(NSString *)valueString; ===
   
   
ejectCargo;
+
=== ejectCargo; ===
  +
Ejects cargo.
   
enterTargetWormhole;
+
=== enterTargetWormhole; ===
  +
Will locate nearest wormhole, and enter it.
   
escortCheckMother;
+
=== escortCheckMother; ===
  +
Returns "ESCORTING" or "NOT_ESCORTING".
   
exitAI;
+
=== exitAI; ===
  +
Exits current AI.
   
   
fightOrFleeHostiles;
+
=== fightOrFleeHostiles; ===
  +
Has entity consider whether to fight, deploy missiles or flee. Returns "FIGHTING", "DEPLOYING_ESCORTS" or "FLEEING".
   
fightOrFleeMissile;
+
=== fightOrFleeMissile; ===
  +
Deals with missiles, launches ECM if available, flees if not, marks as offender if police.
   
findNearestPlanet; (PlanetEntity *)
+
=== findNearestPlanet; ===
  +
(PlanetEntity *)
   
   
getWitchspaceEntryCoordinates;
+
=== getWitchspaceEntryCoordinates; ===
  +
Calculates coordinates from the nearest station it can find, or just fly 10s forward.
   
groupAttackTarget;
+
=== groupAttackTarget; ===
   
   
initialiseTurret;
+
=== initialiseTurret; ===
  +
Prepares the turret.
   
   
landOnPlanet;
+
=== landOnPlanet; ===
  +
Selects the nearest planet it can find, lands (10km from planet) and 'removes' the entity.
   
   
markTargetForFines;
+
=== markTargetForFines; ===
  +
Deals out a fine.
   
messageMother:(NSString *)msgString;
 
  +
=== markTargetForOffence:(NSString*) valueString; ===
  +
Has police mark up the criminal status.
   
  +
=== messageMother:(NSString *)msgString; ===
   
numberOfShipsInGroup:(int) ship_group_id;
 
   
  +
=== patrolReportIn; ===
   
patrolReportIn;
 
  +
=== pauseAI:(NSString *)intervalString; ===
  +
Sets AI think-time.
   
pauseAI:(NSString *)intervalString;
 
  +
=== performAttack; ===
  +
Attacks target.
   
performAttack;
 
  +
=== performCollect; ===
  +
Performs 'collection' of target.
   
performCollect;
 
  +
=== performDocking; ===
  +
NOT YET IMPLEMENTED.
   
performDocking;
 
  +
=== performEscort; ===
  +
Performs escorting.
   
performEscort;
 
  +
=== performFaceDestination; ===
  +
Has entity face destination.
   
performFaceDestination;
 
  +
=== performFlee; ===
  +
Performs the flee.
   
performFlee;
 
  +
=== performFlyToRangeFromDestination; ===
  +
NOT YET IMPLEMENTED
   
performFlyToRangeFromDestination;
 
  +
=== performHold; ===
  +
Performs idleness while tracking a potential target.
   
performHold;
 
  +
=== performHyperSpaceExit; ===
  +
Gets a list of destinations within range, checks if clear of nearby masses, and select one at random. May return "WITCHSPACE UNAVAILABLE" or "WITCHSPACE BLOCKED".
   
performHyperSpaceExit;
 
  +
=== performIdle; ===
  +
Performs idleness.
   
performIdle;
 
  +
=== performIntercept; ===
  +
Performs target interception.
   
performIntercept;
 
  +
=== performMining; ===
  +
Performs mining.
   
performMining;
 
  +
=== performTumble; ===
  +
Performs pitch and roll evasive maneuvers.
   
performTumble;
 
   
  +
=== recallDockingInstructions; ===
   
recallDockingInstructions;
 
  +
=== requestDockingCoordinates; ===
  +
Requests coordinates from the nearest station it can find (which may be a rock hermit.
   
requestDockingCoordinates;
 
  +
=== requestNewTarget; ===
  +
Locates all the ships in range targetting the mother ship, and chooses the nearest/biggest.
   
requestNewTarget;
 
  +
=== rollD:(NSString*) die_number; ===
  +
Uses "dice" for random situation use.
   
rollD:(NSString*) die_number;
 
   
  +
=== scanForFormationLeader; ===
  +
Locates the nearest suitable formation leader in range.
   
scanForFormationLeader;
 
  +
=== scanForHostiles; ===
  +
Locates all the ships in range targetting the receiver and chooses the nearest.
   
scanForHostiles;
 
  +
=== scanForLoot; ===
  +
Locates the nearest debris in range.
   
scanForLoot;
 
  +
=== scanForNearestMerchantmen; ===
  +
Locates the nearest merchantman in range
   
scanForNearestMerchantmen;
 
  +
=== scanForNearestShipWithRole:(NSString*) scanRole; ===
  +
Locates all the ships in range and chooses the nearest.
   
scanForNearestShipWithRole:(NSString*) scanRole;
 
  +
=== scanForNonThargoid; ===
  +
Locates all the non thargoid ships in range and chooses the nearest.
   
scanForNonThargoid;
 
  +
=== scanForOffenders; ===
  +
Locates all the ships in range and compares their legal status or bounty, and chooses the worst offender.
   
scanForOffenders;
 
  +
=== scanForRandomLoot; ===
  +
Locates the all debris in range and chooses a piece at random from the first sixteen found.
   
scanForRandomLoot;
 
  +
=== scanForRandomMerchantmen; ===
  +
Locates one of the merchantman in range.
   
scanForRandomMerchantmen;
 
  +
=== scanForRocks; ===
  +
Locates the all boulders and asteroids in range and selects one of up to 16. Returns "TARGET_FOUND" or"NOTHING_FOUND".
   
scanForRocks;
 
  +
=== scanForThargoid; ===
  +
Locates all the thargoid warships in range and chooses the nearest.
   
scanForThargoid;
 
  +
=== scriptActionOnTarget:(NSString*) action; ===
  +
Will cause immediate reaction to any changes this makes.
   
scriptActionOnTarget:(NSString*) action;
+
=== sendTargetCommsMessage:(NSString*) message; ===
  +
Sends any message to the established (found) target.
   
sendTargetCommsMessage:(NSString*) message;
 
  +
Example:
  +
"sendTargetCommsMessage: Listen to me!!"
   
setAITo:(NSString *)aiString;
+
=== setAITo:(NSString *)aiString; ===
  +
Changes to another *AI.plist, without clearing 'the stack'.
   
setCoordinates:(NSString *)system_x_y_z;
+
=== setCoordinates:(NSString *)system_x_y_z; ===
  +
Sets PWM destination coords.
   
setCourseToPlanet;
+
=== setCourseToPlanet; ===
  +
Selects the nearest planet it can find, reaching desired range 50 km from the planet.
   
setCourseToWitchpoint;
+
=== setCourseToWitchpoint; ===
  +
Sets destination coords to Witchpoint area.
   
setDesiredRangeTo:(NSString *)rangeString;
+
=== setDesiredRangeTo:(NSString *)rangeString; ===
  +
Defines acceptable range distance from destination.
   
setDestinationFromCoordinates;
+
=== setDestinationFromCoordinates; ===
   
setDestinationToCurrentLocation;
+
=== setDestinationToCurrentLocation; ===
   
setDestinationToDockingAbort;
+
=== setDestinationToDockingAbort; ===
   
setDestinationToStationBeacon;
+
=== setDestinationToStationBeacon; ===
  +
Gets station beacon position.
   
setDestinationToTarget;
+
=== setDestinationToTarget; ===
  +
Sets destination to target coords.
   
setDestinationToWitchpoint;
+
=== setDestinationToWitchpoint; ===
  +
Sets destination coords to WitchspaceExitPosition.
   
setDestinationWithinTarget;
+
=== setDestinationWithinTarget; ===
   
setPlanetPatrolCoordinates;
+
=== setPlanetPatrolCoordinates; ===
  +
Check we've arrived near the last given coordinates.
   
setSpeedTo:(NSString *)speedString;
+
=== setSpeedTo:(NSString *)speedString; ===
   
setSpeedFactorTo:(NSString *)speedString;
+
=== setSpeedFactorTo:(NSString *)speedString; ===
   
setSunSkimEndCoordinates;
+
=== setSunSkimEndCoordinates; ===
   
setSunSkimExitCoordinates;
+
=== setSunSkimExitCoordinates; ===
   
setSunSkimStartCoordinates;
+
=== setSunSkimStartCoordinates; ===
   
setTakeOffFromPlanet;
+
=== setTakeOffFromPlanet; ===
  +
Selects the nearest planet it can find and adds entity 10 km from planet, unless there is no planet to be found.
   
setTargetToFoundTarget;
+
=== setTargetToFoundTarget; ===
  +
Affirms target as unversal target.
   
setTargetToPrimaryAggressor;
+
=== setTargetToPrimaryAggressor; ===
  +
Changes to a different enemy target if attacked, unless already very busy attacking another.
   
suggestEscort;
+
=== suggestEscort; ===
  +
Has an escort seek employment and either gets accepted or rejected by the "mother".
   
switchAITo:(NSString *)aiString;
+
=== switchAITo:(NSString *)aiString; ===
  +
Switches entity AI to another *AI.plist
   
   
wormholeEntireGroup;
+
=== wormholeEntireGroup; ===
  +
Wormholes ships in this group.
   
wormholeEscorts;
+
=== wormholeEscorts; ===
  +
Wormholes official escorts.
   
wormholeGroup;
+
=== wormholeGroup; ===
  +
Wormholes ships in group of which this is a leader.
   
   

Revision as of 13:50, 21 January 2006

Contents

Methods for AI

acceptDistressMessageFrom:(ShipEntity *)other;

Has police either respond to a distress call, or possibly decide it is too busy or too scared.

addFuel:(NSString*) fuel_number;

broadcastDistressMessage;

Locates all the stations, bounty hunters and police ships in range and tells them that you are under attack.


checkCourseToDestination;

Will return "COURSE_OK" or in case of obstacles on the direct route, "WAYPOINT_SET".

checkDistanceTravelled;

May return "GONE_BEYOND_RANGE".

checkGroupOddsVersusTarget;

Will return "ODDS_GOOD" or "ODDS_BAD".

checkForFullHold;

If entity's cargo capacity is reached, will return "HOLD_FULL".

checkForMotherStation;

Will return "STATION_FOUND" or "NOTHING_FOUND".

checkForNormalSpace;

Will return "NORMAL_SPACE" or "INTERSTELLAR_SPACE".

checkTargetLegalStatus;

Returns "TARGET_CLEAN, "TARGET_MINOR_OFFENDER", "TARGET_OFFENDER", "TARGET_FUGITIVE" or "NO_TARGET".

commsMessage:(NSString *)valueString;

ejectCargo;

Ejects cargo.

enterTargetWormhole;

Will locate nearest wormhole, and enter it.

escortCheckMother;

Returns "ESCORTING" or "NOT_ESCORTING".

exitAI;

Exits current AI.


fightOrFleeHostiles;

Has entity consider whether to fight, deploy missiles or flee. Returns "FIGHTING", "DEPLOYING_ESCORTS" or "FLEEING".

fightOrFleeMissile;

Deals with missiles, launches ECM if available, flees if not, marks as offender if police.

findNearestPlanet;

(PlanetEntity *)


getWitchspaceEntryCoordinates;

Calculates coordinates from the nearest station it can find, or just fly 10s forward.

groupAttackTarget;

initialiseTurret;

Prepares the turret.


landOnPlanet;

Selects the nearest planet it can find, lands (10km from planet) and 'removes' the entity.


markTargetForFines;

Deals out a fine.

markTargetForOffence:(NSString*) valueString;

Has police mark up the criminal status.

messageMother:(NSString *)msgString;

patrolReportIn;

pauseAI:(NSString *)intervalString;

Sets AI think-time.

performAttack;

Attacks target.

performCollect;

Performs 'collection' of target.

performDocking;

NOT YET IMPLEMENTED.

performEscort;

Performs escorting.

performFaceDestination;

Has entity face destination.

performFlee;

Performs the flee.

performFlyToRangeFromDestination;

NOT YET IMPLEMENTED

performHold;

Performs idleness while tracking a potential target.

performHyperSpaceExit;

Gets a list of destinations within range, checks if clear of nearby masses, and select one at random. May return "WITCHSPACE UNAVAILABLE" or "WITCHSPACE BLOCKED".

performIdle;

Performs idleness.

performIntercept;

Performs target interception.

performMining;

Performs mining.

performTumble;

Performs pitch and roll evasive maneuvers.


recallDockingInstructions;

requestDockingCoordinates;

Requests coordinates from the nearest station it can find (which may be a rock hermit.

requestNewTarget;

Locates all the ships in range targetting the mother ship, and chooses the nearest/biggest.

rollD:(NSString*) die_number;

Uses "dice" for random situation use.


scanForFormationLeader;

Locates the nearest suitable formation leader in range.

scanForHostiles;

Locates all the ships in range targetting the receiver and chooses the nearest.

scanForLoot;

Locates the nearest debris in range.

scanForNearestMerchantmen;

Locates the nearest merchantman in range

scanForNearestShipWithRole:(NSString*) scanRole;

Locates all the ships in range and chooses the nearest.

scanForNonThargoid;

Locates all the non thargoid ships in range and chooses the nearest.

scanForOffenders;

Locates all the ships in range and compares their legal status or bounty, and chooses the worst offender.

scanForRandomLoot;

Locates the all debris in range and chooses a piece at random from the first sixteen found.

scanForRandomMerchantmen;

Locates one of the merchantman in range.

scanForRocks;

Locates the all boulders and asteroids in range and selects one of up to 16. Returns "TARGET_FOUND" or"NOTHING_FOUND".

scanForThargoid;

Locates all the thargoid warships in range and chooses the nearest.

scriptActionOnTarget:(NSString*) action;

Will cause immediate reaction to any changes this makes.

sendTargetCommsMessage:(NSString*) message;

Sends any message to the established (found) target.

Example:

"sendTargetCommsMessage: Listen to me!!"

setAITo:(NSString *)aiString;

Changes to another *AI.plist, without clearing 'the stack'.

setCoordinates:(NSString *)system_x_y_z;

Sets PWM destination coords.

setCourseToPlanet;

Selects the nearest planet it can find, reaching desired range 50 km from the planet.

setCourseToWitchpoint;

Sets destination coords to Witchpoint area.

setDesiredRangeTo:(NSString *)rangeString;

Defines acceptable range distance from destination.

setDestinationFromCoordinates;

setDestinationToCurrentLocation;

setDestinationToDockingAbort;

setDestinationToStationBeacon;

Gets station beacon position.

setDestinationToTarget;

Sets destination to target coords.

setDestinationToWitchpoint;

Sets destination coords to WitchspaceExitPosition.

setDestinationWithinTarget;

setPlanetPatrolCoordinates;

Check we've arrived near the last given coordinates.

setSpeedTo:(NSString *)speedString;

setSpeedFactorTo:(NSString *)speedString;

setSunSkimEndCoordinates;

setSunSkimExitCoordinates;

setSunSkimStartCoordinates;

setTakeOffFromPlanet;

Selects the nearest planet it can find and adds entity 10 km from planet, unless there is no planet to be found.

setTargetToFoundTarget;

Affirms target as unversal target.

setTargetToPrimaryAggressor;

Changes to a different enemy target if attacked, unless already very busy attacking another.

suggestEscort;

Has an escort seek employment and either gets accepted or rejected by the "mother".

switchAITo:(NSString *)aiString;

Switches entity AI to another *AI.plist


wormholeEntireGroup;

Wormholes ships in this group.

wormholeEscorts;

Wormholes official escorts.

wormholeGroup;

Wormholes ships in group of which this is a leader.



stub