Hidden Triggers in TRNG
by AkyV

Page 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16

1.32. Sentry gun subject
 

1.32.1. The name of the field:

Custom_A (Different usage in according with type of item) (Short)

Condition combination:

If (X) sentry gun shooting status is (A)
 

A:

'equal'

0: the gun has not been activated/is just idle/is just throwing flames

0, with TGROUP_NOT flag in the condition trigger: the gun is just shooting

Type: simple.
 

1.32.2. The name of the field:

Custom_B (Different usage in according with type of item) (Short)
 

Executable combination:

Force (Y) radar status on (X) sentry gun
 

Y: -768, 768, 0

Force:

-768: continuous anti-clockwise rotation (force continuously) - stop the continuous force to restore the default state

768: continuous clockwise rotation (force continuously) - stop the continuous force to restore the default state

0: the radar freezes in the actual position (single force) - force 768 in a single way to restore the default state
 

Condition combination:

If (X) sentry gun radar status is (A)
 

A:

- with default values:

'equal' 768: the radar is totally turned towards the gun or just turning away from the gun

'smaller' 0: the radar is totally turned with its back to the gun or just turning towards the gun

- with forced values:

'equal' 768: the radar is turning clockwise, 0: the radar is frozen

'smaller' 0: the radar is turning anti-clockwise

Type: simple.
 

Note:

The gun keeps the radar status last value even if the gun is not active or exploded.
 

1.33. Mine subject
 

The field works only if you want to blow the mine up by triggers, i.e. if OCB=1
 

1.33.1. The name of the field:

Custom_A (Different usage in according with type of item) (Short)
 

Executable combination (1):

Make (X) mine explode in further (W) frames from now on
 

W: 150 minus Y frames

Y: from 1 to 149

Force: single.
 

Notes:

- The default value is 150 frames from triggering till the explosion.

- If the mine hasn't been activated when you activate the combination, then the timer starts when you activate the mine after that.
 

Executable combination (2):

Make (X) mine burn forever
 

W: 150 minus Y frames

Y: from 1 to 149

Force: continuous. When stopping it: the burning mine will explode in W frames.
 

Condition combination:

If there are still (B ) frames before (X) mine explodes
 

B: 150 minus A frames

A: from 1 to 149

Type: sequence.
 

Note:

Now the relations will be inverted, if you use them: 'less than A' means 'more than B', 'more than/equal with A' means 'less than/equal with B'.

 

1.34. Obelisk subject
 

1.34.1. The name of the field:

Custom_D (Different usage in according with type of item) (Short)

 

See the obelisk setup of 'The Great Hypostyle Hall' TRLR level.

You can use any obelisk of the setup now.
 

Condition combination (1):

If there are still (B ) frames (approximately) before the electric arch of (X) obelisk shatters the cage
 

B: 255 minus A frames

A: from 1 to 255

Type: sequence.
 

Notes:

- The cage is the ANIMATING3 object of the setup where PUZZLE_ITEM1_COMBO1 is hidden.

- Now the relations will be inverted, if you use them: 'less than A' means 'more than B', 'more than/equal with A' means 'less than/equal with B'.
 

Condition combination (2):

If there are still (B ) frames (approximately) before the electric arch of (X) obelisk vanishes
 

B: 347 minus A frames

A: from 1 to 346

Type: sequence.
 

Notes:

- This combination starts counting the time when the arches start. So NOT after ANIMATING3 shatters.

- Now the relations will be inverted, if you use them: 'less than A' means 'more than B', 'more than/equal with A' means 'less than/equal with B'.

 

1.35. Floor 4blade, Roof 4blade subject
 

1.35.1. The name of the field:

Custom_A (Different usage in according with type of item) (Short)
 

Condition combination:

If (X) floor 4blade/roof 4blade is just (A) working/not working harmfully
 

A:

'equal'

0: the blades are active but idle/just moving harmlessly after clapping together

0, with TGROUP_NOT flag in the condition trigger: the blades are just moving to hurt Lara (including both the first move and - when the blades clap together - the second move)

