FANDOM


Eurocom logo 2006 This page is heavily based on an Eurocom document.
It was imported from SphinxTriggers.doc.

Sphinx TriggersEdit

Version HistoryEdit

Version

Primary Author(s)

Description of Version

Date Completed

1.0

Martin Hall

Initial Version

2001-04-11

1.01

Martin Hall

Added animation script events

2001-04-12

1.02

Martin Hall

Minor changes to TR_Container, TR_Bell, WaitForExplosion

2001-04-15

1.03

Martin Hall

Added RegenSaltCrystal, TR_Waterfall

2001-04-16

1.04

Martin Hall

Underwater flag, TR_Script Range, TR_KillZone

2001-04-18

1.05

Martin Hall

ZipLine triggers

2001-04-23

1.06

Martin Hall

Collapsing bridges

2001-04-26

1.07

Martin Hall

Spitting Toads

2001-05-08

1.08

Martin Hall

Pressure Switches

2001-05-09

1.09

Martin Hall

Moving platform flags

2001-05-24

1.10

Martin Hall

TR_WheelPlatform

2001-06-05

1.11

Martin Hall

TR_JumpPad, TR_SinkingPlatform

2001-06-10

1.12

Dan Peake

GamePad Rumble

2003-01-16

1.13

Chris Jordan

TR_SmallLight, TR_Flock, TR_Birds, TR_Wander, TR_DragonFly,

2003-06-19

1.14

Chris Jordan

MO_OC03_RamsHead_Target,

MO_OC04_Star,

MO_OC05_Sphinx_Portal,

MO_OC06_ArmsStatue

2003-06-19

General ValuesEdit

Value 8 – MessageEdit

Message to be sent to all linked triggers (This value will eventually be moved to the Links tab which will allow different messages to be sent to different links)

General Trigger FlagsEdit

  • Inactive - If set then the trigger will initially be disabled
  • Talk on Activation – If set then the trigger will send messages when it’s activated.
  • Talk on Death – If set then monsters will send messages when it dies
  • Talk Continously - If set then the trigger will send messages every frame while it’s active.
  • See Far Away – Increases the distance at which a monster is activated.
  • Respawn on Distance - Monster will respawn if you move away then come back into its range.
  • Monster Test – Animation test monster
  • Solid Collision - Allows other objects and characters to collide and stand on this object.
  • HitZoneCollision - Enables collision sphere checking against this item. This must be set for TalkOnCollision, or WaitHit script events to work.
  • Level Lighting - Applies level lighting to the object
  • TalkOnCollision - Send trigger messages when the player collides with any collision shapes that have the Special_Zone_1 or Special_Zone_2 flags set. (Currently only works for TR_Path & TR_Object triggers). HitZoneCollision must also be enabled for this to work.
  • LinkToTrigger - Causes the item to move relative to the datum point HT_AnimDatum_TriggerLink on the trigger pointed to be Link 1. Only works on TR_Containers & TR_Pickups at the moment.
Note – Certain sets of flags are shared between different triggers. In these situations I’ve only documented the flags, which have a meaningful for a particular trigger.

Trigger MessagesEdit

One of the following trigger messages can be sent to all linked triggers when the TalkOnActivation TalkOnDeath or TalkContinuously flags are set. The trigger messages are currently set in Value 8 of the trigger but they will soon be set on the References tab of the trigger.

NoneEdit

A Null Message

ActivateEdit

Causes the trigger to be activated.

SuspendEdit

Cause the trigger to be suspended.

SetScriptState0...SetScriptState9Edit

Causes the Animation script for the trigger to jump to the Nth StateMarker event.

OpenEdit

Opens a Door, Lever or Pressure Pad

CloseEdit

Closes a Door, Lever or Pressure Pad

RestartPathEdit

Causes a TR_Path trigger to restart from the first node on the path

PausePathEdit

Freezes the position & rotations of a TR_Path item until an UnPause message is received.

UnPausePathEdit

If the TR_Path item is paused then the motion will resume.

Animation Script EventsEdit

The following events can be set up in the animation script for various triggers.

CameraShakeEdit

Shake the camera. You can specify the duration and the amount of shake at both the start & end points.

CreatePickupEdit

Used by containers. Generates a pickup item.

DoTriggerLinksEdit

Sends the messages stored in the trigger to the corresponding linked triggers.

EndOfScriptEdit

Marks the end of the script. For TR_Path triggers with a repeat count the script will loop back the specified number of times.

GamePad RumbleEdit

Make the game pad rumble using the values specified. The strength of the rumble can be anything in the range of 0 – 255, with 0 being no rumble, 255 being the strongest rumble. Specifying different values for the start strength and end strength will cause the pad to rumble between the two values over a time limit, set in frames (the “Duration” field). You may also set a near and far falloff distance. Between these distances the rumbling will smoothly falloff… unless the distances are equal, then the falloff will not be smooth. Setting the near falloff distance to be greater than the far falloff distance will cause Bad Things™. These distances are measured in Euroland units (same as trigger distances).

GenerateShockwaveEdit

Causes the trigger to generate a shockwave explosion, Has parameters for Speed, Size & Damage of shockwave.

LoopScriptEdit

Restart the script from the beginning.

LoopUntilHitEdit

If the item has been hit then the script continues on, if it hasn’t been hit then the script loops back to the start. Used by containers, which need to perform some looping animation before they’re hit. e.g. Anemones.

SendTriggerMessageEdit

Sends the message stored in the event to all the linked triggers.

SetActiveEdit

Used by levers. Makes the trigger active, which in turn will cause the trigger to send out messages to all its links if the TalkOnActivation flag is set.

SetAlternateStateEdit

Usually the first event in scripts which need to remember their state across levels. Causes the script to fast forward until it gets to the previous remembered StateMarker event.

SetContextActionEdit

Changes the context action of the trigger. Used by levers, which will change from a LeverUp context to a LeverDown context after they’ve been flipped.

SetSuspendedEdit

Causes the trigger to be suspended.

ShootProjectileEdit

Shoots a projectile from the script object. Will aim at the player if Aim Angle > 0.

StateMarkerEdit

Marks a save point in the script. See SetAlternateState.

WaitForCloseEdit

Used by triggered doors or levers. Will wait until the trigger receives a Suspend message.

WaitForEverEdit

Pause the script indefinitely

WaitForExplosion – OBSOLETE – Replace with WaitHitEdit

Pauses the script until the object is hit by an explosion. The Trigger must have the SolidCollision flag set for explosions to be detected.

WaitForMessageEdit

Pauses the script until the trigger receives a message.

WaitForOpenEdit

Used by triggered doors or levers. Will wait until the trigger receives an Activate message.

WaitForRespawnEdit

Waits until the trigger respawns the item.

WaitUntilHit – OBSOLETE – Replace with WaitHit Edit

Used by containers. Will wait until the container is hit by the player, dart or explosion.

WaitForDartHit – OBSOLETE – Replace with WaitHitEdit

Will wait until hit by a dart. Contains flags to specify which type of darts (Acid/Fire/Ice) will activate it.

WaitHitEdit

Pauses the script until hit by the player, dart or enemy.

  • FireDart – If set then continue when hit by a fire dart
  • IceDart - If set then continue when hit by an ice dart
  • AcidDart – If set then continue when hit by an acid dart
  • UnderwaterDart – If set then continue when hit by an underwater dart (*not used yet*)
  • Shockwave - If set then continue when hit by a shockwave from an exploding beetle or other item
  • EnemyHit - If set then continue when attacked by an enemy
  • ExplodeBouncingDart – If set any bouncing darts that hit the item will explode on impact

WaitTimeEdit

Pauses the script for the time specified.

Trigger TypesEdit

MO_???Edit

Create a monster.

These are general monster properties and may not apply to all monsters.

Value 1 – Roam RangeEdit

How far the monster can move from its start position

Value 2 – PathEdit

Hashcode of the linear path that the monster will follow when it’s idle

Value 3 – Initial AnimationEdit

Hashcode of the initial AnimMode of the monster

Value 4 – Monster FlagsEdit

  • PingPong – If set the Monster will move back and forth along the path. Clear if the path loops back on itself
  • Intellipath – When idle the monster moves towards the path node that is closest to the player
  • PathDirection – Initial Path direction for the monster
  • RoamLOS – If set the monster will leave the linear path when it has Line of Sight with the player. If clear the monster will leave the path when the player is nearby, regardless of Line of Sight. ?
  • RespawnOnTime - If set the monster will respawn after a certain time

Value 5 – Respawn TimerEdit

15th’s of a second before the monster will respawn when it’s killed (RespawnOnTime must be set for this to work).

Value 6 – Suspend RangeEdit

Distance at which the monster is suspended

Value 7 – Scale PercentageEdit

Amount to scale the monster by

Value 8 – Pickup AmountEdit

How many pickup beetles to generate when the monster dies

RespawningEdit

If RespawnOnTime is clear and RespawnOnDistance is clear

  • Once you kill the monster it never respawns

