Difference between revisions of "Oolite JavaScript Reference: Ship"

From Elite Wiki
m (Properties: Formatting consistency)
(Added exitAI(), reactToAIMessage(), hasSuspendedAI)
Line 19: Line 19:
 
=== <code>AI</code> ===
 
=== <code>AI</code> ===
 
AI [read-only string]
 
AI [read-only string]
The name of the ship’s current AI. (See also: <code>[[#AIState|AIState]]</code>, <code>[[#setAI|setAI()]]</code>, <code>[[#setAI|switchAI()]]</code>)
+
The name of the ship’s current AI. (See also: <code>[[#AIState|AIState]]</code>, <code>[[#setAI|setAI()]]</code>, <code>[[#switchAI|switchAI()]]</code>, <code>[[#exitAI|exitAI()]]</code>)
   
 
=== <code>AIState</code> ===
 
=== <code>AIState</code> ===
 
AIState [read-write string, read-only for player]
 
AIState [read-write string, read-only for player]
The ship’s AI’s current state. (See also: <code>[[#AI|AI]]</code>, <code>[[#setAI|setAI()]]</code>, <code>[[#setAI|switchAI()]]</code>)
+
The ship’s AI’s current state. (See also: <code>[[#AI|AI]]</code>, <code>[[#reactToAIMessage|reactToAIMessage()]]</code>, <code>[[#hasSuspendedAI|hasSuspendedAI]]</code>)
   
 
=== <code>fuel</code> ===
 
=== <code>fuel</code> ===
Line 37: Line 37:
 
The ships subentities, or <code>null</code> if it has none. Special subentities such as flashers and exhaust plumes are not included.
 
The ships subentities, or <code>null</code> if it has none. Special subentities such as flashers and exhaust plumes are not included.
   
== Properties ==
 
  +
=== <code>hasSuspendedAI</code> ===
  +
hasSuspendedAI [read-only boolean]
  +
<code>true</code> if the ship has suspended AIs, <code>false</code> otherwise.
  +
  +
== Methods ==
 
=== <code>setAI</code> ===
 
=== <code>setAI</code> ===
 
void setAI(AIName)
 
void setAI(AIName)
Set the current AI, leaving the old one suspended. Equivalent to the <code>[[AI_methods|setAITo]]:</code> AI method. May not be used on player.
+
Set the current AI, leaving the old one suspended. Equivalent to the <code>[[AI_methods|setAITo]]:</code> AI method. May not be used on player. (See also: <code>[[#AI|AI]]</code>, <code>[[#switchAI|switchAI()]]</code>, <code>[[#exitAI|exitAI()]]</code>)
   
 
=== <code>switchAI</code> ===
 
=== <code>switchAI</code> ===
 
void switchAI(AIName)
 
void switchAI(AIName)
Set the current AI, exiting the old one. Equivalent to the <code>[[AI_methods|switchAITo]]:</code> AI method. May not be used on player.
+
Set the current AI, exiting the old one. Equivalent to the <code>[[AI_methods|switchAITo]]:</code> AI method. May not be used on player. (See also: <code>[[#AI|AI]]</code>, <code>[[#setAI|setAI()]]</code>, <code>[[#exitAI|exitAI()]]</code>)
  +
  +
=== <code>exitAI</code> ===
  +
void exitAI()
  +
Exit the current AI, restoring the previous one. Equivalent to the <code>[[AI_methods|exitAI]]:</code> AI method. May not be used on player. Will generate a warning if there are no suspended AI states. (See also: <code>[[#AI|AI]]</code>, <code>[[#setAI|setAI()]]</code>, <code>[[#hasSuspendedAI|hasSuspendedAI]]</code>)
  +
  +
=== <code>reactToAIMessage</code> ===
  +
void reactToAIMessage(AIState)
  +
Immediately execute the ship’s AI in the specified state.

Revision as of 18:23, 3 August 2007

Prototype: Entity
Subtypes: Station, Player

The Ship class is an Entity representing a ship, station, missile, cargo pod or other flying item – anything that can be specified in shipdata.plist. A Ship has all the properties and methods of a Entity, and several others.

Stations and the Player are types of ship. Note that these more specific types have additional properties and methods.

Properties

shipDescription

shipDescription [read-only string]

The name of the ship type (name key in shipdata.plist).

roles

roles [read-only array]

The roles of the ship. Probabilities are not included.

AI

AI [read-only string]

The name of the ship’s current AI. (See also: AIState, setAI(), switchAI(), exitAI())

AIState

AIState [read-write string, read-only for player]

The ship’s AI’s current state. (See also: AI, reactToAIMessage(), hasSuspendedAI)

fuel

fuel [read-write double]

The ship’s current fuel capacity, in LY. The game will limit this to the range 0..7, and round it off to the nearest tenth. (See also: Player.fuelLeakRate)

bounty

bounty [read-write integer]

The bounty on the ship. This also determines its legal status. In the case of the player, it is halved at each witchspace jump.

subEntities

subEntities [read-only array of Ships]

The ships subentities, or null if it has none. Special subentities such as flashers and exhaust plumes are not included.

hasSuspendedAI

hasSuspendedAI [read-only boolean]

true if the ship has suspended AIs, false otherwise.

Methods

setAI

void setAI(AIName)

Set the current AI, leaving the old one suspended. Equivalent to the setAITo: AI method. May not be used on player. (See also: AI, switchAI(), exitAI())

switchAI

void switchAI(AIName)

Set the current AI, exiting the old one. Equivalent to the switchAITo: AI method. May not be used on player. (See also: AI, setAI(), exitAI())

exitAI

void exitAI()

Exit the current AI, restoring the previous one. Equivalent to the exitAI: AI method. May not be used on player. Will generate a warning if there are no suspended AI states. (See also: AI, setAI(), hasSuspendedAI)

reactToAIMessage

void reactToAIMessage(AIState)

Immediately execute the ship’s AI in the specified state.