Difference between revisions of "Oolite JavaScript Reference: Player"

From Elite Wiki
m (addMessageToArrivalReport: Update docs; thank you Smivs.)
(Methods: Add 1.77 method)
Line 131: Line 131:
   
 
[[Category:Oolite JavaScript Reference]]
 
[[Category:Oolite JavaScript Reference]]
  +
  +
=== <code>replaceShip</code> ===
  +
{{Oolite-method-added|1.77}}
  +
function '''replaceShip'''(dataKey)
  +
This method can only be called while the player is docked at a station. It discards the player's current ship (including all cargo, passenger contracts, and equipment), and replaces it with the ship defined by the shipyard.plist entry <code>dataKey</code> (obviously the key must also be defined in shipyard.plist as a valid player ship). The new ship will have all standard equipment for a ship of that type, and any equipment from the previous ship which was [[Oolite_JavaScript_Reference:_EquipmentInfo#isPortableBetweenShips|isPortableBetweenShips]]. While this may not necessarily be a ship purchase, the [[Oolite_JavaScript_Reference:_world_script_event_handlers#playerBoughtNewShip|playerBoughtNewShip]] will fire to notify other scripts of the change.
  +
  +
If the dataKey was not defined in both shipdata.plist and shipyard.plist, or the player is in flight, this method does nothing.

Revision as of 10:54, 29 April 2012

Prototype: Object
Subtypes: none

The Player class is represents the player. There is always exactly one Player object in existence, which can be accessed through the player global property.

Properties

alertAltitude

alertAltitude : Boolean (read-only)

Whether the player is dangerously close to a planet. (closer than 4000 meter to the surface)

alertCondition

alertCondition : Number (read-only, integer)

Returns the current alert condition. 0 = Docked, 1 = Green, 2 = Yellow, 3 = Red.

alertEnergy

alertEnergy : Boolean (read-only)

Whether the player’s energy level is depleted (i.e., energy is less than maxEnergy).

alertHostiles

alertHostiles : Boolean (read-only)

Whether there are hostile ships within scanner range.

alertMassLocked

alertMassLocked : Boolean (read-only)

Whether the player is mass locked.

alertTemperature

alertTemperature : Boolean (read-only)

Whether the cabin temperature is dangerously high.

bounty

bounty : Number (read/write integer)

The bounty on the player, which determines legal status. It is halved at each witchspace jump.

See also: legalStatus

cargoSpaceAvailable

cargoSpaceAvailable : Number (read-only integer)

The ship’s available cargo space, in tons.

cargoSpaceUsed

cargoSpaceUsed : Number (read-only integer)

The ship’s current cargo, in tons.

contractReputation

contractReputation : Number (read-only integer)

The player’s cargo contract reputation, ranging from -7 to +7. Reputation is based on fulfilled and unfulfilled contracts. Both individually ranging from 0 till 7. Both good and bad value erode away in time towards 0. All individually values below 7 are seen as unknown reputation. This unknown part is randomised based on the market situation.

See also: decreaseContractReputation(), increaseContractReputation(), passengerReputation

credits

credits : Number (read/write, integer)

The amount of money the player has.

dockingClearanceStatus

dockingClearanceStatus : String (read-only)

A string indicating whether the player has docking clearance. (Clarify: for which station? -Ahruman 20:34, 3 November 2008 (UTC)) Possible values are:

  • "DOCKING_CLEARANCE_STATUS_NONE"
  • "DOCKING_CLEARANCE_STATUS_REQUESTED"
  • "DOCKING_CLEARANCE_STATUS_NOT_REQUIRED"
  • "DOCKING_CLEARANCE_STATUS_GRANTED"
  • "DOCKING_CLEARANCE_STATUS_TIMING_OUT"

legalStatus

legalStatus : String (read-only)

A string describing the player’s legal status for display purposes, based on bounty. In English, this is one of "Clean" (bounty = 0), "Offender" (0 < bounty ≤ 50) or "Fugitive", but note that it can be localized.

name

name : String (read-only)

The name of the player’s character (e.g., “Jameson”).

passengerReputation

passengerReputation : Number (read-only integer)