If RespawnOnTime is clear and RespawnOnDistance is set

  • When the monster is killed it respawns when you leave and re-enter the suspend range of the monster

If RespawnOnTime is set and RespawnOnDistance is set

  • Monster respawns when you leave the suspend radius for RespawnTimer ticks and then re-enter the suspend range

If RespawnOnTime is set and RespawnOnDistance is clear

  • Monster respawns RespawnTimer ticks after it dies without you having to leave the area.

MO_QR02_Sak_SpittingToadEdit

Used to mark a spitting toad that swallows the player and then spits them out across the level.

Value 1 – Spit SpeedEdit

The speed at which the player is spat out. Typically around 40.

Value 2 – Horizontal Aim AngleEdit

The number of degrees the toad will rotate left and right from the triggers initial angle

Value 3 – Min Vertical AngleEdit

The lowest vertical angle (above the horizon) the toad can point

Value 4 – Max Vertical AngleEdit

The highest vertical angle (above the horizon) the toad can point

Value 5 – Rotation SpeedEdit

The up/down & left/right rotation speed in degrees per second.

Value 6 – Toad FlagsEdit

LinkedCamera – If set then the camera on link 1 will be activated while we’re in the air.

Link 1Edit

If the LinkedCamera flag is set then this must point to a TR_Camera or a TR_PathCamera that will be used when the player is in the air. The camera trigger can have all the usual fields set to control the tweening to and from it.

PL_BasketStartEdit

See PL_PlayerStart.

PL_MummyStartEdit

See PL_PlayerStart.

PL_PlayerStartEdit

Marks the start position & rotation of the player or an entrance point to the level

Value 3 – Entrance NumberEdit

0 = default entrance when map is loaded using debug menu. Use other values for other entrances so that each entrance point have a unique number.

Value 4 – Entrance FlagsEdit

  • Underwater - Set if the entrance is underwater and the character should enter the level swimming.

PL_SphinxStartEdit

See PL_PlayerStart.

TR_AllocatorEdit

Sends a message every N frames when active. Will be used to generate moving platforms at set intervals.

Value 1 – Allocate OffsetEdit

Initial count in frames. Allows you to stagger several different allocators.

Value 2 – Allocate IntervalEdit

Frames between each message

TR_AtunDiscSpellEdit

An Atum Disc Spell

ScriptEdit

Animation script for the object

Value 1 – RadiusEdit

Activation radius in 10ths of a meter

Value 2 - FlagsEdit

  • Hero – Activate when main Hero/Sphinx character is within range
  • Mummy – Activate when Mummy is within range
  • Sphinx – Activate when Lion/Sphinx is within range
  • BasKet – Activate when BasKet is within range

TR_BellEdit

A bell that animates every time it’s hit and generates pickups.

All values are the same as TR_Container. The only difference is that the script will be restarted every time the bell is hit. But Pickups will only be generated every RegenValue ticks.

The Bell item will be deallocated at a distance of 50m (or 100m if the SeeFarAway flag is set)

TR_BirdsEdit

Allows the user to create a bird which will fly to other path nodes when the player moves within the disturb radius. Note that HT_AnimMode_Idle and HT_AnimMode_Fly must be setup for this trigger to work and also there must be an idle anim with the hashcode HT_Animation_Extended_Idle_1 set.

Speed – Not Used YetEdit

Value 2 – Not UsedEdit

Value 3 – Not UsedEdit

Value 4 – Not UsedEdit

Value 5 – Not UsedEdit

Value 6 – Disturb RadiusEdit

Distance from bird until it is disturbed by player and flies to other random node

Value 7 – PathEdit

Path the bird will use to choose its next destination.

Value 8 – Animation FileEdit

Hashcode of the file with the animations in.

TR_BridgeEdit

A Physics Cloth object which the player can stand on

EntityEdit

In the User Flags in the Entity Properties you need to check Extra Vertex Conns

  • In the Vertex Flags for each moveable point you need to set Cloth Vertex (0x4000)
  • In the Vertex Flags for each fixed point you need to set Fixed Cloth Vertex (0x8000)
  • In the Vertex Flags for each breakpoint you need to set Cloth Vertex & Cloth Breakpoint
Note - Some old bridges may have the following flags instead. But these will not work on the GameCube version. Moving polygons must have the Moveable flag set. Fixed points must have an HT_AnimDatum_FixedPoint close to them. HT_AnimDatum_BreakPoint will join together the two closest points until the bridge breaks.

Value 1 – RadiusEdit

Radius at which collision checks with the player will start being done

Value 2 – Max WeightEdit

If the BreakOnWeight flag is set then this is the maximum weight the bridge can carry before it collapses. The player weighs 2500 units and other creatures weigh amounts proportional to their height.

Value 3 – ObjectiveEdit

Hash code of an objective variable which remembers if the bridge has collapsed or not.

Value 4 - IterationsEdit

Number of constraint iterations to be performed by the physics engine.

  • 1 = Fastest. Very springy
  • 4 = Slowest. More Rigid

Value 5 – Bridge FlagsEdit

  • BreakOnMessage - Collapses when a message is received from another trigger
  • BreakOnWeight - Collapses when then the weight is more than Value 2
  • BreakOnHit - Collapses when hit by a dart or an explosion.

Value 6 – Draw RadiusEdit

Draw radius

Value 7 – Wind StrengthEdit

If set then the maximum wind speed

Value 8 – Wind DirectionEdit

Wind direction in degrees. 0 = Blowing North

TR_CameraEdit

A fixed or tracking camera. Stays active only while it continues to receive Activation messages. So link a Distance or other trigger to it with the TalkContinuously flag set.

Value 1 – FlagsEdit

  • Fixed Angle – Locked to a the trigger angle
  • Freeze Game – Freeze the player & game while the camera is active
  • Follow Linked Object – Track the character or object that the triggers linked to

Tween To Tween to the cameras position when activated (as opposed to cutting)Edit

  • Tween From – Tween back to the normal game camera when no longer active (as opposed to cutting)
  • KeepActive - If set then the camera will stay active until it receives a Suspend message
  • Freeze Enemies – all enemies freeze when cam is active
  • Use Intermediate Point – will tween there and back via another trigger on link 8
  • Curve Intermediate Path – will move in a smooth curve between the 3 points
  • Preserve Player Angle – will go back to the angle it was looking at b4 activation

Value 2 – Tween FramesEdit

Number of frames to Tween To or From

Link 1Edit

Points to the object to track if the FollowLinkedObject Flag is set

TR_ContainerEdit

A barrel or crate that be smashed to generate pickups

ScriptEdit

The animation script for this container. Must have WaitUntilHit and a GeneratePickup events. HT_AnimDatum_SpawnPickup in the script can be used to mark the spawning point for the pickups, if no datum is found then the pickups will be generated 0.5m above the center of the script.

Value 1 – ObjectiveEdit

If set then the container will be linked to this objective flag which will remember if the player has already picked up a quest or ability item from this container.

Value 2 – Regen ValueEdit

If RegenWithDistance is set then this contains the distance in 10ths of a meter at which the container respawns, and at which the trigger is suspended.

If RegenWithTime is set then this is the number of ticks the container takes to respawn. The Container will be deallocated at a distance of 50m (or 100m if the SeeFarAway flag is set).

If RegenSaltCrystal is set then this is the distance at which the trigger is suspended

Value 3 – Container FlagsEdit

  • RegenWithTime – Container will regenerate after a certain time
  • RegenWithDistance – Container will regenerate when the player moves a certain distance away
  • RegenSaltCrystal – Container will only regenerate when the player has no salt crystal and there isn’t already a salt crystal waiting to be picked up.
  • IntelligentItemGeneration – Will generate any of the pickups selected depending on the greatest need of the player. (Will choose at random if not selected)

Value 4 – Number of ItemsEdit

How many consumable pickups to generate

Value 5 – Item FlagsEdit

Flags which indicate which consumable pickups can be generated by the container.

Bronze Scarab, Silver Scarab, Gold Scarab, Crystal Scarab, Construction Beetle, Enigma Beetle, Explosive Beetle, Remote Control Beetle, Standard Dart, Fire Dart, Ice Dart, Acid Dart, Silver Ankh, Bronze Ankh, Salt Crystal.

Value 6 – Quest ItemEdit

If set then the container will always generate this quest item the first time it’s hit (It’ll generate a consumable item on subsequent hits).

Value 7 – Ability ItemEdit

If set then the container will always generate this ability item the first time it’s hit (It’ll generate a consumable item on subsequent hits).

Note - If LinkToTrigger is set in the GameFlags then the container (& any pickups it generates) will move relative to the datum HT_AnimDatum_TriggerLink on the trigger item pointed to by link1.

TR_ContextEdit

A general purpose context trigger

Value 1 – Context RangeEdit

Radius for this context sensitive action in 10ths of a meter.

Value 2 – Context TypeEdit

