Trigger hurt: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
m (swapped templates for modern counterparts)
Line 3: Line 3:


See [[damage types]] for a list on how different damage types will affect the [[player]].
See [[damage types]] for a list on how different damage types will affect the [[player]].
{{note|Some damage types like '''Generic''' only deal 50% damage, others like '''Fall''' deal 100% damage. This might differ in various games.}}
{{ModernNote|Some damage types like '''Generic''' only deal 50% damage, others like '''Fall''' deal 100% damage. This might differ in various games.}}
{{Warning|In its enabled state the entity marks all [[Navigation Meshes|navigation mesh areas]] in its [[AABB]] or atmost 72 units below or atmost 16 units to the sides as damaging even if the <code>damage</code> is negative. Damaging areas are marked with a dark blue rectangle and [[bot]]s (in {{l4ds}} only survivor bots) will try to avoid them.}}
{{ModernWarning|In its enabled state the entity marks all [[Navigation Meshes|navigation mesh areas]] in its [[AABB]] or atmost 72 units below or atmost 16 units to the sides as damaging even if the <code>damage</code> is negative. Damaging areas are marked with a dark blue rectangle and [[bot]]s (in {{l4ds}} only survivor bots) will try to avoid them.}}
<onlyinclude>
<onlyinclude>
==Keyvalues==
==Keyvalues==

Revision as of 08:06, 21 April 2023

C++ Class hierarchy
CTriggerHurt
CBaseTrigger
CBaseToggle
CBaseEntity
C++ triggers.cpp

Template:Entity It is a trigger volume that damages entities that touch it.

See damage types for a list on how different damage types will affect the player. Template:ModernNote Template:ModernWarning

Keyvalues

Master (Obsolete) (master) <string> Obsolete
Deprecated.
Legacy support: The name of a master entity. If the master hasn't been activated, this entity will not activate.
Damage (damage) <integer>
The amount of damage done to entities that touch this trigger. The damage is done every half-second. See also Damage Model for extra details on how damage can be dealt. Use negative value to heal.
Damage Cap (damagecap) <integer>
Maximum damage dealt per second. This field is only used if you select the Doubling w/Forgiveness damage model, via the spawnflag.
Damage Type (damagetype) <choices>
Literal values can be added together to stack effects
  • 0: GENERIC
  • 1: CRUSH
  • 2: BULLET
  • 4: SLASH
  • 8: BURN
  • 16: VEHICLE / (TRAIN Team Fortress 2)
  • 32: FALL
  • 64: BLAST
  • 128: CLUB
  • 256: SHOCK (Spawns particle with missing texture in Left 4 Dead 2)
  • 512: SONIC
  • 1024: ENERGYBEAM
  • 16384: DROWN
  • 32768: PARALYSE
  • 65536: NERVEGAS / (SAWBLADE Team Fortress 2)
  • 131072: POISON
  • 262144: RADIATION
  • 524288: DROWNRECOVER
  • 1048576: ACID / (CRITICAL Team Fortress 2)
  • 2097152: SLOWBURN
  • 4194304: REMOVENORAGDOLL
  • 16777216: FULLGIB (in Left 4 Dead seriesLeft 4 Dead series)
Note.pngNote:Some damage types are named incorrectly by default in base.fgd, instead using their GoldSource names.
  • VEHICLE is named FREEZE
  • ACID is named CHEMICAL
  • REMOVENORAGDOLL is named SLOWFREEZE
Tip.pngTip:Team Fortress 2 Team Fortress 2: Fancy damage effects such as decapitation, disintegration or ice/gold statues on death can be applied via VScript. See TakeDamageCustom function or the trigger example.


Damage Model (damagemodel) <choices>
How damage is dealt. Normal always does the specified amount of damage each half second. Doubling starts with the specified amount and doubles it each time it hurts the toucher. Forgiveness means that if the toucher gets out of the trigger the damage will reset to the specified value. Good for making triggers that are deadly over time without having to cause massive damage on each touch.
  • 0 : Normal
  • 1 : Doubling w/forgiveness
Zero Damage Force (nodmgforce) <boolean>
Should the damaged entity receive no physics force from this trigger.
Filter Name (filtername) <filter>
Name of filter entity to test against activators.
Start Disabled (StartDisabled) <boolean>
Stay dormant until activated (with theEnableinput).
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.
See also:  Generic Keyvalues, Inputs and Outputs available to all entities

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

SetDamage <floatRedirectInput/float>
Set a new amount of damage for this trigger.
Toggle:
Toggle
Toggle the enabled/disabled status of this entity.

EnableDisable:

Enable / Disable
Enable/disable this entity from performing its task. It might also disappear from view.

Outputs

OnHurt
Fired whenever this trigger hurts something other than a player.
OnHurtPlayer
Fired whenever this trigger hurts a player.