Type: simple.
 

1.35.2. The name of the field:

Custom_D (Different usage in according with type of item) (Short)
 

Condition combination:

If (X) floor 4blade/roof 4blade status is (A)
 

A:

'equal'

0: the trap has never been activated before

20: the trap is just performing the first harmful move or is in the short idle position after that

 'bigger/equal' 21: the trap is just performing the second - 'clapping' - harmful move, or is in the short idle position after that, or moving harmlessly after clapping together, or is idle after all its moves

Type: simple.
 

Note:

It could be useful to apply the two conditions together (i.e. in the same TriggerGroup, after each other). For example, if the first condition uses TGROUP_NOT and the second condition uses Value 20 that means the trap is just performing the first harmful move. (Because TGROUP_NOT rules out the second part of Value 20: 'or is in the short idle position after that'.)

 

1.36. Bird blade subject
 

1.36.1. The name of the field:

Custom_A (Different usage in according with type of item) (Short)
 

Condition combination:

If (X) bird blade is just (A) working/not working harmfully
 

A:

'equal'

0: the blades are just moving harmlessly up after clapping together

0, with TGROUP_NOT flag in the condition trigger: the blades are just moving down to hurt Lara (including when they clap together and the bounce after clapping together)

Type: simple.

 

1.36.2. The name of the field:

Custom_D (Different usage in according with type of item) (Short)
 

Condition combination:

If (X) bird blade first activity status is (A)
 

A:

'equal'

0: the trap has never been activated before

0, with TGROUP_NOT flag in the condition trigger:

a, the trap is active or

b, the trap is inactive but has been activated before at least once

Type: simple.
 

1.37. Catwalk blade subject
 

1.37.1. The name of the field:

Custom_D (Different usage in according with type of item) (Short)
 

Condition combination:

If (X) catwalk blade is (A) moving/not moving
 

A:

'equal'

0: the blades are not moving

0, with TGROUP_NOT flag in the condition trigger: the blades are moving

Type: simple.
 

Note:

'Moving/not moving' is not the same condition now as 'active/inactive', because
 

- when the blades have been activated then they won't start moving for some moments, and

- as I said above, after all the moves, the objects are idle, not 'inactive'.
 

1.38. Plinth blade subject
 

1.38.1. The name of the field:

Custom_D (Different usage in according with type of item) (Short)

 

Condition combination:

If (X) plinth blade is (A) working/not working
 

A:

'equal'

0: the blades are not working

0, with TGROUP_NOT flag in the condition trigger: the blades are working

Type: simple.

 

Notes:
 

- 'Working' means the two short moves now, including the short stop between them.

- 'Working/not working' is not the same condition now as 'active/inactive', because, as I said above, after all the moves, the objects are idle, not 'inactive'.
 

1.39. Seth blade subject
 

1.39.1. The name of the field:

Custom_A (Different usage in according with type of item) (Short)
 

Condition combination:

If (X) seth blade general status is (A)

 

A:

'equal' 0: the trap is idle or the double blades are just moving upwards

 'smaller' 0: the double blades are just moving downwards

 'bigger/equal' 1: the double blades just hit the ground

Type: simple.
 

1.39.2. The name of the field:

Custom_C (Different usage in according with type of item) (Short)
 

Executable combination:

Make (X) seth blade strike in (Y) frames from now on
 

Y: 1 or bigger frames

Force: single.
 

Notes:

- If the blades haven't been activated when you activate the combination, then the timer starts when you activate the blades after that.

- Though it is not a general knowledge, seth blades are working not only with negative OCB numbers, but positive OCB numbers:
 

= As you know, a negative OCB number means the trap will start moving in a time which is defined the OCB number (as frames), and, after that, the trap won't move any more.

= A positive OCB number means the trap will start moving in a time which is defined the OCB number (as frames), and, after that, the trap will start moving again (according to that time). An antitrigger means a pause for those moves.
 

