Oolite JavaScript Reference: Ship
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.
Station
s and the Player
are types of ship. Note that these more specific types have additional properties and methods.
Contents
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.