Trigger push
Jump to navigation
Jump to search
Template:Base brush It is a trigger volume that pushes entities that touch it, except those with a parent.
In code it is represented by class CTriggerPush, defined in triggers.cpp.
Keyvalues
- pushdir
- <angle> Angles indicating the direction to push touched entities.
- speed
- <int> The speed at which to push entities away, in inches / second.
- {| class="mw-collapsible mw-collapsed" style="background:initial;float:no;margin-bottom:1em;margin-left:0;padding-right:0.5em;border:1px solid rgba(255,255,255,0.1); border-left:solid 1px #8bb9e0; padding-left:1em;"
|+ style="text-align:left; white-space:nowrap; font-weight:bold; color:#ddd; " | BaseTrigger |
- Filter Name (filtername) <filter>
- A filter entity to test potential activators against.
- Start Disabled (StartDisabled) <boolean>
- Stay dormant until activated (with the
Enable
input).
|}
Flags
- 128 : Once Only
- 256 : Affects Ladders (Half-Life 2)
- 1 : Clients
- 2 : NPCs
- 4 : Pushables
- 8 : Physics Objects
- 16 : Only player ally NPCs
- 32 : Only clients in vehicles
- 64 : Everything (not including physics debris)
- 512 : Only clients *not* in vehicles
- 1024 : Physics debris
- 2048 : Only NPCs in vehicles (respects player ally flag)
Inputs
- {| class="mw-collapsible mw-collapsed" style="background:initial;float:no;margin-bottom:1em;margin-left:0;padding-right:0.5em;border:1px solid rgba(255,255,255,0.1); border-left:solid 1px #8bb9e0; padding-left:1em;"
|+ style="text-align:left; white-space:nowrap; font-weight:bold; color:#ddd; " | BaseTrigger |
- Toggle
- Toggles this trigger between enabled and disabled states.
- Enable
- Enable trigger
- Disable
- Disable trigger
- TouchTest (in all games since
)
- Triggers either the OnTouching or OnNotTouching outputs for whether anything is touching this entity.
Bug:Sleeping prop_physics will never fire "OnTouching". Also applies to entities using prop_physics as base. (tested in:
)
- StartTouch (in all games since
) !FGD
- Behave as if the !caller entity had just entered the trigger volume. Accepts non-physical entities.
- DisableAndEndTouch (only in
)
- Disables this trigger and calls EndTouch on all currently-touching entities.
|}
Outputs
- {| class="mw-collapsible mw-collapsed" style="background:initial;float:no;margin-bottom:1em;margin-left:0;padding-right:0.5em;border:1px solid rgba(255,255,255,0.1); border-left:solid 1px #8bb9e0; padding-left:1em;"
|+ style="text-align:left; white-space:nowrap; font-weight:bold; color:#ddd; " | BaseTrigger |
- OnStartTouch
- !activator = entity that caused this output
!caller = this entity
Fired when a valid entity starts touching this trigger.
- OnStartTouchAll
- !activator = entity that caused this output
!caller = this entity
Fired when a valid entity starts touching this trigger, and no other entities are touching it. If there are any other entities touching the trigger when a new one begins to touch, onlyOnStartTouch
will fire.
- OnEndTouch
- !activator = entity that caused this output
!caller = this entity
Fired when a valid entity stops touching this trigger. Note:Will also fire for entities touching it when trigger is disabled via
Disable
inputWarning:This includes entities which are deleted while inside the trigger. In this case !activator will be invalid.
Warning:
OnEndTouch
can fire beforeOnStartTouch
under certain circumstances[How?] where both are fired on the same tick and each have the same delay.Fix:Add a slight delay to
OnEndTouch
.
- OnEndTouchAll
- !activator = entity that caused this output
!caller = this entity
Fired when all valid entities stop touching this trigger.
- OnTouching (in all games since
)
- !activator = !caller = this entity
Fired if something is currently touching this trigger whenTouchTest
is fired.
- OnNotTouching (in all games since
)
- !activator = !caller = this entity
Fired if nothing is currently touching this trigger whenTouchTest
is fired.
|}