env_fire

From Source Entities
Jump to navigation Jump to search

Code classes:

Env fire.png

env_fire is a point entity present in all Source games. It handles a single flame (_firesmoke) at its origin. The flame causes heat "damage" to other entities around it, and will eventually ignite them and other env_fires.

Note: The entity attempts to always place itself directly onto the ground by "dropping" down. The fire may fall through the world if placed exactly at ground level. Place it a little bit above the ground to fix this.

Tip: To make fires appear like they're pointing horizontally, parent them to a rotating object.

Bug: This entity doesn't display correctly in P1.png. See here for more details.

Bug: While still available, it does not have particle effects in Tf2.png. See here.

Bug: In Asw.png, an env_fire cannot be extinguished with the fire extinguisher unless Infinite Duration is set.

ConVars/Commands[edit | edit source]

ConVar/CommandParameters or default valueParameter TypeEffect
fire_maxabsorb50Arbitrary numberUpper 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_absorbrate3MultiplierScalar for how fast fires can absorb heat.
fire_extscale12MultiplierEffectively only a scalar for the Strength of an env_extinguisherjet.
fire_extabsorb5MultiplierTo do: Effect description.
fire_heatscale1.0MultiplierScalar for how much damage a fire can do (both to fires and other objects such as the player).
fire_incomingheatscale0.1MultiplierScalar for how much heat a fire can take from other fires if it is already ignited.
fire_dmgscale0.1MultiplierTo do: Effect description.
fire_dmgbase1Health AmountBase damage that a fire does to objects such as the player. In some games this amount changes depending on the difficulty setting.
fire_growthrate1.0MultiplierScalar for how much heat a fire can passively add to itself at once. Thinking interval is 0.1 seconds.
fire_dmginterval1.0SecondsOnce a fire has damaged something, it will wait this long before it can damage anything again.

Flags[edit | edit source]

  • 1: Infinite Duration
  • 2: Smokeless (good FPS boost)
  • 4: Start On - Starts ignited.
  • 8: Start Full (makes the fire ignore heat from other entities)
  • 16: Don't drop (disables the dropping behavior noted above)
  • 32: No glow - No effect.
  • 128: Delete when out (entity will remove itself after extinguishing)
  • 256: Visible from above - No effect.
  • 256: No sound (only available in Asw.png)
  • 512: No ignite sound (only available in Asw.png)
  • 1024: No fueling once lit (only available in Asw.png)[Clarify]
  • 2048: Fast burn think (only available in Asw.png)[Clarify]

Keyvalues[edit | edit source]

Duration (health) <integer>
Amount of time the fire will burn.
Size (firesize) <integer>
Distance in which the fire can spread heat to other fire entities. Also scales the fire and smoke to look smaller or larger.
Attack (fireattack) <integer>
Amount of time the fire takes to grow to full strength.[Confirmed]
Type (firetype) <choices>
Either Natural or Plasma. Natural is a general all purpose flame, like a wood fire.
  • 0: Natural
  • 1: Plasma (The particle effect for this type does 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> (only available in Asw.png)
Color of dynamic light for this fire.
Light Radius Scale (LightRadiusScale) <float> (only available in Asw.png)
Multiplier for the glow effect's size.
Light Brightness (LightBrightness) <integer> (only available in Asw.png)
Exponent for the glow brightness.
Loop sound (LoopSound) <sound> (only available in Asw.png)
Looping sound to play while this fire is burning.
Ignite sound (IgniteSound) <sound> (only available in Asw.png)
One shot sound to play when the fire starts.
Start Disabled (StartDisabled) <boolean>
Stay inactive until Enabled.
Note: Disabled means it cannot catch on fire by any means.

Inputs[edit | edit source]

StartFire
Start the fire.
Extinguish <float>
Puts out the fire permanently after the number of seconds specified.
ExtinguishTemporary <float>
Puts out the fire temporarily after the number of seconds specified.
Enable
Makes the entity active.
Disable
Makes the entity inactive.

Outputs[edit | edit source]

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