Function List — 1.9b1a (API 49)
Posted: Sat Apr 25, 2020 12:39 am
F U N C T I O N L I S T
(!= x1 x2 ... xn) -> True if any arguments are not equal
(* x1 x2 ... xn) -> z
(+ x1 [x2 ... xn]) -> sum (int32 or real)
(- x1 x2 ... xn) -> z
(- x) -> -x
(/ x y) -> x / y (real)
(< [x1 x2 ... xn]) -> True if x1 < x2 < ... < xn
(<= [x1 x2 ... xn]) -> True if x1 <= x2 <= ... <= xn
(= [x1 x2 ... xn]) -> True if all arguments are equal
(> [x1 x2 ... xn]) -> True if x1 > x2 > ... > xn
(>= [x1 x2 ... xn]) -> True if x1 >= x2 >= ... >= xn
(@ list index) -> item index from list (0-based)
(@ struct key) -> value corresponding to key from struct
(abs x) -> absolute value (int32 or real)
(acos x ['degrees]) -> inverse cosine (real)
(add x1 [x2 ... xn]) -> sum (after converting arguments to int32)
(and [exp1 exp2 ... expn]) -> True/Nil
Returns Nil if any argument is Nil, otherwise returns last argument
(append [list1 list2 ...]) -> concatenated list
(apply function [arg1 arg2 ... argn] argList) -> Result of function with arguments arg1... followed by contents of argList
(armGetRepairCost type) -> Cost to repair 1 hit point
(armGetRepairTech type) -> Tech level required to repair
(asin x ['degrees]) -> inverse sine (real)
(atan y [x] ['degrees]) -> inverse tangent (real)
(atmAddEntry ...)
(atmAtomTable ...)
(atmDeleteEntry ...)
(atmList ...)
(atmLookup ...)
(block [localsList exp1 exp2 ... expn]) -> value of expn
Evaluates a series of expressions and returns the value of the last one.
LocalsList is a list of local variables and/or lists consisting of a local variable and the initial value to assign it.If an expression evaluates to an error, returns that error and doesn't evaluate the rest.
(cat [string1 string2 ... stringn]) -> concatenated string
(ceil x) -> x rounded up, i.e. towards positive infinity (real)
(cnvDrawImage x y imageDesc [screen] [ID]) -> True/Nil
(cnvDrawLine xFrom yFrom xTo yTo width color [screen] [ID]) -> True/Nil
(cnvDrawRect x y width height color [screen] [ID]) -> True/Nil
(cnvDrawText x y [width] text font color alignment [screen] [ID]) -> True/Nil
font:
'Small
'Medium
'MediumBold
'MediumHeavyBold
'Large
'LargeBold
'Header
'HeaderBold
'SubTitle
'SubTitleBold
'SubTitleHeavyBold
'Title
alignment:
'left
'center
'right
(convertTo dataType value) -> result
dataType: 'error|'int32|'list|'nil|'real|'string|'true
(cos x ['degrees]) -> cosine (real)
(count list|string|struct) -> number of items or characters
(dbgBreak)
(dbgGet property) -> value
property:
'debugMode
'memoryUse
'showAIDebug
'showBounds
'showFacingsAngle
'showLineOfFire
'showNavPaths
'showNodeInfo
(dbgIsActive) -> True if in debug mode, else Nil
(dbgLog [string]*) -> True if in debug mode, else Nil
(dbgOutput [string]*) -> True if in debug mode, else Nil
(dbgSet property value) -> True/Nil
property:
'showAIDebug True/Nil
'showBounds True/Nil
'showFacingsAngle True/Nil
'showLineOfFire True/Nil
'showNavPaths True/Nil
'showNodeInfo True/Nil
(divide x y) -> x / y after converting arguments to int32, rounded toward 0
(double x) -> x as a double
(ecoExchange amount fromCurrency toCurrency) -> amount
(enum list itemVar exp) -> value
Iterate itemVar over list evaluating exp. Returns the last value of exp.
(enumWhile list condition itemVar exp) -> value
Iterate itemVar over list evaluating exp while condition is True. Returns the last value of exp.
(eq [x1 x2 ... xn]) -> True if all arguments are equal
(errBlock localsList [exp1 exp2 ... expn] expErr) -> value of expn or expErr if error occurs
Like block, except it evaluates and returns the last expression only if one of the other expressions evaluates to an error.
LocalsList must contain at least one variable. If the first variable is not assigned within localsList, it will be set
to the error while evaluating expErr.
(error msg) -> error
(eval exp) -> result
Evaluates the expression. If it's a string, result is the value of the corresponding symbol.
If it's a quoted expression, the expression is evaluated.
If it's a list, each item is evaluated, then it's evaluated as a function call.
(exp x) -> e^x (real)
(filter list var boolean-exp) -> filtered list
Iterates var over list, evaluating boolean-exp. Returns a list containing the items for which boolean-exp is non-Nil.
(find string target) -> position of target in string (0-based)
(find source-list target ['ascending|'descending] [keyIndex]) -> position of target in source-list (0-based)
The 'ascending or 'descending argument makes the function more efficient if the list is long and sorted in the specified direction.
Specifying an integer keyIndex causes it to compare that item of each list within source-list with the target instead.
(floor x) -> x rounded down, i.e. towards negative infinity (real)
(fmtCompose text [data]) -> string
(fmtCurrency currency [amount]) -> string
(fmtNoun namePattern [nameFlags] count formatFlags) -> string
(fmtNumber [type] value) -> string
type:
'integer
'massKg
'massTons
'power
'real
'regenRate
'speed
(fmtPower powerInKWs) -> string
(fmtVerb verb pluralize) -> string
(fncHelp symbol) -> help on function symbol (works on deprecated functions)
(for var from to exp) -> value of last expression
(gamEnd endGameReason epitaph [scoreBonus]) -> True/Nil
(gamSave [options]) -> True/Nil
options:
'checkpoint (or Nil)
'missionCheckpoint
(gamSetCrawlImage imageUNID) -> True/Nil
(gamSetCrawlSoundtrack soundtrackUNID) -> True/Nil
(gamSetCrawlText text) -> True/Nil
(geq [x1 x2 ... xn]) -> True if x1 >= x2 >= ... >= xn
(getAPIVersion) -> version
(gr [x1 x2 ... xn]) -> True if x1 > x2 > ... > xn
(help) -> this help
(help '*) -> all functions
(help 'partial-string) -> all functions starting with partial-string
(help 'function-name) -> help on function-name
(hex x [fieldSize]) -> hex-string
(hex hex-string) -> value
(if condition exp1 [exp2]) -> exp1 if condition True, otherwise exp2
(int x) -> x as an integer
(objTranslate obj textID [data] [default]) -> text (or Nil)
(isAtom exp) -> True if exp is not a list
(isError exp) -> True if exp is an error
(isFunction exp) -> True if exp is a function
(isInt exp) -> True if exp is an integer
(isPrimitive exp) -> True if exp is a primitive
(itm@ item|type property) -> value
property (instance)
'canBeUsed
'charges
'damaged
'description
'disrupted
'enhancement
'hasUseScreen
'installed
'level
'reference
'rootName
'unknownType
'unknownTypeIndex
'used
property (device)
'canBeDamaged
'canBeDisabled
'canBeDisrupted
'external
'power
'shotSeparationScale
property (weapon)
'ammoTypes
'averageDamage Average damage per shot
'balance
'balanceDamage
'balanceCost
'balanceExcludeCost
'damage Average damage per 180 ticks
'damagePerProjectile
'damageWMD180 Average WMD damage per 180 ticks
'effectiveRange
'fireArc
'fireDelay Number of ticks between shots
'fireRate
'linkedFireOptions
'maxDamage Maximum damage per shot
'minDamage Minimum damage per shot
'multiShot
'omnidirectional
'repeating
'shipCounterPerShot
'stdCost
property (armor)
'blindingImmune
'completeHP
'damageAdj
'deviceDamageImmune
'deviceDisruptImmune
'disintegrationImmune
'EMPImmune
'hp
'hpBonus
'maxHP
'radiationImmune
'repairCost
'repairLevel
'shatterImmune
'stdHP
'stealth
property (all)
'category
'componentPrice
'components
'currency
'currencyName
'description
'frequency
'known
'level
'maxCharges
'maxLevel
'minLevel
'massBonusPerCharge
'valueBonusPerCharge
'weaponTypes
(itmCreate itemUNID count) -> item
(itmCreateByName criteria name [count]) -> item
criteria as itmGetTypes
(itmCreateRandom criteria levelDistribution) -> item
criteria as itmGetTypes
(itmEnumTypes criteria item-var exp) -> value of last expression
criteria as itmGetTypes
(itmFireEvent item|type event [data]) -> result of event
(itmGetActualPrice item|type) -> actual price of a single item
(itmGetArmorInstalledLocation item) -> segment #
(itmGetArmorType item) -> type
(itmGetAverageAppearing item|type) -> average number that appear randomly
(itmGetCategory item|type) -> item category
(itmGetCount item) -> count of items
(itmGetDamageType item|type) -> damage type
(itmGetData item attrib) -> data
(itmGetFrequency item|type [level]) -> frequency
(itmGetImageDesc item|type) -> imageDesc
(itmGetInstallCost item|type [currency]) -> cost
(itmGetInstallPos item) -> installPos
(itmGetLevel item|type) -> level
(itmGetMass item|type) -> mass of single item in kg
(itmGetMaxAppearing item|type) -> max number that appear randomly
(itmGetName item|type [flags]) -> name of item
flags
0x0001 'capitalize capitalize first letter
0x0002 'plural pluralize name
0x0004 'article prefix with 'the' or 'a'
0x0008 'count prefix with count or singular article
0x0010 'countOnly prefix with count or nothing
0x0020 'noModifiers no modifiers ('damaged' etc)
0x0040 'demonstrative prefix with 'the' or 'this' or 'these'
0x0080 'short use short name
0x0100 'actual actual name (not unidentified name)
0x0200 'noEvent do not fire GetName event
0x0400 'titleCapitalize capitalize as a title
0x0800 'installedState prefix with 'installed' if necessary
0x1000 'countAlways always prefix with count
0x40000 'noDeterminer no prefix, but pluralize if necessary
0x80000 'noQuotes replace double-quotes with single-quotes
0x100000 'escapeQuotes use for dock screens
(itmGetPrice item|type [currency]) -> price of a single item
(itmGetStaticData item attrib) -> data
(itmGetType item) -> itemUNID
(itmGetTypeData item|type attrib) -> data
(itmGetTypes criteria) -> list of itemUNIDs
criteria
* Include all item categories
a Include armor devices
b Include misc devices
c Include cargo hold devices
d Include all devices
f Include fuel
l Include launcher devices
m/M Include missiles and ammo / missiles only
p Include primary weapon devices
r Include reactor devices
s Include shield devices
t Include misc items
u Include useful items
v Include drive devices
w Include all weapon devices
V Include virtual items
~ Exclude category
^ Require category
+/-xyz Require / exclude items with attribute
+/-UNID:xyz Require / exclude items with unid
+/-launchedBy:xyz Require / exclude ammo launched by unid
+/-damageType:xyz Require / exclude weapons with damage
F:xyz Only items with the given frequency
L:x-y Only Items of level x to y
comparison criteria supported: < <= = => >
< x Only items with level less than x
<$ x Only items costing less than x
<# x Only items massing less than x
(itmGetUseScreen item|type) -> screenUNID
(itmHasAttribute item|type attrib) -> True/Nil
(itmHasReference item|type) -> True/Nil
(itmIsEnhanced item) -> Nil or mods
(itmIsEqual item1 item2 [options]) -> True/Nil
options
'ignoreCharges
'ignoreData
'ignoreDisruption
'ignoreEnhancements
'ignoreInstalled
(itmIsInstalled item) -> True/Nil
(itmIsKnown item|type) -> True/Nil
(itmMatches item|type criteria) -> True/Nil
criteria as itmGetTypes
(itmSet@ item property value) -> item
property
'charges charges
'damaged [True|Nil]
'disrupted [True|Nil|ticks]
'incCharges charges
'installed [True|Nil] 'level level 'shotSeparationScale separation
(itmSetCount item count) -> item
(itmSetData item attrib data [count]) -> item
(itmSetEnhanced item mods) -> item
(itmSetKnown type|item [True/Nil]) -> True/Nil
(itmSetReference item) -> True/Nil
(itmSetTypeData item attrib data) -> True/Nil
(join list [separator]) -> Concatenates items of list into a string, with separator in between each.
(join list 'oxfordComma) -> 'a' ; 'a and b' ; 'a, b, and c' ; etc.
(lambda args-list exp) -> lambda function
(leq [x1 x2 ... xn]) -> True if x1 <= x2 <= ... <= xn
(link ...)
(list [i1 i2 ... in]) -> list
(lnkAppend list item) -> Modifies list by appending item to the end and returns the result.
(lnkRemove list index) -> Modifies list by removing the specified item (0-based) and returns the result.
(lnkRemoveNil list) -> Modifies list by removing all Nil items and returns the result.
(lnkReplace list index item) -> list
(log x [base]) -> Logarithm of x (real). Base defaults to e.
(lookup source target ['ascending|'descending] [keyIndex]) -> Like find, but returns the matching item rather than the index.
(loop condition exp) -> Evaluate exp until condition is Nil
(ls [x1 x2 ... xn]) -> True if x1 < x2 < ... < xn
(make 'sequence count) -> list from 1 to count
(make 'sequence start end [inc]) -> list from start to end, incrementing by inc
(map list ['excludeNil|'original|'reduceMax|'reduceMin|'reduceAverage|'reduceSum] var exp) -> list
(match list var boolean-exp) -> first item that matches
(max x1 x2 ... xn) -> z
(min x1 x2 ... xn) -> z
(mod ['degrees] x y) -> z
(modulo ['degrees] x y) -> z
(msn@ missionObj property) -> value
property
'acceptedOn Tick on which player accepted mission (or Nil)
'canBeDeclined Mission can be declined by player
'canBeDeleted Mission can be deleted by player
'completedOn Tick on which mission was completed
'debrieferID ID of the object that will debrief the player
'forceUndockAfterDebrief Force undock after showing debrief screen
'hasDebrief Mission has a debrief phase
'hasInProgress Mission show in progress text
'id Mission object ID
'inProgress Active player mission and not completed
'isActive Is an active player mission
'isCompleted Is a completed mission (player or non-player)
'isDebriefed Player has been debriefed
'isDeclined Player has declined mission
'isFailure Mission has failed
'isIntroShown Player has been shown intro text
'isOpen Mission is available to player
'isRecorded Mission has been completed and debriefed
'isSuccess Mission has succeeded
'isUnavailable Mission is unavailable to player
'maxAppearing Max number of this type that can exist
'name The name of the mission
'nodeID ID of the mission's owner system
'ownerID ID of the mission's owner object
'priority Mission priority
'summary A summary description of the mission
'totalAccepted Count of this type accepted by player
'totalExisting Count of this type currently existing in universe
'unid Mission type UNID
(msnAccept missionObj) -> True/Nil
(msnAddRecurringTimerEvent missionObj interval event [options])
interval in ticks
options:
'allSystems: Timer fires in all systems.
(msnAddTimerEvent missionObj delay event [options])
delay in ticks
options:
'allSystems: Timer fires in all systems.
(msnCancelTimerEvent missionObj event) -> True/Nil
(msnCanCreate unid [owner [data|options]]) -> True|Nil
options:
'noMissionArcCheck: Do not check if in correct sequence.
'noSystemLevelCheck: Do not check if correct system level.
(msnCreate unid owner [data]) -> missionObj|Nil
(msnCreate unid-list owner [data]) -> missionObj|Nil
(msnDecline missionObj)
(msnDestroy missionObj) -> True/Nil
(msnFailure missionObj [data]) -> True/Nil
(msnFind [source] criteria) -> list of missionObjs
criteria
* Include all missions states
a Include active player missions
c Include completed missions (not necessarily debriefed)
o Include open missions
r Include already debriefed (recorded) missions
u Include non-player missions
D Only missions debriefed by source
P Return only the mission with highest priority
S Only missions owned by source
+/-{attrib} Require/exclude missions with given attribute
+/-ownerID:{id} Require/exclude missions with given owner
+/-unid:{unid} Require/exclude missions of given unid
(msnFireEvent missionObj event [data]) -> result of event
(msnGetData missionObj attrib) -> data
(msnGetObjRefData missionObj attrib) -> obj
(msnGetStaticData missionObj attrib) -> data
(msnGetTypeData missionObj attrib) -> data
(msnInc@ obj property [increment]) -> new value
(msnIncData missionObj attrib [increment]) -> new value
(msnRefreshSummary missionObj)
(msnRegisterForEvents missionObj obj|obj-list)
(msnReward missionObj [data])
(msnSet@ obj property value) -> True/Nil
property
'debrieferID obj
'isDebriefed True|Nil
'isDeclined True|Nil
'isIntroShown True|Nil
'name newName
'summary newSummary
(msnSetData missionObj attrib data)
(msnSetObjRefData missionObj attrib obj)
(msnSetPlayerTarget missionObj)
(msnSetTypeData missionObj attrib data)
(msnSetUnavailable missionObj)
(msnSuccess missionObj [data]) -> True/Nil
(msnTranslate missionObj textID [data] [default]) -> text (or Nil)
(multiply x1 x2 ... xn) -> z
(neq x1 x2 ... xn) -> True if any arguments are not equal
(not exp) -> True/Nil
(obj@ obj property) -> value
property (all)
'ascended
'canAttack
'canBeAttacked
'category -> 'beam | 'effect | 'marker | 'missile | 'mission | 'ship | 'station
'commsKey
'currency -> currency type UNID
'currencyName
'cyberDefenseLevel
'damageDesc -> { shieldLevel:n armorIntegrity:n HullIntegrity:n }
'destiny
'dockingPorts -> list of structs with the keys:
objID: ID of docked object, if any
pos: port position
status: 'empty | 'inUse
'hasDockingPorts
'id
'identified
'installArmorMaxLevel
'installDeviceMaxLevel
'installDeviceUpgradeOnly -> true if it only installs devices as part of a purchase
'known
'level
'mass -> hull mass in tons
'namePattern
'paintLayer -> 'background | 'space | 'stations | 'ships | 'effects | 'overhang
'playerMissionsGiven
'radioactive
'refuelMaxLevel
'removeDeviceMaxLevel
'repairArmorMaxLevel
'scale -> 'star | 'world | 'station | 'ship | 'flotsam
'sovereign
'suspended
'stealth
'type
'underAttack
property (ships)
'alwaysLeaveWreck
'armorCount
'autoTarget
'availableDeviceSlots
'availableNonWeaponSlots
'availableWeaponSlots
'blindingImmune
'cargoSpace -> in tons
'counterIncrementRate
'counterValue
'character
'characterClass (player ship only)
'deviceDamageImmune
'deviceDisruptImmune
'disintegrationImmune
'dockedAtID
'dockingEnabled
'DockingPortCount
'drivePowerUse -> in kW
'EMPImmune
'exitGateTimer
'fuelCapacity -> in He3 fuel rods
'fuelCapacityExact -> 2500 = 1 He3 fuel rod
'fuelCriteria -> criteria string
'fuelEfficiency -> 15 = standard, more is better
'fuelEfficiencyBonus -> increased efficiency over standard, in %%
'fuelLeft -> in He3 fuel rods
'fuelLeftExact -> 2500 = 1 He3 fuel rod
'healerLeft
'hp
'hullPrice -> in object's default currency
'interiorHP
'maxCounter
'maxHp
'maxInteriorHP
'maxFuel -> in He3 fuel rods
'maxFuelExact -> 2500 = 1 He3 fuel rod
'maxSpeed -> in %% c
'openDockingPortCount
'operatingSpeed -> 'emergency | 'full | 'half | 'quarter
'playerBlacklisted
'playerWingman
'power -> max reactor output in kW
'powerUse -> current power draw in kW
'price -> total price in default currency
'radiationImmune
'rotation -> current facing in degrees, counterclockwise from right
'rotationSpeed -> in degrees per tick, clockwise positive
'selectedLauncher
'selectedMissile
'selectedWeapon
'shatterImmune
'showMapLabel
'target
'thrust -> in GN
'thrustToWeight -> acceleration, 1 = 500 m/s^2 (ships stats show this / 1000)
property (stations)
'abandoned
'active
'angry
'barrier
'destNodeID
'destStargateID
'dockingPortCount
'explored -> True if the player has docked with the station
'hp
'ignoreFriendlyFire
'immutable
'maxHP
'maxStructuralHP
'openDockingPortCount
'orbit
'parallax
'playerBlacklisted
'rotation
'rotationSpeed
'shipConstructionEnabled
'shipReinforcementEnabled
'showMapLabel
'stargateID
'structuralHP
'subordinates
'superior
property (missiles)
'lifeLeft
'rotation
'sourceObj
'target
property (markers)
'style -> 'smallCross
(obj@ obj item property) -> value
property (install/remove)
'installDevicePrice Price to install the given device
'installDeviceStatus {canInstall, price, descID, upgradeOnly}
'installItemStatus {canInstall, price, descID, upgradeOnly}
'removeDevicePrice Price to remove the given device
'removeItemStatus {canRemove, price, descID, upgradeOnly}
property (device)
'capacitor
'enabled
'linkedFireOptions
'pos
'secondary
'temperature
property (armor)
'completeSet True if part of a complete set
'hp Current hit points
'primeSegment True if first segment in a set
NOTE: All type properties (accessed via typ@) are also valid object properties.
(objAccelerate obj angle thrust [ticks]) -> velVector
(objAddBuyOrder obj criteria priceAdj) -> True/Nil
(objAddConnection obj1 connectType obj2 [options]) -> connectionID
connectType:
'hinge
'rod
'spine
options:
'pos1: position relative to obj1
'pos2: position relative to obj2
(objAddItem obj item|type [count]) -> item
(objAddOverlay obj overlayType [lifetime]) -> overlayID
(objAddOverlay obj overlayType pos rotation [lifetime]) -> overlayID
(objAddOverlay obj overlayType pos rotation lifetime [posZ]) -> overlayID
(objAddRandomItems obj table count) -> True/Nil
(objAddSellOrder obj criteria priceAdj) -> True/Nil
(objAddSubordinate obj subordinate) -> True/Nil
(objAddTradeOrder obj service criteria priceAdj) -> True/Nil
(objCalcBestTarget obj [objList]) -> targetObj (or Nil)
(objCanAttack obj) -> True/Nil
(objCanDetectTarget obj target) -> True/Nil
(objCanEnhanceItem obj item enhancementType|item) -> result
result:
resultCode: Result of enhancement
desc: Explanation of result (optional)
enhancement: Enhancement applied (optional)
lifetime: Lifetime in ticks (optional)
resultCode:
'ok: Enhancement applied
'alreadyEnhanced: Already has this exact enhancement
'damaged: Device was damaged
'defectRemoved: Existing defective removed
'defectReplaced: Existing defective replaced with defective mod
'degraded: Enhancement kept, but made worse
'enhancementRemoved: Existing enhancement removed
'enhancementReplaced: Existing enhancement replaced
'improved: Enhancement kept, but made better
'noEffect: Nothing happens.
'repaired: Device was repaired.
(objCanInstallItem obj item [armorSeg|deviceSlot]) -> (True/Nil resultCode resultString [itemToReplace])
resultCode
'ok
'armorTooHeavy
'cannotInstall
'noDeviceSlotsLeft
'noNonWeaponSlotsLeft
'noWeaponSlotsLeft
'notInstallable
'notCompatible
'reactorIncompatible
'reactorOverloaded
'reactorTooWeak
'replacementRequired
'tooMuchCargo
(objChangeEquipmentStatus obj equipment command [duration] [options]) -> True/Nil
equipment
'Autopilot
'GalacticMap
'FriendlyFireLock
'LRS
'MiningComputer
'ProtectWingmen
'SRS
'SRSEnhancer
'SystemMap
'TargetingComputer
'TradingComputer
command
'damage
'install
'remove
'repair
duration is in ticks
options
'noMessage
(objCharge obj [currency] amount) -> remaining balance
(objClearIdentified obj) -> True/Nil
(objClearShowAsDestination obj) -> True/Nil
(objCommunicate obj senderObj msg [obj] [data]) -> result
msg
'AbortAttack
'AttackTarget
'FormUp
'QueryAttackStatus
'Wait
(objCreateReflection missile [pos] [angle]) -> reflection
(objCredit obj [currency] amount) -> new balance
(objDamage obj weaponType objSource [pos] [options]) -> result
result:
'noDamage
'absorbedByShields
'armorHit
'structuralHit
'destroyed
options:
'fullResult Return result as struct
'ignoreOverlays Hit shields and below
'ignoreShields Hit armor and below
'noHitEffect No hit effect created
(objDepleteShields obj) -> True/Nil
(objDestroy obj [objSource]) -> True/Nil
(objEnhanceItem obj item enhancementType|item|enhancementDesc) -> result
enhancementDesc:
enhancement: enhancement code/desc (required)
lifetime: (in ticks)
type: item causing enhancement
result:
resultCode: Result of enhancement
desc: Explanation of result (optional)
enhancement: Enhancement applied (optional)
id: Enhancement ID (optional)
lifetime: Lifetime in ticks (optional)
resultCode:
'ok: Enhancement applied
'alreadyEnhanced: Already has this exact enhancement
'damaged: Device was damaged
'defectOK: Defect applied
'defectRemoved: Existing defective removed
'defectReplaced: Existing defective replaced with defective mod
'degraded: Enhancement kept, but made worse
'enhancementRemoved: Existing enhancement removed
'enhancementReplaced: Existing enhancement replaced
'improved: Enhancement kept, but made better
'noEffect: Nothing happens
'repaired: Device was repaired
(objEnumItems obj criteria itemVar exp) -> value
criteria as objGetItems
(objFireEvent obj event [data]) -> result of event
(objFireItemEvent obj item event [data]) -> result of event
(objFireItemInvoke obj item) -> True/Nil
(objFireOverlayEvent obj overlayID event [data]) -> result of event
(objFirePowerInvoke obj power [target] ['noInvokeCheck]) -> result of event
(objFireWeapon obj weapon target [fireDelay] [checkFireDelay]) -> True/Nil
(objFixParalysis obj) -> True/Nil
(objGateTo obj node entrypoint [effectID]) -> True/Nil
(objGetArmorCriticality obj item|armorSegment) -> criticalityType
(objGetArmorDamage obj item|armorSegment) -> damage to armor segment
(objGetArmorLevel obj item|armorSegment) -> 0-100%%
(objGetArmorName obj item|armorSegment) -> name of armor (e.g., 'forward', etc.)
(objGetArmorRepairPrice obj [shipObj] armorItem hpToRepair) -> price (at which obj repairs)
(objGetArmorReplacePrice obj armorItem) -> price
(objGetArmorType obj item|armorSegment) -> type
(objGetBalance obj [currency]) -> balance
(objGetBuyPrice obj item [options]) -> price (at which obj buys item)
options:
'noDonations
(objGetCargoSpaceLeft obj) -> space left in kg
(objGetCharacterData obj attrib) -> data
(objGetCombatPower obj) -> 0-100
(objGetCondition obj [condition]) -> True/Nil
condition:
'blind
'disarmed
'lrsBlind
'paralyzed
'radioactive
'shieldBlocked
'spinning
'timeStopped
(objGetDamageType obj) -> damage type
(objGetData obj attrib) -> data
(objGetDataField obj field) -> data
(objGetDetectRange obj targetObj) -> range in light-seconds
(objGetDisposition obj targetObj) -> disposition of obj towards targetObj
disposition:
'enemy
'friend
'neutral
(objGetDistance obj destObj) -> distance in light-seconds
(objGetEquipmentStatus obj equipment) -> status
equipment
'Autopilot
'GalacticMap
'FriendlyFireLock
'LRS
'MiningComputer
'ProtectWingmen
'SRS
'SRSEnhancer
'SystemMap
'TargetingComputer
'TradingComputer
status
'damaged
'notInstalled
'ready
(objGetEventHandler obj) -> unid or Nil
(objGetID obj) -> objID
(objGetImageDesc obj) -> imageDesc
(objGetInstalledItemDesc obj item) -> 'installed as forward armor'
(objGetItems obj criteria) -> list of items
criteria as itmGetTypes plus
I Only installed devices
D Only damaged items
N Only undamaged items
S Only usable items
U Only uninstalled items
(objGetLevel obj) -> level
(objGetMass obj) -> mass in tons
(objGetMaxPower obj) -> power (in 1/10 MWs)
(objGetName obj [flags]) -> Name of the object
flags
0x001 'capitalize capitalize first letter
0x002 'plural pluralize name
0x004 'article prefix with 'the' or 'a'
0x008 'count prefix with count or singular article
0x010 'countOnly prefix with count or nothing
0x020 'noModifiers no modifiers ('damaged' etc)
0x040 'demonstrative prefix with 'the' or 'this' or 'these'
0x080 'short use short name
0x100 'actual actual name (not unidentified name)
(objGetNamedItems obj name) -> list of items
(objGetNearestStargate obj) -> obj
(objGetObjByID objID) -> obj
(objGetObjRefData obj attrib) -> obj
(objGetOpenDockingPortCount obj) -> count of open docking ports
(objGetOrderGiver obj [destroyReason]) -> obj
(objGetOverlayData obj overlayID attrib) -> data
(objGetOverlayPos obj overlayID) -> vector
(objGetOverlayRotation obj overlayID) -> rotation
(objGetOverlays obj [criteria|overlayType]) -> list of overlayIDs
(objGetOverlayType obj overlayID) -> type
(objGetPlayerPriceAdj obj [data]) -> priceAdj (or Nil if no adj)
(objGetPos obj) -> vector
(objGetRefuelItemAndPrice obj objToRefuel) -> (item price)
(objGetSellPrice obj item [options]) -> price (at which obj sells item)
options:
'actual
'allowFree
'noInventoryCheck
(objGetShieldLevel obj) -> 0-100%% (or -1 for no shields)
(objGetShipBuyPrice obj shipObj) -> price (at which obj buys ship)
(objGetShipSellPrice obj shipObj) -> price (at which obj sells ship)
(objGetShipwreckType obj) -> unid
(objGetStargateID obj) -> gateID
(objGetStaticData obj attrib) -> data
(objGetTarget obj) -> obj
(objGetType obj) -> unid
(objGetTypeData obj attrib) -> data
(objGetVel obj) -> velVector
(objGetVisibleDamage obj) -> damage %%
(objHasAttribute obj attrib) -> True/Nil
(objHasItem obj item [count] [options]) -> number of items (or Nil)
options:
'ignoreCharges
'ignoreData
'ignoreDisruption
'ignoreEnhancements
'ignoreInstalled
(objHasTradeService obj service [options]) -> True/Nil
options:
fullInstallOnly: True/Nil
itemCriteria: criteria
(objInc@ obj property [increment]) -> new value
(objIncData obj attrib [increment]) -> new value
(objIncOverlayData obj overlayID attrib [increment]) -> new value
(objIncVel obj velVector) -> velVector
velVector in %% of light-speed
(objIsAngryAt obj targetObj) -> True/Nil
(objIsDeviceSlotAvailable ship) -> True/Nil
(objIsDockedAt obj stationObj) -> True/Nil
(objIsEnemy obj target) -> True/Nil
(objIsIdentified obj) -> True/Nil
(objIsKnown obj) -> True/Nil
(objIsParalyzed obj) -> True/Nil
(objIsRadioactive obj) -> True/Nil
(objIsShip obj) -> True/Nil
(objJumpTo obj pos) -> True/Nil
(objLowerShields obj) -> True/Nil
(objMakeParalyzed obj ticks) -> True/Nil
(objMatches obj source filter) -> True/Nil
criteria as sysFindObject
(objProgramDamage obj hacker progName aiLevel code) -> True/Nil
Chance to execute code is: 90 + 10 * (aiLevel - cyberDefenseLevel)
(objRecordBuyItem buyerObj sellerObj item [currency] price) -> True/Nil
(objRegisterForEvents target obj|obj-list) -> True/Nil
(objRegisterForSystemEvents target range) -> True/Nil
(objRemoveItem obj item [count] [options]) -> True/Nil
(objRemoveItemEnhancement obj item enhancementID) -> True/Nil
(objRemoveOverlay obj overlayID) -> True/Nil
(objRepairArmor ship item|armorSegment [hpToRepair]) -> hp repaired
(objResume obj [gateObj]) -> True/Nil
(objSendMessage obj sender text) -> True/Nil
(objSendMessageTranslate obj sender textID [data]) -> True/Nil
(objSet@ obj property value) -> True/Nil
property (ships)
'alwaysLeaveWreck True|Nil
'counterValue value
'counterValueIncrement value
'dockingEnabled True|Nil
'commsKey key
'exitGateTimer ticks
'identified True|Nil
'known True|Nil
'operatingSpeed 'full|'half|'quarter|'emergency
'playerBlacklisted True|Nil
'playerWingman True|Nil
'rotation angle
'selectedMissile type|item|'next|'prev
'selectedWeapon type|item|'next|'prev
'showMapLabel True|Nil
'sovereign type
property (stations)
'angry True|Nil|ticks
'barrier True|Nil
'explored True|Nil
'hp hitPoints
'identified True|Nil
'ignoreFriendlyFire True|Nil
'immutable True|Nil
'known True|Nil
'maxHP hitPoints
'maxStructuralHP hitPoints
'orbit orbit|Nil
'paintLayer 'overhang|Nil
'parallax factor
'playerBlacklisted True|Nil
'shipConstructionEnabled True|Nil
'shipReinforcementEnabled True|Nil
'showMapLabel True|Nil
'sovereign type
'structuralHP hitPoints
(objSet@ obj item property value [count]) -> item
property
'charges charges
'cycleFire [True|Nil] 'damaged [True|Nil]
'disrupted [True|Nil|ticks]
'enabled [True|Nil|'silentDisabled|'silentEnabled]
'fireArc Nil|(min max)|'omnidirectional
'hp hitPoints
'incCharges charges
'linkedFireOptions list-of-options
'pos (angle radius [z])
'secondary [True|Nil] 'unknownTypeIndex [integer|Nil]
(objSetCharacterData obj attrib data) -> True/Nil
(objSetData obj attrib data) -> True/Nil
(objSetDeviceActivationDelay obj deviceItem [delay]) -> True/Nil
(objSetEventHandler obj unid) -> True/Nil
(objSetIdentified obj) -> True/Nil
(objSetItemData obj item attrib data [count]) -> item
(objSetKnown obj) -> True/Nil
(objSetName obj name [flags]) -> True/Nil
flags
0x0001 Definite article
0x0002 Pluralize first word
0x0004 Add 'es' to pluralize
0x0008 Custom plural after semicolon
0x0010 Pluralize second word
0x0020 Reverse 'a' vs 'an'
0x0040 No article
0x0080 Personal name
(objSetObjRefData obj attrib obj) -> True/Nil
(objSetOverlayData obj overlayID attrib data)
(objSetOverlayEffectProperty obj overlayID property value)
(objSetOverlayPos obj overlayID pos)
(objSetOverlayRotation obj overlayID rotation)
(objSetPos obj vector [rotation])
(objSetShowAsDestination obj [options]) -> True/Nil
options:
'autoClear Clear when in SRS range
'autoClearOnDestroy Clear when destroyed
'autoClearOnDock Clear when player docks
'autoClearOnGate Clear when player gates into object
'showDistance Show distance
'showHighlight Show target highlight
(objSetTradeDesc obj currency [maxCurrency replenishCurrency]) -> True/Nil
(objSetTypeData obj attrib data)
(objSetVel obj velVector)
(objSuspend obj)
(objTranslate obj textID [data] [default]) -> text (or Nil)
(objUnregisterForEvents target obj)
(objUnregisterForSystemEvents target)
(or exp1 exp2 ... expn) -> True/Nil
Returns first non-Nil argument
(ovr@ obj overlayID property) -> value
property
'counter
'counterLabel
'pos
'rotation
'type
(ovrInc@ obj overlayID property [increment]) -> new value
(ovrSet@ obj overlayID property value)
property:
'counter
'counterLabel
'pos position
'rotation angle
(!= x1 x2 ... xn) -> True if any arguments are not equal
(* x1 x2 ... xn) -> z
(+ x1 [x2 ... xn]) -> sum (int32 or real)
(- x1 x2 ... xn) -> z
(- x) -> -x
(/ x y) -> x / y (real)
(< [x1 x2 ... xn]) -> True if x1 < x2 < ... < xn
(<= [x1 x2 ... xn]) -> True if x1 <= x2 <= ... <= xn
(= [x1 x2 ... xn]) -> True if all arguments are equal
(> [x1 x2 ... xn]) -> True if x1 > x2 > ... > xn
(>= [x1 x2 ... xn]) -> True if x1 >= x2 >= ... >= xn
(@ list index) -> item index from list (0-based)
(@ struct key) -> value corresponding to key from struct
(abs x) -> absolute value (int32 or real)
(acos x ['degrees]) -> inverse cosine (real)
(add x1 [x2 ... xn]) -> sum (after converting arguments to int32)
(and [exp1 exp2 ... expn]) -> True/Nil
Returns Nil if any argument is Nil, otherwise returns last argument
(append [list1 list2 ...]) -> concatenated list
(apply function [arg1 arg2 ... argn] argList) -> Result of function with arguments arg1... followed by contents of argList
(armGetRepairCost type) -> Cost to repair 1 hit point
(armGetRepairTech type) -> Tech level required to repair
(asin x ['degrees]) -> inverse sine (real)
(atan y [x] ['degrees]) -> inverse tangent (real)
(atmAddEntry ...)
(atmAtomTable ...)
(atmDeleteEntry ...)
(atmList ...)
(atmLookup ...)
(block [localsList exp1 exp2 ... expn]) -> value of expn
Evaluates a series of expressions and returns the value of the last one.
LocalsList is a list of local variables and/or lists consisting of a local variable and the initial value to assign it.If an expression evaluates to an error, returns that error and doesn't evaluate the rest.
(cat [string1 string2 ... stringn]) -> concatenated string
(ceil x) -> x rounded up, i.e. towards positive infinity (real)
(cnvDrawImage x y imageDesc [screen] [ID]) -> True/Nil
(cnvDrawLine xFrom yFrom xTo yTo width color [screen] [ID]) -> True/Nil
(cnvDrawRect x y width height color [screen] [ID]) -> True/Nil
(cnvDrawText x y [width] text font color alignment [screen] [ID]) -> True/Nil
font:
'Small
'Medium
'MediumBold
'MediumHeavyBold
'Large
'LargeBold
'Header
'HeaderBold
'SubTitle
'SubTitleBold
'SubTitleHeavyBold
'Title
alignment:
'left
'center
'right
(convertTo dataType value) -> result
dataType: 'error|'int32|'list|'nil|'real|'string|'true
(cos x ['degrees]) -> cosine (real)
(count list|string|struct) -> number of items or characters
(dbgBreak)
(dbgGet property) -> value
property:
'debugMode
'memoryUse
'showAIDebug
'showBounds
'showFacingsAngle
'showLineOfFire
'showNavPaths
'showNodeInfo
(dbgIsActive) -> True if in debug mode, else Nil
(dbgLog [string]*) -> True if in debug mode, else Nil
(dbgOutput [string]*) -> True if in debug mode, else Nil
(dbgSet property value) -> True/Nil
property:
'showAIDebug True/Nil
'showBounds True/Nil
'showFacingsAngle True/Nil
'showLineOfFire True/Nil
'showNavPaths True/Nil
'showNodeInfo True/Nil
(divide x y) -> x / y after converting arguments to int32, rounded toward 0
(double x) -> x as a double
(ecoExchange amount fromCurrency toCurrency) -> amount
(enum list itemVar exp) -> value
Iterate itemVar over list evaluating exp. Returns the last value of exp.
(enumWhile list condition itemVar exp) -> value
Iterate itemVar over list evaluating exp while condition is True. Returns the last value of exp.
(eq [x1 x2 ... xn]) -> True if all arguments are equal
(errBlock localsList [exp1 exp2 ... expn] expErr) -> value of expn or expErr if error occurs
Like block, except it evaluates and returns the last expression only if one of the other expressions evaluates to an error.
LocalsList must contain at least one variable. If the first variable is not assigned within localsList, it will be set
to the error while evaluating expErr.
(error msg) -> error
(eval exp) -> result
Evaluates the expression. If it's a string, result is the value of the corresponding symbol.
If it's a quoted expression, the expression is evaluated.
If it's a list, each item is evaluated, then it's evaluated as a function call.
(exp x) -> e^x (real)
(filter list var boolean-exp) -> filtered list
Iterates var over list, evaluating boolean-exp. Returns a list containing the items for which boolean-exp is non-Nil.
(find string target) -> position of target in string (0-based)
(find source-list target ['ascending|'descending] [keyIndex]) -> position of target in source-list (0-based)
The 'ascending or 'descending argument makes the function more efficient if the list is long and sorted in the specified direction.
Specifying an integer keyIndex causes it to compare that item of each list within source-list with the target instead.
(floor x) -> x rounded down, i.e. towards negative infinity (real)
(fmtCompose text [data]) -> string
(fmtCurrency currency [amount]) -> string
(fmtNoun namePattern [nameFlags] count formatFlags) -> string
(fmtNumber [type] value) -> string
type:
'integer
'massKg
'massTons
'power
'real
'regenRate
'speed
(fmtPower powerInKWs) -> string
(fmtVerb verb pluralize) -> string
(fncHelp symbol) -> help on function symbol (works on deprecated functions)
(for var from to exp) -> value of last expression
(gamEnd endGameReason epitaph [scoreBonus]) -> True/Nil
(gamSave [options]) -> True/Nil
options:
'checkpoint (or Nil)
'missionCheckpoint
(gamSetCrawlImage imageUNID) -> True/Nil
(gamSetCrawlSoundtrack soundtrackUNID) -> True/Nil
(gamSetCrawlText text) -> True/Nil
(geq [x1 x2 ... xn]) -> True if x1 >= x2 >= ... >= xn
(getAPIVersion) -> version
(gr [x1 x2 ... xn]) -> True if x1 > x2 > ... > xn
(help) -> this help
(help '*) -> all functions
(help 'partial-string) -> all functions starting with partial-string
(help 'function-name) -> help on function-name
(hex x [fieldSize]) -> hex-string
(hex hex-string) -> value
(if condition exp1 [exp2]) -> exp1 if condition True, otherwise exp2
(int x) -> x as an integer
(objTranslate obj textID [data] [default]) -> text (or Nil)
(isAtom exp) -> True if exp is not a list
(isError exp) -> True if exp is an error
(isFunction exp) -> True if exp is a function
(isInt exp) -> True if exp is an integer
(isPrimitive exp) -> True if exp is a primitive
(itm@ item|type property) -> value
property (instance)
'canBeUsed
'charges
'damaged
'description
'disrupted
'enhancement
'hasUseScreen
'installed
'level
'reference
'rootName
'unknownType
'unknownTypeIndex
'used
property (device)
'canBeDamaged
'canBeDisabled
'canBeDisrupted
'external
'power
'shotSeparationScale
property (weapon)
'ammoTypes
'averageDamage Average damage per shot
'balance
'balanceDamage
'balanceCost
'balanceExcludeCost
'damage Average damage per 180 ticks
'damagePerProjectile
'damageWMD180 Average WMD damage per 180 ticks
'effectiveRange
'fireArc
'fireDelay Number of ticks between shots
'fireRate
'linkedFireOptions
'maxDamage Maximum damage per shot
'minDamage Minimum damage per shot
'multiShot
'omnidirectional
'repeating
'shipCounterPerShot
'stdCost
property (armor)
'blindingImmune
'completeHP
'damageAdj
'deviceDamageImmune
'deviceDisruptImmune
'disintegrationImmune
'EMPImmune
'hp
'hpBonus
'maxHP
'radiationImmune
'repairCost
'repairLevel
'shatterImmune
'stdHP
'stealth
property (all)
'category
'componentPrice
'components
'currency
'currencyName
'description
'frequency
'known
'level
'maxCharges
'maxLevel
'minLevel
'massBonusPerCharge
'valueBonusPerCharge
'weaponTypes
(itmCreate itemUNID count) -> item
(itmCreateByName criteria name [count]) -> item
criteria as itmGetTypes
(itmCreateRandom criteria levelDistribution) -> item
criteria as itmGetTypes
(itmEnumTypes criteria item-var exp) -> value of last expression
criteria as itmGetTypes
(itmFireEvent item|type event [data]) -> result of event
(itmGetActualPrice item|type) -> actual price of a single item
(itmGetArmorInstalledLocation item) -> segment #
(itmGetArmorType item) -> type
(itmGetAverageAppearing item|type) -> average number that appear randomly
(itmGetCategory item|type) -> item category
(itmGetCount item) -> count of items
(itmGetDamageType item|type) -> damage type
(itmGetData item attrib) -> data
(itmGetFrequency item|type [level]) -> frequency
(itmGetImageDesc item|type) -> imageDesc
(itmGetInstallCost item|type [currency]) -> cost
(itmGetInstallPos item) -> installPos
(itmGetLevel item|type) -> level
(itmGetMass item|type) -> mass of single item in kg
(itmGetMaxAppearing item|type) -> max number that appear randomly
(itmGetName item|type [flags]) -> name of item
flags
0x0001 'capitalize capitalize first letter
0x0002 'plural pluralize name
0x0004 'article prefix with 'the' or 'a'
0x0008 'count prefix with count or singular article
0x0010 'countOnly prefix with count or nothing
0x0020 'noModifiers no modifiers ('damaged' etc)
0x0040 'demonstrative prefix with 'the' or 'this' or 'these'
0x0080 'short use short name
0x0100 'actual actual name (not unidentified name)
0x0200 'noEvent do not fire GetName event
0x0400 'titleCapitalize capitalize as a title
0x0800 'installedState prefix with 'installed' if necessary
0x1000 'countAlways always prefix with count
0x40000 'noDeterminer no prefix, but pluralize if necessary
0x80000 'noQuotes replace double-quotes with single-quotes
0x100000 'escapeQuotes use for dock screens
(itmGetPrice item|type [currency]) -> price of a single item
(itmGetStaticData item attrib) -> data
(itmGetType item) -> itemUNID
(itmGetTypeData item|type attrib) -> data
(itmGetTypes criteria) -> list of itemUNIDs
criteria
* Include all item categories
a Include armor devices
b Include misc devices
c Include cargo hold devices
d Include all devices
f Include fuel
l Include launcher devices
m/M Include missiles and ammo / missiles only
p Include primary weapon devices
r Include reactor devices
s Include shield devices
t Include misc items
u Include useful items
v Include drive devices
w Include all weapon devices
V Include virtual items
~ Exclude category
^ Require category
+/-xyz Require / exclude items with attribute
+/-UNID:xyz Require / exclude items with unid
+/-launchedBy:xyz Require / exclude ammo launched by unid
+/-damageType:xyz Require / exclude weapons with damage
F:xyz Only items with the given frequency
L:x-y Only Items of level x to y
comparison criteria supported: < <= = => >
< x Only items with level less than x
<$ x Only items costing less than x
<# x Only items massing less than x
(itmGetUseScreen item|type) -> screenUNID
(itmHasAttribute item|type attrib) -> True/Nil
(itmHasReference item|type) -> True/Nil
(itmIsEnhanced item) -> Nil or mods
(itmIsEqual item1 item2 [options]) -> True/Nil
options
'ignoreCharges
'ignoreData
'ignoreDisruption
'ignoreEnhancements
'ignoreInstalled
(itmIsInstalled item) -> True/Nil
(itmIsKnown item|type) -> True/Nil
(itmMatches item|type criteria) -> True/Nil
criteria as itmGetTypes
(itmSet@ item property value) -> item
property
'charges charges
'damaged [True|Nil]
'disrupted [True|Nil|ticks]
'incCharges charges
'installed [True|Nil] 'level level 'shotSeparationScale separation
(itmSetCount item count) -> item
(itmSetData item attrib data [count]) -> item
(itmSetEnhanced item mods) -> item
(itmSetKnown type|item [True/Nil]) -> True/Nil
(itmSetReference item) -> True/Nil
(itmSetTypeData item attrib data) -> True/Nil
(join list [separator]) -> Concatenates items of list into a string, with separator in between each.
(join list 'oxfordComma) -> 'a' ; 'a and b' ; 'a, b, and c' ; etc.
(lambda args-list exp) -> lambda function
(leq [x1 x2 ... xn]) -> True if x1 <= x2 <= ... <= xn
(link ...)
(list [i1 i2 ... in]) -> list
(lnkAppend list item) -> Modifies list by appending item to the end and returns the result.
(lnkRemove list index) -> Modifies list by removing the specified item (0-based) and returns the result.
(lnkRemoveNil list) -> Modifies list by removing all Nil items and returns the result.
(lnkReplace list index item) -> list
(log x [base]) -> Logarithm of x (real). Base defaults to e.
(lookup source target ['ascending|'descending] [keyIndex]) -> Like find, but returns the matching item rather than the index.
(loop condition exp) -> Evaluate exp until condition is Nil
(ls [x1 x2 ... xn]) -> True if x1 < x2 < ... < xn
(make 'sequence count) -> list from 1 to count
(make 'sequence start end [inc]) -> list from start to end, incrementing by inc
(map list ['excludeNil|'original|'reduceMax|'reduceMin|'reduceAverage|'reduceSum] var exp) -> list
(match list var boolean-exp) -> first item that matches
(max x1 x2 ... xn) -> z
(min x1 x2 ... xn) -> z
(mod ['degrees] x y) -> z
(modulo ['degrees] x y) -> z
(msn@ missionObj property) -> value
property
'acceptedOn Tick on which player accepted mission (or Nil)
'canBeDeclined Mission can be declined by player
'canBeDeleted Mission can be deleted by player
'completedOn Tick on which mission was completed
'debrieferID ID of the object that will debrief the player
'forceUndockAfterDebrief Force undock after showing debrief screen
'hasDebrief Mission has a debrief phase
'hasInProgress Mission show in progress text
'id Mission object ID
'inProgress Active player mission and not completed
'isActive Is an active player mission
'isCompleted Is a completed mission (player or non-player)
'isDebriefed Player has been debriefed
'isDeclined Player has declined mission
'isFailure Mission has failed
'isIntroShown Player has been shown intro text
'isOpen Mission is available to player
'isRecorded Mission has been completed and debriefed
'isSuccess Mission has succeeded
'isUnavailable Mission is unavailable to player
'maxAppearing Max number of this type that can exist
'name The name of the mission
'nodeID ID of the mission's owner system
'ownerID ID of the mission's owner object
'priority Mission priority
'summary A summary description of the mission
'totalAccepted Count of this type accepted by player
'totalExisting Count of this type currently existing in universe
'unid Mission type UNID
(msnAccept missionObj) -> True/Nil
(msnAddRecurringTimerEvent missionObj interval event [options])
interval in ticks
options:
'allSystems: Timer fires in all systems.
(msnAddTimerEvent missionObj delay event [options])
delay in ticks
options:
'allSystems: Timer fires in all systems.
(msnCancelTimerEvent missionObj event) -> True/Nil
(msnCanCreate unid [owner [data|options]]) -> True|Nil
options:
'noMissionArcCheck: Do not check if in correct sequence.
'noSystemLevelCheck: Do not check if correct system level.
(msnCreate unid owner [data]) -> missionObj|Nil
(msnCreate unid-list owner [data]) -> missionObj|Nil
(msnDecline missionObj)
(msnDestroy missionObj) -> True/Nil
(msnFailure missionObj [data]) -> True/Nil
(msnFind [source] criteria) -> list of missionObjs
criteria
* Include all missions states
a Include active player missions
c Include completed missions (not necessarily debriefed)
o Include open missions
r Include already debriefed (recorded) missions
u Include non-player missions
D Only missions debriefed by source
P Return only the mission with highest priority
S Only missions owned by source
+/-{attrib} Require/exclude missions with given attribute
+/-ownerID:{id} Require/exclude missions with given owner
+/-unid:{unid} Require/exclude missions of given unid
(msnFireEvent missionObj event [data]) -> result of event
(msnGetData missionObj attrib) -> data
(msnGetObjRefData missionObj attrib) -> obj
(msnGetStaticData missionObj attrib) -> data
(msnGetTypeData missionObj attrib) -> data
(msnInc@ obj property [increment]) -> new value
(msnIncData missionObj attrib [increment]) -> new value
(msnRefreshSummary missionObj)
(msnRegisterForEvents missionObj obj|obj-list)
(msnReward missionObj [data])
(msnSet@ obj property value) -> True/Nil
property
'debrieferID obj
'isDebriefed True|Nil
'isDeclined True|Nil
'isIntroShown True|Nil
'name newName
'summary newSummary
(msnSetData missionObj attrib data)
(msnSetObjRefData missionObj attrib obj)
(msnSetPlayerTarget missionObj)
(msnSetTypeData missionObj attrib data)
(msnSetUnavailable missionObj)
(msnSuccess missionObj [data]) -> True/Nil
(msnTranslate missionObj textID [data] [default]) -> text (or Nil)
(multiply x1 x2 ... xn) -> z
(neq x1 x2 ... xn) -> True if any arguments are not equal
(not exp) -> True/Nil
(obj@ obj property) -> value
property (all)
'ascended
'canAttack
'canBeAttacked
'category -> 'beam | 'effect | 'marker | 'missile | 'mission | 'ship | 'station
'commsKey
'currency -> currency type UNID
'currencyName
'cyberDefenseLevel
'damageDesc -> { shieldLevel:n armorIntegrity:n HullIntegrity:n }
'destiny
'dockingPorts -> list of structs with the keys:
objID: ID of docked object, if any
pos: port position
status: 'empty | 'inUse
'hasDockingPorts
'id
'identified
'installArmorMaxLevel
'installDeviceMaxLevel
'installDeviceUpgradeOnly -> true if it only installs devices as part of a purchase
'known
'level
'mass -> hull mass in tons
'namePattern
'paintLayer -> 'background | 'space | 'stations | 'ships | 'effects | 'overhang
'playerMissionsGiven
'radioactive
'refuelMaxLevel
'removeDeviceMaxLevel
'repairArmorMaxLevel
'scale -> 'star | 'world | 'station | 'ship | 'flotsam
'sovereign
'suspended
'stealth
'type
'underAttack
property (ships)
'alwaysLeaveWreck
'armorCount
'autoTarget
'availableDeviceSlots
'availableNonWeaponSlots
'availableWeaponSlots
'blindingImmune
'cargoSpace -> in tons
'counterIncrementRate
'counterValue
'character
'characterClass (player ship only)
'deviceDamageImmune
'deviceDisruptImmune
'disintegrationImmune
'dockedAtID
'dockingEnabled
'DockingPortCount
'drivePowerUse -> in kW
'EMPImmune
'exitGateTimer
'fuelCapacity -> in He3 fuel rods
'fuelCapacityExact -> 2500 = 1 He3 fuel rod
'fuelCriteria -> criteria string
'fuelEfficiency -> 15 = standard, more is better
'fuelEfficiencyBonus -> increased efficiency over standard, in %%
'fuelLeft -> in He3 fuel rods
'fuelLeftExact -> 2500 = 1 He3 fuel rod
'healerLeft
'hp
'hullPrice -> in object's default currency
'interiorHP
'maxCounter
'maxHp
'maxInteriorHP
'maxFuel -> in He3 fuel rods
'maxFuelExact -> 2500 = 1 He3 fuel rod
'maxSpeed -> in %% c
'openDockingPortCount
'operatingSpeed -> 'emergency | 'full | 'half | 'quarter
'playerBlacklisted
'playerWingman
'power -> max reactor output in kW
'powerUse -> current power draw in kW
'price -> total price in default currency
'radiationImmune
'rotation -> current facing in degrees, counterclockwise from right
'rotationSpeed -> in degrees per tick, clockwise positive
'selectedLauncher
'selectedMissile
'selectedWeapon
'shatterImmune
'showMapLabel
'target
'thrust -> in GN
'thrustToWeight -> acceleration, 1 = 500 m/s^2 (ships stats show this / 1000)
property (stations)
'abandoned
'active
'angry
'barrier
'destNodeID
'destStargateID
'dockingPortCount
'explored -> True if the player has docked with the station
'hp
'ignoreFriendlyFire
'immutable
'maxHP
'maxStructuralHP
'openDockingPortCount
'orbit
'parallax
'playerBlacklisted
'rotation
'rotationSpeed
'shipConstructionEnabled
'shipReinforcementEnabled
'showMapLabel
'stargateID
'structuralHP
'subordinates
'superior
property (missiles)
'lifeLeft
'rotation
'sourceObj
'target
property (markers)
'style -> 'smallCross
(obj@ obj item property) -> value
property (install/remove)
'installDevicePrice Price to install the given device
'installDeviceStatus {canInstall, price, descID, upgradeOnly}
'installItemStatus {canInstall, price, descID, upgradeOnly}
'removeDevicePrice Price to remove the given device
'removeItemStatus {canRemove, price, descID, upgradeOnly}
property (device)
'capacitor
'enabled
'linkedFireOptions
'pos
'secondary
'temperature
property (armor)
'completeSet True if part of a complete set
'hp Current hit points
'primeSegment True if first segment in a set
NOTE: All type properties (accessed via typ@) are also valid object properties.
(objAccelerate obj angle thrust [ticks]) -> velVector
(objAddBuyOrder obj criteria priceAdj) -> True/Nil
(objAddConnection obj1 connectType obj2 [options]) -> connectionID
connectType:
'hinge
'rod
'spine
options:
'pos1: position relative to obj1
'pos2: position relative to obj2
(objAddItem obj item|type [count]) -> item
(objAddOverlay obj overlayType [lifetime]) -> overlayID
(objAddOverlay obj overlayType pos rotation [lifetime]) -> overlayID
(objAddOverlay obj overlayType pos rotation lifetime [posZ]) -> overlayID
(objAddRandomItems obj table count) -> True/Nil
(objAddSellOrder obj criteria priceAdj) -> True/Nil
(objAddSubordinate obj subordinate) -> True/Nil
(objAddTradeOrder obj service criteria priceAdj) -> True/Nil
(objCalcBestTarget obj [objList]) -> targetObj (or Nil)
(objCanAttack obj) -> True/Nil
(objCanDetectTarget obj target) -> True/Nil
(objCanEnhanceItem obj item enhancementType|item) -> result
result:
resultCode: Result of enhancement
desc: Explanation of result (optional)
enhancement: Enhancement applied (optional)
lifetime: Lifetime in ticks (optional)
resultCode:
'ok: Enhancement applied
'alreadyEnhanced: Already has this exact enhancement
'damaged: Device was damaged
'defectRemoved: Existing defective removed
'defectReplaced: Existing defective replaced with defective mod
'degraded: Enhancement kept, but made worse
'enhancementRemoved: Existing enhancement removed
'enhancementReplaced: Existing enhancement replaced
'improved: Enhancement kept, but made better
'noEffect: Nothing happens.
'repaired: Device was repaired.
(objCanInstallItem obj item [armorSeg|deviceSlot]) -> (True/Nil resultCode resultString [itemToReplace])
resultCode
'ok
'armorTooHeavy
'cannotInstall
'noDeviceSlotsLeft
'noNonWeaponSlotsLeft
'noWeaponSlotsLeft
'notInstallable
'notCompatible
'reactorIncompatible
'reactorOverloaded
'reactorTooWeak
'replacementRequired
'tooMuchCargo
(objChangeEquipmentStatus obj equipment command [duration] [options]) -> True/Nil
equipment
'Autopilot
'GalacticMap
'FriendlyFireLock
'LRS
'MiningComputer
'ProtectWingmen
'SRS
'SRSEnhancer
'SystemMap
'TargetingComputer
'TradingComputer
command
'damage
'install
'remove
'repair
duration is in ticks
options
'noMessage
(objCharge obj [currency] amount) -> remaining balance
(objClearIdentified obj) -> True/Nil
(objClearShowAsDestination obj) -> True/Nil
(objCommunicate obj senderObj msg [obj] [data]) -> result
msg
'AbortAttack
'AttackTarget
'FormUp
'QueryAttackStatus
'Wait
(objCreateReflection missile [pos] [angle]) -> reflection
(objCredit obj [currency] amount) -> new balance
(objDamage obj weaponType objSource [pos] [options]) -> result
result:
'noDamage
'absorbedByShields
'armorHit
'structuralHit
'destroyed
options:
'fullResult Return result as struct
'ignoreOverlays Hit shields and below
'ignoreShields Hit armor and below
'noHitEffect No hit effect created
(objDepleteShields obj) -> True/Nil
(objDestroy obj [objSource]) -> True/Nil
(objEnhanceItem obj item enhancementType|item|enhancementDesc) -> result
enhancementDesc:
enhancement: enhancement code/desc (required)
lifetime: (in ticks)
type: item causing enhancement
result:
resultCode: Result of enhancement
desc: Explanation of result (optional)
enhancement: Enhancement applied (optional)
id: Enhancement ID (optional)
lifetime: Lifetime in ticks (optional)
resultCode:
'ok: Enhancement applied
'alreadyEnhanced: Already has this exact enhancement
'damaged: Device was damaged
'defectOK: Defect applied
'defectRemoved: Existing defective removed
'defectReplaced: Existing defective replaced with defective mod
'degraded: Enhancement kept, but made worse
'enhancementRemoved: Existing enhancement removed
'enhancementReplaced: Existing enhancement replaced
'improved: Enhancement kept, but made better
'noEffect: Nothing happens
'repaired: Device was repaired
(objEnumItems obj criteria itemVar exp) -> value
criteria as objGetItems
(objFireEvent obj event [data]) -> result of event
(objFireItemEvent obj item event [data]) -> result of event
(objFireItemInvoke obj item) -> True/Nil
(objFireOverlayEvent obj overlayID event [data]) -> result of event
(objFirePowerInvoke obj power [target] ['noInvokeCheck]) -> result of event
(objFireWeapon obj weapon target [fireDelay] [checkFireDelay]) -> True/Nil
(objFixParalysis obj) -> True/Nil
(objGateTo obj node entrypoint [effectID]) -> True/Nil
(objGetArmorCriticality obj item|armorSegment) -> criticalityType
(objGetArmorDamage obj item|armorSegment) -> damage to armor segment
(objGetArmorLevel obj item|armorSegment) -> 0-100%%
(objGetArmorName obj item|armorSegment) -> name of armor (e.g., 'forward', etc.)
(objGetArmorRepairPrice obj [shipObj] armorItem hpToRepair) -> price (at which obj repairs)
(objGetArmorReplacePrice obj armorItem) -> price
(objGetArmorType obj item|armorSegment) -> type
(objGetBalance obj [currency]) -> balance
(objGetBuyPrice obj item [options]) -> price (at which obj buys item)
options:
'noDonations
(objGetCargoSpaceLeft obj) -> space left in kg
(objGetCharacterData obj attrib) -> data
(objGetCombatPower obj) -> 0-100
(objGetCondition obj [condition]) -> True/Nil
condition:
'blind
'disarmed
'lrsBlind
'paralyzed
'radioactive
'shieldBlocked
'spinning
'timeStopped
(objGetDamageType obj) -> damage type
(objGetData obj attrib) -> data
(objGetDataField obj field) -> data
(objGetDetectRange obj targetObj) -> range in light-seconds
(objGetDisposition obj targetObj) -> disposition of obj towards targetObj
disposition:
'enemy
'friend
'neutral
(objGetDistance obj destObj) -> distance in light-seconds
(objGetEquipmentStatus obj equipment) -> status
equipment
'Autopilot
'GalacticMap
'FriendlyFireLock
'LRS
'MiningComputer
'ProtectWingmen
'SRS
'SRSEnhancer
'SystemMap
'TargetingComputer
'TradingComputer
status
'damaged
'notInstalled
'ready
(objGetEventHandler obj) -> unid or Nil
(objGetID obj) -> objID
(objGetImageDesc obj) -> imageDesc
(objGetInstalledItemDesc obj item) -> 'installed as forward armor'
(objGetItems obj criteria) -> list of items
criteria as itmGetTypes plus
I Only installed devices
D Only damaged items
N Only undamaged items
S Only usable items
U Only uninstalled items
(objGetLevel obj) -> level
(objGetMass obj) -> mass in tons
(objGetMaxPower obj) -> power (in 1/10 MWs)
(objGetName obj [flags]) -> Name of the object
flags
0x001 'capitalize capitalize first letter
0x002 'plural pluralize name
0x004 'article prefix with 'the' or 'a'
0x008 'count prefix with count or singular article
0x010 'countOnly prefix with count or nothing
0x020 'noModifiers no modifiers ('damaged' etc)
0x040 'demonstrative prefix with 'the' or 'this' or 'these'
0x080 'short use short name
0x100 'actual actual name (not unidentified name)
(objGetNamedItems obj name) -> list of items
(objGetNearestStargate obj) -> obj
(objGetObjByID objID) -> obj
(objGetObjRefData obj attrib) -> obj
(objGetOpenDockingPortCount obj) -> count of open docking ports
(objGetOrderGiver obj [destroyReason]) -> obj
(objGetOverlayData obj overlayID attrib) -> data
(objGetOverlayPos obj overlayID) -> vector
(objGetOverlayRotation obj overlayID) -> rotation
(objGetOverlays obj [criteria|overlayType]) -> list of overlayIDs
(objGetOverlayType obj overlayID) -> type
(objGetPlayerPriceAdj obj [data]) -> priceAdj (or Nil if no adj)
(objGetPos obj) -> vector
(objGetRefuelItemAndPrice obj objToRefuel) -> (item price)
(objGetSellPrice obj item [options]) -> price (at which obj sells item)
options:
'actual
'allowFree
'noInventoryCheck
(objGetShieldLevel obj) -> 0-100%% (or -1 for no shields)
(objGetShipBuyPrice obj shipObj) -> price (at which obj buys ship)
(objGetShipSellPrice obj shipObj) -> price (at which obj sells ship)
(objGetShipwreckType obj) -> unid
(objGetStargateID obj) -> gateID
(objGetStaticData obj attrib) -> data
(objGetTarget obj) -> obj
(objGetType obj) -> unid
(objGetTypeData obj attrib) -> data
(objGetVel obj) -> velVector
(objGetVisibleDamage obj) -> damage %%
(objHasAttribute obj attrib) -> True/Nil
(objHasItem obj item [count] [options]) -> number of items (or Nil)
options:
'ignoreCharges
'ignoreData
'ignoreDisruption
'ignoreEnhancements
'ignoreInstalled
(objHasTradeService obj service [options]) -> True/Nil
options:
fullInstallOnly: True/Nil
itemCriteria: criteria
(objInc@ obj property [increment]) -> new value
(objIncData obj attrib [increment]) -> new value
(objIncOverlayData obj overlayID attrib [increment]) -> new value
(objIncVel obj velVector) -> velVector
velVector in %% of light-speed
(objIsAngryAt obj targetObj) -> True/Nil
(objIsDeviceSlotAvailable ship) -> True/Nil
(objIsDockedAt obj stationObj) -> True/Nil
(objIsEnemy obj target) -> True/Nil
(objIsIdentified obj) -> True/Nil
(objIsKnown obj) -> True/Nil
(objIsParalyzed obj) -> True/Nil
(objIsRadioactive obj) -> True/Nil
(objIsShip obj) -> True/Nil
(objJumpTo obj pos) -> True/Nil
(objLowerShields obj) -> True/Nil
(objMakeParalyzed obj ticks) -> True/Nil
(objMatches obj source filter) -> True/Nil
criteria as sysFindObject
(objProgramDamage obj hacker progName aiLevel code) -> True/Nil
Chance to execute code is: 90 + 10 * (aiLevel - cyberDefenseLevel)
(objRecordBuyItem buyerObj sellerObj item [currency] price) -> True/Nil
(objRegisterForEvents target obj|obj-list) -> True/Nil
(objRegisterForSystemEvents target range) -> True/Nil
(objRemoveItem obj item [count] [options]) -> True/Nil
(objRemoveItemEnhancement obj item enhancementID) -> True/Nil
(objRemoveOverlay obj overlayID) -> True/Nil
(objRepairArmor ship item|armorSegment [hpToRepair]) -> hp repaired
(objResume obj [gateObj]) -> True/Nil
(objSendMessage obj sender text) -> True/Nil
(objSendMessageTranslate obj sender textID [data]) -> True/Nil
(objSet@ obj property value) -> True/Nil
property (ships)
'alwaysLeaveWreck True|Nil
'counterValue value
'counterValueIncrement value
'dockingEnabled True|Nil
'commsKey key
'exitGateTimer ticks
'identified True|Nil
'known True|Nil
'operatingSpeed 'full|'half|'quarter|'emergency
'playerBlacklisted True|Nil
'playerWingman True|Nil
'rotation angle
'selectedMissile type|item|'next|'prev
'selectedWeapon type|item|'next|'prev
'showMapLabel True|Nil
'sovereign type
property (stations)
'angry True|Nil|ticks
'barrier True|Nil
'explored True|Nil
'hp hitPoints
'identified True|Nil
'ignoreFriendlyFire True|Nil
'immutable True|Nil
'known True|Nil
'maxHP hitPoints
'maxStructuralHP hitPoints
'orbit orbit|Nil
'paintLayer 'overhang|Nil
'parallax factor
'playerBlacklisted True|Nil
'shipConstructionEnabled True|Nil
'shipReinforcementEnabled True|Nil
'showMapLabel True|Nil
'sovereign type
'structuralHP hitPoints
(objSet@ obj item property value [count]) -> item
property
'charges charges
'cycleFire [True|Nil] 'damaged [True|Nil]
'disrupted [True|Nil|ticks]
'enabled [True|Nil|'silentDisabled|'silentEnabled]
'fireArc Nil|(min max)|'omnidirectional
'hp hitPoints
'incCharges charges
'linkedFireOptions list-of-options
'pos (angle radius [z])
'secondary [True|Nil] 'unknownTypeIndex [integer|Nil]
(objSetCharacterData obj attrib data) -> True/Nil
(objSetData obj attrib data) -> True/Nil
(objSetDeviceActivationDelay obj deviceItem [delay]) -> True/Nil
(objSetEventHandler obj unid) -> True/Nil
(objSetIdentified obj) -> True/Nil
(objSetItemData obj item attrib data [count]) -> item
(objSetKnown obj) -> True/Nil
(objSetName obj name [flags]) -> True/Nil
flags
0x0001 Definite article
0x0002 Pluralize first word
0x0004 Add 'es' to pluralize
0x0008 Custom plural after semicolon
0x0010 Pluralize second word
0x0020 Reverse 'a' vs 'an'
0x0040 No article
0x0080 Personal name
(objSetObjRefData obj attrib obj) -> True/Nil
(objSetOverlayData obj overlayID attrib data)
(objSetOverlayEffectProperty obj overlayID property value)
(objSetOverlayPos obj overlayID pos)
(objSetOverlayRotation obj overlayID rotation)
(objSetPos obj vector [rotation])
(objSetShowAsDestination obj [options]) -> True/Nil
options:
'autoClear Clear when in SRS range
'autoClearOnDestroy Clear when destroyed
'autoClearOnDock Clear when player docks
'autoClearOnGate Clear when player gates into object
'showDistance Show distance
'showHighlight Show target highlight
(objSetTradeDesc obj currency [maxCurrency replenishCurrency]) -> True/Nil
(objSetTypeData obj attrib data)
(objSetVel obj velVector)
(objSuspend obj)
(objTranslate obj textID [data] [default]) -> text (or Nil)
(objUnregisterForEvents target obj)
(objUnregisterForSystemEvents target)
(or exp1 exp2 ... expn) -> True/Nil
Returns first non-Nil argument
(ovr@ obj overlayID property) -> value
property
'counter
'counterLabel
'pos
'rotation
'type
(ovrInc@ obj overlayID property [increment]) -> new value
(ovrSet@ obj overlayID property value)
property:
'counter
'counterLabel
'pos position
'rotation angle