Difference between revisions of "OXP howto AI"

From Elite Wiki
m (markTargetForOffence:(NSString*) valueString;)
m (pauseAI:(NSString *)intervalString;)
Line 94: Line 94:
  
 
=== pauseAI:(NSString *)intervalString; ===
 
=== pauseAI:(NSString *)intervalString; ===
Sets AI think-time.
+
Sets AI think-time in seconds.
  
 
=== performAttack; ===
 
=== performAttack; ===

Revision as of 15:44, 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;

Broadcasts a general message to player. Example:

<string>sendCommsMessage: [thargoid_curses]</string>

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 *) Will scan for planetentity, returns message TARGET_FOUND (or NOTHING_FOUND).

getWitchspaceEntryCoordinates;

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

groupAttackTarget;

All ships in group will have their targets set to this entity's target and performAttack.

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. Example:

"markTargetForFines 100"

Will fine the target 10Cr. N.b. for commercial transactions "awardMoney -$" is a more suitable method.

markTargetForOffence:(NSString*) valueString;

Has police mark up the criminal status of target entity.

messageMother:(NSString *)msgString;

Sends a AImessage to the mothership/leader of a group. Example:

INCOMING_MISSILE = ("messageMother: INCOMING_MISSILE");

The mothership will then behave as if it was targetted by the missile.

patrolReportIn;

pauseAI:(NSString *)intervalString;

Sets AI think-time in seconds.

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. Ship corrects its roll and pitch to 'horizontal' flight.

performIntercept;

Performs target interception.

performMining;

Performs mining. (Finds, intercepts and shoots asteroids with mining laser, if fitted.)

performTumble;

Performs random 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;

Pauses current AI and switches to anotherAI.plist, this becomes the top AI on the 'AI-stack'. When anotherAI.plist exits (exitAI), the previousAI becomes topAI again and AI-state is messaged RESTARTED.

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