Type of context sensitive action

TR_CounterEdit

Waits till it receives N messages then messages linked triggers

Value 1 – CountEdit

Number of messages to wait for

TR_DatabaseDeloadOBSOLETE - Do Not UseEdit

TR_DatabaseLoadEdit

Tells the file manager that these extra files will be needed by the map/submap.

Most GeoFiles for characters & externally referenced trigger Geofiles will automatically loaded as the submap they’re in becomes visible. But if there are any extra files such as FX, pickups etc.. that are causing a stutter as they’re loaded then you can force them to be loaded in advance using this trigger.

Value 1 – FlagsEdit

  • AllSubMaps – If set then these files need to be loaded in all the submaps in the level. If clear then the files will only be loaded when the submap containing the trigger is visible.

Value 1..7 - LoadFile 1..7Edit

Hash codes of files to be loaded

TR_DemoCameraEdit

If this is present anywhere on the level then the game will immediately go into demo camera mode.

Value 1-4Edit

No longer used.

Value 5 – Camera AnimationEdit

Animation of the camera path with HT_AnimDatum_TestDatum1 marking the cameras position and HT_AnimDatum_TestDatum2 marking the focus point.

TR_DistanceEdit

Activates when the player or another character moves within range.

EntityEdit

Optional collision entity to more accurately define the collision area. This only works for collisions with the Hero/Mummy/Sphinx is within range (Not Guards, monsters or pickupables)

If set then you still to set the Radius and the object must be entirely enclosed in the radius.

Value 1 – RadiusEdit

Distance to activate at in 1/10ths of a meter

Value 2 – Distance FlagsEdit

  • Hero – Activate when main Hero/Sphinx character is within range
  • Mummy – Activate when Mummy is within range
  • Sphinx – Activate when Lion/Sphinx is within range
  • BasKet – Activate when BasKet is within range
  • NPC – Activate when NPC is within range (Not implemented yet!)
  • Guard – Activate when an Uruk Guard is within range
  • Monster – Activate when any monster is within range
  • Pickupable – Activate when any pickupable is within range
  • KeepActivate – Keep active after character moves out of range
  • Disabled – If set then the distance trigger will never be actived by the player of other characters. HT_Trig_Message_EnableDistance messages will clear the flag and HT_Trig_Message_DisableDistance messages will set the flag

TR_DoorEdit

A door that automatically opens & closes

ScriptEdit

Animation script for the door. See TrigTest.elf for an example

Value 1 – Open RadiusEdit

Radius at which the door will open

Value 2 – Close RadiusEdit

Radius at which the door will close

Value 4 – FlagsEdit

  • Hero Open – Opens for Hero/Sphinx
  • Mummy Open – Opens for Mummy
  • Sphinx Open – Opens for Lion/Sphinx
  • BasKet Open – Opens for BasKet
  • Monster Open – Opens for monsters
  • NPC Open – Opens for NPC characters (Not implemented yet!)
  • Locked – Requires a key to be opened (Salt Crystal)
  • Triggered Open – Only opens when Activation message received from another trigger
  • Triggered Close – Only opens when a Suspension message received from another trigger
  • Guard Open - Opens for Uruk Guards

Value 5 – Key TypeEdit

Not used yet

Value 6 – ObjectiveEdit

If set then the door will be linked to the selected objective flag and will remember its open/closed state when the level is reloaded. Only useful on triggered or locked doors.

TR_DragonFlyEdit

Same as TR_Path but when item gets hit by dart it will play a die animation (plays beetle explosion at the moment) also, when player hits it with the sword it moves out of the way.

TR_FireFlyEdit

A Firefly trigger

ScriptEdit

Animation script for the object

Value 1 – RadiusEdit

Activation radius in 10ths of a meter

Value 2 - FlagsEdit

  • Hero – Activate when main Hero/Sphinx character is within range
  • Mummy – Activate when Mummy is within range
  • Sphinx – Activate when Lion/Sphinx is within range
  • BasKet – Activate when BasKet is within range

TR_FlagEdit

A Physics Cloth object which will blow about in simulated wind. No collisions are performed against this item.

EntityEdit

In the User Flags in the Entity Properties you need to check Extra Vertex Conns

  • In the Vertex Flags for each moveable point you need to set Cloth Vertex (0x4000)
  • In the Vertex Flags for each fixed point you need to set Fixed Cloth Vertex (0x8000)
  • In the Vertex Flags for each breakpoint you need to set Cloth Vertex & Cloth Breakpoint
Note - Some old flags may have the following flags instead. But these will not work on the GameCube version. Moving polygons must have the Moveable flag set. Fixed points must have an HT_AnimDatum_FixedPoint close to them. HT_AnimDatum_BreakPoint will join together the two closest points until the bridge breaks.

Value 1 – Min Wind SpeedEdit

Minimum wind speed. Normally in the range –200…200

Value 2 – Max Wind SpeedEdit

Maximum wind speed. Normally in the range –200…200

Value 3 – GravityEdit

Gravity value. Normally in the range –50…50. Negative values will cause the flag to hang upwards.

Value 4 - IterationsEdit

Number of constraint iterations to be performed by the physics engine.

  • 1 = Fastest. Very springy
  • 4 = Slowest. More Rigid

Value 5 – FlagsEdit

  • BreakOnMessage - Collapses when a message is received from another trigger
  • BreakOnWeight - Collapses when then the weight is more than Value 2
  • BreakOnHit - Collapses when hit by a dart or an explosion.

Value 8 – Wind DirectionEdit

The wind angle in degrees (0 = North)

TR_FlockEdit

Creates a flocking behaviour for the chosen scripted items. Can also be used for fish etc…

Value 1 - RadiusEdit

Suspend radius for items

Value 2 - Boid LimitEdit

Amount of items within this flock

Value 3 – Not UsedEdit

Value 4 – Flock FlagsEdit

  • SeeEnemies – Items in this flock move away from items from other flocks.
  • SteerToCentre – Items will try to keep to the center of the current flock.
  • SteerToPlayer – Items will try to follow player.

Value 5 - EnemyDistanceEdit

Distance to keep from other enemies, typically 5

Value 6 - FriendDistanceEdit

Distance to keep from friends, typically a bit nearer than enemies, around 2

Value 7 – Not UsedEdit

Value 8 – Not UsedEdit

TR_FogEdit

A fog volume

Particle SystemEdit

Particle system for the fog. Particles will be emitted using this system from random points within the path volume. Controls the number, size, emission rate, lifetime, motion etc..

Value 2 – Dispersal RateEdit

Typically around 100

Value 3 – Standing Dispersal RateEdit

Controls the amount of dispersal when then player is stationary. Typically around 5-20

Value 4 – Player Action RadiusEdit

Radius around the player that the particles try and avoid. Typically 200-400

Value 6 – Draw RadiusEdit

Draw radius for fog system.

Note – the fog won’t be immediately destroyed when the player goes out of range, but no more particles will be generated after the existing particles have timed-out.

Value 7 – Restoration FramesEdit

How many frames the particles take to return to their original position after they’ve been dispersed. Typically around 100-300

Value 8 – Path VolumeEdit

Area to generate the fog in. Can have multiple nodes and varying heights and widths.

TR_GreenGryphonEdit

A Green Gryphon

ScriptEdit

Animation script for the object

Value 1 – RadiusEdit

Activation radius in 10ths of a meter

Value 2 - FlagsEdit

  • Hero – Activate when main Hero/Sphinx character is within range
  • Mummy – Activate when Mummy is within range
  • Sphinx – Activate when Lion/Sphinx is within range
  • BasKet – Activate when BasKet is within range

TR_GreenMineEdit

A Mine which explodes after a short time when the player moves nearby. Or if another mine explodes nearby.

ScriptEdit

Explosion script for this mine. The script should contain a WaitForExplosion event and a GenerateShockwave event. The script will pause at the WaitForExplosion event for the number of frames specified in Value 2.

Value 1 – Activation RadiusEdit

Distance at which the player will trigger the mine (in 10ths of a meter)

Value 2 – TimerEdit

How long to wait before the mine explodes in frames.

Value 6 – Objective ValueEdit

Hashcode of the Objective value which is linked to this trigger and which remembers if the mine has exploded when the level is reloaded.

TR_HeadTrackEdit

A trigger that marks a position or object which the player should look at. Sending HT_TrigMessage_Suspend or HT_TrigMessage_Activate messages will disable and reactivate the trigger.

Link 1Edit

If Track Link is set then this points to a TR_Object, TR_Path or other trigger which the player should look at

Value 1 – Head Track RadiusEdit

The radius around the object where the trigger has an effect.

Value 2 – FlagsEdit

  • Override Characters – This trigger is more interesting than monsters & npc’s
  • Track Link – Track the origin of the trigger pointed to by Link 1
  • Track Datum – Track the datum point TR_AnimDatum_HeadTrack on the trigger pointer to by Link 1. Track Link must be set as well.