So Y frames overwrite that OCB value (only for the next strike!), but never overwrite the original meaning (one shot work or not) of the OCB value.

- Try to force 0 in a GT_LOADED_SAVEGAME GlobalTrigger, to remove the 'trap will be reactivated when a savegame has been loaded' bug.
 

Condition combination:

If there are still (A) frames before (X) seth blade performs the next strike
 

A: 1 or bigger frames

Type: sequence.
 

1.39.3. The name of the field:

Custom_D (Different usage in according with type of item) (Short)
 

Condition combination:

If (X) seth blade first strike status is (A)
 

A:

'equal'

0: the trap has never performed a strike before

0, with TGROUP_NOT flag in the condition trigger: the trap is performing/has performed its first strike

Type: simple.
 

Note:

If the trap has been activated at very first time but hasn't started moving then that naturally means the trap has never performed a strike before.
 

1.40. Lightning conductor subject
 

1.40.1. The name of the field:

Custom_A (Different usage in according with type of item) (Short)
 

Executable combination (1):

Make an electric arch strike into (X) lightning conductor for further (Y) frames from now on
 

Y: 1 or bigger frames

Force: single.
 

Notes:

- If the conductor hasn't been activated when you activate the combination, then the timer (with the arch) starts when you activate the conductor after that.

- If the conductor is active when you activate the combination but there is no arch in the given moment, then an arch starts at once.
 

Executable combination (2):

Make an electric arch strike continuously into (X) lightning conductor
 

Y: 1 or bigger frames

Force: continuous. When stopping it: the strike will end in Y frames.
 

Condition combination:

If there are still (A) frames before (X) lightning conductor stops the actual electric arch
 

A: 1 or bigger frames

Type: sequence.
 

Note:

The default electric arches are very short, so the logical Value A in their cases is 1-2 frames. (Maximum 4 frames, because that seems to be the longest arch.)
 

1.40.2. The name of the field:

Custom_B (Different usage in according with type of item) (Short)
 

Condition combination:

If an electric arch of (X) lightning conductor just starts striking

 

The basic formula is peculiar now:
 

Trigger1. An A54 to define the actual subject of Item Memory Zone.

Trigger2. An F271 to copy the chosen variable value into Current Value.

Trigger2. An F256 to put the value of the chosen memory zone field into the chosen variable.

Trigger4. A C40/43 trigger to study the chosen variable value. A C57 (with TGROUP_NOT flag) to compare the chosen variable to Current Value, if they are the same.
 

A: there is no A this time

Type: simple.

 

Note:

Each arch has its own value in this field. F271 will copy the value of the previous arch into Current Value variable, F256 will put the value of the actual arch into 'any' variable, then the condition trigger will compare them to each other. - If the values are not the same that means a new arch has just struck.

 

1.40.3. The name of the field:

Custom_D (Different usage in according with type of item) (Short)
 

Use it only with the special lightning conductor setup you saw in 'Street Bazaar' TRLR level.
 

Executable combination (1):

Make the electric arch - diverted from the first lightning conductor - strike into (X) second lightning conductor in (W) frames from now on
 

W: 120 minus Y frames

Y: from 1 to 119

Force: single.
 

Notes:

- The default value is 120. I.e. if you've activated the FLAME_EMITTER2 of the setup (pushing/pulling a pushable object on the square of the first lightning conductor) then the lightning stops striking into the first conductor and a frame counter starts. When the counter reaches 120 then the lightning will strike into the second conductor.

- If the lightning hasn't been diverted when you activate the combination, then the timer starts when you diverted the lightning after that.
 

Executable combination (2):

Disable the electric arch - diverted from the first lightning conductor - to strike into (X) second lightning conductor
 

W: 120 minus Y frames

Y: from 1 to 119

Force: continuous. When stopping it: the lightning will strike into the second conductor in W frames.

 

Condition combination:

If there are still (B ) frames before the electric arch - diverted from the first lightning conductor - strikes into (X) second lightning conductor

 

B: 120 minus A frames

