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

Env physexplosion: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
m (Substituted IO templates)
 
(47 intermediate revisions by 23 users not shown)
Line 1: Line 1:
{{stub}}
{{LanguageBar}}
{{CD|CPhysExplosion|file1=physobj.cpp}}
{{this is a|point entity|name=env_physexplosion|sprite=1}}
It applies a physical force to physics objects within its radius, anything from a gentle nudge to a big explosion, depending on its magnitude. The explosion itself is not visible; for visible explosions, use {{ent|env_explosion}}.
{{toc-right}}
{{tip|Use this at a low force on hanging objects like lights or bodies to make them sway.}}


env_physexplosion
==Flags==
{{fl|1|No Damage|Only Force (Players are not ever damaged by the explosion (regardless of this flag), only objects.)}}
{{fl|2|Push players|}}
{{fl|4|Push radially|not as a sphere (Radially meaning as a circle/cylinder. No upward or downward force will be generated.)}}
{{fl|8|Test [[LOS]] before pushing|}}
{{fl|16|Disorient player if pushed|}}


Source(core) Point Entity: An entity that creates an explosion at it's origin. If the no-damage spawnflag is set, the explosion won't be visible, but will apply force to any physics objects within it's radius.
==Keyvalues==
{{KV Targetname}}
{{KV|Magnitude|intn=magnitude|string|Amount of physics force applied by the explosion.
:{{note|The magnitude value is clamped between 1 and 100. If you require a bigger explosion than this, create multiple instances of the entity.}}}}
{{KV|Clamp Radius (0 {{=}} auto)|intn=radius|string|If specified, the radius in which the explosion damages entities. If unspecified, the radius will be based on the magnitude.}}
{{KV|Limit to Entity|intn=targetentityname|target_destination|If specified, the explosion will only affect the matching entity.}}
{{KV|Inner radius|intn=inner_radius|float|If not zero, the [[LOS]] is calculated from a point intersecting this sphere.}}


Properties
==Inputs==
{{I|Explode|Trigger the explosion.}}
{{I|ExplodeAndRemove|since=p2|Trigger the explosion, then remove the entity.}}


    * Name - targetname(target_source)
==Outputs==
The name that other entities refer to this entity by.
{{O|OnPushedPlayer|Fires when the player is pushed by the explosion.}}
    * Parent - parentname(target_destination)
The name of this entity's parent in the movement hierarchy. Entities with parents move with their parent.
    * Magnitude - magnitude(string) - default: 100
Amount of physics force applied by the explosion.  
    * Clamp radius (0 = auto) radius(string) - default: 0
If specified, the radius in which the explosion damages entities. If unspecified, the radius will be based on the magnitude.
    * Limit to Entity - targetentityname(target_destination)
If specified, the explosion will only affect the matching entity.


Flag
[[Category:Physics]]
 
    * NO Damage - Only Force - default: ON
 
Input
 
    * Kill - Removes this entity from the world.
    * KillHierarchy - Removes this entity and all its children from the world.
    * ADD output - Adds an entity I/O connection to this entity. Format
    * FireUser1 - triggers the output OnUser1.
    * FireUser2 - triggers the output OnUser2.
    * FireUser3 - triggers the output OnUser3.
    * FireUser4 - triggers the output OnUser4.
    * SetParent - Changes the entity's parent in the movement hierarchy.
    * SetParentAttachment - Change this entity to attach to a specific attachment point on it's parent. Entities must be parented before being sent this input. The parameter passed in should be the name of the attachment.
    * ClearParent - Removes this entity from the the movement hierarchy, leaving it free to move independently.
    * Explode - Trigger the explosion.
 
Output
 
    * OnUser1 - Fired in response to FireUser1 input.
    * OnUser2 - Fired in response to FireUser2 input.
    * OnUser3 - Fired in response to FireUser3 input.
    * OnUser4 - Fired in response to FireUser4 input.
 
Remarks
 
None.
[[Category:Entities]]

Latest revision as of 21:43, 19 April 2025

English (en)中文 (zh)Translate (Translate)
C++ Class hierarchy
CPhysExplosion
CPointEntity
CBaseEntity
C++ physobj.cpp
Env physexplosion.png

env_physexplosion is a point entity available in all Source Source games.

It applies a physical force to physics objects within its radius, anything from a gentle nudge to a big explosion, depending on its magnitude. The explosion itself is not visible; for visible explosions, use env_explosion.

Tip.pngTip:Use this at a low force on hanging objects like lights or bodies to make them sway.

Flags

No Damage : [1]
Only Force (Players are not ever damaged by the explosion (regardless of this flag), only objects.)
Push players : [2]
Push radially : [4]
not as a sphere (Radially meaning as a circle/cylinder. No upward or downward force will be generated.)
Test LOS before pushing : [8]
Disorient player if pushed : [16]

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

Magnitude (magnitude) <string>
Amount of physics force applied by the explosion.
Note.pngNote:The magnitude value is clamped between 1 and 100. If you require a bigger explosion than this, create multiple instances of the entity.
Clamp Radius (0 = auto) (radius) <string>
If specified, the radius in which the explosion damages entities. If unspecified, the radius will be based on the magnitude.
Limit to Entity (targetentityname) <targetname>
If specified, the explosion will only affect the matching entity.
Inner radius (inner_radius) <float>
If not zero, the LOS is calculated from a point intersecting this sphere.

Inputs

Explode
Trigger the explosion.
ExplodeAndRemove  (in all games since Portal 2)
Trigger the explosion, then remove the entity.

Outputs

OnPushedPlayer
Fires when the player is pushed by the explosion.