This article's documentation is for anything that uses the Source engine. Click here for more information.

Point hurt: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Include notes about Delay and Radius <= 0 behavior)
mNo edit summary
 
(9 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{lang|Point hurt}}
{{LanguageBar}}
[[File:point_hurt.png|left]]
{{CD|CPointHurt|file1=pointhurt.cpp}}
{{This is a|point entity|sprite=1|name=point_hurt}} It does damage to all entities in a radius around itself, with a specified delay. If 'Target Entity' is specified: the damage is only done to that entity, and radius is ignored. You will need to create a brush and then move that to an entity.


{{point ent|point_hurt}} It does damage to all entities in a radius around itself, with a specified delay. If 'Target Entity' is specified: the damage is only done to that entity, and radius is ignored. You will need to create a brush and then move that to an entity.
{{clr}}
{{note|This entity can be parented, although by default it is missing the <code>parent</code> keyvalue from Valve's FGDs.}}
{{note|This entity can be parented, although by default it is missing the <code>parent</code> keyvalue from Valve's FGDs.}}
{{Note|Victims of this entity will see it as the Inflictor and will see the {{ent|!activator}} as the Attacker.}}
{{note|Victims of this entity will see it as the Inflictor and will see the {{ent|!activator}} as the Attacker.}}
{{code class|CPointHurt|pointhurt.cpp}}
 
==Flags==
{{Fl|1|Start Active|nofgd=1}}
{{Fl|2|Bypass ÜberCharge|Allows the damage to bypass Medic's {{tfwiki|ÜberCharge}}.|nofgd=1|only={{tf2}}}}


== Keyvalues ==
== Keyvalues ==
{{KV Targetname}}
{{KV|Target Entity|intn=DamageTarget|string|If specified, only this ''DamageTarget'' will take damage. Otherwise, all entities within the Radius will take damage. Evaluated when used. {{ent|!activator}} accepted.}}
{{KV|Target Entity|intn=DamageTarget|string|If specified, only this ''DamageTarget'' will take damage. Otherwise, all entities within the Radius will take damage. Evaluated when used. {{ent|!activator}} accepted.}}
{{KV|Radius|intn=DamageRadius|float|All entities within this radius of this entity will take damage. If a <code>Target Entity</code> is specified, only that entity will take damage.}}
{{KV|Radius|intn=DamageRadius|float|All entities within this radius of this entity will take damage. If a <code>Target Entity</code> is specified, only that entity will take damage.}}
Line 20: Line 23:
{{KV|[[Damage types]]|intn=DamageType|choices|Type of damage to inflict on entities damaged.}}
{{KV|[[Damage types]]|intn=DamageType|choices|Type of damage to inflict on entities damaged.}}
{{damage type}}
{{damage type}}
{{KV BaseEntity|noscroll=0}}
==Flags==
{{Fl|1|Start Active}}
{{Fl|2|Bypass ÜberCharge|Allows the damage to bypass Medic's {{tfwiki|ÜberCharge}}.|nofgd=1|only={{tf2}}}}


== Inputs ==
== Inputs ==
{{IO|Hurt|Force a single fire, damaging either the Target Entity or all entities within the radius.}}
{{I|Hurt|Force a single fire, damaging either the Target Entity or all entities within the radius.}}
{{IO|TurnOn|Enable this entity. It will start damaging entities everytime it fires, and refire based upon the specified Delay.}}
{{I|TurnOn|Enable this entity. It will start damaging entities everytime it fires, and refire based upon the specified Delay.}}
{{IO|TurnOff|Disable this entity. It will stop damaging entities.}}
{{I|TurnOff|Disable this entity. It will stop damaging entities.}}
{{IO|Toggle|Toggle this entity between On/Off state.}}
{{I|Toggle|Toggle this entity between On/Off state.}}
{{I BaseEntity|noscroll=0}}
 
==Outputs==
{{O BaseEntity|l4d=1}}


== See Also ==
== See also ==
* {{ent|trigger_hurt}}
* {{ent|trigger_hurt}}

Latest revision as of 19:04, 14 April 2025

English (en)Translate (Translate)
C++ Class hierarchy
CPointHurt
CPointEntity
CBaseEntity
C++ pointhurt.cpp
Point hurt.png

point_hurt is a point entity available in all Source Source games. It does damage to all entities in a radius around itself, with a specified delay. If 'Target Entity' is specified: the damage is only done to that entity, and radius is ignored. You will need to create a brush and then move that to an entity.

Note.pngNote:This entity can be parented, although by default it is missing the parent keyvalue from Valve's FGDs.
Note.pngNote:Victims of this entity will see it as the Inflictor and will see the !activator as the Attacker.

Flags

Start Active : [1] !FGD
Bypass ÜberCharge : [2] (only in Team Fortress 2) !FGD
Allows the damage to bypass Medic's Tfwiki favicon.png ÜberCharge.

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.
See also:  Generic Keyvalues, Inputs and Outputs available to all entities

Target Entity (DamageTarget) <string>
If specified, only this DamageTarget will take damage. Otherwise, all entities within the Radius will take damage. Evaluated when used. !activator accepted.
Radius (DamageRadius) <float>
All entities within this radius of this entity will take damage. If a Target Entity is specified, only that entity will take damage.
Warning.pngWarning:Radius values ≤ 0 are changed to 128 automatically when this entity spawns.
Damage (Damage) <integer>
Damage done to all affected entities each time this entity fires.
Note.pngNote:The specified amount of damage will be halved. Consider multiplying your amount of damage by 2 and using it as the Value.
Note.pngNote:Counter-Strike: Global Offensive It is possible that unlike trigger_hurt, point_hurt does not halve the damage for the reason of the damage being the damage per second, as you can manually edit the amount of time between triggers. Damage type CRUSH should ignore armor, and GENERIC is known to halve when dealing with armored players.
Warning.pngWarning:Damage values ≤ 0 are changed to +2 automatically when this entity spawns.
A workaround might be to change it later using AddOutput. (in Team Fortress 2) But there are also games where negative Damage values of this entity result in no damage anyway. (in Counter-Strike: Global Offensive)
Delay (DamageDelay) <float>
Delay between refires, in seconds.
Warning.pngWarning:Delay values ≤ 0 are changed to 0.1 automatically when this entity spawns.
Damage types (DamageType) <choices>
Type of damage to inflict on entities damaged.
  • 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.


Inputs

Hurt
Force a single fire, damaging either the Target Entity or all entities within the radius.
TurnOn
Enable this entity. It will start damaging entities everytime it fires, and refire based upon the specified Delay.
TurnOff
Disable this entity. It will stop damaging entities.
Toggle
Toggle this entity between On/Off state.

See also