TR_HighlightCameraEdit

A camera which highlights a particular feature or object on a level when activated

Value 1 - FlagsEdit

  • Freeze Game – Freeze the player & game while the camera is active
  • Follow Linked Object – Track the character or object that the triggers linked to
  • Tween To – Tween to the cameras position when activated (as opposed to cutting)
  • Tween From – Tween back to the normal game camera when no longer active (as opposed to cutting)
  • Once Only – Only highlight the area the first time the trigger is activated
  • FreezeControls - Freeze player controls while the camera is active
  • Freeze Enemies – all enemies freeze when cam is active
  • Use Intermediate Point – will tween there and back via another trigger on link 8
  • Curve Intermediate Path – will move in a smooth curve between the 3 points
  • Preserve Player Angle – will go back to the angle it was looking at b4 activation

Value 2 – Tween FramesEdit

Number of frames to Tween To or From

Value 3 – Highlight FramesEdit

Number of frames to highlight object for

Link 1Edit

Points to the object to track if the FollowLinkedObject Flag is set

TR_HurtZoneEdit

A volume which damages the player while they’re inside it

EntityEdit

Dummy entity with collision spheres, capsules, lozenges (and eventually boxes) marked with HT_AnimDatum_KillBox. If this is set then the Path will be ignored.

Value 1 – DamageEdit

How much damage to inflict on player

Value 2 – Path AreaEdit

Path defining the volume of the hurtzone. Can have multiple paths but must have a constant height & width. Each path link is treated as a capsule so for wide paths the hurt zone will extend beyond the length of the path.

Value 3 – Damage DelayEdit

Delay before the damage is inflicted again (frames)

Value 4 – Bounding RadiusEdit

Bounding radius for the Collision entity or path. Use this to prevent the hurtzone entity/path being continuously checked.

TR_ImpulseEdit

Gives the player or other characters a push. (Similar to a jump pad in Quake 3)

Value 1 – RadiusEdit

Area of effect for trigger.

Value 2 – Who FlagsEdit

Flags for who should be pushed. Hero, Mummy, BasKet, Lion, Monsters.

Value 3 – Mummy AbilitiesEdit

Flags for the different mummy abilities that are effected by the trigger. If none are set then all Mummy types will be effected the trigger.

Link 1Edit

Link to a null trigger marking the apex of the jump. This must be higher than the position of the TR_Impulse trigger. The position of the apex will control the speed and trajectory which the character will follow.

TR_JumpPadEdit

An animated pad which allows the player to jump higher when stood on.

ScriptEdit

The script for the jump-pad. A WaitForOpen should be used to make the pad wait until the player stands on it. EnableJumpPad & DisableJumpPad events are used to mark the section where the player will receive the jump boost.

RangeEdit

Draw Range

TR_KillzoneEdit

Used to mark a bottomless pit, or the bounds of the map etc..

EntityEdit

Dummy entity with collision spheres, capsules, lozenges (and eventually boxes) marked with HT_AnimDatum_KillBox. If this is set then the Path will be ignored.

Value 1 – FlagsEdit

  • InstantDeath – If set then the player will die instantly when they enter the trigger region. If clear then the player will die 1 second after entering the region.
  • Recoverable – If set then the player won’t die if they leave the area before the timer counts down.

Value 2 – PathEdit

An optional linear path with a constant width & height used to mark the area of the KillZone.

If the Path field is blank then the KillZone will be everywhere on the map below the height of the trigger.

Value 3 – Kill DelayEdit

How many frames the player has to leave the area or the delay before they actually die.

Value 4 – Bounding RadiusEdit

Bounding radius for the Collision entity or path. Use this to prevent the killzone entity/path being continuously checked.

Unless Recoverable is set then when the player enters the KillZone then the camera will be locked at the trigger height while the character continues to fall out of view. The map will then be automatically reloaded and the player will restart from the last restart point or at the entry point of the level.

TR_LavaJumpEdit

A Lava Jump

ScriptEdit

Animation script for the object

Value 1 – RadiusEdit

Activation radius in 10ths of a meter

Value 2 - FlagsEdit

  • Hero – Activate when main Hero/Sphinx character is within range
  • Mummy – Activate when Mummy is within range
  • Sphinx – Activate when Lion/Sphinx is within range
  • BasKet – Activate when BasKet is within range

TR_LeverEdit

A lever that can be pushed up or down

ScriptEdit

Animation script for lever

Value 1 – Context RangeEdit

Context sensitive radius

Value 2 – Context TypeEdit

Set to LeverUp or LeverDown

Value 3 – FlagsEdit

  • Hero Open – Moves for Hero/Sphinx
  • Mummy Open – Moves for Mummy
  • Sphinx Open – Moves for Lion/Sphinx
  • BasKet Open – Moves for BasKet
  • Monster Open – Moves for monsters
  • NPC Open – Moves for NPC characters
  • Triggered Open – Moves when Activation message received from another trigger
  • Triggered Close – Moves when a Suspension message received from another trigger

Value 6 – ObjectiveEdit

If set then the lever state will be linked to the selected objective flag and will remember its state when the level is reloaded.

TR_LinkEdit

Sends multiple message to all other triggers as soon as it becomes active. Usually you’ll start this trigger off inactive (by setting the Inactive flag). And then it’ll talk as soon as it gets an Activate message. If it receives a Suspend message then it’ll be reset back to inactive.

TR_LoadLevelEdit

Move the player to a new level OR a different point in the same level

Value 1 – Level HashcodeEdit

Hashcode of level to go to

Value 2 – Load Level FlagsEdit

  • Teleport – Do a teleport effect
  • Same Level – Move to a point on the same level. Player is moved to the position of the first trigger that is linked to this one.
  • Camera Start Behind Player – fairly obvious. However, if you don’t check it, camera starts in-front of him

Value 3 – Entrance NumberEdit

The entrance number to use if we’re moving to a different level.

Link 1Edit

If SameLevel is set then this should link to where the player should be moved to.

TR_MessageBoxEdit

Displays a message in the popup help window when the player is close

Value 1 – Activation RangeEdit

Activation Radius for trigger

Value 2 – Who FlagsEdit

Flags for which characters activate the trigger

Value 3 – Message HCEdit

Hash code of the message to display

Value 4 – Camera FlagsEdit

  • Once Only – Only display the message the first time the player enters the area
  • FreezeControls - Freeze the players controls while the message box is being displayed
  • FreezeGame - Freeze all game objects while the message box is being displayed

None of the other flags are used

TR_ObeliskEdit

A Ka Obelisk which teleports the player when it’s shot.

ScriptEdit

Animation script for the object

Value 1 - TimerEdit

Time delay before teleportation?

Link 0 – Player Destination pointEdit

An Optional Link to a TR_Null trigger marking the destination for the player. If this link isn’t present it searchs for a HT_AnimDatum_PlayerStand datum in the obelisk item.

TR_ObjectEdit

A general purpose item that doesn’t move, but can animate & be turned on & off

Script/Entity/Particle/AnimationEdit

The graphic for the object

Value 1 – Draw DistanceEdit

Value 2- ObjectiveEdit

Objective value to store the script state marker & Active/Inactive flag

  • 0 = Take inactive flag from trigger, Start script from beginning
  • 1-9 = Take inactive flag from trigger, Start any script at state marker 1-9
  • 10 = Object has been manually Activated. Start script from beginning
  • 11-19 = Object has been manually Activated. Start any script from state marker 1-9
  • 20 = Object has been manually Inactivated. Start script from beginning
  • 21-29 = Object has been manually Inactivated. Start any script from state marker 1-9

TR_OnObjectiveEdit

Trigger is activated and sends messages to all linked triggers if a particular objective value is set when the level is loaded.

Value 1 - ObjectiveEdit

Hashcode of the Objective value to test

Value 2 - ComparisonEdit

Comparison to perform on the objective value.

e.g. Equal, LessThan, GreatherThan, NotEqual

Value 3 - Comparison ValueEdit

Value to compare the objective against

TR_PathEdit

An entity or script object which follows a path. Used for moving platforms.

Note – Entities are more efficient than scripts so use them unless you need to animate the platform. Also grab ledges will work on entities but not on scripts. Sending RestartPath, PausePath or UnPausePath messages to the trigger, will change the motion along the path.

Value 1 – Start DelayEdit

Delay in frames before the script starts animating. Allows you to stagger the animations of several identical objects.

Value 2 – Repeat CountEdit

How many times to loop the animation. 999 = loops indefinitely. The loop repeat count is only decreased when an EndOfScript script event is executed (not a LoopScript event). Also the Repeat count will be reset to its initial value whenever the trigger receives a message.

Value 3 - DamageEdit

How much damage to inflict the player if it collides with them. Used by Boulders on Akaria.

Value 4 - PathEdit

Hashcode of a path for the object to follow. The Path can contain PathNodeEvents to control the items motion at each node. (See section 5)

Value 5 – Path SpeedEdit

