trigger_portal_cleanser
trigger_portal_cleanser
is a brush entity available in the Portal games. It removes objects and portals when the player touches it. It is used to create the "Material Emancipation Grid" / "Fizzler" particle-field in Portal.
Bug:(in Portal), the player's T-posed corpse is visibly dissolved when dying inside this entity. In versions of Source prior to Source 2013, this would crash the game.
Bug:Portal shot blocking is based on the entity's bounding box, causing diagonal or concave cleansers to block portal shots in cases where they seemingly shouldn't. Portal and object fizzling works as expected.
Bug:(in Portal), any
prop_physics
entity that has an alternate body group active will have it reset to the default one when fizzled by this entity.Tip:To directly apply the dissolve effect to a specific entity, use
env_entity_dissolver
, or for cubes fire the Dissolve
input.Tip:Portal placement is only affected when the "Clients" flag is enabled, so remove the flag to dissolve entities without affecting portal placement.
Note:Entities being dissolved by
env_entity_dissolver
or trigger_physics_trap
don't have their gravity disabled, unlike entities dissolved by trigger_portal_cleanser.Contents
Keyvalues
- Visible <boolean> (in all games since )
- If the fizzler is visible. This also controls if the sound effects are played when powered on and off.
- Use Scanline <boolean> (in all games since )
- If the field uses a scanline. This only works correctly for vertical fields aligned to an axis.
Reflection:
- Render in Fast Reflections
(drawinfastreflection)
<boolean> (in all games since ) - If enabled, this entity will render in fast water reflections (i.e. when a water material specifies
$reflectonlymarkedentities
) and in the world impostor pass.
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
BaseTrigger:
- [
4
] : func_pushable
- [
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)
- [
4096
] : Disallow Bots
Inputs
Reflection:
DisableDrawInFastReflection
(in all games since )- Turns off rendering of this entity in reflections when using
$reflectonlymarkedentities
in water material.
EnableDrawInFastReflection
(in all games since )- Turn on rendering of this entity in reflections when using
$reflectonlymarkedentities
in water material.
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.
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.
Outputs
OnDissolve
- Fired whenever an entity is dissolved by the trigger.
OnDissolveBox
- Fired whenever an entity named
box
is dissolved by the trigger.
OnFizzle
- Fired whenever portals are fizzled by the trigger.
OnPrimaryHit
(only in )- Fired whenever the trigger has been hit by a primary shot from
weapon_portalgun
.
OnSecondaryHit
(only in )- Fired whenever the trigger has been hit by a secondary shot from
weapon_portalgun
.
BaseTrigger:
OnStartTouch
- Fired when a valid entity starts touching this trigger.
!activator
is whatever touches the trigger.
OnStartTouchAll
- 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
- Fired when a valid entity stops touching this trigger.
Warning:This includes entities which are deleted while inside the trigger. In this case !activator will be invalid.
OnEndTouchAll
- Fired when all valid entities stop touching this trigger.
OnTouching
(in all games since )- Fired if something is currently touching this trigger when
TouchTest
is fired.
OnNotTouching
(in all games since )- Fired if nothing is currently touching this trigger when
TouchTest
is fired.