Skip to content


The Pyro’s Flamethrower Range Bug

A while back I did a video of how the Pyro’s flamethrower worked, trying to debunk some other reports that you could get extra range out of it by aiming upwards, as if it were a firehose. Some other folks bravely took up the challenge of some contradictory data, and came to a startling conclusion: The Pyro’s flamethrower sometimes shoots farther or shorter than normal! At last, scientific validation for every Pyro frustrated because an enemy ought to be in-range, or everybody else frustrated because they knew they weren’t.

At some point I’ll collect all the scripts and console commands from those old tests, but for now I just wanted to put out some information for anyone with more time on their hands to investigate the problem.

Possible functions to look for in code:

  • FlameThink
  • FlameThrowerHitTargetThink

Some cvars, most of which are “locked” and you can only tweak with Sourcemod’s sm_cvar command. Along with the descriptions, they help explain how the flamethrower projectiles are internally calculated.

  • tf_debug_flamethrower
    Visualize the flamethrower damage.
  • tf_flamethrower_velocity = 2300.0
    Initial velocity of flame damage entities.
  • tf_flamethrower_drag = 0.87
    Air drag of flame damage entities.
  • tf_flamethrower_float = 50.0
    Upward float velocity of flame damage entities.
  • tf_flamethrower_flametime = 0.5
    Time to live of flame damage entities.
  • tf_flamethrower_vecrand = 0.05
    Random vector added to initial velocity of flame damage entities.
  • tf_flamethrower_boxsize = 12.0
    Size of flame damage entities.
  • tf_flamethrower_maxdamagedist = 350.0
    Maximum damage distance for flamethrower.
  • tf_flamethrower_shortrangedamagemultiplier = 1.2
    Damage multiplier for close-in flamethrower damage.
  • tf_flamethrower_velocityfadestart = 0.3
    Time at which attacker’s velocity contribution starts to fade.
  • tf_flamethrower_velocityfadeend = 0.5
    Time at which attacker’s velocity contribution finishes fading.
  • tf_flamethrower_burst_zvelocity = 350
    Extra upwards bounce when airblasting enemy players
  • tf_flamethrower_burstammo = 25
    How much ammo does the airblast uses per shot.
  • tf_damageforcescale_self_pyro_rj = 10

I’m hopeful that some of these cvars will help pinpoint what’s going wrong with the variable-distance shots. At least we know the “official” distance is 350 units, now.

Posted in Games.

Tagged with , .