Env fire: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (updated templates used.)
Line 1: Line 1:
{{lang|Env fire}}
{{lang|Env fire}}
[[File:env_fire.jpg|thumb|400px|right|Example of <code>env_fire</code>.]]
[[File:env_fire.jpg|thumb|400px|right|Example of <code>env_fire</code>.]]
[[File:env_fire.png|left|link=]]{{base point|env_fire}} It handles a single flame ({{ent|_firesmoke}}) at its [[origin]]. The flame causes heat "damage" to other <code>env_fire</code> entities around it, and will eventually ignite them, causing the fire to spread.
[[File:env_fire.png|left|link=]]{{point ent|env_fire}} It handles a single flame ({{ent|_firesmoke}}) at its [[origin]]. The flame causes heat "damage" to other <code>env_fire</code> entities around it and will eventually ignite them, causing the fire to spread.
 
{{note|The fire may fall through the world on spawn if placed exactly at ground level. Place it a little bit above the ground to fix this.}}
{{note|The fire may fall through the world on spawn if placed exactly at ground level. Place it a little bit above the ground to fix this.}}
 
{{bug|This entity doesn't work in {{Portal|2}}. Please see [[Portal:Env Fire fix]] for more details}}
{{bug|This entity doesn't work in [[Portal]]. Please see [[Portal:Env Fire fix]] for more details}}
{{bug|While still available, it does not have particle effects in {{tf2|2}}. [[TF2/Creating_fire|This method]] is recommended instead.}}
 
{{bug|While still available, it does not have particle effects in [[Team Fortress 2]]. [[TF2/Creating_fire|This method]] is recommended instead.}}


{{code class|CFire|fire.cpp}}
{{code class|CFire|fire.cpp}}
Line 24: Line 21:
{{varcom|fire_dmginterval|1.0|Seconds|Once a fire has damaged something, it will wait this long before it can damage anything again.}}
{{varcom|fire_dmginterval|1.0|Seconds|Once a fire has damaged something, it will wait this long before it can damage anything again.}}
{{varcom|end}}
{{varcom|end}}
==Flags==
*1: Infinite Duration
{{note|In Alien Swarm, an <code>env_fire</code> cannot be extinguished with the fire extinguisher unless ''Infinite Duration'' is set.}}
*2: Smokeless
*4: Start On
*8: Start Full
*16: Don't drop
*32: No glow
*128: Delete when out
*256: Visible from above
*256: No sound {{AS add}}
*512: No ignite sound {{AS add}}
*1024: No fueling once lit {{AS add}}
*2048: Fast burn think {{AS add}}


==Keyvalues==
==Keyvalues==
{{KV|Duration (health)|integer|Amount of time the fire will burn.}}
{{KV|Duration|intn=health|integer|Amount of time the fire will burn.}}
{{KV|Size (firesize)|integer|Height (in world units) of the flame.}}
{{KV|Size|intn=firesize|integer|Height (in world units) of the flame.}}
{{KV|Attack (fireattack)|integer|Amount of time the fire takes to grow to full strength.}}
{{KV|Attack|intn=fireattack|integer|Amount of time the fire takes to grow to full strength.}}
{{KV|Type (firetype)|choices|Either Natural or Plasma. Natural is a general all purpose flame, like a wood fire.
{{KV|Type|intn=firetype|choices|Either Natural or Plasma. Natural is a general all purpose flame, like a wood fire.
:*0: Natural
:*0: Natural
:*1: Plasma (Effects for this type do not exist!)}}
:*1: Plasma {{warning|Effects for this type do not exist!}}}}
{{KV|Ignition Point (ignitionpoint)|float|Amount of heat 'damage' to take before this flame should ignite.}}
{{KV|Ignition Point|intn=ignitionpoint|float|Amount of heat 'damage' to take before this flame should ignite.}}
{{KV|Damage Scale (damagescale)|float|Multiplier of the burn damage done by the flame.}}
{{KV|Damage Scale|intn=damagescale|float|Multiplier of the burn damage done by the flame.}}
{{KV|Light Color (LightColor)|since=AS|color255|Color of dynamic light for this fire.}}
{{KV|Light Color|intn=LightColor|since=AS|color255|Color of dynamic light for this fire.}}
{{KV|Light Radius Scale (LightRadiusScale)|since=AS|float|Multiplier for the glow radius.}}
{{KV|Light Radius Scale|intn=LightRadiusScale|since=AS|float|Multiplier for the glow radius.}}
{{KV|Light Brightness (LightBrightness)|since=AS|integer|Integer exponent for the glow brightness.}}
{{KV|Light Brightness|intn=LightBrightness|since=AS|integer|Integer exponent for the glow brightness.}}
{{KV|Loop sound (LoopSound)|since=AS|sound|Looping sound to play while this fire is burning.}}
{{KV|Loop sound|intn=LoopSound|since=AS|sound|Looping sound to play while this fire is burning.}}
{{KV|Ignite sound (IgniteSound)|since=AS|sound|One shot sound to play when the fire starts.}}
{{KV|Ignite sound|intn=IgniteSound|since=AS|sound|One shot sound to play when the fire starts.}}
{{KV|Start Disabled (StartDisabled)|boolean|Stay dormant until activated.}}
{{KV|Start Disabled|intn=StartDisabled|boolean|Stay dormant until activated.}}
{{note|Unless you also checked the "Start On" flag, env_fire will not automatically ignite even if you set this keyvalue to No. Likewise, env_fire will still ignite if you have the "Start On" flag checked, even if this key value is set to Yes}}
{{note|Unless you also checked the "Start On" flag, <code>env_fire</code> will not automatically ignite even if you set this keyvalue to No. Likewise, <code>env_fire</code> will still ignite if you have the "Start On" flag checked, even if this key value is set to Yes.}}
{{KV BaseEntity|css=1}}
{{KV BaseEntity}}
 
==Flags==
{{fl|1|Infinite Duration}}{{note|In Alien Swarm, an <code>env_fire</code> cannot be extinguished with the fire extinguisher unless ''Infinite Duration'' is set.}}
{{fl|2|Smokeless}}
{{fl|4|Start On}}
{{fl|8|Start Full}}{{how|as in, start out ready to ignite as soon as it's damaged?}}
{{fl|16|Don't drop}}
{{fl|32|No glow}}
{{fl|128|Delete when out}}
{{fl|256|Visible from above|removed={{AS}}}}
{{fl|256|No sound|since=AS}}
{{fl|512|No ignite sound|since=AS}}
{{fl|1024|No fueling once lit|since=AS}}
{{fl|2048|Fast burn think|since=AS}}


==Inputs==
==Inputs==
Line 63: Line 59:
{{IO|ExtinguishTemporary|param=float|Puts out the fire temporarily in the number of seconds specified.}}
{{IO|ExtinguishTemporary|param=float|Puts out the fire temporarily in the number of seconds specified.}}
{{I EnableDisable}}
{{I EnableDisable}}
{{I BaseEntity|prel4d=1}}
{{I BaseEntity}}


==Outputs==
==Outputs==

Revision as of 14:27, 4 May 2022

English (en)中文 (zh)Translate (Translate)
Example of env_fire.
Env fire.png

Template:Point ent It handles a single flame (_firesmoke) at its origin. The flame causes heat "damage" to other env_fire entities around it and will eventually ignite them, causing the fire to spread.

Note.pngNote:The fire may fall through the world on spawn if placed exactly at ground level. Place it a little bit above the ground to fix this.
Icon-Bug.pngBug:This entity doesn't work in Portal Portal. Please see Portal:Env Fire fix for more details  [todo tested in ?]
Icon-Bug.pngBug:While still available, it does not have particle effects in Team Fortress 2 Team Fortress 2. This method is recommended instead.  [todo tested in ?]
C++ In code, it is represented by theCFireclass, defined in thefire.cppfile.

ConVars/Commands

Cvar/Command Parameters or default value Descriptor Effect
fire_maxabsorb 50 Arbitrary number (float) Upper limit for how much heat "damage" a fire can take before the damage begins to force the flame to grow. Heat is usually absorbed from other env_fires.
fire_absorbrate 3 Multiplier (float) Scalar for how fast fires can absorb heat.
fire_extscale 12 Multiplier (float) Effectively only a scalar for the Strength of an env_extinguisherjet.
fire_extabsorb 5 Multiplier (float)
Todo: Effect description.
fire_heatscale 1.0 Multiplier (float) Scalar for how much damage a fire can do (both to fires and other objects such as the player).
fire_incomingheatscale 0.1 Multiplier (float) Scalar for how much heat a fire can take from other fires if it is already ignited.
fire_dmgscale 0.1 Multiplier (float)
Todo: Effect description.
fire_dmgbase 1 Health Amount Base damage that a fire does to objects such as the player. This amount multiplies depending on the user's difficulty setting:
  • Easy: x1
  • Normal: x2
  • Hard: x3
fire_growthrate 1.0 Multiplier (float) Scalar for how much heat a fire can passively add to itself at once. Thinking interval is 0.1 seconds.
fire_dmginterval 1.0 Seconds Once a fire has damaged something, it will wait this long before it can damage anything again.

Keyvalues

Duration (health) <integer>
Amount of time the fire will burn.
Size (firesize) <integer>
Height (in world units) of the flame.
Attack (fireattack) <integer>
Amount of time the fire takes to grow to full strength.
Type (firetype) <choices>
Either Natural or Plasma. Natural is a general all purpose flame, like a wood fire.
  • 0: Natural
  • 1: Plasma
    Warning.pngWarning:Effects for this type do not exist!
Ignition Point (ignitionpoint) <float>
Amount of heat 'damage' to take before this flame should ignite.
Damage Scale (damagescale) <float>
Multiplier of the burn damage done by the flame.
Light Color (LightColor) <color255> (in all games since Alien Swarm)
Color of dynamic light for this fire.
Light Radius Scale (LightRadiusScale) <float> (in all games since Alien Swarm)
Multiplier for the glow radius.
Light Brightness (LightBrightness) <integer> (in all games since Alien Swarm)
Integer exponent for the glow brightness.
Loop sound (LoopSound) <sound> (in all games since Alien Swarm)
Looping sound to play while this fire is burning.
Ignite sound (IgniteSound) <sound> (in all games since Alien Swarm)
One shot sound to play when the fire starts.
Start Disabled (StartDisabled) <boolean>
Stay dormant until activated.
Note.pngNote:Unless you also checked the "Start On" flag, env_fire will not automatically ignite even if you set this keyvalue to No. Likewise, env_fire will still ignite if you have the "Start On" flag checked, even if this key value is set to Yes.


Flags

Infinite Duration : [1]
Note.pngNote:In Alien Swarm, an env_fire cannot be extinguished with the fire extinguisher unless Infinite Duration is set.
Smokeless : [2]
Start On : [4]
Start Full : [8]
How?: as in, start out ready to ignite as soon as it's damaged?
Don't drop : [16]
No glow : [32]
Delete when out : [128]
Visible from above : [256] (removed since Alien Swarm)
No sound : [256] (in all games since Alien Swarm)
No ignite sound : [512] (in all games since Alien Swarm)
No fueling once lit : [1024] (in all games since Alien Swarm)
Fast burn think : [2048] (in all games since Alien Swarm)

Inputs

StartFire
Start the fire.
Extinguish <floatRedirectInput/float>
Puts out the fire permanently in the number of seconds specified.
ExtinguishTemporary <floatRedirectInput/float>
Puts out the fire temporarily in the number of seconds specified.

EnableDisable:

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


Outputs

OnIgnited
Fires when the fire is first ignited.
OnExtinguished
Fires when the fire is fully extinguished.