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 theCTriggerPush
class, defined in thetriggers.cpp
file.
Keyvalues
- Push Direction (Pitch Yaw Roll) ([todo internal name (i)]) <angle>
- Angles indicating the direction to push touched entities.
- Speed of Push ([todo internal name (i)]) <integer>
- The speed at which to push entities away, in inches / second.
- Scale force for alternate ticks ([todo internal name (i)]) <float>
- If nonzero, scale the force by this amount when running with alternate ticks. This fixes problems with an overly large force due to the longer frametime on when running with sv_alternateticks 1.
- Only Falling Players ([todo internal name (i)]) <boolean> (in all games since
)
- Only affect players if they are falling (and not pressing jump)
- Player fall speed ([todo internal name (i)]) <float> (in all games since
)
- Player must be falling this fast for push to happen
Flags
- 128 : Once Only (possibly means set velocity rather than apply acceleration)
- 256 : Affects Ladders (Half-Life 2)
BaseTrigger
- Everything (not including physics debris) : [64]
- Clients (Survivors, Special Infected, Tanks
 ) : [1]
- Only clients in vehicles : [32]
- Only clients *not* in vehicles : [512]
- Disallow Bots (removed since
) : [4096]
- NPCs (Common Infected, Witches
 ) : [2]
- Only player ally NPCs : [16]
- Only NPCs in vehicles (respects player ally flag) : [2048]
- Physics Objects (not including physics debris) : [8]
- Physics debris (include also physics debris) : [1024]
Pushables (Passes entities with classname func_pushable) : [4] 
- Deprecated.
Equivalent to using Everything + filter_activator_class that filters func_pushable .
|
- 4096 : Disallow bots

Inputs
- SetPushDir (in all games since
)
- Sets the push angle of the trigger.
- SetSpeed (only in
)
- Sets the push speed. Still takes alternate tick kv into account.
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.
- EndTouch (in all games since
) !FGD
- Behave as if !caller had just exited the trigger volume.
- DisableAndEndTouch (only in
 )
- Disables this trigger and calls EndTouch on all currently-touching entities.
|
Outputs
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, only OnStartTouch 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 input
Warning:This includes entities which are deleted while inside the trigger. In this case !activator will be invalid.
Warning:OnEndTouch can fire before OnStartTouch 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 when TouchTest is fired.
- OnNotTouching (in all games since
)
- !activator = !caller = this entity
Fired if nothing is currently touching this trigger when TouchTest is fired.
|