Module Functions
This documentation is a repository for recognized plugin data types, built-in functions and global data in the Particle System Plugin’s Lua Scripting API.
Every currently implemented feature in the API is listed here. More data types, fields and functions may be added with new releases of the plugin, and this documentation will be updated accordingly.
Below are short summarizations of the plugin feature categories in the API.
- Plugin data types are special data types representing data entities within the plugin, which can be interfaced through Lua. Data type listings display:
- the name of the data type
- the description of the data type (what data it represents in the plugin)
- the list of accessible fields (if any), along with their value types, descriptions, read-only statuses and default values
Plugin Data Types
- Calling phases are specific operation phases during which certain procedures are carried out by the particle plugin. Some API functions must be called in specific phases and cannot be called in others. Functions called in the wrong phase will raise an
ERRORmessage in the plugin logger.
The listing of calling phases displays the names of the phases and their descriptions (i.e. when they occur).
Calling Phases
- Built-in functions are predefined functions from the plugin’s API, that may be called in Lua scripts. Functions are grouped together by the area which they pertain to: plugin interface, particle manipulation, game interaction, TRNG interaction, random number generation, math operations. Function listings display:
- the name of the function and order of parameters (what you write in the script)
- the description of the function (what it does)
- the permitted calling phases (when the function can be called)
- the parameter / argument list (if any), along with expected value types
- the returned values (if any)
- the raised warnings or errors (if any)
For function parameters, a convention is used where parameters may be placed in square brackets:[param]– this indicates that the argument is optional and not necessary in the function call. Such a parameter may also be followed an equals sign and value:[param=value]– indicating the default value of the argument, if not explicitly used. Optional parameter indicators may be nested when there are multiple optional parameters e.g.function(foo[, bar=5[, baz]])will indicatefoois a necessary parameter, whilebar(with a default value of 5) andbazare both optional.
Built-in Functions
- Built-in globals are special data objects that can be accessed anywhere in the Lua scripts. Globals listings display:
- the name of the global (what you write in the script)
- the list of accessible fields, along with their value types, read-only statuses and default values
Built-in Globals
- Built-in constants serve an identical purpose to mnemonic constants in TRNG scripting, i.e. they replace hard to memorize numbers with text tags representing the value. Constants must be typed in
ALL_CAPSto be correctly recognized by Lua.
Built-in Constants
Plugin data types
| ColorRGB | Data type representing a 24-bit (8-bit/8-bit/8-bit) RGB color. |
| Vector3D | Data type representing a 3D (XYZ) Cartesian vector. |
| RotVector | Data type comprised of a set of XYZ Euler angles for representing a 3D rotation. |
| ScaleVector | Data type comprised of a set of XYZ scale values for representing a mesh scale. |
| NodeAttachment | Data type representing the particle tethering settings of a particle group. |
| ParticleGroup | Data type representing particle groups in the Particle System Plugin. |
| SpriteParticle | Data type representing sprite particles in the Particle System Plugin. |
| MeshParticle | Data type representing mesh particles in the Particle System Plugin. |
| ItemInfo | Data type representing the moveable object infos exposed from the game. |
| StaticInfo | Data type representing the static object infos exposed from the game. |
| ModuleContext | Data type representing a module context object. |
| PerlinNoise | Data type representing a deterministic pseudo-random noise generator. |
| SimplexNoise | Data type representing a deterministic pseudo-random noise generator. |
Calling phases
| Phases | Calling phases distinguished in the Particle System Plugin. |
Plugin interface functions
| bindFunction (function, index) | Binds a Lua function to an integer index. |
| bindGroup (group, index) | Binds an init function from a particle group to an integer index. |
| checkPartLimit (group) | Checks whether the group.partLimit (if one was set) was reached or not. |
| createColor (r, g, b) | Creates a new ColorRGB object. |
createColorHSV (hue[, sat=1.0[, val=1.0]]) |
Creates a new ColorRGB object from Hue, Saturation and Value (HSV color model). |
| createVector (x, y, z) | Creates a new Vector3D object. |
| createGroup (init, update) | Creates a new ParticleGroup object with a given init and update function. |
| createSpritePart (group) | Creates a new SpriteParticle instance of given particle group. |
| createMeshPart (group) | Creates a new MeshParticle instance of given particle group. |
| createModule () | Creates a new ModuleContext object in the scope of the current module script. |
| createPerlinNoise ([seed]) | Creates a new PerlinNoise generator object. |
| createSimplexNoise ([seed]) | Creates a new SimplexNoise generator object. |
| disableGroup (group) | Disables the init function of a given particle group, preventing further triggering of particles. |
| enableGroup (group) | Enables the init function of a given particle group, so its particles get auto-triggered in the game cycle. |
| invokeInit (group) | Manually invokes (calls) the init function of specified particle group. |
| killParts (group) | Kills all currently active particles of the given particle group. |
| print (value[, ...]) | Outputs the listing of values to the plugin logger. |
| projectToScreen (pos) | Projects the 3D world coordinates from a Vector3D object to 2D screen-space coordinates. |
| require (module) | Imports the requested module Lua script from modulescripts folder. |
| screenCoords (x, y[, z]) | Converts normalized screen coordinates to internal coordinates used by screen-space particles. |
| setLogLevel (logLevel) | Sets the logging level (lowest permitted rank of log message in the plugin logger). |
Particle functions
| partAbsPos (part) | Calculates the absolute position of the particle in world coordinates instead of relative coordinates. |
partAnimate (part, start, end[, frameRate=1]) |
Animates the particle by cycling over part.spriteIndex (with SpriteParticle) or part.meshIndex (with MeshParticle). |
| partAttach (part, moveableIndex[, meshIndex]) | Manually tethers the particle to a certain moveable and (optional) mesh. |
| partAvoidRoomGeometry (part, wallMargin, floorMargin, strength) | Makes the particle become repelled from room geometry (walls, floors and ceilings). |
partCollidedItem (part, index[, radius=1.0]) |
Tests if the particle collided with a specified moveable item. |
partCollideFloors (part, rebound[, margin=0.0[, accurate=false]]) |
Tests if the particle collided with a floor or ceiling. |
| partCollideWalls (part, rebound) | Tests if the particle collided with a wall. |
| partDetach (part) | Manually releases the particle from its tethering moveable and mesh. |
partFollow (part, target, maxSpeed, outerDist[, minDist=0.0]) |
Makes the particle follow a Vector3D target position. |
partHoming (part, targetIndex, targetMesh, turnRate[, accel=0.0[, predict=false]]) |
Makes the particle home onto a moveable with targetIndex (behaving like a homing projectile). |
| partKill (part) | Immediately kills (and deactivates) the particle instance. |
| partLimitSpeed (part, maxSpeed) | Limits the maximum speed at which the particle can travel. |
| partWind (part, strength) | Applies the in-game wind speed cumulatively to a particle’s velocity. |
partAlignToVelocity (part[, turnRate=1.0[, invert=false]]) |
Rotates the particle to align with the current velocity part.vel. |
partLookAtTarget (part, target[, turnRate=1.0[, invert=false]]) |
Rotates the particle to face an arbitrary Vector3D target. |
| meshShatter (part) | Similarly to partKill function, kills the MeshParticle instance, also applying a 'shattering' effect on the mesh itself. |
Game interaction functions
activateTriggers (x, y, z, room[, heavy=false[, flags]]) |
Activates levelmap triggers of the sector at coordinates (x, y, z, room). |
| burnLara () | Sets Lara on fire. |
| findNearbyItems (pos, radius[, slots]) | Finds moveable items nearby a certain position, within a given (spherical) radius. |
| getCeilingHeight (x, y, z, room) | Calculates the ceiling height at coordinates (x, y, z, room). |
| getFloorHeight (x, y, z, room) | Calculates the floor height at coordinates (x, y, z, room). |
| getFloorNormal (x, y, z, room) | Calculates the unit normal vector of the floor surface at coordinates (x, y, z, room). |
| getGameTick () | Gets the current game tick value measured since the current level was started. |
| getInput () | Gets all game commands (like Up, Action, Jump, Walk) that are active at the current game tick. |
| getItemInfo (index) | Gets the ItemInfo object for the moveable with given index. |
| getItemJointPosition (index, mesh, xOffset, yOffset, zOffset) | Gets the absolute (world) position of a specified mesh joint of a given moveable. |
| getItemJointRotation (index, mesh) | Gets the rotation of a specified mesh joint of a given moveable. |
| getItemJointPosRot (index, mesh, xOffset, yOffset, zOffset) | Fused function that combines getItemJointPosition and getItemJointRotation. |
| getItemRoom (index) | Gets the current room index of the given moveable. |
| getItemsBySlot (slot) | Retrieves a table of moveable indices belonging to a specific slot in current level. |
| getLaraIndex () | Gets Lara’s tomb4 moveable index. |
| getRoomFlags (room) | Gets the special room flags (properties) of a given room. |
| getRoomIndex (mapID) | Converts the levelmap room ID to the proper tomb4 room index. |
| getRoomStatics (room[, slots]) | Retrieves a table of StaticInfo objects placed in a given room. |
| getStatic (staticID) | Gets the StaticInfo object of a given NG static ID. |
| getTargetIndex () | Gets the index of enemy currently aimed at by Lara. |
| getTombIndex (ngID) | Converts the NG script ID of a moveable to the proper tomb4 moveable index. |
| getWaterDepth (x, y, z, room) | Calculates the water depth at coordinates (x, y, z, room). |
| getWaterHeight (x, y, z, room) | Calculates the water surface height at coordinates (x, y, z, room). |
interval (interval[, delay=0]) |
Tests for the occurence of a specific game tick interval. |
| quenchLara () | When Lara is on fire, will douse the flames and extinguish her instantly. |
soundEffect (sfx[, pos=nil[, flags]]) |
Plays a specified sound effect. |
| testCollisionSpheres (itemIndex, pos, radius) | An advanced function for probing collisions of a test sphere of given radius against the mesh spheres of a moveable. |
| testWall (x, y, z, room) | Tests if there is a wall at coordinates (x, y, z, room) |
| triggerDynamicLight (x, y, z, intensity, red, green, blue) | Triggers a dynamic light at the given (x, y, z) coordinates for one game tick. |
| triggerShockwave (x, y, z, innerRad, outerRad, speed, life, red, green, blue, xRot, flags) | Triggers a shockwave effect at the given (x, y, z) coordinates. |
TRNG interaction functions
| getSelectedItem () | Gets the tomb4 moveable index of the current Selected Item (for example, set by TRNG Action 54). |
| performTriggerGroup (id) | Executes a TriggerGroup from the current level TRNG script. |
| setSelectedItem (index) | Sets the tomb4 moveable index as the current Selected Item Index and Found Item Index. |
Random number functions
| randomFloat (min, max) | Generates a random floating-point number value between [min, max]. |
| randomInt (min, max) | Generates a random integer number value between [min, max]. |
| randomNegate (x) | Returns the input x or its negative -x with a 50/50 chance. |
| randomSpherePoint (radius) | Generates a random vector on a 3D sphere of a given radius, with a center at the origin (0, 0, 0). |
Procedural noise functions
| noise (gen, scale, x[, y[, z[, w]]]) | Takes a noise generator object and produces a pseudo-random scalar noise output. |
| noiseCurl (gen, scale, x, y[, z]) | Takes a noise generator object and produces a pseudo-random curl vector. |
| noiseCurlTime (gen, scale, time, x, y[, z]) | Takes a noise generator object and produces a pseudo-random curl vector that modulates over time. |
Math-related functions
| abs (x) | Calculates the absolute value of x (|x| ≥ 0 for any x). |
| acos (x) | Calculates the inverse-cosine of input x. |
| asin (x) | Calculates the inverse-sine of input x. |
| atan (x) | Calculates the inverse-tangent of x. |
| atan2 (y, x) | Calculates the two-component (y, x) inverse-tangent. |
| cbrt (x) | Calculates the cubic root of x (∛x). |
| ceil (x) | Calculates the ceiling of x (⌈x⌉). |
| clamp (x, min, max) | Clamps the value of x to the range [min, max]. |
| cos (x) | Calculates the cosine of x. |
| degToRad (x) | Converts value expressed in degrees to value expressed in radians. |
| distance (vec1, vec2) | Calculates the Euclidean (shortest) distance between two Vector3D objects. |
| distCompare (vec1, vec2, dist) | Compares the Euclidean (shortest) distance between two Vector3D objects against a given distance threshold. |
| exp (x) | Calculates the exponential of x (ex). |
| floor (x) | Calculates the floor of x (⌊x⌋). |
| fmod (x, y) | Calculates the floating point remainder of x / y. |
| frac (x) | Returns the fractional (decimal) part of x. |
| lerp (a, b, t) | Linearly interpolates (blends) between the values [a, b] based on blending factor t in the range [0.0, 1.0]. |
| lerpInverse (a, b, x) | Calculates the linear blending factor t based on the source value x in-between the values [a, b]. |
| log (x) | Calculates the natural logarithm of x (logex). |
| max (first[, ...]) | Finds and returns the maximum value out of a list of numbers. |
| mean (first[, ...]) | Finds and returns the arithmetic mean (average) value out of a list of numbers. |
| min (first[, ...]) | Finds and returns the minimum value out of a list of numbers. |
| radToDeg (x) | Converts value expressed in radians to value expressed in degrees. |
| remap (x, oldMin, oldMax, newMin, newMax) | Linearly remaps the value x from the original range [oldMin, oldMax] to the new range [newMin, newMax]. |
| rotateVectorByAngles (vec, x, y, z) | Rotates a Vector3D object by a set of Euler angles (x, y, z). |
| rotateVectorByAxisAngle (vec, axis, theta) | Rotates a Vector3D object around an axis vector by the angle theta. |
| rotFromVector (vec) | Creates a RotVector object from a Vector3D direction vector. |
| round (x) | Rounds the floating-point number x to the nearest integer. |
| sin (x) | Calculates the sine of x. |
| smoothStep (x) | Calculates the SmoothStep of x (3x2 - 2x3; 0 ≤ x ≤ 1). |
| sphericalToCartesian (r, theta, phi) | Converts a set of spherical coordinates (r, theta, phi) to Cartesian coordinates (x, y, z). |
| sqrt (x) | Calculates the square root of x (√x). |
| tan (x) | Calculates the tangent of x. |
| vectorCross (u, v) | Calculates the cross product between the vectors u and v (u ⨯ v). |
| vectorDot (u, v) | Calculates the dot (scalar) product between the vectors u and v (u • v). |
| vectorLength (v) | Calculates the length of vector v (|v|). |
| vectorNormalize (v) | Calculates the normalized (unit) vector v̂ from vector v (v̂ = v/|v|). |
| wrapAngle (x) | Wraps the angle x to the range [-π, π]. |
Miscellaneous functions
| hasAllFlags (checkedValue, testFlags) | Tests for the occurence of all specified flags in a given integer value. |
| hasAnyFlags (checkedValue, testFlags) | Tests for the occurence of any specified flags in a given integer value. |
Built-in globals
| Camera | Global camera data fields. |
| Lara | Global Lara moveable data. |
| TrngVars | TRNG variables. |
Built-in constants
| BLEND | Blending mode constants for group.blendMode field of ParticleGroup. |
| CAMERA | Camera mode constants for Camera.cameraMode field of the Camera global. |
| DRAW | Drawing mode constants for group.drawMode field of ParticleGroup. |
| INPUT | Input flag constants. |
| LIGHT | Lighting mode constants for group.lightMode field of ParticleGroup. |
| LOG | Log level constants for setLogLevel. |
| MESH | Mesh bit-flag constants. |
| NO_CUTOFF | A special constant used for the group.attach.cutoff field of NodeAttachment. |
| PI | Pi constants. |
| ROOM | Room property flag constants. |
| TETHER | Tether type constants, used for group.attach.tetherType field of NodeAttachment. |
| SHOCKWAVE | Shockwave effect flag constants. |
| SLOT | Moveable object slot constants. |
| STATICSLOT | Static object slot constants. |
Plugin data types
- ColorRGB
-
Data type representing a 24-bit (8-bit/8-bit/8-bit) RGB color.
Fields:
- r
int
the Red color component [
0,255] (default0) - g
int
the Green color component [
0,255] (default0) - b
int
the Blue color component [
0,255] (default0)
- r
int
the Red color component [
- Vector3D
-
Data type representing a 3D (XYZ) Cartesian vector. Not interchangable with RotVector or ScaleVector.
Fields:
- x
number
the vector’s X coordinate (default
0.0) - y
number
the vector’s Y coordinate (default
0.0) - z
number
the vector’s Z coordinate (default
0.0)
- x
number
the vector’s X coordinate (default
- RotVector
-
Data type comprised of a set of XYZ Euler angles for representing a 3D rotation. Not interchangable with Vector3D or ScaleVector.
Fields:
- x
number
the X (pitch) angle (radians) [
0,2π] (default0.0) - y
number
the Y (yaw) angle (radians) [
0,2π] (default0.0) - z
number
the Z (roll) angle (radians) [
0,2π] (default0.0)
- x
number
the X (pitch) angle (radians) [
- ScaleVector
-
Data type comprised of a set of XYZ scale values for representing a mesh scale. Not interchangable with Vector3D or RotVector.
Fields:
- x
number
the X scale (default
1.0) - y
number
the Y scale (default
1.0) - z
number
the Z scale (default
1.0)
- x
number
the X scale (default
- NodeAttachment
-
Data type representing the particle tethering settings of a particle group.
Fields:
- ParticleGroup
-
Data type representing particle groups in the Particle System Plugin. Particle groups allow to define a new type of particle for a custom particle effect. Particle group fields can only be set in the
modulecalling phase.Fields:
- attach NodeAttachment the particle tethering settings for the group
- autoTrigger
bool
the auto-triggering setting for the group init function (default
true) - blendMode
int
the blending mode of the group. Applies only to sprite particles. See BLEND constants for list of accepted values (default
BLEND_COLORADD) - drawMode
int
the drawing mode of the group. Applies only to sprite particles. See DRAW constants for list of accepted values (default
DRAW_SPRITE) - ignorePerspective
bool
if set to
true, will ignore perspective (depth) scaling when drawing sprite particles (defaultfalse) - immortal
bool
the immortality setting of the group particles (default
false) - lightMode
int
the lighting mode of the group. Applies only to sprite particles. See LIGHT constants for list of accepted values (default
LIGHT_STATIC) - partCount int the current count of active particles for the group (read-only)
- partLimit
int
the particle count limit setting for the group. When set to a positive integer value, only that amount of particles may be active (default
0i.e. no limit) - saved
bool
the setting for savegame persistence of the group particles (default
false) - screenSpace
bool
if set to
true, makes the particles exist in screen-space. Applies only to sprite particles (defaultfalse) - spriteSlot
int
the sprite texture slot used by sprite particles (default
SLOT_DEFAULT_SPRITES; also acceptsSLOT_MISC_SPRITESandSLOT_CUSTOM_SPRITES)
- SpriteParticle
-
Data type representing sprite particles in the Particle System Plugin.
Fields:
- accel Vector3D the acceleration vector
- data
table
the extra data table of the particle (bool, int, number or
nilvalues accepted) - emitterIndex
int
the tomb4 moveable index of emitter / tethering moveable or
-1(default-1) - emitterNode
int
the mesh index of the emitting node or
-1; must be set after settingemitterIndex(default-1) - lifeCounter
int
the life counter, counting down the life span of the particle [
0,32767] (default0) - lifeSpan
int
the total life span of the particle [
0,32767] (default0) - pos Vector3D the position vector
- roomIndex
int
the tomb4 room index of the particle; needed if the particle uses collision functions (default
0) - t
number
the t-parameter value between [
0.0,1.0] (read-only) - vel
Vector3D
the velocity vector
Sprite-specific fields:
- colCust ColorRGB the current color of particle
- colStart ColorRGB the starting color of particle
- colEnd ColorRGB the ending color of particle
- fadeIn
int
the fade-in duration of the particle [
0,32767] (default0) - fadeOut
int
the fade-out duration of the particle [
0,32767] (default0) - rot
number
the 2D billboard rotation in radians [
0,2π] (default0.0) - rotVel
number
the 2D billboard angular velocity in radians-per-tick [
0,2π] (default0.0) - rot3D
RotVector
the 3D quad rotation (when using
DRAW_SPRITE3D, see DRAW constants) - rotVel3D
RotVector
the 3D quad angular velocity (when using
DRAW_SPRITE3D, see DRAW constants) - sizeCust
int
the current size of the particle [
0,65535] (default0) - sizeStart
int
the starting size of the particle [
0,65535] (default0) - sizeEnd
int
the ending size of the particle [
0,65535] (default0) - sizeRatio
number
the width/height ratio of the particle [
-1.0,1.0] (default0.0– equal width and height) - spriteIndex
int
the sprite texture index (from the sprite slot assigned to the group) (default
0)
- MeshParticle
-
Data type representing mesh particles in the Particle System Plugin.
Fields:
- accel Vector3D the acceleration vector
- data
table
the extra data table of the particle (bool, int, number or
nilvalues accepted) - emitterIndex
int
the tomb4 moveable index of emitter / tethering moveable or
-1(default-1) - emitterNode
int
the mesh index of the emitting node or
-1; must be set after settingemitterIndex(default-1) - lifeCounter
int
the life counter, counting down the life span of the particle [
0,32767] (default0) - lifeSpan
int
the total life span of the particle [
0,32767] (default0) - pos Vector3D the position vector
- roomIndex
int
the tomb4 room index of the particle; needed if the particle uses collision functions (default
0) - t
number
the t-parameter value between [
0.0,1.0] (read-only) - vel
Vector3D
the velocity vector
Mesh-specific fields:
- object
int
the moveable slot to take source meshes from. See SLOT constants for moveables (default
SLOT_LARA) - meshIndex
int
the index of the source mesh to use for the mesh particle appearance; must be set after setting
object(default0) - rot RotVector the 3D mesh rotation
- rotVel RotVector the 3D mesh angular velocity
- scale ScaleVector the XYZ scale of the mesh
- transparency
int
the alpha transparency of the mesh, 0 is fully opaque and 255 fully transparent (default
0) - tint ColorRGB the tint of the mesh (applied only if source mesh is set to static lighting)
- ItemInfo
-
Data type representing the moveable object infos exposed from the game. Can be obtained with getItemInfo.
Fields:
- afterDeath int the transparency / vanishing effect applied to dead enemies. Increments from 0 and after reaching 128 is completely vanished (read-only)
- animNumber int the current animation number of the moveable
- frameNumber
int
the frame number relative to current
item.animNumber, beginning from frame 0 - currentAnimState int the current anim state number of the moveable
- data
table
the extra data table of the moveable which is saved in savegames (bool, int, number or
nilvalues accepted) - goalAnimState int the goal anim state number of the moveable
- speed int the horizontal speed of the moveable
- fallSpeed int the vertical speed of the moveable (note: certain moveables use it in special ways)
- floorDistance int the distance to the floor (read-only, only used in certain moveable objects)
- hitPoints int the hit points (health) of the moveable (only some moveables use it)
- hitPointsMax int the total number of hit points in the given moveable slot (read-only)
- hitStatus
bool
flag that informs if moveable was shot/hit at the current tick (e.g. by Lara’s guns);
trueif moveable was hit,falseotherwise (read-only) - intelligent
bool
flag that informs if the moveable uses AI for navigation;
trueif it does,falseotherwise (read-only) - itemFlag1 int a numeric field used for miscellaneous purposes in certain moveables
- itemFlag2 int a numeric field used for miscellaneous purposes in certain moveables
- itemFlag3 int a numeric field used for miscellaneous purposes in certain moveables
- itemFlag4 int a numeric field used for miscellaneous purposes in certain moveables
- lookedAt
bool
flag that informs if the moveable is focused on by the camera as a target;
trueif it is,falseotherwise (read-only) - meshBits int the visibility flags of meshes (see MESH bit-flags) in the moveable (read-only)
- meshCount
int
the total number of meshes in the moveable, the highest mesh index always equals
item.meshCount - 1(read-only) - ocbNumber int the OCB number set for the moveable (note: OCBs set in the editor don’t always persist, some may reset or change after loading the level)
- poisoned
bool
flag that informs if the moveable was poisoned with crossbow poison ammo;
trueif poisoned,falseotherwise (read-only) - pos Vector3D the XYZ coordinates of the moveable
- roomIndex int the tomb4 room index of the moveable (read-only)
- rot RotVector the XYZ rotation angles of the moveable
- slot int the moveable slot number – numeric index corresponding to one of the SLOT constants (read-only)
- tombIndex int the tomb4 index of the moveable (read-only)
- triggered
bool
the activation / triggering status of the moveable (read-only):
true– if moveable is triggered and currently activefalse– if moveable is untriggered, dead or inactive
- timer int the timer field value for given moveable e.g. used for timed triggers (read-only)
- undead
bool
flag that informs if the moveable is an undead enemy (e.g. Mummy, Skeleton, Horseman, Demigod);
trueif it is,falseotherwise (read-only) - waterCreature
bool
flag that informs if the moveable is a water-dwelling creature (e.g. Crocodile, Hammerhead);
trueif it is,falseotherwise (read-only)
- StaticInfo
-
Data type representing the static object infos exposed from the game. A single
StaticInfoobject is returned by getStatic, while getRoomStatics returns a table ofStaticInfoobjects in the given room. All static object data is read-only, it cannot be modified through Lua.Fields:
- ocbFlags int the OCB / flags of the static (read-only)
- pos Vector3D the XYZ coordinates of the static (read-only)
- rot RotVector the rotation of the static (only Y rotation is used for statics, read-only)
- slot int the static slot number of the static; numeric index corresponding to one of the STATICSLOT constants (read-only)
- tint ColorRGB the color-tint of the static (read-only)
- ModuleContext
-
Data type representing a module context object. Created through createModule function. Module contexts are needed to give modules customizable parameters and a save-state. Only one context object is allowed per module file. This context object is then returned when importing a module with require.
Fields:
- data
table
the saved data table of the module which persists in savegames (bool, int, number or
nilvalues accepted) - groups table the particle groups table of the module (only ParticleGroup values accepted)
- params table the customizable parameters; settable in level scripts after importing the module (bool, int, number or string values accepted)
- data
table
the saved data table of the module which persists in savegames (bool, int, number or
- PerlinNoise
-
Data type representing a deterministic pseudo-random noise generator. An implementation of Ken Perlin’s original noise algorithm. Created with createPerlinNoise. Used in procedural noise functions.
See also:
- SimplexNoise
-
Data type representing a deterministic pseudo-random noise generator. An implementation of Ken Perlin’s simplex noise algorithm. Created with createSimplexNoise. Used in procedural noise functions.
See also:
Calling phases
- Phases
-
Calling phases distinguished in the Particle System Plugin. The plugin has certain operation phases during its runtime (for example, reading a level script, reading a module script, executing init functions of particle groups, executing update functions for specific particles). Some built-in API functions can be called in any operation phase, while others can be called only in specific phases. Function listings further down will specify in which phases the given function may be called, specifying one or more of the below phases.
Calling phase types:
levelscript– the level script reading / parsing phase (performed when loading Lua level scripts of a new level)module– the module script reading / parsing phase (performed when a module script is imported with require)init– the phase during which the plugin executes the init functions of particle groupsupdate– the phase during which the plugin executes the update functions for individual particle instancesbind– a special phase that is commenced when an index-bound Lua function is executed by Flipeffect 1 of the Particle System Pluginany– not a distinct phase, but a specification that the function can be called in every phase
Plugin interface functions
- bindFunction (function, index)
-
Binds a Lua function to an integer index. The bound function can then be executed with Flipeffect 1 from the Plugin_ParticleSystem plugin triggers. The bound Lua function must (strictly) not take any arguments and should not return any values.
Calling phase types:
levelscript,moduleParameters:
- function func the Lua function to bind to an index
- index
int
the integer index to which the function shall be bound; acceptable indices are in the range [
1,1024]
Raises:
ERROR: if the same index was already used for another bound function - bindGroup (group, index)
-
Binds an init function from a particle group to an integer index. Can be used as a shortcut to bindFunction if the group is not auto-triggered (the bound init function can be executed with Flipeffect 1). Will result in an
ERRORwith auto-triggered groups, in such case you must bind the init function explicitly via bindFunction.Calling phase types:
levelscript,moduleParameters:
- group
ParticleGroup
the group of which the init function shall be bound, the group must have
group.autoTrigger = false - index
int
the integer index to which the init function shall be bound; acceptable indices are in the range [
1,1024]
Raises:
ERROR: raised when:- the same index was already used for another bound function
group.autoTrigger = true(i.e. the default particle group setting is used)
- group
ParticleGroup
the group of which the init function shall be bound, the group must have
- checkPartLimit (group)
-
Checks whether the
group.partLimit(if one was set) was reached or not. Used for managing particle effects with limited spawn counts, to prevent further attempts of spawning extra particles beyond the limit (which may result in script errors).Calling phase types:
anyParameters:
- group ParticleGroup the particle group
Returns:
-
bool
returns:
true– if limit not reached yet (orgroup.partLimitnot set for group)false– if limit was reached, i.e.group.partCount == group.partLimit
- createColor (r, g, b)
-
Creates a new ColorRGB object.
Calling phase types:
anyParameters:
- r
int
the Red value [
0,255] - g
int
the Green value [
0,255] - b
int
the Blue value [
0,255]
Returns:
-
ColorRGB
the ColorRGB object
- r
int
the Red value [
-
createColorHSV (hue[, sat=
1.0[, val=1.0]]) -
Creates a new ColorRGB object from Hue, Saturation and Value (HSV color model).
Calling phase types:
anyParameters:
- hue
number
the Hue value [
0.0,360.0] - sat
number
the Saturation value [
0.0,1.0] (default1.0) - val
number
the Value (intensity) value [
0.0,1.0] (default1.0)
Returns:
-
ColorRGB
the ColorRGB object
- hue
number
the Hue value [
- createVector (x, y, z)
-
Creates a new Vector3D object.
Calling phase types:
anyParameters:
- x number the vector’s X component
- y number the vector’s Y component
- z number the vector’s Z component
Returns:
-
Vector3D
the Vector3D object
- createGroup (init, update)
-
Creates a new ParticleGroup object with a given init and update function.
Calling phase types:
moduleParameters:
- init
optional func
the initialization function to be used by the group or
nilif no init function desired - update
optional func
the update function to be used by the group or
nilif no update function desired
Returns:
-
ParticleGroup
the particle group object
- init
optional func
the initialization function to be used by the group or
- createSpritePart (group)
-
Creates a new SpriteParticle instance of given particle group.
Calling phase types:
init,updateParameters:
- group ParticleGroup the particle group the new particle belongs to
Returns:
-
optional SpriteParticle
the sprite particle object or
nilifgroup.partLimitis reachedRaises:
WARN: ifgroup.partLimitwas set and the limit was exceeded - createMeshPart (group)
-
Creates a new MeshParticle instance of given particle group.
Calling phase types:
init,updateParameters:
- group ParticleGroup the particle group the new particle belongs to
Returns:
-
optional MeshParticle
the mesh particle object or
nilifgroup.partLimitis reachedRaises:
WARN: ifgroup.partLimitwas set and the limit was exceeded - createModule ()
-
Creates a new ModuleContext object in the scope of the current module script. Only one module context may exist per module file. If created, this context object is returned when importing a module with require.
Calling phase types:
moduleReturns:
-
ModuleContext
the module context object. Parameters, saveable data and particle groups can be added to its designated tables within the module script
Raises:
ERROR: if module context object was already created in the scope of current module - createPerlinNoise ([seed])
-
Creates a new PerlinNoise generator object. This object can then be used in procedural noise functions.
Calling phase types:
moduleParameters:
- seed int the seed value for initializing the noise generator (optional)
Returns:
-
PerlinNoise
the PerlinNoise generator object
See also:
- createSimplexNoise ([seed])
-
Creates a new SimplexNoise generator object. This object can then be used in procedural noise functions.
Calling phase types:
moduleParameters:
- seed int the seed value for initializing the noise generator (optional)
Returns:
-
SimplexNoise
the SimplexNoise generator object
See also:
- disableGroup (group)
-
Disables the init function of a given particle group, preventing further triggering of particles. This function can be used to dynamically deactivate a group in an init or update function (it is not possible to set
group.autoTriggervalues outside of themodulecalling phase).Calling phase types:
anyParameters:
- group ParticleGroup the group of which to disable the init function
- enableGroup (group)
-
Enables the init function of a given particle group, so its particles get auto-triggered in the game cycle. This function can be used to dynamically (re)activate a group in an init or update function (it is not possible to set
group.autoTriggervalues outside of themodulecalling phase).Calling phase types:
anyParameters:
- group ParticleGroup the group of which to enable the init function
- invokeInit (group)
-
Manually invokes (calls) the init function of specified particle group. Can be used for groups with
group.autoTriggerset tofalse(or in the disabled status), to manually trigger the init function call.Calling phase types:
bind,init,updateParameters:
- group ParticleGroup the group of which to manually invoke (call) the init function
- killParts (group)
-
Kills all currently active particles of the given particle group. Can be used to kill particles in immortal groups (
group.immortal = true). Will reset thegroup.partCountto 0.Calling phase types:
init,updateParameters:
- group ParticleGroup the group of which to kill (clear) all active particles.
- print (value[, ...])
-
Outputs the listing of values to the plugin logger. Output will appear as a
DEBUGmessage.Calling phase types:
anyParameters:
- value bool, number or string
- ... additional values (optional)
- projectToScreen (pos)
-
Projects the 3D world coordinates from a Vector3D object to 2D screen-space coordinates. Can be used for tracking screen positions of in-game objects for screen-space effects.
Calling phase types:
anyParameters:
- pos Vector3D the 3D world coordinates to project to the camera / screen
Returns:
-
optional Vector3D
the 2D screen coordinates if the 3D point is visible to the camera;
nilif the point is not visible (out of the camera frame) - require (module)
-
Imports the requested module Lua script from
modulescriptsfolder. Themodulescriptsfolder should be present in the working directory of the TRLE project.Calling phase types:
levelscriptParameters:
- module
string
the name of the module file to import, in quotes, without the .lua extension (e.g.
snow.lua→"snow")
Returns:
-
optional ModuleContext
the module context object associated with the module script (if not present, returns
nil).Raises:
ERROR: if the requested module is not found in themodulescriptsfolder (or the folder is missing). - module
string
the name of the module file to import, in quotes, without the .lua extension (e.g.
- screenCoords (x, y[, z])
-
Converts normalized screen coordinates to internal coordinates used by screen-space particles. Top-left corner of the screen is
(x: 0.0, y: 0.0), bottom-right corner is(x: 1.0, y: 1.0). The optionalzargument controls the Z-depth index.Calling phase types:
anyParameters:
- x number the normalized screen coordinate on the horizontal X axis
- y number the normalized screen coordinate on the vertical Y axis
- z number the Z-depth coordinate (optional)
Returns:
-
Vector3D
the internal (converted) representation of screen-space coordinates
- setLogLevel (logLevel)
-
Sets the logging level (lowest permitted rank of log message in the plugin logger).
Calling phase types:
levelscriptParameters:
- logLevel
int
the desired
LOG_constant to set (see LOG constants).
- logLevel
int
the desired
Particle functions
- partAbsPos (part)
-
Calculates the absolute position of the particle in world coordinates instead of relative coordinates. If the particle is not tethered to any moveable, returns a vector identical to
part.pos.Calling phase types:
init,updateParameters:
- part SpriteParticle or MeshParticle the particle instance
Returns:
-
Vector3D
the absolute position of the particle
-
partAnimate (part, start, end[, frameRate=
1]) -
Animates the particle by cycling over
part.spriteIndex(with SpriteParticle) orpart.meshIndex(with MeshParticle).Calling phase types:
init,updateParameters:
- part SpriteParticle or MeshParticle the particle instance
- start int the start of the animation range
- end int the end of the animation range
- frameRate
int
the framerate; if positive it means the number of ticks for one animation “frame”; if negative, it means the number of animation cycles (loops) to complete in the particle lifespan
(default
1)
- partAttach (part, moveableIndex[, meshIndex])
-
Manually tethers the particle to a certain moveable and (optional) mesh. Sets the
part.emitterIndexand optionalpart.emitterNode. The particle will have its current in-game positionpart.posrecalculated as relative offsets to the tethering moveable.Calling phase types:
init,updateParameters:
- part SpriteParticle or MeshParticle the particle instance
- moveableIndex int the tomb4 moveable index to attach to (use getTombIndex to convert NG IDs)
- meshIndex int the mesh node to attach to (optional)
Raises:
ERROR: if moveable with given index is not found - partAvoidRoomGeometry (part, wallMargin, floorMargin, strength)
-
Makes the particle become repelled from room geometry (walls, floors and ceilings). Not applicable to screen-space particles or tethered particles.
Calling phase types:
init,updateParameters:
- part SpriteParticle or MeshParticle the particle instance
- wallMargin int the margin from which to repel particle away from walls
- floorMargin int the margin from which to repel particle away from floors and ceilings
- strength number the strength of the repulsion force
-
partCollidedItem (part, index[, radius=
1.0]) -
Tests if the particle collided with a specified moveable item. The collision will be tested within a given
radiusaround the particle. This is a simple, fast collision check against the moveable’s bounding box, sufficient for most purposes. See testCollisionSpheres for a more sophisticated collision detection. Not applicable to screen-space particles.Calling phase types:
init,updateParameters:
- part SpriteParticle or MeshParticle the particle instance
- index int the tomb4 moveable index (use getTombIndex to convert NG IDs)
- radius
number
the spherical radius around the particle to test against the bounding box
(default
1.0)
Returns:
-
bool
returns:
true– if collision with moveable occuredfalse– otherwise
Raises:
ERROR: if moveable with given index is not found -
partCollideFloors (part, rebound[, margin=
0.0[, accurate=false]]) -
Tests if the particle collided with a floor or ceiling. If a collision occured, the particle will be reflected / bounced off the surface. Not applicable to screen-space particles or tethered particles.
Calling phase types:
init,updateParameters:
- part SpriteParticle or MeshParticle the particle instance
- rebound
number
the rebound factor (bounciness) [
0.0,1.0] - margin
number
the margin of collision, or the 'radius' of the particle
(default
0.0) - accurate
bool
if
truethe collision is geometrically correct, respecting slope inclinations (iffalse, inclination is disregarded) (defaultfalse)
Returns:
-
bool
returns:
true– if collision with surface occured (particle is reflected)false– otherwise
- partCollideWalls (part, rebound)
-
Tests if the particle collided with a wall. If a collision occured, the particle will be reflected / bounced off the surface. Not applicable to screen-space particles or tethered particles.
Calling phase types:
init,updateParameters:
- part SpriteParticle or MeshParticle the particle instance
- rebound
number
the rebound factor (bounciness) [
0.0,1.0]
Returns:
-
bool
returns:
true– if collision with surface occured (particle is reflected)false– otherwise
- partDetach (part)
-
Manually releases the particle from its tethering moveable and mesh. Resets the
part.emitterIndexandpart.emitterNodeto default. The particle will have its relative offsets inpart.posrecalculated as global coordinates. Works even when tethering is indefinite (group.attach.cutoff = NO_CUTOFF).Calling phase types:
init,updateParameters:
- part SpriteParticle or MeshParticle the particle instance
-
partFollow (part, target, maxSpeed, outerDist[, minDist=
0.0]) -
Makes the particle follow a Vector3D
targetposition. If the particle is farther away than theouterDist, it will approach the target atmaxSpeed. BetweenouterDistandminDistis a buffer zone, where the particle will slow down. AtminDist, the particle stops following the target. Not applicable to screen-space particles or tethered particles.Calling phase types:
init,updateParameters:
- part SpriteParticle or MeshParticle the particle instance
- target Vector3D the target position to follow
- maxSpeed number the maximum speed with which the particle will follow the target
- outerDist number the first distance threshold (where particle starts to slow down)
- minDist
number
the distance at which the particle stops moving
(default
0.0)
-
partHoming (part, targetIndex, targetMesh, turnRate[, accel=
0.0[, predict=false]]) -
Makes the particle home onto a moveable with
targetIndex(behaving like a homing projectile). ThetargetIndexandtargetMeshspecify the target to the particle. TheturnRateworks as a percentage by which to correct the alignment towards the target, higher values will correct the direction faster, while lower will make the correction slower (recommended values between0.02 – 0.2). Theaccelvalue will accelerate the particle by the specifed amount on each tick. Thepredictboolean works with targets in motion (e.g. enemies, Lara), to anticipate where the target will be in the future. Not applicable to screen-space particles or tethered particles.Calling phase types:
init,updateParameters:
- part SpriteParticle or MeshParticle the particle instance
- targetIndex int the tomb4 moveable index of the target moveable (use getTombIndex to convert NG IDs)
- targetMesh
int or nil
the targeted mesh or
nilfor no mesh - turnRate
number
percentage of the difference between current and target orientation, by which to correct the orientation each tick; range [
0.0,1.0] - accel
number
the speed increase of particle per tick
(default
0.0) - predict
bool
if set to
true, predicts the future position of moving targets (defaultfalse)
Raises:
ERROR: if moveable with given index is not found - partKill (part)
-
Immediately kills (and deactivates) the particle instance. Use this function to manually kill particles in init or update functions (do not set
part.lifeCounterto0explicitly). Can be used to kill particles in immortal groups (group.immortal = true). Decreasesgroup.partCountby 1.Calling phase types:
init,updateParameters:
- part SpriteParticle or MeshParticle the particle instance
- partLimitSpeed (part, maxSpeed)
-
Limits the maximum speed at which the particle can travel. Useful to prevent excessive speed accumulation (e.g. when velocity is accumulated via acceleration or otherwise).
Calling phase types:
init,updateParameters:
- part SpriteParticle or MeshParticle the particle instance
- maxSpeed number the maximum movement speed to set for the particle
- partWind (part, strength)
-
Applies the in-game wind speed cumulatively to a particle’s velocity. The particle gets pushed around by the wind effect in outside rooms. Wind influence is controlled by
strengthparameter, as a percentage (0.0– no influence;1.0– 100% influence). Only works in outside rooms (ROOM_OUTSIDE), where wind effects are active. Not applicable to screen-space particles or tethered particles.Calling phase types:
init,updateParameters:
- part SpriteParticle or MeshParticle the particle instance
- strength
number
the influence the wind has over the particle; range [
0.0,1.0]
-
partAlignToVelocity (part[, turnRate=
1.0[, invert=false]]) -
Rotates the particle to align with the current velocity
part.vel. In other words, makes the mesh or sprite (inDRAW_SPRITE3Dmode) face the direction in which it is moving. The orientation of the particle is interpolated on the X and Y axis. TheturnRateparameter can be used to prevent abrupt, jerky turns. Theinvertboolean works only on mesh particles: if the mesh normally appears turned backwards to how it should actually face, it flips it over.Calling phase types:
init,updateParameters:
- part SpriteParticle or MeshParticle the particle instance
- turnRate
number
percentage of the difference between current and target orientation, by which to correct the orientation each tick; range [
0.0,1.0] (default1.0) - invert
bool
if set to
true, facing for the mesh will be inverted (defaultfalse)
-
partLookAtTarget (part, target[, turnRate=
1.0[, invert=false]]) -
Rotates the particle to face an arbitrary Vector3D
target. In other words, makes the mesh or sprite (inDRAW_SPRITE3Dmode) turn towards the specified position. The orientation of the particle is interpolated on the X and Y axis. TheturnRateparameter can be specified to prevent abrupt, jerky turns. Theinvertboolean works only on mesh particles: if the mesh normally appears turned backwards to how it should actually face, it flips it over.Calling phase types:
init,updateParameters:
- part SpriteParticle or MeshParticle the particle instance
- target Vector3D the target to which the particle shall turn
- turnRate
number
percentage of the difference between current and target orientation, by which to correct the orientation each tick; range [
0.0,1.0] (default1.0) - invert
bool
if set to
true, facing for the mesh will be inverted (defaultfalse)
- meshShatter (part)
-
Similarly to partKill function, kills the MeshParticle instance, also applying a 'shattering' effect on the mesh itself. This effect cannot be used with sprite particles.
Calling phase types:
init,updateParameters:
- part MeshParticle the mesh particle instance
Raises:
ERROR: ifpartis a SpriteParticle
Game interaction functions
-
activateTriggers (x, y, z, room[, heavy=
false[, flags]]) -
Activates levelmap triggers of the sector at coordinates (x, y, z, room).
Calling phase types:
anyParameters:
- x int the world X coordinate
- y int the world Y coordinate
- z int the world Z coordinate
- room int the 'room' coordinate (tomb4 room index)
- heavy
bool
activates 'heavy' triggers if
true(defaultfalse) - flags int additional trigger flags (optional)
- burnLara ()
-
Sets Lara on fire. Identical result to triggering TRNG Flipeffect F63 with 'Burning and decrease vitality' timer option.
Calling phase types:
any - findNearbyItems (pos, radius[, slots])
-
Finds moveable items nearby a certain position, within a given (spherical) radius. An optional table of slot numbers / SLOT constants can be provided to limit the search to only those slots, otherwise finds any moveables.
Calling phase types:
anyParameters:
- pos Vector3D the position to start searching from
- radius
number
the maximum search radius (in units) from
pos - slots {int,...} table of slot indices / SLOT constants (optional)
Returns:
-
{int,...}
table list of tomb4 indices of moveables within the radius (empty if none found)
- getCeilingHeight (x, y, z, room)
-
Calculates the ceiling height at coordinates (x, y, z, room).
Calling phase types:
anyParameters:
- x int the world X coordinate
- y int the world Y coordinate
- z int the world Z coordinate
- room int the 'room' coordinate (tomb4 room index)
Returns:
-
optional int
the ceiling height at the given coordinates;
nilif sector is a wall - getFloorHeight (x, y, z, room)
-
Calculates the floor height at coordinates (x, y, z, room).
Calling phase types:
anyParameters:
- x int the world X coordinate
- y int the world Y coordinate
- z int the world Z coordinate
- room int the 'room' coordinate (tomb4 room index)
Returns:
-
optional int
the floor height at the given coordinates;
nilif sector is a wall - getFloorNormal (x, y, z, room)
-
Calculates the unit normal vector of the floor surface at coordinates (x, y, z, room).
Calling phase types:
anyParameters:
- x int the world X coordinate
- y int the world Y coordinate
- z int the world Z coordinate
- room int the 'room' coordinate (tomb4 room index)
Returns:
-
optional Vector3D
the normal vector at the given coordinates;
nilif sector is a wall - getGameTick ()
-
Gets the current game tick value measured since the current level was started. 30 ticks = 1 real-time second.
Calling phase types:
anyReturns:
-
int
the game tick value
- getInput ()
-
Gets all game commands (like Up, Action, Jump, Walk) that are active at the current game tick. Test the commands with hasAllFlags or hasAnyFlags and INPUT flags.
Calling phase types:
anyReturns:
-
int
the game command flags active for current tick
- getItemInfo (index)
-
Gets the ItemInfo object for the moveable with given index.
Calling phase types:
anyParameters:
- index int the tomb4 moveable index (use getTombIndex to convert NG IDs)
Returns:
-
ItemInfo
the associated ItemInfo object
Raises:
ERROR: if moveable with given index is not found - getItemJointPosition (index, mesh, xOffset, yOffset, zOffset)
-
Gets the absolute (world) position of a specified mesh joint of a given moveable.
Calling phase types:
anyParameters:
- index int the tomb4 moveable index (use getTombIndex to convert NG IDs)
- mesh int the mesh/joint index
- xOffset optional int the X positional offset (rotates with the joint)
- yOffset optional int the Y positional offset (rotates with the joint)
- zOffset optional int the Z positional offset (rotates with the joint)
Returns:
-
Vector3D
the position vector of the joint
Raises:
ERROR: if moveable with given index is not found - getItemJointRotation (index, mesh)
-
Gets the rotation of a specified mesh joint of a given moveable.
Calling phase types:
anyParameters:
- index int the tomb4 moveable index (use getTombIndex to convert NG IDs)
- mesh int the mesh/joint index
Returns:
-
RotVector
the rotation vector of the joint
Raises:
ERROR: if moveable with given index is not found - getItemJointPosRot (index, mesh, xOffset, yOffset, zOffset)
-
Fused function that combines getItemJointPosition and getItemJointRotation. Slightly faster than calling these functions individually, if you need both. Returns the position and rotation as two separate values, e.g.
pos, rot = getItemJointPosRot(index, mesh)Calling phase types:
anyParameters:
- index int the tomb4 moveable index (use getTombIndex to convert NG IDs)
- mesh int the mesh/joint index
- xOffset optional int the X positional offset (rotates with the joint)
- yOffset optional int the Y positional offset (rotates with the joint)
- zOffset optional int the Z positional offset (rotates with the joint)
Returns:
Raises:
ERROR: if moveable with given index is not found - getItemRoom (index)
-
Gets the current room index of the given moveable.
Calling phase types:
anyParameters:
- index int the tomb4 moveable index (use getTombIndex to convert NG IDs)
Returns:
-
int
the moveable’s room index (tomb4 room index)
Raises:
ERROR: if moveable with given index is not found - getItemsBySlot (slot)
-
Retrieves a table of moveable indices belonging to a specific slot in current level.
Calling phase types:
anyParameters:
- slot int the slot index / SLOT constant
Returns:
-
{int,...}
table list of tomb4 moveable indices (empty if no moveable from given slot exists)
- getLaraIndex ()
-
Gets Lara’s tomb4 moveable index.
Calling phase types:
anyReturns:
-
int
tomb4 index of Lara
- getRoomFlags (room)
-
Gets the special room flags (properties) of a given room.
Calling phase types:
anyParameters:
- room int the tomb4 room index
Returns:
-
int
bit-flags of the room properties (see ROOM flags). Flags can be tested with hasAllFlags or hasAnyFlags.
- getRoomIndex (mapID)
-
Converts the levelmap room ID to the proper tomb4 room index. Use this function to convert editor room IDs when a tomb4 room index is expected.
Calling phase types:
anyParameters:
- mapID int the levelmap room ID
Returns:
-
int
tomb4 room index of room
- getRoomStatics (room[, slots])
-
Retrieves a table of StaticInfo objects placed in a given room. An optional table of specific static slots can be provided to narrow down the kinds of statics, otherwise all statics will be gathered.
Calling phase types:
anyParameters:
- room int the tomb4 room index
- slots {int,...} table of static slot indices / STATICSLOT constants (optional)
Returns:
-
{StaticInfo,...}
table list of StaticInfo objects (empty if no statics in the room or none matching criteria)
- getStatic (staticID)
-
Gets the StaticInfo object of a given NG static ID.
Calling phase types:
anyParameters:
- staticID int the levelmap static object ID
Returns:
-
StaticInfo
the associated StaticInfo object
Raises:
ERROR: if static with given NG ID is not found - getTargetIndex ()
-
Gets the index of enemy currently aimed at by Lara.
Calling phase types:
anyReturns:
-
optional int
tomb4 moveable index of aimed enemy;
nilif no enemy is targeted - getTombIndex (ngID)
-
Converts the NG script ID of a moveable to the proper tomb4 moveable index. Use this function to convert level editor IDs when a tomb4 moveable index is expected.
Calling phase types:
anyParameters:
- ngID int the levelmap moveable object ID
Returns:
-
int
the tomb4 moveable index
Raises:
ERROR: if moveable with given NG ID is not found - getWaterDepth (x, y, z, room)
-
Calculates the water depth at coordinates (x, y, z, room).
Calling phase types:
anyParameters:
- x int the world X coordinate
- y int the world Y coordinate
- z int the world Z coordinate
- room int the 'room' coordinate (tomb4 room index)
Returns:
-
optional int
the water depth at the given coordinates;
nilif sector is a wall - getWaterHeight (x, y, z, room)
-
Calculates the water surface height at coordinates (x, y, z, room).
Calling phase types:
anyParameters:
- x int the world X coordinate
- y int the world Y coordinate
- z int the world Z coordinate
- room int the 'room' coordinate (tomb4 room index)
Returns:
-
optional int
the water surface height at the given coordinates;
nilif no water room or sector is a wall -
interval (interval[, delay=
0]) -
Tests for the occurence of a specific game tick interval. For example, to activate something once every 10 ticks, you use
interval(10). Thedelayparameter allows to offset the interval by a certain amount of ticks.Calling phase types:
anyParameters:
- interval
int
the tick interval to evaluate (must be greater or equal to
1) - delay
int
the delay of the interval; in the range [
0,interval-1] (default0)
Returns:
-
bool
returns:
true– if the current game tick is on the intervalfalse– otherwise
Raises:
ERROR: ifintervalis less than1 - interval
int
the tick interval to evaluate (must be greater or equal to
- quenchLara ()
-
When Lara is on fire, will douse the flames and extinguish her instantly. No effect if Lara is not burning.
Calling phase types:
any -
soundEffect (sfx[, pos=
nil[, flags]]) -
Plays a specified sound effect. If
nilis passed forpos, the sound will be played globally (like menu sounds).Calling phase types:
anyParameters:
- sfx int sound effect ID number
- pos
Vector3D or nil
the coordinates for the sound source location or
nil(defaultnil) - flags int the flags for the sound effect (optional)
- testCollisionSpheres (itemIndex, pos, radius)
-
An advanced function for probing collisions of a test sphere of given radius against the mesh spheres of a moveable. This function is used for more complex and refined collision testing, where the bounding box would be imprecise. See partCollidedItem for a simpler particle collision function, relying on the bounding box.
Calling phase types:
anyParameters:
- itemIndex int the tomb4 moveable index (use getTombIndex to convert NG IDs)
- pos Vector3D the position of the testing sphere
- radius number the radius of the testing sphere
Returns:
-
int
bit-flags of meshes (see MESH flags) with which the sphere has detected a collision. Test this result with hasAllFlags or hasAnyFlags.
Raises:
ERROR: if moveable with given index is not found - testWall (x, y, z, room)
-
Tests if there is a wall at coordinates (x, y, z, room)
Calling phase types:
anyParameters:
- x int the world X coordinate
- y int the world Y coordinate
- z int the world Z coordinate
- room int the 'room' coordinate (tomb4 room index)
Returns:
-
bool
returns:
true– if there is a wall/blockfalse– if there is free space (no wall)
- triggerDynamicLight (x, y, z, intensity, red, green, blue)
-
Triggers a dynamic light at the given (x, y, z) coordinates for one game tick. Needs continuous calling to produce a longer-lasting light effect. Contributes to dynamic light limits.
Calling phase types:
anyParameters:
- x int the world X coordinate
- y int the world Y coordinate
- z int the world Z coordinate
- intensity int the intensity / strength of light
- red
int
the Red value [
0,255] - green
int
the Green value [
0,255] - blue
int
the Blue value [
0,255]
- triggerShockwave (x, y, z, innerRad, outerRad, speed, life, red, green, blue, xRot, flags)
-
Triggers a shockwave effect at the given (x, y, z) coordinates.
Calling phase types:
anyParameters:
- x int the world X coordinate
- y int the world Y coordinate
- z int the world Z coordinate
- innerRad int the inner ring radius
- outerRad int the outer ring radius
- speed int the ring scaling speed (can be negative)
- life int the duration of the effect (ticks)
- red
int
the Red value [
0,255] - green
int
the Green value [
0,255] - blue
int
the Blue value [
0,255] - xRot number the X rotation of the effect (radians)
- flags int the special shockwave flags; see SHOCKWAVE flags
TRNG interaction functions
- getSelectedItem ()
-
Gets the tomb4 moveable index of the current
Selected Item(for example, set by TRNG Action 54). Can be used to apply Lua effects to moveables obtained via TRNG scripting.Calling phase types:
anyReturns:
-
int
the
Selected Item Indexvalue - performTriggerGroup (id)
-
Executes a TriggerGroup from the current level TRNG script. If the TriggerGroup has any Condition triggers, it will return the boolean result of the conditions (all conditions must pass for the final result to be
true, otherwisefalseis returned).Calling phase types:
anyParameters:
- id
int
the TriggerGroup ID number [
1,9999]
Returns:
-
bool
the execution status of the TG (always
trueif no Condition triggers in TriggerGroup,falseif at least one condition failed) - id
int
the TriggerGroup ID number [
- setSelectedItem (index)
-
Sets the tomb4 moveable index as the current
Selected Item IndexandFound Item Index. Can be used to apply TRNG features to moveables obtained through Lua scripts (e.g. by redirecting withTGROUP_USE_FOUND_ITEM_INDEXin a TriggerGroup that was executed with performTriggerGroup).Calling phase types:
anyParameters:
- index int the tomb4 moveable index (use getTombIndex to convert NG IDs)
Raises:
ERROR: if moveable with given index is not found
Random number functions
- randomFloat (min, max)
-
Generates a random floating-point number value between [
min,max].Calling phase types:
anyParameters:
- min number the lower bound of the range
- max number the upper bound of the range
Returns:
-
number
the random float number between [
min,max] - randomInt (min, max)
-
Generates a random integer number value between [
min,max].Calling phase types:
anyParameters:
- min int the lower bound of the range
- max int the upper bound of the range (inclusive)
Returns:
-
int
the random integer between [
min,max] - randomNegate (x)
-
Returns the input x or its negative -x with a 50/50 chance.
Calling phase types:
anyParameters:
- x number the input number
Returns:
-
number
the randomly negated output
- randomSpherePoint (radius)
-
Generates a random vector on a 3D sphere of a given radius, with a center at the origin (
0,0,0). To move its center to a different XYZ point, add an offset vector, e.g.randomSpherePoint(512) + createVector(x, y, z)Calling phase types:
anyParameters:
- radius number the sphere’s radius (in units)
Returns:
-
Vector3D
the random vector from origin point (
0,0,0)
Procedural noise functions
- noise (gen, scale, x[, y[, z[, w]]])
-
Takes a noise generator object and produces a pseudo-random scalar noise output. Noise values can be generated from up to 4 separate numerical inputs (
x,y,z,w). Thescalefactor controls the approximate frequency / approximate size of noise grains in the output.Calling phase types:
anyParameters:
- gen PerlinNoise or SimplexNoise the noise generator object
- scale number the domain scale factor (smaller means higher oscillation frequency of noise)
- x number the first input
- y number the second input (optional)
- z number the third input (optional)
- w number the fourth input (optional)
Returns:
-
number
scalar noise value in the approximate range [
-1.0,1.0] - noiseCurl (gen, scale, x, y[, z])
-
Takes a noise generator object and produces a pseudo-random curl vector. Useful for simulating fluid-like motion on particles. Curl can be generated from 2 (
x,y) up to 3 (x,y,z) numerical inputs.Calling phase types:
anyParameters:
- gen PerlinNoise or SimplexNoise the noise generator object
- scale number the domain scale factor (smaller means higher oscillation frequency of noise)
- x number the first input
- y number the second input
- z number the third input (optional)
Returns:
-
Vector3D
curl vector; if only (
x,y) inputs were given, outputs a vector with a zero Z component (x,y,0.0), otherwise generates a full 3D vector (x,y,z) - noiseCurlTime (gen, scale, time, x, y[, z])
-
Takes a noise generator object and produces a pseudo-random curl vector that modulates over time. Useful for simulating fluid-like motion on particles. The
timeparameter is independent ofscale(outputs from getGameTick should be downsized by factors of0.001 - 0.1for best results). Curl can be generated from 2 (x,y) up to 3 (x,y,z) numerical inputs.Calling phase types:
anyParameters:
- gen PerlinNoise or SimplexNoise the noise generator object
- scale number the domain scale factor (smaller means higher oscillation frequency of noise)
- time
number
the time modulation factor (e.g. derived from getGameTick or from
part.t) - x number the first input
- y number the second input
- z number the third input (optional)
Returns:
-
Vector3D
curl vector; if only (
x,y) inputs were given, outputs a vector with a zero Z component (x,y,0.0), otherwise generates a full 3D vector (x,y,z)
Math-related functions
- abs (x)
-
Calculates the absolute value of x (|x| ≥ 0 for any x).
Calling phase types:
anyParameters:
- x number the input number
Returns:
-
number
the absolute value of x (i.e. “drops the minus” from x)
- acos (x)
-
Calculates the inverse-cosine of input x. The x value must be enclosed to [
-1.0,1.0].Calling phase types:
anyParameters:
- x
number
the input cosine value in the range [
-1.0,1.0]
Returns:
-
number
the angle (radians) for given cosine value
Raises:
ERROR: undefined (NaN) for x outside of [-1.0,1.0] - x
number
the input cosine value in the range [
- asin (x)
-
Calculates the inverse-sine of input x. The x value must be enclosed to [
-1.0,1.0].Calling phase types:
anyParameters:
- x
number
the input sine value in the range [
-1.0,1.0]
Returns:
-
number
the angle (radians) for given sine value
Raises:
ERROR: undefined (NaN) for x outside of [-1.0,1.0] - x
number
the input sine value in the range [
- atan (x)
-
Calculates the inverse-tangent of x.
Calling phase types:
anyParameters:
- x number the input tangent value;
Returns:
-
number
the angle (radians) for given tangent value
- atan2 (y, x)
-
Calculates the two-component (y, x) inverse-tangent.
Calling phase types:
anyParameters:
- y number the y component
- x number the x component
Returns:
-
number
the angle (radians) for given (y, x) components
- cbrt (x)
-
Calculates the cubic root of x (∛x).
Calling phase types:
anyParameters:
- x number the input x
Returns:
-
number
the cubic root value
- ceil (x)
-
Calculates the ceiling of x (⌈x⌉).
Calling phase types:
anyParameters:
- x number the input x
Returns:
-
number
the ceiling value (rounding up to nearest integer)
- clamp (x, min, max)
-
Clamps the value of x to the range [
min,max].Calling phase types:
anyParameters:
- x number the input x
- min number the lower bound
- max number the upper bound
Returns:
-
number
the clamped value between [
min,max] - cos (x)
-
Calculates the cosine of x.
Calling phase types:
anyParameters:
- x number the input x (radians)
Returns:
-
number
the cosine value
- degToRad (x)
-
Converts value expressed in degrees to value expressed in radians.
Calling phase types:
anyParameters:
- x number the input number (degrees)
Returns:
-
number
the converted output (radians)
- distance (vec1, vec2)
-
Calculates the Euclidean (shortest) distance between two Vector3D objects. If you want to only compare the distance without obtaining its exact value, see distCompare.
Calling phase types:
anyParameters:
Returns:
-
number
the computed distance
- distCompare (vec1, vec2, dist)
-
Compares the Euclidean (shortest) distance between two Vector3D objects against a given distance threshold. Useful if you are not interested in the actual distance value, but simply want to check if it’s within, equal to or beyond the given threshold (computationally efficient alternative to distance function for many distance comparisons).
Calling phase types:
anyParameters:
Returns:
-
int
returns:
-1– if actual distance is smaller than threshold (e.g.distCompare(vec1, vec2, dist) < 0)0– if they are equal (e.g.distCompare(vec1, vec2, dist) == 0)1– if actual distance is larger than threshold (e.g.distCompare(vec1, vec2, dist) > 0)
- exp (x)
-
Calculates the exponential of x (ex).
Calling phase types:
anyParameters:
- x number the input x
Returns:
-
number
the exponential value
- floor (x)
-
Calculates the floor of x (⌊x⌋).
Calling phase types:
anyParameters:
- x number the input x
Returns:
-
number
the floor value (rounding down to nearest integer)
- fmod (x, y)
-
Calculates the floating point remainder of x / y.
Calling phase types:
anyParameters:
- x number the dividend x
- y number the divisor y, y ≠ 0
Returns:
-
number
the remainder of x / y
Raises:
ERROR: undefined (NaN) for y = 0 - frac (x)
-
Returns the fractional (decimal) part of x.
Calling phase types:
anyParameters:
- x number the input x
Returns:
-
number
the fractional part of x
- lerp (a, b, t)
-
Linearly interpolates (blends) between the values [
a,b] based on blending factortin the range [0.0,1.0].Calling phase types:
anyParameters:
- a number the lower bound of value range
- b number the upper bound of value range
- t
number
the blending factor between [
0.0,1.0]
Returns:
-
number
the interpolated value given by the formula
(a * (1 - t) + b * t) - lerpInverse (a, b, x)
-
Calculates the linear blending factor
tbased on the source value x in-between the values [a,b].Calling phase types:
anyParameters:
- a number the lower bound of value range
- b number the upper bound of value range
- x
number
the source value between [
a,b]
Returns:
-
number
the resulting blending factor
tin range [0.0,1.0] - log (x)
-
Calculates the natural logarithm of x (logex). The x value must be positive (greater than 0). Unrelated to the plugin logger feature and its associated functions.
Calling phase types:
anyParameters:
- x number the input x, x > 0
Returns:
-
number
the natural logarithm value
Raises:
ERROR: undefined (NaN) for x ≤ 0 - max (first[, ...])
-
Finds and returns the maximum value out of a list of numbers. Can also accept a table of numbers as a single argument (in which case no following arguments are permitted).
Calling phase types:
anyParameters:
- first number or {number,...} number or table of numbers
- ... number other numbers, if table was not used (optional)
Returns:
-
number
the maximum value
- mean (first[, ...])
-
Finds and returns the arithmetic mean (average) value out of a list of numbers. Can also accept a table of numbers as a single argument (in which case no following arguments are permitted).
Calling phase types:
anyParameters:
- first number or {number,...} number or table of numbers
- ... number other numbers, if table was not used (optional)
Returns:
-
number
the arithmetic mean (the sum of all numbers divided by the count)
- min (first[, ...])
-
Finds and returns the minimum value out of a list of numbers. Can also accept a table of numbers as a single argument (in which case no following arguments are permitted).
Calling phase types:
anyParameters:
- first number or {number,...} number or table of numbers
- ... number other numbers, if table was not used (optional)
Returns:
-
number
the minimum value
- radToDeg (x)
-
Converts value expressed in radians to value expressed in degrees.
Calling phase types:
anyParameters:
- x number the input number (radians)
Returns:
-
number
the converted output (degrees)
- remap (x, oldMin, oldMax, newMin, newMax)
-
Linearly remaps the value x from the original range [
oldMin,oldMax] to the new range [newMin,newMax]. Output equivalent to:lerp(newMin, newMax, lerpInverse(oldMin, oldMax, x)).Calling phase types:
anyParameters:
- x number the value to remap
- oldMin number the lower bound of the original range
- oldMax number the upper bound of the original range
- newMin number the lower bound of the new range
- newMax number the upper bound of the new range
Returns:
-
number
the value of x remapped from [
oldMin,oldMax] to [newMin,newMax] range - rotateVectorByAngles (vec, x, y, z)
-
Rotates a Vector3D object by a set of Euler angles (x, y, z). Rotation is performed in YXZ order.
Calling phase types:
anyParameters:
- vec Vector3D the input vector
- x number the X (pitch) angle (radians)
- y number the Y (yaw) angle (radians)
- z number the Z (roll) angle (radians)
Returns:
-
Vector3D
the rotated (output) vector
- rotateVectorByAxisAngle (vec, axis, theta)
-
Rotates a Vector3D object around an axis vector by the angle theta.
Calling phase types:
anyParameters:
- vec Vector3D the input vector
- axis Vector3D the vector representing the rotation axis
- theta number the rotation angle around the axis (radians)
Returns:
-
Vector3D
the rotated (output) vector
- rotFromVector (vec)
-
Creates a RotVector object from a Vector3D direction vector. Outputs the X (pitch) and Y (yaw) angles, with the Z (roll) angle set to
0.Calling phase types:
anyParameters:
- vec
Vector3D
the direction vector, measured from origin (
0,0,0)
Returns:
-
RotVector
the resulting RotVector object (
x,y,0) - vec
Vector3D
the direction vector, measured from origin (
- round (x)
-
Rounds the floating-point number x to the nearest integer.
Calling phase types:
anyParameters:
- x number the input float number x
Returns:
-
int
the rounded integer
- sin (x)
-
Calculates the sine of x.
Calling phase types:
anyParameters:
- x number the input x (radians)
Returns:
-
number
the sine value
- smoothStep (x)
-
Calculates the SmoothStep of x (3x2 - 2x3; 0 ≤ x ≤ 1). SmoothStep is an S-shaped curve that eases the transition from the starting point 0 to the ending point 1.
Calling phase types:
anyParameters:
- x
number
the input x [
0.0,1.0]
Returns:
-
number
the SmoothStep value enclosed to [
0.0,1.0] - x
number
the input x [
- sphericalToCartesian (r, theta, phi)
-
Converts a set of spherical coordinates (
r,theta,phi) to Cartesian coordinates (x,y,z). Spherical coordinates naturally express positions on a spherical surface, withrrepresenting the radius from the origin (0,0,0),thetarepresenting the azimuth (longitudinal) angle andphirepresenting the polar (latitudinal) angle. To quickly generate a random direction on a sphere of given radius, see randomSpherePoint.Calling phase types:
anyParameters:
- r number the radius value
- theta
number
the azimuth / heading angle (radians) [
0,2π] - phi
number
the polar / elevation angle (radians) [
-π/2,π/2]
Returns:
-
Vector3D
the Vector3D object containing XYZ Cartesian coordinates
- sqrt (x)
-
Calculates the square root of x (√x). The value of x cannot be negative.
Calling phase types:
anyParameters:
- x number the input x, x ≥ 0
Returns:
-
number
the square root value
Raises:
ERROR: undefined (NaN) for x < 0 - tan (x)
-
Calculates the tangent of x. The tangent is undefined for angles of the form
(π/2 + kπ), withkrepresenting some integer (-1, 0, 1, 2, …).Calling phase types:
anyParameters:
- x number the input x (radians)
Returns:
-
number
the tangent value
Raises:
ERROR: undefined (NaN) forx = (π/2 + kπ)for any integerk - vectorCross (u, v)
-
Calculates the cross product between the vectors u and v (u ⨯ v). The sign of the resulting vector depends on the order of operands, i.e. u ⨯ v = - (v ⨯ u)
Calling phase types:
anyParameters:
Returns:
-
Vector3D
the cross product between u and v
- vectorDot (u, v)
-
Calculates the dot (scalar) product between the vectors u and v (u • v).
Calling phase types:
anyParameters:
Returns:
-
number
the dot product between u and v
- vectorLength (v)
-
Calculates the length of vector v (|v|).
Calling phase types:
anyParameters:
- v Vector3D the input vector
Returns:
-
number
the length of vector v
- vectorNormalize (v)
-
Calculates the normalized (unit) vector v̂ from vector v (v̂ = v/|v|).
Calling phase types:
anyParameters:
- v Vector3D the input vector
Returns:
-
Vector3D
the normalized vector of length 1
- wrapAngle (x)
-
Wraps the angle x to the range [
-π,π].Calling phase types:
anyParameters:
- x number the input x (radians)
Returns:
-
number
the wrapped angle in range [
-π,π]
Miscellaneous functions
- hasAllFlags (checkedValue, testFlags)
-
Tests for the occurence of all specified flags in a given integer value.
Calling phase types:
anyParameters:
- checkedValue int the value against which to compare the test flags
- testFlags
int
flags to test for; use the 'plus' operator to combine several flags e.g.
FLAG1 + FLAG2 + FLAG3
Returns:
-
bool
returns:
true– if all oftestFlagsoccured withincheckedValuefalse– if at least one flag is missing
- hasAnyFlags (checkedValue, testFlags)
-
Tests for the occurence of any specified flags in a given integer value.
Calling phase types:
anyParameters:
- checkedValue int the value against which to compare the test flags
- testFlags
int
flags to test for; use the 'plus' operator to combine several flags e.g.
FLAG1 + FLAG2 + FLAG3
Returns:
-
bool
returns:
true– if at least one flag occured withincheckedValuefalse– if none oftestFlagsis present
Built-in globals
- Camera
-
Global camera data fields. Contains infos about the in-game camera.
Fields:
- bounce int the bounce factor used for earthquake effects. Values below 0 cause the camera to shake, values above 0 displace the camera towards the floor
- cameraMode int the current camera mode, see CAMERA constants for list of available modes (read-only)
- currentAngle number the current horizontal angle of the camera around the camera target (read-only)
- currentElevation number the current elevation (vertical) angle of the camera around the camera target (read-only)
- fixed
bool
flag that informs if camera is fixed;
trueif in fixed mode,falseotherwise (read-only) - pos Vector3D the current position of the camera (source) in the game world
- roomIndex int the current room index of the camera
- speed
int
the speed value of the camera. Lower values mean faster camera movement, higher ones mean slower movement (default
6) - targetAngle
number
the goal horizontal angle the camera is meant to reach, may differ from the
currentAngle - targetDistance int the distance of the camera (in game units) from the camera target
- targetElevation
number
the goal vertical angle the camera is meant to reach, may differ from the
currentElevation - targetItem
int
the tomb4 moveable index of the item focused on by the camera,
nilif no moveable item is focused - targetPos Vector3D the camera target position in the game world
- targetRoomIndex int the current room index of the camera target
- timer int the timer value e.g. used for fixed cameras (read-only)
- underwater
bool
flag that informs if the camera is currently underwater (in a water room);
trueif underwater,falseotherwise (read-only)
- Lara
-
Global Lara moveable data. An ItemInfo object dedicated to Lara, equivalent to
getItemInfo(getLaraIndex()).Fields:
- afterDeath int unused for Lara
- animNumber int Lara’s current animation number
- frameNumber
int
the frame number relative to current
Lara.animNumber, beginning from frame 0 - currentAnimState int Lara’s current anim state number
- data
table
Lara’s extra data table (bool, int, number or
nilvalues accepted) - goalAnimState int Lara’s goal anim state number
- speed int Lara’s horizontal speed
- fallSpeed int Lara’s vertical speed (also used for the swimming speed and DOZY)
- floorDistance int unused for Lara
- hitPoints int Lara’s hit points (health)
- hitPointsMax
int
Lara’s total number of hit points,
1000(read-only) - hitStatus
bool
flag that informs if Lara was shot/hit at the current tick (e.g. by some enemy);
trueif Lara was hit,falseotherwise (read-only) - intelligent bool unused for Lara
- itemFlag1 int a numeric field used for miscellaneous purposes
- itemFlag2 int a numeric field used for miscellaneous purposes
- itemFlag3 int a numeric field used for miscellaneous purposes
- itemFlag4 int a numeric field used for miscellaneous purposes
- lookedAt bool unused for Lara
- meshBits int unused for Lara
- meshCount
int
the total number of meshes in Lara,
15(read-only) - ocbNumber int unused for Lara
- poisoned bool unused for Lara
- pos Vector3D Lara’s XYZ coordinates
- roomIndex int Lara’s tomb4 room index (read-only)
- rot RotVector Lara’s XYZ rotation angles
- slot
int
Lara’s moveable slot number,
0i.e.SLOT_LARA(read-only) - tombIndex int Lara’s tomb4 moveable index, same value as returned by getLaraIndex (read-only)
- triggered bool unused for Lara
- timer int unused for Lara
- undead bool unused for Lara
- waterCreature bool unused for Lara
- TrngVars
-
TRNG variables. Exposes TRNG variables to Lua, permitting direct read and write operations in Lua scripts, e.g.
TrngVars.GlobalByteAlfa1 = 15.Fields:
- BigText
string
the
Big Texttext variable (up to 319 text characters) - LastInputText
string
the
Last Input Texttext variable (up to 79 text characters) - Text1
string
the
Text1text variable (up to 79 text characters) - Text2
string
the
Text2text variable (up to 79 text characters) - Text3
string
the
Text3text variable (up to 79 text characters) - Text4
string
the
Text4text variable (up to 79 text characters)Global Numeric Variables:
- CurrentValue
int
the
Current Valuenumeric variable - GlobalByteAlfa1
int
the
Global Byte Alfa1numeric variable [0,255] - GlobalByteAlfa2
int
the
Global Byte Alfa2numeric variable [0,255] - GlobalByteAlfa3
int
the
Global Byte Alfa3numeric variable [0,255] - GlobalByteAlfa4
int
the
Global Byte Alfa4numeric variable [0,255] - GlobalByteBeta1
int
the
Global Byte Beta1numeric variable [0,255] - GlobalByteBeta2
int
the
Global Byte Beta2numeric variable [0,255] - GlobalByteBeta3
int
the
Global Byte Beta3numeric variable [0,255] - GlobalByteBeta4
int
the
Global Byte Beta4numeric variable [0,255] - GlobalByteDelta1
int
the
Global Byte Delta1numeric variable [0,255] - GlobalByteDelta2
int
the
Global Byte Delta2numeric variable [0,255] - GlobalByteDelta3
int
the
Global Byte Delta3numeric variable [0,255] - GlobalByteDelta4
int
the
Global Byte Delta4numeric variable [0,255] - GlobalShortAlfa1
int
the
Global Short Alfa1numeric variable [-32768,32767] - GlobalShortAlfa2
int
the
Global Short Alfa2numeric variable [-32768,32767] - GlobalShortBeta1
int
the
Global Short Beta1numeric variable [-32768,32767] - GlobalShortBeta2
int
the
Global Short Beta2numeric variable [-32768,32767] - GlobalShortDelta1
int
the
Global Short Delta1numeric variable [-32768,32767] - GlobalShortDelta2
int
the
Global Short Delta2numeric variable [-32768,32767] - GlobalLongAlfa
int
the
Global Long Alfanumeric variable - GlobalLongBeta
int
the
Global Long Betanumeric variable - GlobalLongDelta
int
the
Global Long Deltanumeric variable - GlobalLongTimer
int
the
Global Long Timernumeric variable - LastInputNumber
int
the
Last Input Numbernumeric variableLocal Numeric Variables:
- LocalByteAlfa1
int
the
Local Byte Alfa1numeric variable [0,255] - LocalByteAlfa2
int
the
Local Byte Alfa2numeric variable [0,255] - LocalByteAlfa3
int
the
Local Byte Alfa3numeric variable [0,255] - LocalByteAlfa4
int
the
Local Byte Alfa4numeric variable [0,255] - LocalByteBeta1
int
the
Local Byte Beta1numeric variable [0,255] - LocalByteBeta2
int
the
Local Byte Beta2numeric variable [0,255] - LocalByteBeta3
int
the
Local Byte Beta3numeric variable [0,255] - LocalByteBeta4
int
the
Local Byte Beta4numeric variable [0,255] - LocalByteDelta1
int
the
Local Byte Delta1numeric variable [0,255] - LocalByteDelta2
int
the
Local Byte Delta2numeric variable [0,255] - LocalByteDelta3
int
the
Local Byte Delta3numeric variable [0,255] - LocalByteDelta4
int
the
Local Byte Delta4numeric variable [0,255] - LocalShortAlfa1
int
the
Local Short Alfa1numeric variable [-32768,32767] - LocalShortAlfa2
int
the
Local Short Alfa2numeric variable [-32768,32767] - LocalShortBeta1
int
the
Local Short Beta1numeric variable [-32768,32767] - LocalShortBeta2
int
the
Local Short Beta2numeric variable [-32768,32767] - LocalShortDelta1
int
the
Local Short Delta1numeric variable [-32768,32767] - LocalShortDelta2
int
the
Local Short Delta2numeric variable [-32768,32767] - LocalLongAlfa
int
the
Local Long Alfanumeric variable - LocalLongBeta
int
the
Local Long Betanumeric variable - LocalLongDelta
int
the
Local Long Deltanumeric variable - LocalLongTimer
int
the
Local Long Timernumeric variableStore Variables:
- StoreByteA1
int
the
Store Byte A1numeric variable [0,255] - StoreByteA2
int
the
Store Byte A2numeric variable [0,255] - StoreByteA3
int
the
Store Byte A3numeric variable [0,255] - StoreByteA4
int
the
Store Byte A4numeric variable [0,255] - StoreByteB1
int
the
Store Byte B1numeric variable [0,255] - StoreByteB2
int
the
Store Byte B2numeric variable [0,255] - StoreByteB3
int
the
Store Byte B3numeric variable [0,255] - StoreByteB4
int
the
Store Byte B4numeric variable [0,255] - StoreByteC1
int
the
Store Byte C1numeric variable [0,255] - StoreByteC2
int
the
Store Byte C2numeric variable [0,255] - StoreByteC3
int
the
Store Byte C3numeric variable [0,255] - StoreByteC4
int
the
Store Byte C4numeric variable [0,255] - StoreByteD1
int
the
Store Byte D1numeric variable [0,255] - StoreByteD2
int
the
Store Byte D2numeric variable [0,255] - StoreByteD3
int
the
Store Byte D3numeric variable [0,255] - StoreByteD4
int
the
Store Byte D4numeric variable [0,255] - StoreByteE1
int
the
Store Byte E1numeric variable [0,255] - StoreByteE2
int
the
Store Byte E2numeric variable [0,255] - StoreByteE3
int
the
Store Byte E3numeric variable [0,255] - StoreByteE4
int
the
Store Byte E4numeric variable [0,255] - StoreByteF1
int
the
Store Byte F1numeric variable [0,255] - StoreByteF2
int
the
Store Byte F2numeric variable [0,255] - StoreByteF3
int
the
Store Byte F3numeric variable [0,255] - StoreByteF4
int
the
Store Byte F4numeric variable [0,255] - StoreByteG1
int
the
Store Byte G1numeric variable [0,255] - StoreByteG2
int
the
Store Byte G2numeric variable [0,255] - StoreByteG3
int
the
Store Byte G3numeric variable [0,255] - StoreByteG4
int
the
Store Byte G4numeric variable [0,255] - StoreByteH1
int
the
Store Byte H1numeric variable [0,255] - StoreByteH2
int
the
Store Byte H2numeric variable [0,255] - StoreByteH3
int
the
Store Byte H3numeric variable [0,255] - StoreByteH4
int
the
Store Byte H4numeric variable [0,255] - StoreByteI1
int
the
Store Byte I1numeric variable [0,255] - StoreByteI2
int
the
Store Byte I2numeric variable [0,255] - StoreByteI3
int
the
Store Byte I3numeric variable [0,255] - StoreByteI4
int
the
Store Byte I4numeric variable [0,255] - StoreByteJ1
int
the
Store Byte J1numeric variable [0,255] - StoreByteJ2
int
the
Store Byte J2numeric variable [0,255] - StoreByteJ3
int
the
Store Byte J3numeric variable [0,255] - StoreByteJ4
int
the
Store Byte J4numeric variable [0,255] - StoreByteK1
int
the
Store Byte K1numeric variable [0,255] - StoreByteK2
int
the
Store Byte K2numeric variable [0,255] - StoreByteK3
int
the
Store Byte K3numeric variable [0,255] - StoreByteK4
int
the
Store Byte K4numeric variable [0,255] - StoreByteL1
int
the
Store Byte L1numeric variable [0,255] - StoreByteL2
int
the
Store Byte L2numeric variable [0,255] - StoreByteL3
int
the
Store Byte L3numeric variable [0,255] - StoreByteL4
int
the
Store Byte L4numeric variable [0,255] - StoreByteM1
int
the
Store Byte M1numeric variable [0,255] - StoreByteM2
int
the
Store Byte M2numeric variable [0,255] - StoreByteM3
int
the
Store Byte M3numeric variable [0,255] - StoreByteM4
int
the
Store Byte M4numeric variable [0,255] - StoreByteN1
int
the
Store Byte N1numeric variable [0,255] - StoreByteN2
int
the
Store Byte N2numeric variable [0,255] - StoreByteN3
int
the
Store Byte N3numeric variable [0,255] - StoreByteN4
int
the
Store Byte N4numeric variable [0,255] - StoreByteO1
int
the
Store Byte O1numeric variable [0,255] - StoreByteO2
int
the
Store Byte O2numeric variable [0,255] - StoreByteO3
int
the
Store Byte O3numeric variable [0,255] - StoreByteO4
int
the
Store Byte O4numeric variable [0,255] - StoreByteP1
int
the
Store Byte P1numeric variable [0,255] - StoreByteP2
int
the
Store Byte P2numeric variable [0,255] - StoreByteP3
int
the
Store Byte P3numeric variable [0,255] - StoreByteP4
int
the
Store Byte P4numeric variable [0,255] - StoreShortA1
int
the
Store Short A1numeric variable [-32768,32767] - StoreShortA2
int
the
Store Short A2numeric variable [-32768,32767] - StoreShortB1
int
the
Store Short B1numeric variable [-32768,32767] - StoreShortB2
int
the
Store Short B2numeric variable [-32768,32767] - StoreShortC1
int
the
Store Short C1numeric variable [-32768,32767] - StoreShortC2
int
the
Store Short C2numeric variable [-32768,32767] - StoreShortD1
int
the
Store Short D1numeric variable [-32768,32767] - StoreShortD2
int
the
Store Short D2numeric variable [-32768,32767] - StoreShortE1
int
the
Store Short E1numeric variable [-32768,32767] - StoreShortE2
int
the
Store Short E2numeric variable [-32768,32767] - StoreShortF1
int
the
Store Short F1numeric variable [-32768,32767] - StoreShortF2
int
the
Store Short F2numeric variable [-32768,32767] - StoreShortG1
int
the
Store Short G1numeric variable [-32768,32767] - StoreShortG2
int
the
Store Short G2numeric variable [-32768,32767] - StoreShortH1
int
the
Store Short H1numeric variable [-32768,32767] - StoreShortH2
int
the
Store Short H2numeric variable [-32768,32767] - StoreShortI1
int
the
Store Short I1numeric variable [-32768,32767] - StoreShortI2
int
the
Store Short I2numeric variable [-32768,32767] - StoreShortJ1
int
the
Store Short J1numeric variable [-32768,32767] - StoreShortJ2
int
the
Store Short J2numeric variable [-32768,32767] - StoreShortK1
int
the
Store Short K1numeric variable [-32768,32767] - StoreShortK2
int
the
Store Short K2numeric variable [-32768,32767] - StoreShortL1
int
the
Store Short L1numeric variable [-32768,32767] - StoreShortL2
int
the
Store Short L2numeric variable [-32768,32767] - StoreShortM1
int
the
Store Short M1numeric variable [-32768,32767] - StoreShortM2
int
the
Store Short M2numeric variable [-32768,32767] - StoreShortN1
int
the
Store Short N1numeric variable [-32768,32767] - StoreShortN2
int
the
Store Short N2numeric variable [-32768,32767] - StoreShortO1
int
the
Store Short O1numeric variable [-32768,32767] - StoreShortO2
int
the
Store Short O2numeric variable [-32768,32767] - StoreShortP1
int
the
Store Short P1numeric variable [-32768,32767] - StoreShortP2
int
the
Store Short P2numeric variable [-32768,32767] - StoreLongA
int
the
Store Long Anumeric variable - StoreLongB
int
the
Store Long Bnumeric variable - StoreLongC
int
the
Store Long Cnumeric variable - StoreLongD
int
the
Store Long Dnumeric variable - StoreLongE
int
the
Store Long Enumeric variable - StoreLongF
int
the
Store Long Fnumeric variable - StoreLongG
int
the
Store Long Gnumeric variable - StoreLongH
int
the
Store Long Hnumeric variable - StoreLongI
int
the
Store Long Inumeric variable - StoreLongJ
int
the
Store Long Jnumeric variable - StoreLongK
int
the
Store Long Knumeric variable - StoreLongL
int
the
Store Long Lnumeric variable - StoreLongM
int
the
Store Long Mnumeric variable - StoreLongN
int
the
Store Long Nnumeric variable - StoreLongO
int
the
Store Long Onumeric variable - StoreLongP
int
the
Store Long Pnumeric variable
- BigText
string
the
Built-in constants
- BLEND
-
Blending mode constants for
group.blendModefield of ParticleGroup. Blending modes are only used with sprite particles.Constants:
- BLEND_TEXTURE int Opaque texture. No transparency allowed, magenta(255,0,255) turns to black(0,0,0). Not compatible with alpha-transparency
- BLEND_DECAL int Opaque texture. Magenta(255,0,255) is fully transparent, other colors including pure black(0,0,0) are rendered as-is. Supports alpha-transparency
- BLEND_COLORADD int Semi-transparent additive blending. Pure black(0,0,0) is transparent, opacity increases with source color brightness and overlapping polygons. Not compatible with alpha-transparency
- BLEND_SEMITRANS int Opaque texture. Pure black(0,0,0) and magenta(255,0,255) are transparent. Supports alpha-transparency
- BLEND_NOZBUFFER
int
Like
BLEND_DECAL, but ignores the Z-depth, i.e. the polygons get rendered on top of everything else, even if they should normally be obscured by other geometry in front. Supports alpha-transparency - BLEND_COLORSUB
int
Semi-transparent subtractive blending. The negative of
BLEND_COLORADD, meaning colors get inverted (bright colors in the source texture become dark). Pure black(0,0,0) is transparent, opacity increases with source color brightness and overlapping polygons. Not compatible with alpha-transparency - BLEND_SEMITRANS_ZBUFFER int Special blending mode used when rendering polygons needs special depth sorting. Supports alpha-transparency
- BLEND_DESTINATION_INV int Transparent. Performs destination color inversion – whatever is behind the polygon gets inverted by an amount determined by the polygon pixel color. Pure black(0,0,0) is transparent, opacity increases with source color brightness. Exhibits reversal effect with polygon overlap. Not compatible with alpha-transparency
- BLEND_SCREEN_DARKEN int Semi-transparent screen blending with darkened transitions. Compares pixels of polygon with pixels behind it and keeps whichever pixel is darker. Not compatible with alpha-transparency
- BLEND_SCREEN_CLEAR int Semi-transparent screen blending with clear transitions. Compares pixels of polygon with pixels behind it and keeps whichever pixel is brighter. Not compatible with alpha-transparency
- BLEND_CUSTOM_11 int Custom mode 11, see New blending modes FLEP patch for details
- BLEND_CUSTOM_12 int Custom mode 12, see New blending modes FLEP patch for details
- BLEND_CUSTOM_13 int Custom mode 13, see New blending modes FLEP patch for details
- CAMERA
-
Camera mode constants for
Camera.cameraModefield of the Camera global.Constants:
- CAMERA_CHASE int The “Chase” camera mode
- CAMERA_FIXED int The “Fixed” camera mode
- CAMERA_LOOK int The “Look” camera mode
- CAMERA_COMBAT int The “Combat” camera mode
- CAMERA_CINEMATIC int The “Cinematic” camera mode
- CAMERA_HEAVY int The “Heavy” camera mode
- DRAW
-
Drawing mode constants for
group.drawModefield of ParticleGroup. Drawing modes are only used with sprite particles.Constants:
- DRAW_SPRITE
int
Draws a 2D billboard (camera-facing sprite) (use
part.rot/part.rotVelfor rotation) - DRAW_SPRITE3D
int
Draws a 3D independently oriented quad (use
part.rot3D/part.rotVel3Dfor rotation) - DRAW_LINE int Draws a velocity-aligned line
- DRAW_ARROW int Draws a velocity-aligned arrow
- DRAW_NONE int Draws nothing (particles are not rendered)
- DRAW_SPRITE
int
Draws a 2D billboard (camera-facing sprite) (use
- INPUT
-
Input flag constants. Flags can be combined with '+' e.g.
INPUT_JUMP + INPUT_WALK + INPUT_ACTION. Combinations of input flags are returned by getInput function.Constants:
- INPUT_ACTION int Action game command
- INPUT_DASH int Dash game command
- INPUT_DOWN int Down game command
- INPUT_DRAW int Draw / holster weapons game command
- INPUT_DUCK int Duck game command
- INPUT_FLARE int Use flare game command
- INPUT_INVENTORY int Inventory game command
- INPUT_JUMP int Jump game command
- INPUT_LEFT int Left game command
- INPUT_LOADGAME int Load game shortcut game command
- INPUT_LOOK int Look game command
- INPUT_PAUSE int Pause game command
- INPUT_RIGHT int Right game command
- INPUT_ROLL int Roll game command
- INPUT_SAVEGAME int Save game shortcut game command
- INPUT_SELECT int Select (Enter) game command
- INPUT_STEPLEFT int Sidestep left game command
- INPUT_STEPRIGHT int Sidestep right game command
- INPUT_UP int Up game command
- INPUT_WALK int Walk game command
- LIGHT
-
Lighting mode constants for
group.lightModefield of ParticleGroup. Lighting modes are only used with sprite particles. For mesh particles, the lighting setting for the source mesh (in the Wad) is used instead.Constants:
- LIGHT_STATIC int Static lighting mode, sprites unaffected by in-game dynamic lights
- LIGHT_DYNAMIC int Dynamic lighting mode, sprites affected by in-game dynamic lights
- LOG
-
Log level constants for setLogLevel.
Constants:
- LOG_INFO
int
Permits
INFO,DEBUG,WARNandERRORmessages - LOG_DEBUG
int
Permits
DEBUG,WARNandERRORmessages - LOG_WARN
int
Permits
WARNandERRORmessages - LOG_ERROR
int
Permits only
ERRORmessages
- LOG_INFO
int
Permits
- MESH
-
Mesh bit-flag constants. Flags can be combined with '+' e.g.
MESH1 + MESH4 + MESH5. Combinations of these flags are returned by testCollisionSpheres and also are contained in theitem.meshBitsfield of ItemInfo.
Note: you should NOT use these flags in place of regular mesh indices (0, 1, 2, 3, …) e.g. forpart.emitterNodeorpart.meshIndexfields.Constants:
- MESH0 int mesh 0 bit
- MESH1 int mesh 1 bit
- MESH2 int mesh 2 bit
- MESH3 int mesh 3 bit
- MESH4 int mesh 4 bit
- MESH5 int mesh 5 bit
- MESH6 int mesh 6 bit
- MESH7 int mesh 7 bit
- MESH8 int mesh 8 bit
- MESH9 int mesh 9 bit
- MESH10 int mesh 10 bit
- MESH11 int mesh 11 bit
- MESH12 int mesh 12 bit
- MESH13 int mesh 13 bit
- MESH14 int mesh 14 bit
- MESH15 int mesh 15 bit
- MESH16 int mesh 16 bit
- MESH17 int mesh 17 bit
- MESH18 int mesh 18 bit
- MESH19 int mesh 19 bit
- MESH20 int mesh 20 bit
- MESH21 int mesh 21 bit
- MESH22 int mesh 22 bit
- MESH23 int mesh 23 bit
- MESH24 int mesh 24 bit
- MESH25 int mesh 25 bit
- MESH26 int mesh 26 bit
- MESH27 int mesh 27 bit
- MESH28 int mesh 28 bit
- MESH29 int mesh 29 bit
- MESH30 int mesh 30 bit
- MESH31 int mesh 31 bit
- NO_CUTOFF
-
A special constant used for the
group.attach.cutofffield of NodeAttachment. Indicates no cutoff point should be used i.e. that the particle should remain tethered to the emitter moveable object indefinitely (it can still be untethered manually with partDetach function).
- PI
-
Pi constants. Represent approximations of various fractions and multiples of
π = 3.14159265…Constants:
- PI
number
represents
πitself - PI_HALF
number
represents
π/2 - PI_QUART
number
represents
π/4 - PI_THIRD
number
represents
π/3 - PI_TWO
number
represents
2π
- PI
number
represents
- ROOM
-
Room property flag constants. Flags can be combined with '+' e.g.
ROOM_COLD + ROOM_WATER. Combinations of these flags can be returned by getRoomFlags.Constants:
- ROOM_COLD int room has the cold room flag
- ROOM_DAMAGE int room has the damage room flag
- ROOM_FLIPROOM int room has the fliproom flag
- ROOM_HORIZON
int
room has the skybox flag (distinct from
ROOM_OUTSIDE) - ROOM_MIST int room has the mist flag
- ROOM_NO_LENSFLARE int room has the “No Lensflare” flag
- ROOM_OUTSIDE int room has the outside room flag (e.g. enables wind on ponytail)
- ROOM_QUICKSAND int room has the quicksand room flag
- ROOM_RAIN int room has the rain flag
- ROOM_SNOW int room has the snow flag
- ROOM_WATER int room has the water room flag
- TETHER
-
Tether type constants, used for
group.attach.tetherTypefield of NodeAttachment.Constants:
- TETHER_ROTATING int tether which rotates with moveable’s frame of reference and follows its displacement
- TETHER_STATIC int tether which does NOT rotate with moveable’s frame of reference, but follows its displacement
- TETHER_ABSTRACT
int
tether which neither rotates with moveable or follows its movement, but retains the
part.emitterIndexrelationship with the moveable in an abstract (non-physical) sense
- SHOCKWAVE
-
Shockwave effect flag constants. Used for the
flagsparameter of triggerShockwave.Constants:
- SHOCKWAVE_DEADLY
int
shockwave deals damage to Lara and makes hit sparks on contact. Amount of damage is proportional to the speed of shockwave (controlled by
speedparameter of triggerShockwave) - SHOCKWAVE_EXTRA_DAMAGE
int
makes the shockwave deadlier by dealing extra damage (use with
SHOCKWAVE_DEADLY)
- SHOCKWAVE_DEADLY
int
shockwave deals damage to Lara and makes hit sparks on contact. Amount of damage is proportional to the speed of shockwave (controlled by
- SLOT
-
Moveable object slot constants.
Constants:
- SLOT_LARA
int
object
LARA(0) - SLOT_PISTOLS_ANIM
int
object
PISTOLS_ANIM(1) - SLOT_UZI_ANIM
int
object
UZI_ANIM(2) - SLOT_SHOTGUN_ANIM
int
object
SHOTGUN_ANIM(3) - SLOT_CROSSBOW_ANIM
int
object
CROSSBOW_ANIM(4) - SLOT_GRENADE_GUN_ANIM
int
object
GRENADE_GUN_ANIM(5) - SLOT_SIXSHOOTER_ANIM
int
object
SIXSHOOTER_ANIM(6) - SLOT_FLARE_ANIM
int
object
FLARE_ANIM(7) - SLOT_LARA_SKIN
int
object
LARA_SKIN(8) - SLOT_LARA_SKIN_JOINTS
int
object
LARA_SKIN_JOINTS(9) - SLOT_LARA_SCREAM
int
object
LARA_SCREAM(10) - SLOT_LARA_CROSSBOW_LASER
int
object
LARA_CROSSBOW_LASER(11) - SLOT_LARA_REVOLVER_LASER
int
object
LARA_REVOLVER_LASER(12) - SLOT_LARA_HOLSTERS
int
object
LARA_HOLSTERS(13) - SLOT_LARA_HOLSTERS_PISTOLS
int
object
LARA_HOLSTERS_PISTOLS(14) - SLOT_LARA_HOLSTERS_UZIS
int
object
LARA_HOLSTERS_UZIS(15) - SLOT_LARA_HOLSTERS_SIXSHOOTER
int
object
LARA_HOLSTERS_SIXSHOOTER(16) - SLOT_LARA_SPEECH_HEAD1
int
object
LARA_SPEECH_HEAD1(17) - SLOT_LARA_SPEECH_HEAD2
int
object
LARA_SPEECH_HEAD2(18) - SLOT_LARA_SPEECH_HEAD3
int
object
LARA_SPEECH_HEAD3(19) - SLOT_LARA_SPEECH_HEAD4
int
object
LARA_SPEECH_HEAD4(20) - SLOT_ACTOR1_SPEECH_HEAD1
int
object
ACTOR1_SPEECH_HEAD1(21) - SLOT_ACTOR1_SPEECH_HEAD2
int
object
ACTOR1_SPEECH_HEAD2(22) - SLOT_ACTOR2_SPEECH_HEAD1
int
object
ACTOR2_SPEECH_HEAD1(23) - SLOT_ACTOR2_SPEECH_HEAD2
int
object
ACTOR2_SPEECH_HEAD2(24) - SLOT_LARA_WATER_MESH
int
object
LARA_WATER_MESH(25) - SLOT_LARA_PETROL_MESH
int
object
LARA_PETROL_MESH(26) - SLOT_LARA_DIRT_MESH
int
object
LARA_DIRT_MESH(27) - SLOT_CROWBAR_ANIM
int
object
CROWBAR_ANIM(28) - SLOT_TORCH_ANIM
int
object
TORCH_ANIM(29) - SLOT_HAIR
int
object
HAIR(30) - SLOT_MOTORBIKE
int
object
MOTORBIKE(31) - SLOT_JEEP
int
object
JEEP(32) - SLOT_VEHICLE_EXTRA
int
object
VEHICLE_EXTRA(33) - SLOT_ENEMY_JEEP
int
object
ENEMY_JEEP(34) - SLOT_SKELETON
int
object
SKELETON(35) - SLOT_SKELETON_MIP
int
object
SKELETON_MIP(36) - SLOT_GUIDE
int
object
GUIDE(37) - SLOT_GUIDE_MIP
int
object
GUIDE_MIP(38) - SLOT_VON_CROY
int
object
VON_CROY(39) - SLOT_VON_CROY_MIP
int
object
VON_CROY_MIP(40) - SLOT_BADDY_1
int
object
BADDY_1(41) - SLOT_BADDY_1_MIP
int
object
BADDY_1_MIP(42) - SLOT_BADDY_2
int
object
BADDY_2(43) - SLOT_BADDY_2_MIP
int
object
BADDY_2_MIP(44) - SLOT_SETHA
int
object
SETHA(45) - SLOT_SETHA_MIP
int
object
SETHA_MIP(46) - SLOT_MUMMY
int
object
MUMMY(47) - SLOT_MUMMY_MIP
int
object
MUMMY_MIP(48) - SLOT_SPHINX
int
object
SPHINX(49) - SLOT_SPHINX_MIP
int
object
SPHINX_MIP(50) - SLOT_CROCODILE
int
object
CROCODILE(51) - SLOT_CROCODILE_MIP
int
object
CROCODILE_MIP(52) - SLOT_HORSEMAN
int
object
HORSEMAN(53) - SLOT_HORSEMAN_MIP
int
object
HORSEMAN_MIP(54) - SLOT_SCORPION
int
object
SCORPION(55) - SLOT_SCORPION_MIP
int
object
SCORPION_MIP(56) - SLOT_JEAN_YVES
int
object
JEAN_YVES(57) - SLOT_JEAN_YVES_MIP
int
object
JEAN_YVES_MIP(58) - SLOT_TROOPS
int
object
TROOPS(59) - SLOT_TROOPS_MIP
int
object
TROOPS_MIP(60) - SLOT_KNIGHTS_TEMPLAR
int
object
KNIGHTS_TEMPLAR(61) - SLOT_KNIGHTS_TEMPLAR_MIP
int
object
KNIGHTS_TEMPLAR_MIP(62) - SLOT_MUTANT
int
object
MUTANT(63) - SLOT_MUTANT_MIP
int
object
MUTANT_MIP(64) - SLOT_HORSE
int
object
HORSE(65) - SLOT_HORSE_MIP
int
object
HORSE_MIP(66) - SLOT_BABOON_NORMAL
int
object
BABOON_NORMAL(67) - SLOT_BABOON_NORMAL_MIP
int
object
BABOON_NORMAL_MIP(68) - SLOT_BABOON_INV
int
object
BABOON_INV(69) - SLOT_BABOON_INV_MIP
int
object
BABOON_INV_MIP(70) - SLOT_BABOON_SILENT
int
object
BABOON_SILENT(71) - SLOT_BABOON_SILENT_MIP
int
object
BABOON_SILENT_MIP(72) - SLOT_WILD_BOAR
int
object
WILD_BOAR(73) - SLOT_WILD_BOAR_MIP
int
object
WILD_BOAR_MIP(74) - SLOT_HARPY
int
object
HARPY(75) - SLOT_HARPY_MIP
int
object
HARPY_MIP(76) - SLOT_DEMIGOD1
int
object
DEMIGOD1(77) - SLOT_DEMIGOD1_MIP
int
object
DEMIGOD1_MIP(78) - SLOT_DEMIGOD2
int
object
DEMIGOD2(79) - SLOT_DEMIGOD2_MIP
int
object
DEMIGOD2_MIP(80) - SLOT_DEMIGOD3
int
object
DEMIGOD3(81) - SLOT_DEMIGOD3_MIP
int
object
DEMIGOD3_MIP(82) - SLOT_LITTLE_BEETLE
int
object
LITTLE_BEETLE(83) - SLOT_BIG_BEETLE
int
object
BIG_BEETLE(84) - SLOT_BIG_BEETLE_MIP
int
object
BIG_BEETLE_MIP(85) - SLOT_WRAITH1
int
object
WRAITH1(86) - SLOT_WRAITH2
int
object
WRAITH2(87) - SLOT_WRAITH3
int
object
WRAITH3(88) - SLOT_WRAITH4
int
object
WRAITH4(89) - SLOT_BAT
int
object
BAT(90) - SLOT_DOG
int
object
DOG(91) - SLOT_DOG_MIP
int
object
DOG_MIP(92) - SLOT_HAMMERHEAD
int
object
HAMMERHEAD(93) - SLOT_HAMMERHEAD_MIP
int
object
HAMMERHEAD_MIP(94) - SLOT_SAS
int
object
SAS(95) - SLOT_SAS_MIP
int
object
SAS_MIP(96) - SLOT_SAS_DYING
int
object
SAS_DYING(97) - SLOT_SAS_DYING_MIP
int
object
SAS_DYING_MIP(98) - SLOT_SAS_CAPTAIN
int
object
SAS_CAPTAIN(99) - SLOT_SAS_CAPTAIN_MIP
int
object
SAS_CAPTAIN_MIP(100) - SLOT_SAS_DRAG_BLOKE
int
object
SAS_DRAG_BLOKE(101) - SLOT_AHMET
int
object
AHMET(102) - SLOT_AHMET_MIP
int
object
AHMET_MIP(103) - SLOT_LARA_DOUBLE
int
object
LARA_DOUBLE(104) - SLOT_LARA_DOUBLE_MIP
int
object
LARA_DOUBLE_MIP(105) - SLOT_SMALL_SCORPION
int
object
SMALL_SCORPION(106) - SLOT_FISH
int
object
FISH(107) - SLOT_GAME_PIECE1
int
object
GAME_PIECE1(108) - SLOT_GAME_PIECE2
int
object
GAME_PIECE2(109) - SLOT_GAME_PIECE3
int
object
GAME_PIECE3(110) - SLOT_ENEMY_PIECE
int
object
ENEMY_PIECE(111) - SLOT_WHEEL_OF_FORTUNE
int
object
WHEEL_OF_FORTUNE(112) - SLOT_SCALES
int
object
SCALES(113) - SLOT_DARTS
int
object
DARTS(114) - SLOT_DART_EMITTER
int
object
DART_EMITTER(115) - SLOT_HOMING_DART_EMITTER
int
object
HOMING_DART_EMITTER(116) - SLOT_FALLING_CEILING
int
object
FALLING_CEILING(117) - SLOT_FALLING_BLOCK
int
object
FALLING_BLOCK(118) - SLOT_FALLING_BLOCK2
int
object
FALLING_BLOCK2(119) - SLOT_SMASHABLE_BIKE_WALL
int
object
SMASHABLE_BIKE_WALL(120) - SLOT_SMASHABLE_BIKE_FLOOR
int
object
SMASHABLE_BIKE_FLOOR(121) - SLOT_TRAPDOOR1
int
object
TRAPDOOR1(122) - SLOT_TRAPDOOR2
int
object
TRAPDOOR2(123) - SLOT_TRAPDOOR3
int
object
TRAPDOOR3(124) - SLOT_FLOOR_TRAPDOOR1
int
object
FLOOR_TRAPDOOR1(125) - SLOT_FLOOR_TRAPDOOR2
int
object
FLOOR_TRAPDOOR2(126) - SLOT_CEILING_TRAPDOOR1
int
object
CEILING_TRAPDOOR1(127) - SLOT_CEILING_TRAPDOOR2
int
object
CEILING_TRAPDOOR2(128) - SLOT_SCALING_TRAPDOOR
int
object
SCALING_TRAPDOOR(129) - SLOT_ROLLINGBALL
int
object
ROLLINGBALL(130) - SLOT_SPIKEY_FLOOR
int
object
SPIKEY_FLOOR(131) - SLOT_TEETH_SPIKES
int
object
TEETH_SPIKES(132) - SLOT_JOBY_SPIKES
int
object
JOBY_SPIKES(133) - SLOT_SLICER_DICER
int
object
SLICER_DICER(134) - SLOT_CHAIN
int
object
CHAIN(135) - SLOT_PLOUGH
int
object
PLOUGH(136) - SLOT_STARGATE
int
object
STARGATE(137) - SLOT_HAMMER
int
object
HAMMER(138) - SLOT_BURNING_FLOOR
int
object
BURNING_FLOOR(139) - SLOT_COG
int
object
COG(140) - SLOT_SPIKEBALL
int
object
SPIKEBALL(141) - SLOT_FLAME
int
object
FLAME(142) - SLOT_FLAME_EMITTER
int
object
FLAME_EMITTER(143) - SLOT_FLAME_EMITTER2
int
object
FLAME_EMITTER2(144) - SLOT_FLAME_EMITTER3
int
object
FLAME_EMITTER3(145) - SLOT_ROPE
int
object
ROPE(146) - SLOT_FIREROPE
int
object
FIREROPE(147) - SLOT_POLEROPE
int
object
POLEROPE(148) - SLOT_ONEBLOCK_PLATFORM
int
object
ONEBLOCK_PLATFORM(149) - SLOT_TWOBLOCK_PLATFORM
int
object
TWOBLOCK_PLATFORM(150) - SLOT_RAISING_BLOCK1
int
object
RAISING_BLOCK1(151) - SLOT_RAISING_BLOCK2
int
object
RAISING_BLOCK2(152) - SLOT_EXPANDING_PLATFORM
int
object
EXPANDING_PLATFORM(153) - SLOT_SQUISHY_BLOCK1
int
object
SQUISHY_BLOCK1(154) - SLOT_SQUISHY_BLOCK2
int
object
SQUISHY_BLOCK2(155) - SLOT_PUSHABLE_OBJECT1
int
object
PUSHABLE_OBJECT1(156) - SLOT_PUSHABLE_OBJECT2
int
object
PUSHABLE_OBJECT2(157) - SLOT_PUSHABLE_OBJECT3
int
object
PUSHABLE_OBJECT3(158) - SLOT_PUSHABLE_OBJECT4
int
object
PUSHABLE_OBJECT4(159) - SLOT_PUSHABLE_OBJECT5
int
object
PUSHABLE_OBJECT5(160) - SLOT_TRIPWIRE
int
object
TRIPWIRE(161) - SLOT_SENTRY_GUN
int
object
SENTRY_GUN(162) - SLOT_MINE
int
object
MINE(163) - SLOT_MAPPER
int
object
MAPPER(164) - SLOT_OBELISK
int
object
OBELISK(165) - SLOT_FLOOR_4BLADE
int
object
FLOOR_4BLADE(166) - SLOT_ROOF_4BLADE
int
object
ROOF_4BLADE(167) - SLOT_BIRD_BLADE
int
object
BIRD_BLADE(168) - SLOT_CATWALK_BLADE
int
object
CATWALK_BLADE(169) - SLOT_MOVING_BLADE
int
object
MOVING_BLADE(170) - SLOT_PLINTH_BLADE
int
object
PLINTH_BLADE(171) - SLOT_SETH_BLADE
int
object
SETH_BLADE(172) - SLOT_LIGHTNING_CONDUCTOR
int
object
LIGHTNING_CONDUCTOR(173) - SLOT_ELEMENT_PUZZLE
int
object
ELEMENT_PUZZLE(174) - SLOT_PUZZLE_ITEM1
int
object
PUZZLE_ITEM1(175) - SLOT_PUZZLE_ITEM2
int
object
PUZZLE_ITEM2(176) - SLOT_PUZZLE_ITEM3
int
object
PUZZLE_ITEM3(177) - SLOT_PUZZLE_ITEM4
int
object
PUZZLE_ITEM4(178) - SLOT_PUZZLE_ITEM5
int
object
PUZZLE_ITEM5(179) - SLOT_PUZZLE_ITEM6
int
object
PUZZLE_ITEM6(180) - SLOT_PUZZLE_ITEM7
int
object
PUZZLE_ITEM7(181) - SLOT_PUZZLE_ITEM8
int
object
PUZZLE_ITEM8(182) - SLOT_PUZZLE_ITEM9
int
object
PUZZLE_ITEM9(183) - SLOT_PUZZLE_ITEM10
int
object
PUZZLE_ITEM10(184) - SLOT_PUZZLE_ITEM11
int
object
PUZZLE_ITEM11(185) - SLOT_PUZZLE_ITEM12
int
object
PUZZLE_ITEM12(186) - SLOT_PUZZLE_ITEM1_COMBO1
int
object
PUZZLE_ITEM1_COMBO1(187) - SLOT_PUZZLE_ITEM1_COMBO2
int
object
PUZZLE_ITEM1_COMBO2(188) - SLOT_PUZZLE_ITEM2_COMBO1
int
object
PUZZLE_ITEM2_COMBO1(189) - SLOT_PUZZLE_ITEM2_COMBO2
int
object
PUZZLE_ITEM2_COMBO2(190) - SLOT_PUZZLE_ITEM3_COMBO1
int
object
PUZZLE_ITEM3_COMBO1(191) - SLOT_PUZZLE_ITEM3_COMBO2
int
object
PUZZLE_ITEM3_COMBO2(192) - SLOT_PUZZLE_ITEM4_COMBO1
int
object
PUZZLE_ITEM4_COMBO1(193) - SLOT_PUZZLE_ITEM4_COMBO2
int
object
PUZZLE_ITEM4_COMBO2(194) - SLOT_PUZZLE_ITEM5_COMBO1
int
object
PUZZLE_ITEM5_COMBO1(195) - SLOT_PUZZLE_ITEM5_COMBO2
int
object
PUZZLE_ITEM5_COMBO2(196) - SLOT_PUZZLE_ITEM6_COMBO1
int
object
PUZZLE_ITEM6_COMBO1(197) - SLOT_PUZZLE_ITEM6_COMBO2
int
object
PUZZLE_ITEM6_COMBO2(198) - SLOT_PUZZLE_ITEM7_COMBO1
int
object
PUZZLE_ITEM7_COMBO1(199) - SLOT_PUZZLE_ITEM7_COMBO2
int
object
PUZZLE_ITEM7_COMBO2(200) - SLOT_PUZZLE_ITEM8_COMBO1
int
object
PUZZLE_ITEM8_COMBO1(201) - SLOT_PUZZLE_ITEM8_COMBO2
int
object
PUZZLE_ITEM8_COMBO2(202) - SLOT_KEY_ITEM1
int
object
KEY_ITEM1(203) - SLOT_KEY_ITEM2
int
object
KEY_ITEM2(204) - SLOT_KEY_ITEM3
int
object
KEY_ITEM3(205) - SLOT_KEY_ITEM4
int
object
KEY_ITEM4(206) - SLOT_KEY_ITEM5
int
object
KEY_ITEM5(207) - SLOT_KEY_ITEM6
int
object
KEY_ITEM6(208) - SLOT_KEY_ITEM7
int
object
KEY_ITEM7(209) - SLOT_KEY_ITEM8
int
object
KEY_ITEM8(210) - SLOT_KEY_ITEM9
int
object
KEY_ITEM9(211) - SLOT_KEY_ITEM10
int
object
KEY_ITEM10(212) - SLOT_KEY_ITEM11
int
object
KEY_ITEM11(213) - SLOT_KEY_ITEM12
int
object
KEY_ITEM12(214) - SLOT_KEY_ITEM1_COMBO1
int
object
KEY_ITEM1_COMBO1(215) - SLOT_KEY_ITEM1_COMBO2
int
object
KEY_ITEM1_COMBO2(216) - SLOT_KEY_ITEM2_COMBO1
int
object
KEY_ITEM2_COMBO1(217) - SLOT_KEY_ITEM2_COMBO2
int
object
KEY_ITEM2_COMBO2(218) - SLOT_KEY_ITEM3_COMBO1
int
object
KEY_ITEM3_COMBO1(219) - SLOT_KEY_ITEM3_COMBO2
int
object
KEY_ITEM3_COMBO2(220) - SLOT_KEY_ITEM4_COMBO1
int
object
KEY_ITEM4_COMBO1(221) - SLOT_KEY_ITEM4_COMBO2
int
object
KEY_ITEM4_COMBO2(222) - SLOT_KEY_ITEM5_COMBO1
int
object
KEY_ITEM5_COMBO1(223) - SLOT_KEY_ITEM5_COMBO2
int
object
KEY_ITEM5_COMBO2(224) - SLOT_KEY_ITEM6_COMBO1
int
object
KEY_ITEM6_COMBO1(225) - SLOT_KEY_ITEM6_COMBO2
int
object
KEY_ITEM6_COMBO2(226) - SLOT_KEY_ITEM7_COMBO1
int
object
KEY_ITEM7_COMBO1(227) - SLOT_KEY_ITEM7_COMBO2
int
object
KEY_ITEM7_COMBO2(228) - SLOT_KEY_ITEM8_COMBO1
int
object
KEY_ITEM8_COMBO1(229) - SLOT_KEY_ITEM8_COMBO2
int
object
KEY_ITEM8_COMBO2(230) - SLOT_PICKUP_ITEM1
int
object
PICKUP_ITEM1(231) - SLOT_PICKUP_ITEM2
int
object
PICKUP_ITEM2(232) - SLOT_PICKUP_ITEM3
int
object
PICKUP_ITEM3(233) - SLOT_PICKUP_ITEM4
int
object
PICKUP_ITEM4(234) - SLOT_PICKUP_ITEM1_COMBO1
int
object
PICKUP_ITEM1_COMBO1(235) - SLOT_PICKUP_ITEM1_COMBO2
int
object
PICKUP_ITEM1_COMBO2(236) - SLOT_PICKUP_ITEM2_COMBO1
int
object
PICKUP_ITEM2_COMBO1(237) - SLOT_PICKUP_ITEM2_COMBO2
int
object
PICKUP_ITEM2_COMBO2(238) - SLOT_PICKUP_ITEM3_COMBO1
int
object
PICKUP_ITEM3_COMBO1(239) - SLOT_PICKUP_ITEM3_COMBO2
int
object
PICKUP_ITEM3_COMBO2(240) - SLOT_PICKUP_ITEM4_COMBO1
int
object
PICKUP_ITEM4_COMBO1(241) - SLOT_PICKUP_ITEM4_COMBO2
int
object
PICKUP_ITEM4_COMBO2(242) - SLOT_EXAMINE1
int
object
EXAMINE1(243) - SLOT_EXAMINE2
int
object
EXAMINE2(244) - SLOT_EXAMINE3
int
object
EXAMINE3(245) - SLOT_CROWBAR_ITEM
int
object
CROWBAR_ITEM(246) - SLOT_BURNING_TORCH_ITEM
int
object
BURNING_TORCH_ITEM(247) - SLOT_CLOCKWORK_BEETLE
int
object
CLOCKWORK_BEETLE(248) - SLOT_CLOCKWORK_BEETLE_COMBO1
int
object
CLOCKWORK_BEETLE_COMBO1(249) - SLOT_CLOCKWORK_BEETLE_COMBO2
int
object
CLOCKWORK_BEETLE_COMBO2(250) - SLOT_MINE_DETECTOR
int
object
MINE_DETECTOR(251) - SLOT_QUEST_ITEM1
int
object
QUEST_ITEM1(252) - SLOT_QUEST_ITEM2
int
object
QUEST_ITEM2(253) - SLOT_QUEST_ITEM3
int
object
QUEST_ITEM3(254) - SLOT_QUEST_ITEM4
int
object
QUEST_ITEM4(255) - SLOT_QUEST_ITEM5
int
object
QUEST_ITEM5(256) - SLOT_QUEST_ITEM6
int
object
QUEST_ITEM6(257) - SLOT_MAP
int
object
MAP(258) - SLOT_SECRET_MAP
int
object
SECRET_MAP(259) - SLOT_PUZZLE_HOLE1
int
object
PUZZLE_HOLE1(260) - SLOT_PUZZLE_HOLE2
int
object
PUZZLE_HOLE2(261) - SLOT_PUZZLE_HOLE3
int
object
PUZZLE_HOLE3(262) - SLOT_PUZZLE_HOLE4
int
object
PUZZLE_HOLE4(263) - SLOT_PUZZLE_HOLE5
int
object
PUZZLE_HOLE5(264) - SLOT_PUZZLE_HOLE6
int
object
PUZZLE_HOLE6(265) - SLOT_PUZZLE_HOLE7
int
object
PUZZLE_HOLE7(266) - SLOT_PUZZLE_HOLE8
int
object
PUZZLE_HOLE8(267) - SLOT_PUZZLE_HOLE9
int
object
PUZZLE_HOLE9(268) - SLOT_PUZZLE_HOLE10
int
object
PUZZLE_HOLE10(269) - SLOT_PUZZLE_HOLE11
int
object
PUZZLE_HOLE11(270) - SLOT_PUZZLE_HOLE12
int
object
PUZZLE_HOLE12(271) - SLOT_PUZZLE_DONE1
int
object
PUZZLE_DONE1(272) - SLOT_PUZZLE_DONE2
int
object
PUZZLE_DONE2(273) - SLOT_PUZZLE_DONE3
int
object
PUZZLE_DONE3(274) - SLOT_PUZZLE_DONE4
int
object
PUZZLE_DONE4(275) - SLOT_PUZZLE_DONE5
int
object
PUZZLE_DONE5(276) - SLOT_PUZZLE_DONE6
int
object
PUZZLE_DONE6(277) - SLOT_PUZZLE_DONE7
int
object
PUZZLE_DONE7(278) - SLOT_PUZZLE_DONE8
int
object
PUZZLE_DONE8(279) - SLOT_PUZZLE_DONE9
int
object
PUZZLE_DONE9(280) - SLOT_PUZZLE_DONE10
int
object
PUZZLE_DONE10(281) - SLOT_PUZZLE_DONE11
int
object
PUZZLE_DONE11(282) - SLOT_PUZZLE_DONE12
int
object
PUZZLE_DONE12(283) - SLOT_KEY_HOLE1
int
object
KEY_HOLE1(284) - SLOT_KEY_HOLE2
int
object
KEY_HOLE2(285) - SLOT_KEY_HOLE3
int
object
KEY_HOLE3(286) - SLOT_KEY_HOLE4
int
object
KEY_HOLE4(287) - SLOT_KEY_HOLE5
int
object
KEY_HOLE5(288) - SLOT_KEY_HOLE6
int
object
KEY_HOLE6(289) - SLOT_KEY_HOLE7
int
object
KEY_HOLE7(290) - SLOT_KEY_HOLE8
int
object
KEY_HOLE8(291) - SLOT_KEY_HOLE9
int
object
KEY_HOLE9(292) - SLOT_KEY_HOLE10
int
object
KEY_HOLE10(293) - SLOT_KEY_HOLE11
int
object
KEY_HOLE11(294) - SLOT_KEY_HOLE12
int
object
KEY_HOLE12(295) - SLOT_WATERSKIN1_EMPTY
int
object
WATERSKIN1_EMPTY(296) - SLOT_WATERSKIN1_1
int
object
WATERSKIN1_1(297) - SLOT_WATERSKIN1_2
int
object
WATERSKIN1_2(298) - SLOT_WATERSKIN1_3
int
object
WATERSKIN1_3(299) - SLOT_WATERSKIN2_EMPTY
int
object
WATERSKIN2_EMPTY(300) - SLOT_WATERSKIN2_1
int
object
WATERSKIN2_1(301) - SLOT_WATERSKIN2_2
int
object
WATERSKIN2_2(302) - SLOT_WATERSKIN2_3
int
object
WATERSKIN2_3(303) - SLOT_WATERSKIN2_4
int
object
WATERSKIN2_4(304) - SLOT_WATERSKIN2_5
int
object
WATERSKIN2_5(305) - SLOT_SWITCH_TYPE1
int
object
SWITCH_TYPE1(306) - SLOT_SWITCH_TYPE2
int
object
SWITCH_TYPE2(307) - SLOT_SWITCH_TYPE3
int
object
SWITCH_TYPE3(308) - SLOT_SWITCH_TYPE4
int
object
SWITCH_TYPE4(309) - SLOT_SWITCH_TYPE5
int
object
SWITCH_TYPE5(310) - SLOT_SWITCH_TYPE6
int
object
SWITCH_TYPE6(311) - SLOT_SWITCH_TYPE7
int
object
SWITCH_TYPE7(312) - SLOT_SWITCH_TYPE8
int
object
SWITCH_TYPE8(313) - SLOT_UNDERWATER_SWITCH1
int
object
UNDERWATER_SWITCH1(314) - SLOT_UNDERWATER_SWITCH2
int
object
UNDERWATER_SWITCH2(315) - SLOT_TURN_SWITCH
int
object
TURN_SWITCH(316) - SLOT_COG_SWITCH
int
object
COG_SWITCH(317) - SLOT_LEVER_SWITCH
int
object
LEVER_SWITCH(318) - SLOT_JUMP_SWITCH
int
object
JUMP_SWITCH(319) - SLOT_CROWBAR_SWITCH
int
object
CROWBAR_SWITCH(320) - SLOT_PULLEY
int
object
PULLEY(321) - SLOT_DOOR_TYPE1
int
object
DOOR_TYPE1(322) - SLOT_DOOR_TYPE2
int
object
DOOR_TYPE2(323) - SLOT_DOOR_TYPE3
int
object
DOOR_TYPE3(324) - SLOT_DOOR_TYPE4
int
object
DOOR_TYPE4(325) - SLOT_DOOR_TYPE5
int
object
DOOR_TYPE5(326) - SLOT_DOOR_TYPE6
int
object
DOOR_TYPE6(327) - SLOT_DOOR_TYPE7
int
object
DOOR_TYPE7(328) - SLOT_DOOR_TYPE8
int
object
DOOR_TYPE8(329) - SLOT_PUSHPULL_DOOR1
int
object
PUSHPULL_DOOR1(330) - SLOT_PUSHPULL_DOOR2
int
object
PUSHPULL_DOOR2(331) - SLOT_KICK_DOOR1
int
object
KICK_DOOR1(332) - SLOT_KICK_DOOR2
int
object
KICK_DOOR2(333) - SLOT_UNDERWATER_DOOR
int
object
UNDERWATER_DOOR(334) - SLOT_DOUBLE_DOORS
int
object
DOUBLE_DOORS(335) - SLOT_BRIDGE_FLAT
int
object
BRIDGE_FLAT(336) - SLOT_BRIDGE_TILT1
int
object
BRIDGE_TILT1(337) - SLOT_BRIDGE_TILT2
int
object
BRIDGE_TILT2(338) - SLOT_SARCOPHAGUS
int
object
SARCOPHAGUS(339) - SLOT_SEQUENCE_DOOR1
int
object
SEQUENCE_DOOR1(340) - SLOT_SEQUENCE_SWITCH1
int
object
SEQUENCE_SWITCH1(341) - SLOT_SEQUENCE_SWITCH2
int
object
SEQUENCE_SWITCH2(342) - SLOT_SEQUENCE_SWITCH3
int
object
SEQUENCE_SWITCH3(343) - SLOT_SARCOPHAGUS_CUT
int
object
SARCOPHAGUS_CUT(344) - SLOT_HORUS_STATUE
int
object
HORUS_STATUE(345) - SLOT_GOD_HEAD
int
object
GOD_HEAD(346) - SLOT_SETH_DOOR
int
object
SETH_DOOR(347) - SLOT_STATUE_PLINTH
int
object
STATUE_PLINTH(348) - SLOT_PISTOLS_ITEM
int
object
PISTOLS_ITEM(349) - SLOT_PISTOLS_AMMO_ITEM
int
object
PISTOLS_AMMO_ITEM(350) - SLOT_UZI_ITEM
int
object
UZI_ITEM(351) - SLOT_UZI_AMMO_ITEM
int
object
UZI_AMMO_ITEM(352) - SLOT_SHOTGUN_ITEM
int
object
SHOTGUN_ITEM(353) - SLOT_SHOTGUN_AMMO1_ITEM
int
object
SHOTGUN_AMMO1_ITEM(354) - SLOT_SHOTGUN_AMMO2_ITEM
int
object
SHOTGUN_AMMO2_ITEM(355) - SLOT_CROSSBOW_ITEM
int
object
CROSSBOW_ITEM(356) - SLOT_CROSSBOW_AMMO1_ITEM
int
object
CROSSBOW_AMMO1_ITEM(357) - SLOT_CROSSBOW_AMMO2_ITEM
int
object
CROSSBOW_AMMO2_ITEM(358) - SLOT_CROSSBOW_AMMO3_ITEM
int
object
CROSSBOW_AMMO3_ITEM(359) - SLOT_CROSSBOW_BOLT
int
object
CROSSBOW_BOLT(360) - SLOT_GRENADE_GUN_ITEM
int
object
GRENADE_GUN_ITEM(361) - SLOT_GRENADE_GUN_AMMO1_ITEM
int
object
GRENADE_GUN_AMMO1_ITEM(362) - SLOT_GRENADE_GUN_AMMO2_ITEM
int
object
GRENADE_GUN_AMMO2_ITEM(363) - SLOT_GRENADE_GUN_AMMO3_ITEM
int
object
GRENADE_GUN_AMMO3_ITEM(364) - SLOT_GRENADE
int
object
GRENADE(365) - SLOT_SIXSHOOTER_ITEM
int
object
SIXSHOOTER_ITEM(366) - SLOT_SIXSHOOTER_AMMO_ITEM
int
object
SIXSHOOTER_AMMO_ITEM(367) - SLOT_BIGMEDI_ITEM
int
object
BIGMEDI_ITEM(368) - SLOT_SMALLMEDI_ITEM
int
object
SMALLMEDI_ITEM(369) - SLOT_LASERSIGHT_ITEM
int
object
LASERSIGHT_ITEM(370) - SLOT_BINOCULARS_ITEM
int
object
BINOCULARS_ITEM(371) - SLOT_FLARE_ITEM
int
object
FLARE_ITEM(372) - SLOT_FLARE_INV_ITEM
int
object
FLARE_INV_ITEM(373) - SLOT_DIARY_ITEM
int
object
DIARY_ITEM(374) - SLOT_COMPASS_ITEM
int
object
COMPASS_ITEM(375) - SLOT_MEMCARD_LOAD_INV_ITEM
int
object
MEMCARD_LOAD_INV_ITEM(376) - SLOT_MEMCARD_SAVE_INV_ITEM
int
object
MEMCARD_SAVE_INV_ITEM(377) - SLOT_PC_LOAD_INV_ITEM
int
object
PC_LOAD_INV_ITEM(378) - SLOT_PC_SAVE_INV_ITEM
int
object
PC_SAVE_INV_ITEM(379) - SLOT_SMOKE_EMITTER_WHITE
int
object
SMOKE_EMITTER_WHITE(380) - SLOT_SMOKE_EMITTER_BLACK
int
object
SMOKE_EMITTER_BLACK(381) - SLOT_STEAM_EMITTER
int
object
STEAM_EMITTER(382) - SLOT_EARTHQUAKE
int
object
EARTHQUAKE(383) - SLOT_BUBBLES
int
object
BUBBLES(384) - SLOT_WATERFALLMIST
int
object
WATERFALLMIST(385) - SLOT_GUNSHELL
int
object
GUNSHELL(386) - SLOT_SHOTGUNSHELL
int
object
SHOTGUNSHELL(387) - SLOT_GUN_FLASH
int
object
GUN_FLASH(388) - SLOT_BUTTERFLY
int
object
BUTTERFLY(389) - SLOT_SPRINKLER
int
object
SPRINKLER(390) - SLOT_RED_LIGHT
int
object
RED_LIGHT(391) - SLOT_GREEN_LIGHT
int
object
GREEN_LIGHT(392) - SLOT_BLUE_LIGHT
int
object
BLUE_LIGHT(393) - SLOT_AMBER_LIGHT
int
object
AMBER_LIGHT(394) - SLOT_WHITE_LIGHT
int
object
WHITE_LIGHT(395) - SLOT_BLINKING_LIGHT
int
object
BLINKING_LIGHT(396) - SLOT_LENS_FLARE
int
object
LENS_FLARE(397) - SLOT_AI_GUARD
int
object
AI_GUARD(398) - SLOT_AI_AMBUSH
int
object
AI_AMBUSH(399) - SLOT_AI_PATROL1
int
object
AI_PATROL1(400) - SLOT_AI_MODIFY
int
object
AI_MODIFY(401) - SLOT_AI_FOLLOW
int
object
AI_FOLLOW(402) - SLOT_AI_PATROL2
int
object
AI_PATROL2(403) - SLOT_AI_X1
int
object
AI_X1(404) - SLOT_AI_X2
int
object
AI_X2(405) - SLOT_LARA_START_POS
int
object
LARA_START_POS(406) - SLOT_KILL_ALL_TRIGGERS
int
object
KILL_ALL_TRIGGERS(407) - SLOT_TRIGGER_TRIGGERER
int
object
TRIGGER_TRIGGERER(408) - SLOT_SMASH_OBJECT1
int
object
SMASH_OBJECT1(409) - SLOT_SMASH_OBJECT2
int
object
SMASH_OBJECT2(410) - SLOT_SMASH_OBJECT3
int
object
SMASH_OBJECT3(411) - SLOT_SMASH_OBJECT4
int
object
SMASH_OBJECT4(412) - SLOT_SMASH_OBJECT5
int
object
SMASH_OBJECT5(413) - SLOT_SMASH_OBJECT6
int
object
SMASH_OBJECT6(414) - SLOT_SMASH_OBJECT7
int
object
SMASH_OBJECT7(415) - SLOT_SMASH_OBJECT8
int
object
SMASH_OBJECT8(416) - SLOT_MESHSWAP1
int
object
MESHSWAP1(417) - SLOT_MESHSWAP2
int
object
MESHSWAP2(418) - SLOT_MESHSWAP3
int
object
MESHSWAP3(419) - SLOT_DEATH_SLIDE
int
object
DEATH_SLIDE(420) - SLOT_BODY_PART
int
object
BODY_PART(421) - SLOT_CAMERA_TARGET
int
object
CAMERA_TARGET(422) - SLOT_WATERFALL1
int
object
WATERFALL1(423) - SLOT_WATERFALL2
int
object
WATERFALL2(424) - SLOT_WATERFALL3
int
object
WATERFALL3(425) - SLOT_PLANET_EFFECT
int
object
PLANET_EFFECT(426) - SLOT_ANIMATING1
int
object
ANIMATING1(427) - SLOT_ANIMATING1_MIP
int
object
ANIMATING1_MIP(428) - SLOT_ANIMATING2
int
object
ANIMATING2(429) - SLOT_ANIMATING2_MIP
int
object
ANIMATING2_MIP(430) - SLOT_ANIMATING3
int
object
ANIMATING3(431) - SLOT_ANIMATING3_MIP
int
object
ANIMATING3_MIP(432) - SLOT_ANIMATING4
int
object
ANIMATING4(433) - SLOT_ANIMATING4_MIP
int
object
ANIMATING4_MIP(434) - SLOT_ANIMATING5
int
object
ANIMATING5(435) - SLOT_ANIMATING5_MIP
int
object
ANIMATING5_MIP(436) - SLOT_ANIMATING6
int
object
ANIMATING6(437) - SLOT_ANIMATING6_MIP
int
object
ANIMATING6_MIP(438) - SLOT_ANIMATING7
int
object
ANIMATING7(439) - SLOT_ANIMATING7_MIP
int
object
ANIMATING7_MIP(440) - SLOT_ANIMATING8
int
object
ANIMATING8(441) - SLOT_ANIMATING8_MIP
int
object
ANIMATING8_MIP(442) - SLOT_ANIMATING9
int
object
ANIMATING9(443) - SLOT_ANIMATING9_MIP
int
object
ANIMATING9_MIP(444) - SLOT_ANIMATING10
int
object
ANIMATING10(445) - SLOT_ANIMATING10_MIP
int
object
ANIMATING10_MIP(446) - SLOT_ANIMATING11
int
object
ANIMATING11(447) - SLOT_ANIMATING11_MIP
int
object
ANIMATING11_MIP(448) - SLOT_ANIMATING12
int
object
ANIMATING12(449) - SLOT_ANIMATING12_MIP
int
object
ANIMATING12_MIP(450) - SLOT_ANIMATING13
int
object
ANIMATING13(451) - SLOT_ANIMATING13_MIP
int
object
ANIMATING13_MIP(452) - SLOT_ANIMATING14
int
object
ANIMATING14(453) - SLOT_ANIMATING14_MIP
int
object
ANIMATING14_MIP(454) - SLOT_ANIMATING15
int
object
ANIMATING15(455) - SLOT_ANIMATING15_MIP
int
object
ANIMATING15_MIP(456) - SLOT_ANIMATING16
int
object
ANIMATING16(457) - SLOT_ANIMATING16_MIP
int
object
ANIMATING16_MIP(458) - SLOT_HORIZON
int
object
HORIZON(459) - SLOT_SKY_GRAPHICS
int
object
SKY_GRAPHICS(460) - SLOT_BINOCULAR_GRAPHICS
int
object
BINOCULAR_GRAPHICS(461) - SLOT_TARGET_GRAPHICS
int
object
TARGET_GRAPHICS(462) - SLOT_DEFAULT_SPRITES
int
object
DEFAULT_SPRITES(463) - SLOT_MISC_SPRITES
int
object
MISC_SPRITES(464) - SLOT_MOTOR_BOAT
int
object
MOTOR_BOAT(465) - SLOT_MOTOR_BOAT_LARA
int
object
MOTOR_BOAT_LARA(466) - SLOT_RUBBER_BOAT
int
object
RUBBER_BOAT(467) - SLOT_RUBBER_BOAT_LARA
int
object
RUBBER_BOAT_LARA(468) - SLOT_MOTORBIKE_LARA
int
object
MOTORBIKE_LARA(469) - SLOT_FONT_GRAPHICS
int
object
FONT_GRAPHICS(470) - SLOT_PARALLEL_BARS
int
object
PARALLEL_BARS(471) - SLOT_PANEL_BORDER
int
object
PANEL_BORDER(472) - SLOT_PANEL_MIDDLE
int
object
PANEL_MIDDLE(473) - SLOT_PANEL_CORNER
int
object
PANEL_CORNER(474) - SLOT_PANEL_DIAGONAL
int
object
PANEL_DIAGONAL(475) - SLOT_PANEL_STRIP
int
object
PANEL_STRIP(476) - SLOT_PANEL_HALF_BORDER1
int
object
PANEL_HALF_BORDER1(477) - SLOT_PANEL_HALF_BORDER2
int
object
PANEL_HALF_BORDER2(478) - SLOT_PANEL_MIDDLE_CORNER
int
object
PANEL_MIDDLE_CORNER(479) - SLOT_TIGHT_ROPE
int
object
TIGHT_ROPE(480) - SLOT_LASER_HEAD
int
object
LASER_HEAD(481) - SLOT_LASER_HEAD_BASE
int
object
LASER_HEAD_BASE(482) - SLOT_LASER_HEAD_TENTACLE
int
object
LASER_HEAD_TENTACLE(483) - SLOT_HYDRA
int
object
HYDRA(484) - SLOT_HYDRA_MISSILE
int
object
HYDRA_MISSILE(485) - SLOT_ENEMY_SUB_MARINE
int
object
ENEMY_SUB_MARINE(486) - SLOT_ENEMY_SUB_MARINE_MIP
int
object
ENEMY_SUB_MARINE_MIP(487) - SLOT_SUB_MARINE_MISSILE
int
object
SUB_MARINE_MISSILE(488) - SLOT_FROG_MAN
int
object
FROG_MAN(489) - SLOT_FROG_MAN_HARPOON
int
object
FROG_MAN_HARPOON(490) - SLOT_FISH_EMITTER
int
object
FISH_EMITTER(491) - SLOT_KAYAK
int
object
KAYAK(492) - SLOT_KAYAK_LARA
int
object
KAYAK_LARA(493) - SLOT_CUSTOM_SPRITES
int
object
CUSTOM_SPRITES(494) - SLOT_BRIDGE_TILT3
int
object
BRIDGE_TILT3(495) - SLOT_BRIDGE_TILT4
int
object
BRIDGE_TILT4(496) - SLOT_BRIDGE_CUSTOM
int
object
BRIDGE_CUSTOM(497) - SLOT_ROBOT_CLEANER
int
object
ROBOT_CLEANER(498) - SLOT_ROBOT_STAR_WARS
int
object
ROBOT_STAR_WARS(499) - SLOT_MECH_WARRIOR
int
object
MECH_WARRIOR(500) - SLOT_MECH_WARRIOR_LARA
int
object
MECH_WARRIOR_LARA(501) - SLOT_UW_PROPULSOR
int
object
UW_PROPULSOR(502) - SLOT_UW_PROPULSOR_LARA
int
object
UW_PROPULSOR_LARA(503) - SLOT_MINE_CART
int
object
MINE_CART(504) - SLOT_MINE_CART_LARA
int
object
MINE_CART_LARA(505) - SLOT_NEW_SLOT5
int
object
NEW_SLOT5(506) - SLOT_NEW_SLOT6
int
object
NEW_SLOT6(507) - SLOT_NEW_SLOT7
int
object
NEW_SLOT7(508) - SLOT_NEW_SLOT8
int
object
NEW_SLOT8(509) - SLOT_NEW_SLOT9
int
object
NEW_SLOT9(510) - SLOT_NEW_SLOT10
int
object
NEW_SLOT10(511) - SLOT_NEW_SLOT11
int
object
NEW_SLOT11(512) - SLOT_NEW_SLOT12
int
object
NEW_SLOT12(513) - SLOT_NEW_SLOT13
int
object
NEW_SLOT13(514) - SLOT_NEW_SLOT14
int
object
NEW_SLOT14(515) - SLOT_NEW_SLOT15
int
object
NEW_SLOT15(516) - SLOT_NEW_SLOT16
int
object
NEW_SLOT16(517) - SLOT_NEW_SLOT17
int
object
NEW_SLOT17(518) - SLOT_NEW_SLOT18
int
object
NEW_SLOT18(519)
- SLOT_LARA
int
object
- STATICSLOT
-
Static object slot constants.
Constants:
- STATICSLOT_PLANT0
int
static
PLANT0 - STATICSLOT_PLANT1
int
static
PLANT1 - STATICSLOT_PLANT2
int
static
PLANT2 - STATICSLOT_PLANT3
int
static
PLANT3 - STATICSLOT_PLANT4
int
static
PLANT4 - STATICSLOT_PLANT5
int
static
PLANT5 - STATICSLOT_PLANT6
int
static
PLANT6 - STATICSLOT_PLANT7
int
static
PLANT7 - STATICSLOT_PLANT8
int
static
PLANT8 - STATICSLOT_PLANT9
int
static
PLANT9 - STATICSLOT_FURNITURE0
int
static
FURNITURE0 - STATICSLOT_FURNITURE1
int
static
FURNITURE1 - STATICSLOT_FURNITURE2
int
static
FURNITURE2 - STATICSLOT_FURNITURE3
int
static
FURNITURE3 - STATICSLOT_FURNITURE4
int
static
FURNITURE4 - STATICSLOT_FURNITURE5
int
static
FURNITURE5 - STATICSLOT_FURNITURE6
int
static
FURNITURE6 - STATICSLOT_FURNITURE7
int
static
FURNITURE7 - STATICSLOT_FURNITURE8
int
static
FURNITURE8 - STATICSLOT_FURNITURE9
int
static
FURNITURE9 - STATICSLOT_ROCK0
int
static
ROCK0 - STATICSLOT_ROCK1
int
static
ROCK1 - STATICSLOT_ROCK2
int
static
ROCK2 - STATICSLOT_ROCK3
int
static
ROCK3 - STATICSLOT_ROCK4
int
static
ROCK4 - STATICSLOT_ROCK5
int
static
ROCK5 - STATICSLOT_ROCK6
int
static
ROCK6 - STATICSLOT_ROCK7
int
static
ROCK7 - STATICSLOT_ROCK8
int
static
ROCK8 - STATICSLOT_ROCK9
int
static
ROCK9 - STATICSLOT_ARCHITECTURE0
int
static
ARCHITECTURE0 - STATICSLOT_ARCHITECTURE1
int
static
ARCHITECTURE1 - STATICSLOT_ARCHITECTURE2
int
static
ARCHITECTURE2 - STATICSLOT_ARCHITECTURE3
int
static
ARCHITECTURE3 - STATICSLOT_ARCHITECTURE4
int
static
ARCHITECTURE4 - STATICSLOT_ARCHITECTURE5
int
static
ARCHITECTURE5 - STATICSLOT_ARCHITECTURE6
int
static
ARCHITECTURE6 - STATICSLOT_ARCHITECTURE7
int
static
ARCHITECTURE7 - STATICSLOT_ARCHITECTURE8
int
static
ARCHITECTURE8 - STATICSLOT_ARCHITECTURE9
int
static
ARCHITECTURE9 - STATICSLOT_DEBRIS0
int
static
DEBRIS0 - STATICSLOT_DEBRIS1
int
static
DEBRIS1 - STATICSLOT_DEBRIS2
int
static
DEBRIS2 - STATICSLOT_DEBRIS3
int
static
DEBRIS3 - STATICSLOT_DEBRIS4
int
static
DEBRIS4 - STATICSLOT_DEBRIS5
int
static
DEBRIS5 - STATICSLOT_DEBRIS6
int
static
DEBRIS6 - STATICSLOT_DEBRIS7
int
static
DEBRIS7 - STATICSLOT_DEBRIS8
int
static
DEBRIS8 - STATICSLOT_DEBRIS9
int
static
DEBRIS9 - STATICSLOT_SHATTER0
int
static
SHATTER0 - STATICSLOT_SHATTER1
int
static
SHATTER1 - STATICSLOT_SHATTER2
int
static
SHATTER2 - STATICSLOT_SHATTER3
int
static
SHATTER3 - STATICSLOT_SHATTER4
int
static
SHATTER4 - STATICSLOT_SHATTER5
int
static
SHATTER5 - STATICSLOT_SHATTER6
int
static
SHATTER6 - STATICSLOT_SHATTER7
int
static
SHATTER7 - STATICSLOT_SHATTER8
int
static
SHATTER8 - STATICSLOT_SHATTER9
int
static
SHATTER9 - STATICSLOT_EXTRA00
int
static
EXTRA00 - STATICSLOT_EXTRA01
int
static
EXTRA01 - STATICSLOT_EXTRA02
int
static
EXTRA02 - STATICSLOT_EXTRA03
int
static
EXTRA03 - STATICSLOT_EXTRA04
int
static
EXTRA04 - STATICSLOT_EXTRA05
int
static
EXTRA05 - STATICSLOT_EXTRA06
int
static
EXTRA06 - STATICSLOT_EXTRA07
int
static
EXTRA07 - STATICSLOT_EXTRA08
int
static
EXTRA08 - STATICSLOT_EXTRA09
int
static
EXTRA09 - STATICSLOT_EXTRA10
int
static
EXTRA10 - STATICSLOT_EXTRA11
int
static
EXTRA11 - STATICSLOT_EXTRA12
int
static
EXTRA12 - STATICSLOT_EXTRA13
int
static
EXTRA13 - STATICSLOT_EXTRA14
int
static
EXTRA14 - STATICSLOT_EXTRA15
int
static
EXTRA15 - STATICSLOT_EXTRA16
int
static
EXTRA16 - STATICSLOT_EXTRA17
int
static
EXTRA17 - STATICSLOT_EXTRA18
int
static
EXTRA18 - STATICSLOT_EXTRA19
int
static
EXTRA19 - STATICSLOT_EXTRA20
int
static
EXTRA20 - STATICSLOT_EXTRA21
int
static
EXTRA21 - STATICSLOT_EXTRA22
int
static
EXTRA22 - STATICSLOT_EXTRA23
int
static
EXTRA23 - STATICSLOT_EXTRA24
int
static
EXTRA24 - STATICSLOT_EXTRA25
int
static
EXTRA25 - STATICSLOT_EXTRA26
int
static
EXTRA26 - STATICSLOT_EXTRA27
int
static
EXTRA27 - STATICSLOT_EXTRA28
int
static
EXTRA28 - STATICSLOT_EXTRA29
int
static
EXTRA29 - STATICSLOT_EXTRA30
int
static
EXTRA30 - STATICSLOT_EXTRA31
int
static
EXTRA31 - STATICSLOT_EXTRA32
int
static
EXTRA32 - STATICSLOT_EXTRA33
int
static
EXTRA33 - STATICSLOT_EXTRA34
int
static
EXTRA34 - STATICSLOT_EXTRA35
int
static
EXTRA35 - STATICSLOT_EXTRA36
int
static
EXTRA36 - STATICSLOT_EXTRA37
int
static
EXTRA37 - STATICSLOT_EXTRA38
int
static
EXTRA38 - STATICSLOT_EXTRA39
int
static
EXTRA39 - STATICSLOT_EXTRA40
int
static
EXTRA40 - STATICSLOT_EXTRA41
int
static
EXTRA41 - STATICSLOT_EXTRA42
int
static
EXTRA42 - STATICSLOT_EXTRA43
int
static
EXTRA43 - STATICSLOT_EXTRA44
int
static
EXTRA44 - STATICSLOT_EXTRA45
int
static
EXTRA45 - STATICSLOT_EXTRA46
int
static
EXTRA46 - STATICSLOT_EXTRA47
int
static
EXTRA47 - STATICSLOT_EXTRA48
int
static
EXTRA48 - STATICSLOT_EXTRA49
int
static
EXTRA49 - STATICSLOT_EXTRA50
int
static
EXTRA50 - STATICSLOT_EXTRA51
int
static
EXTRA51 - STATICSLOT_EXTRA52
int
static
EXTRA52 - STATICSLOT_EXTRA53
int
static
EXTRA53 - STATICSLOT_EXTRA54
int
static
EXTRA54 - STATICSLOT_EXTRA55
int
static
EXTRA55 - STATICSLOT_EXTRA56
int
static
EXTRA56 - STATICSLOT_EXTRA57
int
static
EXTRA57 - STATICSLOT_EXTRA58
int
static
EXTRA58 - STATICSLOT_EXTRA59
int
static
EXTRA59 - STATICSLOT_EXTRA60
int
static
EXTRA60 - STATICSLOT_EXTRA61
int
static
EXTRA61 - STATICSLOT_EXTRA62
int
static
EXTRA62 - STATICSLOT_EXTRA63
int
static
EXTRA63 - STATICSLOT_EXTRA64
int
static
EXTRA64 - STATICSLOT_EXTRA65
int
static
EXTRA65 - STATICSLOT_EXTRA66
int
static
EXTRA66 - STATICSLOT_EXTRA67
int
static
EXTRA67 - STATICSLOT_EXTRA68
int
static
EXTRA68 - STATICSLOT_EXTRA69
int
static
EXTRA69 - STATICSLOT_EXTRA70
int
static
EXTRA70 - STATICSLOT_EXTRA71
int
static
EXTRA71 - STATICSLOT_EXTRA72
int
static
EXTRA72 - STATICSLOT_EXTRA73
int
static
EXTRA73 - STATICSLOT_EXTRA74
int
static
EXTRA74 - STATICSLOT_EXTRA75
int
static
EXTRA75 - STATICSLOT_EXTRA76
int
static
EXTRA76 - STATICSLOT_EXTRA77
int
static
EXTRA77 - STATICSLOT_EXTRA78
int
static
EXTRA78 - STATICSLOT_EXTRA79
int
static
EXTRA79 - STATICSLOT_EXTRA80
int
static
EXTRA80 - STATICSLOT_EXTRA81
int
static
EXTRA81 - STATICSLOT_EXTRA82
int
static
EXTRA82 - STATICSLOT_EXTRA83
int
static
EXTRA83 - STATICSLOT_EXTRA84
int
static
EXTRA84 - STATICSLOT_EXTRA85
int
static
EXTRA85 - STATICSLOT_EXTRA86
int
static
EXTRA86 - STATICSLOT_EXTRA87
int
static
EXTRA87 - STATICSLOT_EXTRA88
int
static
EXTRA88 - STATICSLOT_EXTRA89
int
static
EXTRA89 - STATICSLOT_EXTRA90
int
static
EXTRA90 - STATICSLOT_EXTRA91
int
static
EXTRA91 - STATICSLOT_EXTRA92
int
static
EXTRA92 - STATICSLOT_EXTRA93
int
static
EXTRA93 - STATICSLOT_EXTRA94
int
static
EXTRA94 - STATICSLOT_EXTRA95
int
static
EXTRA95 - STATICSLOT_EXTRA96
int
static
EXTRA96 - STATICSLOT_EXTRA97
int
static
EXTRA97 - STATICSLOT_EXTRA98
int
static
EXTRA98 - STATICSLOT_EXTRA99
int
static
EXTRA99
- STATICSLOT_PLANT0
int
static