Speed at which to move along the path

Value 6 – Path FlagsEdit

  • PingPong – Ping Pongs along the path
  • YRotationFixed –If clear then the object will try and point in the direction it’s moving. If set then the object will rotate constantly at PathRotateSpeed. Set PathRotateSpeed to 0 if you don’t want the object to rotate at all.
  • CubicSpline – If set the object will follow a smooth cubic spline along the path nodes (Recomended). If clear the object will move along the path nodes in a straight line and turn when it gets near each node.
  • Loop – If set the object will keeping looping around the path. If clear then the object will die when it gets to the end of the path.
  • DecelerateAtEnd – If set the object will smoothly slow down when it reaches the first or last node on the path
  • PlatformMovesPlayer – If set then any object that’s resting on the script will move when the script moves.
Note: The SolidCollision flag needs to be set otherwise objects will not collide with the script
  • PlatformRotatesPlayer – If set then any object that’s resting on the script will rotate as the script rotates.
Note: The SolidCollision flag needs to be set otherwise objects will not collide with the platform
  • SetWaterHeight - If set then the water height in the current submap will be set to the position of the path item whenever the trigger is active.
  • RefillOxygen - If set then the object will be transparent to the player and will refill the players oxygen supply when they enter it.
  • ApplyJumpMomentum - If set then when the player jumps off the platform then their initial velocity will be relative to the platform

Value 7 – Path Rotate Speed Edit

Y Rotation speed. Used if YRotationFixed flag is set or if CubicSpline is clear.

Value 8 – RangeEdit

The radius at which the script item is suspended and removed from the map. When the item is respawned (by the player moving back inside the radius) then the script will restart from the beginning and will be back at the first point on the path. If you don’t want the item to be suspended and to lose its state & position then you must set the DontSuspend flag.

TR_PathCameraEdit

A camera which tracks the player while following a path.

Value 1 – FlagsEdit

  • Tween To – Tween to the cameras position when activated (as opposed to cutting)
  • Tween From – Tween back to the normal game camera when no longer active (as opposed to cutting)
  • Network Path – Use a network path (Uses a linear path otherwise)
  • Offset Path – Alternative method of determining which path position to use
  • Continuous – Camera try and only move between path nodes that are linked together. Use this if you have a circular path and you don’t want the camera to keep jumping between opposite sides of the circle.
  • KeepActive - If set then the camera will stay active until it receives a Suspend message

Value 2 – Tween FramesEdit

Number of frames to Tween To or From

Value 3 – Camera PathEdit

Hashcode of the path to follow

Value 4 – Distance behind playerEdit

If set then the camera will try and position itself at a point N 10ths of meter behind the player.

Value 5 – Distance above playerEdit

If set then the camera will try and position itself at a point N 10ths of meter above the player (-ve values will make the camera position itself below the player)

TR_PickupEdit

A pickup.

Value 1 – ObjectiveEdit

If set then the container will be linked to this objective flag which will remember if the player has already picked up a quest or ability item.

Value 2 – Draw RadiusEdit

Value 3 – FlagsEdit

  • RegenWithTime – Pickup will regenerate after a certain time
  • RegenWithDistance – Pickup will regenerate when the player moves a certain distance away
  • RegenSaltCrystal – Pickup will only regenerate when the player has no salt crystal and there isn’t already a salt crystal waiting to be picked up.
  • IntelligentItemGeneration – Will generate any of the pickups selected depending on the greatest need of the player. (Will choose at random if not selected)

Value 4 – Number of ItemsEdit

How many consumable pickups to generate

Value 5 – Item FlagsEdit

Flags which indicate which consumable pickups will be generated

Bronze Scarab, Silver Scarab, Gold Scarab, Crystal Scarab, Construction Beetle, Enigma Beetle, Explosive Beetle, Remote Control Beetle, Standard Dart, Fire Dart, Ice Dart, Acid Dart, Silver Ankh, Bronze Ankh, Salt Crystal.

Value 6 – Quest ItemEdit

The quest item to be generated

Value 7 – Ability ItemEdit

The ability item to be generated

Note - If LinkToTrigger is set in the GameFlags then the pickupwill move relative to the datum HT_AnimDatum_TriggerLink on the trigger item pointed to by link1.

TR_PickupableEdit

An object that can be picked up by the player.

If the trigger receives a HT_Trig_Message_Suspend message then the block will be destroyed until it receives a HT_Trig_Message_Active message.

If the trigger is pointed to by a TR_KillZone trigger then it will be destroyed if it enters that killzone.

Value 1 – Context RadiusEdit

The context radius for picking up the object (In 10ths of meter)

Value 2 – Context TypeEdit

Should be Pickupable

Value 3 – Draw RangeEdit

Draw range in (In 10ths of meter)

Value 4 – Pickupable flagsEdit

Flags for who can pick it up

  • Float on Water – block floats on water
  • Float on Lava – block floats on lava
  • Respawn – block will respawn from the trigger position if it gets destroyed
  • Talk When Destroyed – will message all links when it gets killed
  • Talk On Pickup – message all links when it is picked up
  • Talk On Drop – message all links when it is dropped
  • Specific Pickup Drop Message – sends HT_Trig_Message_PickupPickup or PickupDrop when picked up or dropped as opposed to general message assigned to each link

Value 5 – Weight (0-100)Edit

Controls how far it can be thrown etc..

Value 6 – Smash scriptEdit

If set then the script used to explode the block when it’s thrown

Value 7 – DamageEdit

Damage it inflicts on characters when it’s thrown at them

TR_PressureSwitchEdit

A Switch that’s activated when the player or another object stands on it.

ScriptEdit

The script for the switch animation. Should have the following events

  • WaitForOpen where the script is waiting to be pressed.
  • SetActive where the script is depressed.
  • WaitForClosed where the script is waiting to be released.
  • SetSuspended where the script is release
  • SendTriggerMessage where the script should send open/close messages to any attached doors.

Value 1 – RadiusEdit

The radius for when the switch is activated

Value 3 – Switch FlagsEdit

  • HeroOpen – Sphinx/Hero will activate the switch
  • MummyOpen – Mummy will activate the switch
  • SphinxOpen – Lion/Sphinx will activate the switch
  • BasKetOpen – BasKet will activate the switch
  • MonsterOpen – Monsters will activate the switch
  • PushBlockOpen – Pushable Blocks will activate the switch
  • FloorSlamOpen - A floor slam attack by the player will activate the switch

Value 6 – ObjectiveEdit

Objective variable that should be linked to the switch

Pressure pads collisions can be performed using CollisionShapes rather than solid entity collisions. This allows for smoother collisions with pushable boxes. To use collision shapes you must create a HT_AnimDatum_CollisionBound sphere around the whole item and then a HT_AnimDatum_Collision shape with Special_Zone_1 flag set around the active portion of the pressure switch. Any pushable blocks that you want to collide with the pressure switch must also have a HT_AnimDatum_CollisionBound and a HT_AnimDatum_Collision shape with Hit_Zone_Head set.

TR_PushableEdit

A pushable item

Script/EntityEdit

The script or Entity for this item. The entity should have at lease one datum HT_AnimDatum_PlayerStand to mark the position(s) where the player can stand when pushing or pulling the item.

User FlagsEdit

If the pushable block has collision zones set up to collide with pressure switches then the HitZoneCollision flag Must be set. But if the block has no collision zones then the HitZoneCollision Must NOT be set otherwise odd things will happen (like monsters dying when they touch the block)

Value 1 – Context RangeEdit

Context sensitive radius for the block

Value 2 – Context TypeEdit

Should be set to HT_Trig_Context_PushObject or HT_Trig_Context_PullObject

Value 3 – PathEdit

Hashcode of the path which the object can be pushed along. The Path can contain PathNodeEvents to control the items motion at each node. (See section 5)

Value 4 – Pushable FlagsEdit

  • Hero Push – Sphinx/Hero can push the block
  • Mummy Push – Mummy can push the block
  • BasKet Push – BasKet can push the block
  • Sphinx Push – Lion/Sphinx can push the block
  • Cyclic Path – Set if the push path loops

Value 5 – Recoil RateEdit

If non-zero then the item will constantly move slowly back towards the start of the path.

Value 6 – Draw RadiusEdit

Draw radius for block

Value 7 – Fall ScriptEdit

Animation Script to use when the block is falling

Value 8 – Explode ScriptEdit

Animation Script to use when the block hits the ground after falling

TR_PushPlayerEdit

A volume which automatically pushes the player in a particular direction. Can be used for water currents, wind, etc…

EntityEdit

Dummy entity with collision spheres, capsules, lozenges (and eventually boxes) marked with HT_AnimDatum_KillBox. If this is set then the Path will be ignored.

Value 1 – Push WhoEdit

Flags for which characters to push

  • PushAwayFromTrigger – For entity & distance push triggers this will make the player get pushed away from the mid point of the trigger. If a path is used to mark the area then the player will get push away from the closest point in the path, also the strength of the push will vary from 0 at the edge of the path width to PushSpeed at the middle of the path.