The player’s passenger contract reputation, ranging from -7 to +7. Reputation is based on fulfilled and unfulfilled contracts. Both individually ranging from 0 till 7. Both good and bad value erode away in time towards 0. All individually values below 7 are seen as unknown reputation. This unknown part is randomised based on the market situation.

See also: contractReputation(), decreasePassengerReputation(), increasePassengerReputation()

rank

rank : String (read-only)

A string describing the player’s rank for display purposes, based on score, such as "Mostly Harmless" or "Dangerous". Note that it can be localized.

score

score : Number (read/write, integer)

The player’s score; nominally the number of kills the player has made, although some missions award additional points.

trumbleCount

trumbleCount : Number (read-only nonnegative integer)

The number of trumbles the player is currently blessed with.

Methods

addMessageToArrivalReport

function addMessageToArrivalReport(message : String)

Adds a message to the arrival report shown immediately after docking. Oolite puts its own stuff on the list immediately after shipWillDockWithStation() so this is a good moment to add the messages when you know what station will be docked. shipDockedWithStation() may also be used. Messages added will be on the list above Oolite's own arrival messages if added during shipWillDockWithStation() or while in flight, and below Oolite's own arrival messages if added during shipDockedWithStation().

commsMessage

function commsMessage(message : String [, duration: Number])

Writes the specified message in the player’s communications log, as well as displaying it as a console message. The optional duration parameter determines how long the message should be displayed on the console before fading out. It is clamped to the range [1, 10]. If no duration is specified, 4.5 seconds will be used. Example: player.commsMessage("Hello, cruel universe.", 6)
NB. This commsMessage() is a property of "player". "player.ship" has also a commsMessage() property, but that belongs to ship and has a different second parameter. (see Oolite JavaScript Reference: Ship)

consoleMessage

function consoleMessage(message : String [, duration: Number])

Displays the specified message as a console message, that is, as a message on the HUD. The optional duration parameter determines how long the message should be displayed before fading out. It is clamped to the range [1, 10]. If no duration is specified, 3 seconds will be used.

decreaseContractReputation

function decreaseContractReputation()

Give the player a negative reputation point for cargo contracts. Decreases the underlying value for contractReputation by 1 until a minimum of -7. Depending on the randomised part of the value can the visible value stay the same in one system.

See also: contractReputation, increaseContractReputation()

decreasePassengerReputation

function decreasePassengerReputation()

Give the player a negative reputation point for passenger contracts. Decreases the underlying value for passengerReputation by 1 until a minimum of -7. Depending on the randomised part of the value can the visible value stay the same in one system.

See also: passengerReputation, increasePassengerReputation()

increaseContractReputation

function increaseContractReputation()

Give the player a positive reputation point for cargo contracts. Increases the underlying value for contractReputation by 1 until a maximum of 7

See also: contractReputation, decreaseContractReputation()

increasePassengerReputation

function increasePassengerReputation()

Give the player a positive reputation point for passenger contracts. Increases the underlying value for passengerReputation by 1 until a maximum of 7

See also: passengerReputation, decreasePassengerReputation()

setEscapePodDestination

function setEscapePodDestination(destination)

This method can only be called after the player has launched an escape pod – for example, from the escapePodSequenceOver() event handler. It determines where the player will end up. destination may be any carrier/station entity, or the string "NEARBY_SYSTEM", or null. If it is "NEARBY_SYSTEM", the player will end up at the main station in a random nearby system. If it is null, the player will die of life support failure. (null is the default in interstellar space.)

replaceShip

This method was added in Oolite test release 1.77.

function replaceShip(dataKey)

This method can only be called while the player is docked at a station. It discards the player's current ship (including all cargo, passenger contracts, and equipment), and replaces it with the ship defined by the shipyard.plist entry dataKey (obviously the key must also be defined in shipyard.plist as a valid player ship). The new ship will have all standard equipment for a ship of that type, and any equipment from the previous ship which was isPortableBetweenShips. While this may not necessarily be a ship purchase, the playerBoughtNewShip will fire to notify other scripts of the change.

If the dataKey was not defined in both shipdata.plist and shipyard.plist, or the player is in flight, this method does nothing.