A: from 1 to 119

Type: sequence.
 

Note:

-Now the relations will be inverted, if you use them: 'less than A' means 'more than B', 'more than/equal with A' means 'less than/equal with B'.
 

1.41. Element puzzle subject
 

1.41.1. The name of the field:

Custom_A (Different usage in according with type of item) (Short)
 

Condition combination:

If (X) 'element puzzle' (scale) status is (A)
 

A:

'equal'

0: the scale has not been used yet

1: material (water, dirt, petrol) has poured into the scale

2: Lara holds the torch to the petrol

3: the petrol is burning

Type: simple.
 

1.42. Puzzle hole subject
 

1.42.1. The name of the field:

Custom_A (Different usage in according with type of item) (Short)
 

Condition combination:

If Lara is (A) performing/not performing the 'reaching into the backpack and inserting puzzle item' animation at (X) puzzle hole
 

A:

'equal'

0: Lara is not performing the animation (because she hasn't tried to insert the item or the item has been inserted or she is anywhere else in the level)

0, with TGROUP_NOT flag in the condition trigger: Lara is performing the animation

Type: simple.

 

Note:

See something similar about key holes in Chapter 1.1.6. Condition combination (5).
 

1.43. Turn switch subject
 

1.43.1. The name of the field:

Custom_A (Different usage in according with type of item) (Short)
 

Condition combination:

If (X) turn switch direction status is (A)
 

A:

'equal'

0: the switch hasn't been used

1: the switch is just being turned anti-clockwise or the last direction in which the switch has been turned is anti-clockwise

2: the switch is just being turned clockwise or the last direction in which the switch has been turned is clockwise

Type: simple.
 

1.43.2. The name of the field:

Custom_B (Different usage in according with type of item) (Short)
 

Condition combination:

If (X) turn switch functional status is (A)

 

A:

'equal'

0: the switch hasn't been used or just being turned

2: the switch has been turned (so now it is idle)

Type: simple.
 

Notes:

- It could be useful to apply the two conditions together (i.e. in the same TriggerGroup, after each other). For example, if the first condition is 1 and the second condition is 0 that means the switch is just being turned anti-clockwise. (Because 0 at Custom_B field rules out the idle part of Value 1 of Custom_A field: 'or the last direction in which the switch has been turned is anti-clockwise'.)

- Usually turn switches are used only for the obelisk setup. But you must notice: with these two conditions you can trigger/antitrigger anything by turn switches.

 

1.44. Crowbar switch subject

 

1.44.1. The name of the field:

Custom_A (Different usage in according with type of item) (Short)
 

Executable combination:

(Y) Enable/disable (X) crowbar switch
 

Y: disable (1), enable (0)

Force: single.
 

Note:

Originally 0 value turns into 1 (i.e. to 'useless') when a BABOON_NORMAL has been triggered in the same room.
 

Condition combination:

If (X) crowbar switch is (A) enabled/disabled
 

A: 'equal' disabled (1), enabled (0)

Type: simple.
 

1.45. Pulley subject
 

1.45.1. The name of the field:

Custom_B (Different usage in according with type of item) (Short)
 

Executable combination:

(Y) Enable/disable (X) pulley
 

Y: disable (1), enable (0)

Force: single.
 

Note:

Originally 0 and 1 values work only with the obelisk setup: till the obelisks turned into the right positions, the pulley value is 1 (i.e. 'useless') but now becomes 0.
 

Condition combination:

If (X) pulley is (A) enabled/disabled
 

A: 'equal' disabled (1), enabled (0)

Type: simple.
 

1.45.2. The name of the field:

Custom_C (Different usage in according with type of item) (Short)
 

Condition combination:

If (X) pulley first activity status is (A)
 

A:

'equal'

0: the switch has never been used before

0, with TGROUP_NOT flag in the condition trigger: the switch has been used before at least once

Type: simple.

 

Note:

It will become 1 (i.e. not 0) in the moment when the pulley is still working with the first usage, just triggering the thing that it must to activate.