Value 2 – Push PathEdit

A linear path which defines the direction & volume of the push area. The path can have any number of nodes but must have a constant width & height.

Value 3 – Push SpeedEdit

How fast to push the player. Values < 12 will allow the player to run ‘slowly’ against the flow. Values > 12 will stop the player making any headway against the flow unless they have the increased speed power up.

Value 4 – Bounding RadiusEdit

A radius that fully encloses the push path area.

LinksEdit

Pointers to any TR_Rope’s that will be influenced by the push area.

Note – For collision entities the player will be pushed in the direction of the trigger. For push paths the player will be pushed in the direction of the path link they’re colliding with. Ropes are always pushed in the direction of the trigger.

TR_RedGryphonEdit

A Red Gryphon

ScriptEdit

Animation script for the object

Value 1 – RadiusEdit

Activation radius in 10ths of a meter

Value 2 - FlagsEdit

  • Hero – Activate when main Hero/Sphinx character is within range
  • Mummy – Activate when Mummy is within range
  • Sphinx – Activate when Lion/Sphinx is within range
  • BasKet – Activate when BasKet is within range

TR_RedMineEdit

A mine which explodes immediately when the player moves near or if another mine explodes nearby

ScriptEdit

Explosion script for this mine. The script should contain a WaitForExplosion event and a GenerateShockwave event.

Value 1 – Activation RadiusEdit

Distance at which the player will trigger the mine (in 10ths of a meter)

Value 6 – Objective ValueEdit

Hashcode of the Objective value which is linked to this trigger and which remembers if the mine has exploded when the level is reloaded.

TR_ResonatingCrystalEdit

A crystal that animates when hit. When a group of resonating crystals are all hit then a master crystal script will be run.

ScriptEdit

Animation script for this crystal. Master crystal scripts should have a WaitForExplosion event to wait for all the crystals to be hit. Normal crystal scripts should have a WaitUntilHit event and a LoopScript event.

Value 1 – Resonate FlagsEdit

  • Master Crystal – If set then this is a master crystal.

Value 6 – Objective ValueEdit

Hashcode of an Objective variable that will remember the state of this set of crystals when the level is reloaded.

LinksEdit

Master Crystals should link to all the associated normal crystals.

TR_RopeEdit

A Physics Cloth object which will blow about in simulated wind and which the player can climb.

EntityEdit

Entity for the rope. Moving polygons must have the Moveable flag set. Fixed points must have an HT_AnimDatum_FixedPoint close to them. There should be a HT_AnimDatum_NetPoint at each joint in the rope. Joints marked with HT_AnimDatum_RopeAttach act like fixed points until the rope is broken and then they act like Net Points.

Link 1Edit

If AttachToPlatform is set then this must point to the trigger for the platform that the rope is hanging from.

Value 1 – ObjectiveEdit

Objective variable used to remember if the rope is broken or not.

Value 2 – Max Wind Speed / Swing SpeedEdit

If ConstantSwing is set then this is the time to do a full swing in 10ths of a second. Otherwise this is the maximum wind speed. Normally in the range –20…20 (The minimum wind speed is always 0)

Value 3 – GravityEdit

Gravity value. Normally in the range –50…50. Negative values will cause the rope to hang upwards (and will make the rope unclimbable)

Value 4 – IterationsEdit

Number of constraint iterations to be performed by the physics engine.

  • 1 = Fastest. Very springy
  • 4 = Slowest. More Rigid

Value 5 – Rope FlagsEdit

  • X – Set if the rope is stretched horizontal in the X direction
  • Y – Set if the rope is hanging vertically
  • Z – Set if the rope is stretched horizontal in the Z direction
  • Climbable – Set if the rope is climbable
  • Shadow - Draw a test shadow graphic on the floor
  • AttachToPlatform - Make the rope hang from the platform pointed to in Link1. The platform entity must have a HT_AnimDatum_RopeAttach datum point to mark where the rope should hang from.
  • Limit5deg, Limit10deg, Limit20deg, Limit40deg - Limits the maximum swing for the rope. If none of the flags are set then there’s no limit. If any combination is set then the rope will be limited to the total angle .e.g. If Limit5deg & Limit20deg is set then the rope will be limited to a maximum swing of 25 degrees.
  • BreakOnMessage - If set then any HT_AnimDatum_RopeDatum points will be converted to moveable points when any non blank message is received.
  • ConstantSwing - Causes the rope to swing back and forth between its limits. The rope can’t be pushed if this is set.
  • SwingInTriggerDirection - If set then the trigger can only swing in the direction of the trigger.

Value 6 – Draw RadiusEdit

Draw distance in 1/10ths of a meter.

Value 7 – Vary Length PercentageEdit

If not zero then this is then the rope will shrink & expand by this percentage over time. This can be used to raise and lower a platform which is hanging from the rope. e.g. if 20 then the rope will expand/shrink between 80% and 120% of it’s original length.

Value 8 – Vary SpeedEdit

The number of seconds the rope takes to go from its minimum length to its maximum length and back again.

TR_RotatingWallEdit

A section of wall with a lever on both sides that spins around when the lever is pulled

ScriptEdit

The script for the wall. Must have a WaitForOpen event at the start and a StartRotating event at the point where the wall should rotate. The script shouldn’t include the rotation animation, this is done automatically by the trigger. Should also have HT_AnimDatum_PlayerStand next to each of the levers.

Value 1 – Context RangeEdit

Context sensitive radius

Value 2 – Context TypeEdit

Set to RotatingWall

Value 4 – Draw RadiusEdit

Value 5 – Rotation SpeedEdit

Speed to rotate the object at when triggered

TR_SavePointEdit

Game Restart/Save Disc. The graphic for the restart disc is stored in Scripts/OO_PickU.elf

An internal copy of the game state will be made when the player stands on the disc which will be used if the player dies. To save this data to disc the ‘Save Game’ option must be selected from the menu.

Value 1 – Context RangeEdit

Context sensitive radius for the save point

Value 2 – Restart IDEdit

Any number that’s unique on this level.

TR_SecurityCameraEdit

An animated camera that sends a message to any linked triggers (such as TR_Noise triggers) when it sees the Mummy.

ScriptEdit

A script with the movement animation of the camera.

The camera entity must have these datums…

  • HT_AnimDatum_CameraPos - origin point of the camera.
  • HT_AnimDatum_CameraFocus - focus point of the camera
  • HT_AnimDatum_CameraViewAngle - marks the maximum view angle of the camera

Value 2 – View RangeEdit

How far the camera can see in 10ths of m

Value 7 – Draw DistanceEdit

Draw distance for the camera

TR_Script (OBSOLETE – use TR_Path or TR_Object instead)Edit

This is the old version of TR_Path which only worked with script objects. Please replace any occurrences with TR_Path for items that follow a path or TR_Object if the item is stationary.

TR_SmallLightEdit

A collection of environmental lights which rotate in a circular sine-wavey pattern given a radius, also has option of exploding when two lights collide and option to be hit by sword.

Value 1 - RadiusEdit

Suspend radius if non zero, else, lights appear throughout current portal around player.

Value 2 - Min wind speedEdit

Lower value of random directional (according to the trigger direction) wind speed. Normally between 0 and 20.

Value 3 - Max wind speedEdit

Upper value of random directional (according to the trigger direction) wind speed. Normally between 0 and 20

Value 4 - Num lightsEdit

Number of lights active within this trigger

Value 5 - Num Trail Lights (Disabled)Edit

Number of trailing lights behind each main light item

Value 6 - Trail Light ScriptEdit

Script to use for each trailing light

Value 7 - Opactiy % (0=Random)Edit

Opacity of each light as a percentage, value of zero indicates random value will be used

Value 8 – FlagsEdit

  • Explosions (disabled) – Items explode when they hit each other
  • AcceptDamage - Items die upon being hit with sword.

TR_SinkingPlatformEdit

A platform that sinks when the player stands on it and rises when it’s not stood on. Two sinking platforms can also be linked together (as a Master & Slave) so that when one sinks the other rises & visa-versa.

Entity/ScriptEdit

Entity of Script for the platform

Value 1 – RangeEdit

Draw Radius

Value 2 – FlagsEdit

  • Master – Set if this platform controls the position of another Sinking Platform.
  • Slave - Set if this platforms position is controlled by another Master Sinking Platform.
  • Triggered - If set then the platform moves up or down depending on trigger messages.
  • Wobble - If set then the platform will have a slight wobble. Values 7 & 8 are used to control the amount of wobble.
  • ApplyJumpMomentum - If set then when the player jumps off the platform then their initial velocity will be relative to the platform

Value 3 – Sink SpeedEdit

Speed at which the platform should sink when stood on. cm/s

Value 4 - Rise SpeedEdit

Speed at which the platform should rise when nothing is standing on it. cm/s

Value 5 – Min HeightEdit

