Point hurt: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
(-added see also, better internal name formatting, removed less relevant stuff)
Line 8: Line 8:


== Keyvalues ==
== Keyvalues ==
{{KV|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.}}
{{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. [[!activator]] accepted.}}
{{KV|Radius (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.}}
{{KV|Damage (Damage)|integer|Damage done to all affected entities each time this entity fires.}}
{{KV|Damage|intn=Damage|integer|Damage done to all affected entities each time this entity fires.}}
{{note|The specified amount of damage will be halved. Consider multiplying your amount of damage by 2 and using it as the Value.}}
{{note|The specified amount of damage will be halved. Consider multiplying your amount of damage by 2 and using it as the Value.}}
{{note|{{csgo}} 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.}}
{{note|{{csgo}} 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|Negative values are changed to positive automatically when this entity spawns. A workaround is to change the <code>Damage</code> keyvalue using [[AddOutput]]. Only tested in {{tf2}}, might not do anything in other games.}}
{{warning|Negative values are changed to positive automatically when this entity spawns. A workaround is to change the <code>Damage</code> keyvalue using [[AddOutput]]. Only tested in {{tf2}}, might not do anything in other games.}}
{{KV|Delay (DamageDelay)|float|Delay between refires, in seconds.}}
{{KV|Delay|intn=DamageDelay|float|Delay between refires, in seconds.}}
{{KV|[[Damage types|Damage Type (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 Targetname}}
{{KV Targetname}}
Line 25: Line 25:
{{IO|TurnOff|Disable this entity. It will stop damaging entities.}}
{{IO|TurnOff|Disable this entity. It will stop damaging entities.}}
{{IO|Toggle|Toggle this entity between On/Off state.}}
{{IO|Toggle|Toggle this entity between On/Off state.}}
{{I Targetname}}
{{I Parentname}}
{{I Parentname}}


== Outputs ==
== See Also ==
{{O Targetname}}
* [[trigger_hurt]]

Revision as of 15:32, 6 October 2022

Point hurt.png

Template:Base point 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.
C++ In code, it is represented by theCPointHurtclass, defined in thepointhurt.cppfile.

Keyvalues

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.
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:Negative values are changed to positive automatically when this entity spawns. A workaround is to change the Damage keyvalue using AddOutput. Only tested in Team Fortress 2, might not do anything in other games.
Delay (DamageDelay) <float>
Delay between refires, in seconds.
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.


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

Parentname:
Parent (parentname) <targetname>
Specifies a movement parent. An entity will maintain its initial offset from its parent. An attachment point can be added to the end of the name, separated by a comma.

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.
Parentname:
SetParent <stringRedirectInput/string>
Move with this entity. See Entity Hierarchy (parenting).
SetParentAttachment <stringRedirectInput/string>
Change this entity to attach to a specific attachment point on its parent. The entity will teleport so that the position of its root bone matches that of the attachment. Entities must be parented before being sent this input.
SetParentAttachmentMaintainOffset <stringRedirectInput/string>
As above, but without teleporting. The entity retains its position relative to the attachment at the time of the input being received.
ClearParent
Removes this entity from the the movement hierarchy, leaving it free to move independently.

See Also