Oolite JavaScript Reference: Ship

From Elite Wiki
Revision as of 10:42, 4 August 2007 by Ahruman (talk | contribs) (<code>target</code>)

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.

target

target [read/write Oolite/Development/Scripting/Class/Ship|Ship]

The ship’s primary target, i.e. the entity it will attempt to shoot at. This value is automatically co-ordinated between a ship and its subentities.

escorts

target [read-only array of Entitys]

The ship’s deployed targets.

temperature

temperature [read/write double]

The ship’s temperature, normalized such that a temperature of 1.0 is the level at which a ship starts taking heat damage.

heatInsulation

heatInsulation [read/write double]

The ship’s heat insulation factor. 1.0 is normal, higher values mean more resistance to heat.

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.

deployEscorts

void deployEscorts()

Launch the ship’s escorts, if any.

dockEscorts

void dockEscorts()

Dock the ship’s deployed escorts, if any.