Minimum Height of platform in cm’s relative to the position of the trigger.

Value 6 – Max HeightEdit

Maximum Height of platform in cm’s relative to the position of the trigger.

Value 7 - DampingEdit

Controls how quickly any wobble stops. Only used if the Wobble flag is set. Typically about 30.

Value 8 – InertiaEdit

Controls how quickly the platform speeds up and slows down. Only used if the Wobble flag is set. Typically about 30.

Link 1Edit

If the Master flag is set then this link points to the Slave platform

TR_Swarm_???Edit

Create a swarming insect generator.

Value 1 – Spawn RateEdit

Minimum number of frames between generation of insects.

Value 2 – Spawn LimitEdit

Maximum number of insects that can be active at one time

Value 3 – Spawn TotalEdit

Total number of insects that this generator can create. –1= No limit.

Value 4 – Movement TypeEdit

  • Potential Field – Use potential field pathfinding to home in on player
  • Random Wander – Random wander

TR_ThornBushEdit

An object which can be frozen and then destroyed

ScriptEdit

The script for the unfrozen thorn bush. Should include a WaitForHit event followed by the explosion animation. If the Thorn Bush is linked to an objective variable then the script should also have a SetAlternateState event on frame 1 and a StateMarker event at the end of the script.

Value 1 – Draw RangeEdit

Value 2 – Frozen ScriptEdit

The script for the Ice covering the thorn bush. This script should include the animation of the ice melting.

Value 3 – Frozen TimerEdit

How long the thorn bush remains frozen in frames. At the moment this should be the length of the frozen script x 2.

Value 4 – DamageEdit

How much damage the bush inflicts on the player when they touch it

Value 5 – Regeneration TimerEdit

If non zero then how many frames until the thorn bush regrows. Can’t be used if the thorn bush has an objective

Value 6 – ObjectiveEdit

Objective variable that the bush is linked to.

TR_TiltPlatformEdit

A Platform that tilts when the player or any other object stands on it. Can be used for platforms floating in the water, for see-saw type platforms, or for platforms hanging from swinging ropes.

Script/EntityEdit

The script or entity for the platform

Link1Edit

If AttachToRope is set then this points to the rope trigger that the platform should hang from. If AttachToTRPath is set then this points to the TR_Path trigger which controls the movement of the platform.

Value 1 – Tilt FlagsEdit

  • TiltX – Set if the platform should tilt in the X direction
  • TiltZ – Set if the platform should tilt in the Z direction
  • AttachToRope - If set then the platform will hang from the bottom of the rope pointed to by Link1. The platform will be attached by its origin and will pivot about this point.
  • PlatformMovesPlayer – If set then the player will move if the platform moves. Only really needed if the platform swings a lot or is attached to a moving rope.
  • PlatformRotatesPlayer – If set then any rotation of the platform will be passed on to the player. Only really needed if the platform can swing a lot.
  • TakeRopeRotation - If set and the AttachToRope flag is also set, then the platform will try and tilt to the same angle as the rope its hanging from.
  • ApplyJumpMomentum - If set then when the player jumps off the platform then their initial velocity will be relative to the platform
  • AttachToTRPath - If set then platform will follow the TR_Path trigger item pointed to by link1.

Value 2 – Max Tilt AngleEdit

Maximum angle that the platform can tilt.

Value 3 – Tilt SpeedEdit

Force that the player applies to the platform when they stand on it. The force will increase the closer the player is to the edge.

Value 4 – Reset SpeedEdit

The amount of force, which will try and re-center the platform.

Value 5 – DeadzoneEdit

Distance the player can move away from the center before they start applying a force to the platform.

Value 6 - RangeEdit

Draw range.

Value 7 - DampingEdit

The amount of friction which will try and stop the platform from moving. 0 will cause the platform to continually rock back and forth once it’s started moving. 1000 will cause the platform to behave as though it was in treacle.

Value 8 – Sink DistanceEdit

If non-zero then the platform will slowly sink this many cm’s when the player stands on it.

TR_TimerEdit

Counts for N frames then sends a message to all linked triggers.

  • If Inactive = 0 then starts counting as soon as the level is loaded.
  • If Inactive = 1 then waits to be messaged by another trigger before timer starts

Value 1 – TimerEdit

Number of frames to count.

Value 2 – Timer VarianceEdit

If non zero then the timer will be randomize +/- this value

Value 3 – FlagsEdit

  • Loop - Timer will restart after it’s counted down

Value 4 – Activation RadiusEdit

If non-zero then Timer will start as soon as the player enters the radius

TR_UseItemEdit

A context trigger which requires an item to be used to activate the trigger

ScriptEdit

Animation script for the activation of the trigger. Should contain a WaitForOpen event and an entity with datum HT_AnimDatum_PlayerStand to mark the position where the player should stand when activating the trigger.

Value 1 – Context RadiusEdit

Context Radius for the trigger in 10ths of a meter

Value 2 – Context TypeEdit

Should be set to HT_Trig_Context_UseItem

Value 3 – Who FlagsEdit

  • Hero Open – Hero/Sphinx can activate the trigger
  • Mummy Open – Mummy can activate the trigger
  • BasKet Open – BasKet can activate the trigger
  • Sphinx Open – Lion/Sphinx can activate the trigger

Value 4 – Item RequiredEdit

Hashcode of the item required to activate the trigger

Value 5 – Player AnimationEdit

Hashcode of the player animation to player when the trigger is activated

Value 6 – Objective ValueEdit

Hashcode of the Objective value which is linked to this trigger and which remembers if it’s been activated when the level is reloaded.

TR_WalkInLoadEdit

Causes the player to walk towards an exit point while activating a camera

Value 1 - RadiusEdit

Activation radius

Value 2 - Who FlagsEdit

Value 3 - TimerEdit

How long before the Level load trigger is activated (in 60th’s of a second)

Link 1 – Camera TriggerEdit

Pointer to a TR_Camera trigger which is activated as soon as the player enters the area.

Link 2 – Load LevelEdit

Pointer to a TR_LoadLevel trigger which is activated after the timer counts down.

Link 3 – DestinationEdit

Pointer to a TR_Null trigger which marks where the player should walk towards

TR_WanderEdit

A number of animations which just wander around the map, a quicker animation is played when player moves near to item. The anim file specified must have HT_AnimMode_Idle and HT_AnimMode_Move and the idle anim must have the HT_Animation_Extended_Idle_1 hashcode set. The move script must be a depth animation consisting of a walk(0) and a run(1)

Value 1 – Animation FileEdit

Hashcode of the file with the animations in

Value 2 – Suspend RangeEdit

Radius in which player has to be before item gets created.

Value 3 - Number of itemsEdit

Self-explanatory, total number of items to randomly wander within this radius.

TR_WaterfallEdit

Marks a waterfall position, which causes the player to lose a salt crystal when they come in range of the trigger.

Value 1 – DistanceEdit

Distance to activate at in 1/10ths of a meter

Value 2 – Waterfall PathEdit

If set then this points to a bounding path for the waterfall, which will be used to determine the waterfall more accurately. The path can have any number of nodes but must be linear with a constant height and width. The path should be fully enclosed with the Distance sphere.

TR_WaterHeightScriptEdit

Changes the water height in the current SubMap.

ScriptEdit

Animation script of the water height changing. Thread 0 must contain an entity with the water plane in. The position of this entity will be used to set the logical water height.

TR_WheelPlatformEdit

A Large wheel with several platforms attached to the spokes. Jumping on the platforms causes the wheel to roll forward.

Script/EntityEdit

The script or entity for the spindle of the wheel. Place HT_AnimDatum_Platform points where the platforms should be attached. (At the moment there is a limit of 8 platforms, but this can easily be increased if needed)

Value 1 – Platform Script/EntityEdit

The script or entity for each platform. The platform entities can have grab ledges on them if required.

Value 2 – Friction / Constant Rotate speedEdit

For normal wheel platforms this is how quickly the wheel comes to rest after the player has jumped on one of the platforms. Typically between 10-50.

If ConstantRotation is set then this is the rotation speed.

Value 3 - PathEdit

The Hashcode of the linear path that the wheel should follow when it’s rotated. The Path can have either consist of just 2 nodes marking the start & end points of the track, Or it can be a complex path following a curved track. If the path raises or lowers then the wheel will accelerate & decelerate appropriately. If no path is specified then the wheel can still rotate, but will be fixed at its start point. The Path can contain PathNodeEvents to control the items motion at each node. (See section 5).

Value 4 – RangeEdit

Draw range

Value 5 – Spindle RadiusEdit

The radius of the inner spindle which is connected to the wire in mm. This determines how fast the wheel moves along the path.

Value 6 - WeightEdit

The weight of the wheel. The larger this is the longer it takes for the wheel to start moving. Typically around 15,000.

