The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
trigger_push
is a brush entity available in all
Source games. It is a trigger volume that pushes entities that touch it, except those with a parent.
Bug:
Does not affect Common infected and witches [todo tested in ?]
Bug:
Does not affect drones [confirm] [todo tested in ?]
Keyvalues
- Name (targetname) <string>[ Edit ]
- The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g.
parentname
or target
).
Also displayed in Hammer's 2D views and Entity Report.
- Push Direction (pushdir) <angle>
- Angles indicating the direction to push touched entities.
Note:In
changing this keyvalue via "Point At..." creates a new "angles" property. Copy its value to "Push Direction".
- Speed of Push (speed) <integer>
- The speed at which to push entities away, in inches / second.
- Scale force for alternate ticks (alternateticksfix) <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
.
- Trigger on Start Touch (triggeronstarttouch) <boolean> (only in
)
- Trigger on start touch instead of on touch.
- Only Falling Players (OnlyFallingPlayers) <boolean> (in all games since
) (also in
)
- Only affect players if they are falling (and not pressing jump).
- Player fall speed (FallingSpeedThreshold) <float> (in all games since
) (also in
)
- A player must be falling this fast for them to be pushed.
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
TriggerPush:
- Once Only (possibly means set velocity rather than apply acceleration) : [128]
- Affects Ladders (Half-Life 2) : [256]
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 .
|
- Correctly account for object mass (
trigger_push
used to assume 100Kg) and multiple component physics objects (car, blob...) : [4096] (in all games since
)
Inputs
- SetPushSpeed <integerRedirectInput/integer> (only in
)
- Set the push speed in inches / second.
- SetPushDirection <vectorRedirectInput/Vector> (in all games since
) (also in
)
- Sets the push angle of the trigger.
- SetSpeed <integerRedirectInput/integer> (only in
)
- Sets the push speed. Still takes alternate tick keyvalue 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.
|
See Also