Faith Plate

Faith plates or catapults are jump pads in . They can fling objects like turrets, cubes, and players.
==Creation==
There are several instances; however, the will need to be added manually. Set its output to trigger the instance, which includes both the sound and the animation.
*gameplay\faithplate_black.vmf
*gameplay\faithplate_black_impostor.vmf
*gameplay\faithplate_clean.vmf
*gameplay\faithplate_dirty.vmf
*gameplay\faithplate_dirty_impostor.vmf
==Manual Creation==
1) Make a :
::
Property Name 	Value
World Model 	"models/props/faith_plate.mdl" or "models/props/faith_plate_128.mdl"
Name 	"catapult_model_1" (you can change it, but dont forget to change it in all inputs.)
Collision 	Not Solid
Disable Shadows	Yes
2) Make an 
::
Property Name	Value
Name 	catapult_target_1
*The catapult will launch you onto that target.
3) Make a with trigger texture:
::
Property Name 	Value
Name 	catapult_trigger_1
Launch Direction 	"-90 0 0" If you want to fly up
Player speed 	Try random for your length of pit, 750 is better
Physics speed 	This for flinging props. I have +150 to Player speed (900).
Apply Angular impulse	True
Launch target 	catapult_target_1
Use Threshold Check 	Set to NO for Faith Plate model.
::
	My Output 	Target Entity 	Target Input	Parameter 	Delay	Only Once
	OnCatapulted	catapult_model_1	SetAnimation	(angled, fast or straightup)	0.00 	No
4) Make an :
::
Property Name 	Value
Name 	catapult_sound_1
Sound Name 	World.CatapultLaunch
SourceEntityName	catapult_model_1 (the name of the Faith Plate model)
::
Flags 	Value
Is NOT Looped	Yes
Start Silent 	Yes
To make the sound work, you must go back to your trigger_catapult and create a new output: Oncatapulted, sound entity name, playsound.
5) Make a block with the tools/toolsinvisible texture in space under faith plate model, so that the player and objects don't fall through.
6) Also, don't forget to add an to the portalable surface at the end of your trajectory—it's easier to fly through.
==Debugging==
As heard in the developer commentary, Valve used visual trajectories to help debug and tweak the faith plates.
In the developer console, type ent_bbox trigger_catapult. You will now see a visual representation of the trajectories of every trigger_catapult in the map. If you want to just see a single trajectory, type ent_bbox <name of your catapult entity>, but you must type "developer 1" first.
If your trigger_catapult is using exact velocity you can change player and physics velocity in game.
* "ent_fire <name of catapult entity> setplayerspeed <speed>"
* "ent_fire <name of catapult entity> setphysicspeed <speed>"
The visual trajectories will update automatically.
==Tips==
You can also use the anywhere you expect the player to land for greater control. For example, you may place a portal on a wall angled upwards and fling out of that.
To make sure the catapult doesn't fling you when you just walk into it, set the thresholds. In the settings:
::
Property Name 	Value
Lower threshold 	This is a percentage, 0 to 1, of the player speed you set.
Upper threshold 	Same as above but for the upper limit.
UseThresholdCheck	'YES' to use threshold, 'NO' to always catapult.
However, the threshold settings are a little difficult to handle:
First off, contrary to common understanding, the thresholds do not represent percentages of the player speed in a conventional understanding. Lower threshold is a percentage value that is deducted from the player speed as set in the trigger_catapult settings while the upper threshold percentage is added to the player speed. For example, say you set the catapult to fling the player at 500 units/second. A lower threshold of 0.1 means the player must travel at least at 90%, i.e., 100% minus 10%, of that: 450 units/second. An upper threshold of 0.5 means the player must not travel faster than 150%, i.e., 100% plus 50%, of that: 750 units/second. As long as the player speed is between these limits the will catapult the player/object. In consequence, the thresholds only work one way: the lower the thresholds are set, the more the player speed has to match the catapulting speed.
Unfortunately, there's more to consider: if there is a target specified for the , the player speed will be adjusted to reach that target, thus making it impossible to know the exact speed the player will have to be catapulted at. Even if Use Exact Velocity is set to yes, there will probably be variances to the player speed. Therefore, catapulting thresholds should cover a somewhat bigger spectrum of possible speeds.
Yet all this can be more or less easily tested: for debugging purposes, programmers added the ent_bbox console command for a graphic display of catapult trajectories in-game. Fortunately, this command will also state current player speed and actual thresholds (in units/second) when the player/an object enters the . Please note that a trigger_catapult must have a target specified in order for this to work.
==See also==
* Portal 2 Level Creation
Category:Portal 2 Level DesignCategory:Portal 2 Tutorials