Value 7 – FlagsEdit

  • CubicSplineX / CubicSplineY / CubicSplineZ – By default the wheel will follow a straight line between the path points. In some situations this may lead to jerky movement at the corners. If these flags are set then a cubic spline will be used to smooth out the corners. Occasionally the spline used may lead to certain sections having unexpected bends, so it’s a good idea to use the Watcher/Triggers/Wheel_Path flag which will show the calculated spline and vertical lines (showing the calculated slope at each point).
  • ApplyJumpMomentum - If set then when the player jumps off the platform then their initial velocity will be relative to the platform
  • ConstantRotation - If set then the wheel platform will rotate at a constant speed regardless of the weight of the platforms, the player or anything that hits it.

Value 8 – Platform WeightEdit

The weight of each platform. This is useful on wheels which have non-symmetrically spaced platforms, so that the wheel will come to rest with the heaviest part at the bottom.

TR_ZipLineEdit

Used to mark the start of a ZipLine.

EntityEdit

Entity for the ZipLine. There should be an HT_AnimDatum_FixedPoint at each end of the line and each joint in the rope should be marked by an HT_AnimDatum_NetPoint datum.

Value 1 - SpeedEdit

Speed at which the player should travel down the ZipLine (normally about 100)

Value 2 – Reset SpeedEdit

Speed at which the handle travels back up to the top of the ZipLine (normally about 50)

Value 4 – Num IterationsEdit

Number of constraint iterations to be performed by the physics engine.

  • 1 = Fastest. Very springy
  • 4 = Slowest. More Rigid

Value 6 – Draw RadiusEdit

Distance at which the entity should be drawn.

Value 7 - Handle EntityEdit

The Hashcode of the ZipLine handle entity. The entity will be attached to the line at its origin. The section which the player can grab should be marked with a Grab Ledge line segment.

Link 1Edit

Points to trigger marking the end point of the ZipLine. The ZipLine entity will automatically be resized and rotated so that stretches between the start and end points.

TR_Scorpion_NestEdit

Generates IN07_Blade_Scorpion enemies. To define the values for the scorpions generated, create an IN07_Blade_Scorpion trigger and set the inactive flag, then set link 1 of the nest to point to the scorpion trigger. To control the normal and destroyed states of the nest, set up a script as shown below, and set the trigger to use the script.

TR Scorpion Nest script

Min Spawn Interval (Sec)Edit

The minimum number of seconds between each spawning of a new scorpion.

Max Spawn Interval (Sec)Edit

The maximum number of seconds between each spawning of a new scorpion.

Max Active ScorpionsEdit

The maximum number of scorpions that the nest can have running simultaneously.

Monster TriggersEdit

QR03 – FrogEdit

Set this value to determine the ‘sphere of influence’ for the possession. If set and the frog travels beyond the specified distance the possession will end. If this value is set to zero there is no limit on the distance.

QR04 – Nose NeedlerEdit

This enemy is intended to pop up from holes in the ground. The placement of the trigger will determine the first hole. To add additional holes, place down null triggers (up to 8) and link them to the nose needler trigger.

IN09 – Spike SpiderEdit

This enemy has two possible starting states, either ground based or hanging from a thread. To make the enemy start in the hanging state the trigger must be placed at least 2 meters above the ground and have a ceiling directly above it (up to 100 meters above). If there is no ceiling or the trigger is below 2 meters above the ground the enemy will start in the ground based state.

FL05 – Mummy EagleEdit

This enemy grabs the player, carries him into the air, and then drops him. To set up the drop points place null triggers (up to 7) and link them to the mummy eagle in reference slots 1-7. To specify a minimum fly height place a null trigger at the height required, and reference it via slot 8.

HD14 – CrabhandsEdit

This enemy has the ability to climb walls, but will only do so if special marker triggers are placed. Place and link null triggers (up to 8) on the ground away from the wall(s) you want the enemy to be able to climb, and rotate the triggers to point at the wall. The distance from the wall can vary up to 20 meters, but a distance of around 2 meters will suffice. To set how high the enemy is allowed to climb, set values 1 and 2 to the min and max height in centimeters. If you wish the enemy to start on the wall, rather than the ground, simply place the trigger within 2 meters of an attached null trigger.

Please note that the walls need to be set up to use grab points. Not doing so will force the enemy to revert to using ray-casting which is expensive in terms of processing power required.

IN07 – Blade ScorpionEdit

This enemy can either be placed as normal using the MO_IN07_Blade_Scorpion trigger, or be generated indirectly via a nest trigger (See 3.53 TR_Scorpion_Nest).

OC03_RamsHead_TargetEdit

This enemy will move back and forth between the first two NULL triggers specified until the player moves within the given radius upon which, it will start rotating towards the player. When it reaches the player it will knock him back and return to its original path. If the player shoots the target with any dart it will spin around on fire for 5 seconds then continue on its path but facing the other way. The player must then walk around into its line of sight in order to activate it again.

OC04_StarEdit

This enemy will remain active on a wall playing the idle animation or moving left and right between two NULL triggers until player moves within radius where it will start to spin around the Z axis and move off the wall for a certain distance until the player leaves the radius when it will retreat back to its original location and play the idle anim.

OC05_Sphinx_PortalEdit

This is not strictly an enemy but because of the required animations it was easier to do as an enemy, it is used as a teleportation device between worlds.

OC06_ArmsStatueEdit

This enemy will simply play its idle animation until the player moves within its radius when it will play the attack animation and start moving towards the player. Once the player is reached it will knock him back and remove some of his health, if the player leaves its line of sight it will go back to the last place it saw the player and then idle. It has a reasonably slow rotation to allow the player to get around the back of him, where the player can attack his only weak spot with the sword by hitting his back. This enemy takes 5 hits to be killed.

Path Node EventsEdit

The path which TR_Path, TR_WheelPlatform & TR_Pushable triggers follow may contain the following path node events which can be used to control the motion along the path. To set path events: Select the path in Euroland, click on SetNode, and right click on one of the nodes, select the Values tab.

PathNodeEvent_NullEdit

Valid for all 3 trigger types. Does nothing

PathNodeEvent_WaitForMessageEdit

Only valid on TR_Path & TR_WheelPlatform trigger paths.

Causes the trigger item to pause at that node until the trigger receives any message. If the GradualSpeedUp flag is set then the item will slowly increase speed after it receives a message (only valid on TR_Path triggers).

PathNodeEvent_WaitTimeEdit

Only valid on TR_Path & TR_WheelPlatform trigger paths.

Causes the item to pause at this path node for the specified time (in 60th’s of a second).

If the GradualSpeedUp flag is set then the item will slowly increase speed after it receives a message (only valid on TR_Path triggers).

PathNodeEvent_StopAtNextNodeEdit

Only valid on TR_Path trigger paths.

Causes the item to gradually slow down, so that it’s stationary when it gets to the next node. The following node should have a WaitTime or other event to actually pause the item.

PathNodeEvent_SendTriggerLinksEdit

Valid for all 3 trigger types.

  • If SendLink1 flag is set then the trigger sends the message on Reference Value 1 to trigger Reference identifier.
  • If SendLink2 flag is set then the trigger sends the message on Reference Value 2 to trigger Reference identifier.
  • Etc…

PathNodeEvent_WaitOnObjectivesEdit

Only valid on TR_Path & TR_WheelPlatform trigger paths.

Causes the item to wait at this node for as long as the objective variable matches the condition. You can test for the objective being: equal, not equal, less than or greater than, any value.

Collision ShapesEdit

These are the hashcodes and flags that need to be set on Collision shapes for various trigger entities.

Note - At the moment only Spheres, Capsules & Lozenge shapes are working.
Note2 - All of these should have a collision sphere around the whole object with hashcode HT_AnimDatum_CollisionBound

KillboxesEdit

For TR_KillZone, TR_HurtZone, TR_PushPlayer, TR_Distance collision shapes. These activate the trigger as soon as the player enters the area.

Must have hashcode HT_AnimDatum_KillBox. No user flags need to be set.

TalkOnCollision shapesEdit

For TR_Object, TR_Path triggers TalkOnCollision collision shapes.

Must have hashcode HT_AnimDatum_Collision, with Special_Zone_1 flag set.

WaitHit shapesEdit

For TR_Object, TR_Path triggers with collision shapes for WaitHit events.

Must have hashcode HT_AnimDatum_Collision, with Hit_Zone_Head flag set.

Damage shapesEdit

For TR_Path triggers with player Damage set.

Must have hashcode HT_AnimDatum_Collision, with Attack_Zone_1 flag set.

PressureSwitch activation shapesEdit

For TR_PressureSwicth triggers which are activated by collision zones instead of entity collisions.

Must have hashcode HT_AnimDatum_Collision, with Special_Zone_1 flag set.

Pushable blocks collision shapesEdit

For TR_Pushable triggers which need to collide with Pressure switches.

Must have hashcode HT_AnimDatum_Collision, with Hit_Zone_Head flag set. HitZoneCollision must also be set.

Community content is available under CC-BY-SA unless otherwise noted.