Trigger catapult: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(More data)
(Updated with data from the official portal2.fgd)
Line 10: Line 10:
Also, I think that may be some link kv for the model.-->
Also, I think that may be some link kv for the model.-->


== Keyvalues ==
==Keyvalues==
{{KV Targetname}}
{{KV Origin}}
{{KV Trigger}}
{{KV Trigger}}
{{KV|Upper Threshold|float|Maximum player speed/player launch speed ratio to activate}}
{{KV|Player Speed|float|Speed at which to launch the players (u/sec)}}
{{KV|Player Speed|integer|The speed at which the player is launched.}}
{{KV|Physics Object Speed|float|Speed at which to launch physics objects (u/sec)}}
{{KV|Air Control Supression Time|float}}
{{KV|Use Threshold Check|boolean}}
{{KV|Physics Speed|integer|The speed at which objects (except the player) are launched.}}
{{KV|Entry Angle Tolerance|float|Flung object's velocity must be pointing this much at the target. Specify a value between [-1...1] 1 means exactly, 0 means within 180 degrees -1 means any angle is accepted. This is only used if Use Threshold Check is set to yes.}}
{{KV|Apply Angular Impulse|bool}}
{{KV|Use Exact Velocity|boolean|Try to fling exactly at the speed specified - this prevents the added upward velocity from a launch target.}}
{{KV|Entry Angle Tolerance|float}}
{{KV|Exact Solution Method|choices|Using exact velocity generates two correct solutions. Use this to force which one you choose.}}
{{KV|Launch Direction|angle|The direction the catapult launches objects.}}
:* 0 : Best
{{KV|Lower Threshold|float|Minimum player speed/player launch speed ratio to activate}}
:* 1 : Solution One
{{KV|Launch Target|target_destination}}
:* 2 : Solution Two
{{KV|Use Threshold Check|bool|Should we check the player speed before catapulting?}}
{{KV|Lower Threshold|float|Flung object must be within this percentage value in order to activate fling. Specify a value between [0...1] (default is .15) This is only used if Use Threshold Check is set to yes.}}
{{KV|Use Exact Velocity|bool}}
{{KV|Upper Threshold|float|Flung object must be within this percentage value in order to activate fling. Specify a value between [0...1] (default is .30) This is only used if Use Threshold Check is set to yes.}}
{{KV|Exact Velocity Choice Type|choices}}
{{KV|Launch direction|angle|Direction to launch the player in.}}
{{KV|Launch target|target_destination|Entity to try to 'hit' when we're launched.}}
{{KV|Only check velocity|boolean|Only check velocity of the touching object - don't actually catapult it.  Use in conjunction with OnCatapulted to create velocity checking triggers.  Only works when Use Threshhold Check is enabled.}}
{{KV|Apply angular impulse|boolean|If a random angular impulse should be applied to physics objects being catapulted.}}
{{KV|Air Control SupressionTime|float|[Launch by target only!]If greater than zero, supress player aircontrol for this number (in seconds). If less than zero use the default (quarter second).}}


== Flags ==
==Flags==
{{Fl Trigger}}
{{Fl Trigger}}


== Inputs ==
==Inputs==
{{I Trigger}}
{{I Trigger}}


== Outputs ==
==Outputs==
{{O Trigger}}
{{O Trigger}}
'''OnCatapulted'''
{{IO|OnCatapulted|The object has been launched.}}

Revision as of 02:41, 11 May 2011

Template:Portal2 brush

Stub

This article or section is a stub. You can help by expanding it.

Nuvola apps ksnapshot.png
This article or section needs a screenshot to help visually convey the subject.
You can upload screenshots at Special:Upload. For help, see Help:Images.

Entity Description

Used to launch the player into the air.

Keyvalues

BaseTrigger
Filter Name (filtername) <filter>
A filter entity to test potential activators against.
Start Disabled (StartDisabled) <boolean>
Stay dormant until activated (with theEnableinput).
Player Speed ([todo internal name (i)]) <float>
Speed at which to launch the players (u/sec)
Physics Object Speed ([todo internal name (i)]) <float>
Speed at which to launch physics objects (u/sec)
Use Threshold Check ([todo internal name (i)]) <boolean>
Entry Angle Tolerance ([todo internal name (i)]) <float>
Flung object's velocity must be pointing this much at the target. Specify a value between [-1...1] 1 means exactly, 0 means within 180 degrees -1 means any angle is accepted. This is only used if Use Threshold Check is set to yes.
Use Exact Velocity ([todo internal name (i)]) <boolean>
Try to fling exactly at the speed specified - this prevents the added upward velocity from a launch target.
Exact Solution Method ([todo internal name (i)]) <choices>
Using exact velocity generates two correct solutions. Use this to force which one you choose.
  • 0 : Best
  • 1 : Solution One
  • 2 : Solution Two
Lower Threshold ([todo internal name (i)]) <float>
Flung object must be within this percentage value in order to activate fling. Specify a value between [0...1] (default is .15) This is only used if Use Threshold Check is set to yes.
Upper Threshold ([todo internal name (i)]) <float>
Flung object must be within this percentage value in order to activate fling. Specify a value between [0...1] (default is .30) This is only used if Use Threshold Check is set to yes.
Launch direction ([todo internal name (i)]) <angle>
Direction to launch the player in.
Launch target ([todo internal name (i)]) <targetname>
Entity to try to 'hit' when we're launched.
Only check velocity ([todo internal name (i)]) <boolean>
Only check velocity of the touching object - don't actually catapult it. Use in conjunction with OnCatapulted to create velocity checking triggers. Only works when Use Threshhold Check is enabled.
Apply angular impulse ([todo internal name (i)]) <boolean>
If a random angular impulse should be applied to physics objects being catapulted.
Air Control SupressionTime ([todo internal name (i)]) <float>
[Launch by target only!]If greater than zero, supress player aircontrol for this number (in seconds). If less than zero use the default (quarter second).

Flags

BaseTrigger
Everything (not including physics debris) : [64]
Clients (Survivors, Special Infected, Tanks Left 4 Dead seriesLeft 4 Dead series) : [1]
Only clients in vehicles : [32]
Only clients *not* in vehicles : [512]
Disallow Bots (removed since Left 4 Dead) : [4096]
NPCs (Common Infected, Witches Left 4 Dead seriesLeft 4 Dead series) : [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] Obsolete
Deprecated.
Equivalent to using Everything + filter_activator_class that filters func_pushable.

Inputs

BaseTrigger
Toggle
Toggles this trigger between enabled and disabled states.
Enable
Enable trigger
Disable
Disable trigger
TouchTest  (in all games since Source 2007)
Triggers either the OnTouching or OnNotTouching outputs for whether anything is touching this entity.
Icon-Bug.pngBug:Sleeping prop_physics will never fire "OnTouching". Also applies to entities using prop_physics as base.  (tested in: Half-Life 2)
StartTouch  (in all games since Source 2007) !FGD
Behave as if the !caller entity had just entered the trigger volume. Accepts non-physical entities.
EndTouch  (in all games since Source 2007) !FGD
Behave as if !caller had just exited the trigger volume.
DisableAndEndTouch  (only in Source 2013 MultiplayerTeam Fortress 2 branch)
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.pngNote:Will also fire for entities touching it when trigger is disabled via Disable input
Warning.pngWarning:This includes entities which are deleted while inside the trigger. In this case !activator will be invalid.
Warning.pngWarning:OnEndTouch can fire before OnStartTouch under certain circumstances[How?] where both are fired on the same tick and each have the same delay.
Note.pngFix: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 Source 2007)
!activator = !caller = this entity
Fired if something is currently touching this trigger when TouchTest is fired.
OnNotTouching  (in all games since Source 2007)
!activator = !caller = this entity
Fired if nothing is currently touching this trigger when TouchTest is fired.
OnCatapulted
The object has been launched.