{"id":306,"date":"2010-03-14T22:53:55","date_gmt":"2010-03-15T06:53:55","guid":{"rendered":"http:\/\/technofovea.com\/blog\/?p=306"},"modified":"2010-08-20T22:17:03","modified_gmt":"2010-08-21T06:17:03","slug":"the-pyros-flamethrower-range-bug","status":"publish","type":"post","link":"http:\/\/technofovea.com\/blog\/archives\/306","title":{"rendered":"The Pyro&#8217;s Flamethrower Range Bug"},"content":{"rendered":"<p>A while back I did a <a href=\"http:\/\/www.youtube.com\/watch?v=vSkf1yIAjzs\">video<\/a> of how the Pyro&#8217;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 <a href=\"http:\/\/forums.steampowered.com\/forums\/showthread.php?t=834542\">took up the challenge<\/a> of some contradictory data, and came to a startling conclusion: <em> The Pyro&#8217;s flamethrower sometimes shoots farther or shorter than normal!<\/em> At last, scientific validation for every Pyro frustrated because an enemy <strong>ought<\/strong> to be in-range, or everybody else frustrated because they knew they <strong>weren&#8217;t<\/strong>.<\/p>\n<p>At some point I&#8217;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.<\/p>\n<p><!--more--><\/p>\n<p>Possible functions to look for in code:<\/p>\n<ul>\n<li>FlameThink<\/li>\n<li>FlameThrowerHitTargetThink<\/li>\n<\/ul>\n<p>Some cvars, most of which are &#8220;locked&#8221; and you can only tweak with Sourcemod&#8217;s sm_cvar command. Along with the descriptions, they help explain how the flamethrower projectiles are internally calculated.<\/p>\n<ul>\n<li> <strong>tf_debug_flamethrower<\/strong><br \/>\nVisualize the flamethrower damage.<\/li>\n<li><strong>tf_flamethrower_velocity = 2300.0<\/strong><br \/>\nInitial velocity of flame damage entities.<\/li>\n<li><strong>tf_flamethrower_drag = 0.87<\/strong><br \/>\nAir drag of flame damage entities.<\/li>\n<li><strong>tf_flamethrower_float = 50.0<\/strong><br \/>\nUpward float velocity of flame damage entities.<\/li>\n<li><strong>tf_flamethrower_flametime = 0.5<\/strong><br \/>\nTime to live of flame damage entities.<\/li>\n<li><strong>tf_flamethrower_vecrand = 0.05<\/strong><br \/>\nRandom vector added to initial velocity of flame damage entities.<\/li>\n<li><strong>tf_flamethrower_boxsize = 12.0<\/strong><br \/>\nSize of flame damage entities.<\/li>\n<li><strong>tf_flamethrower_maxdamagedist = 350.0<\/strong><br \/>\nMaximum damage distance for flamethrower.<\/li>\n<li><strong>tf_flamethrower_shortrangedamagemultiplier = 1.2<\/strong><br \/>\nDamage multiplier for close-in flamethrower damage.<\/li>\n<li><strong>tf_flamethrower_velocityfadestart = 0.3<\/strong><br \/>\nTime at which attacker&#8217;s velocity contribution starts to fade.<\/li>\n<li><strong>tf_flamethrower_velocityfadeend = 0.5<\/strong><br \/>\nTime at which attacker&#8217;s velocity contribution finishes fading.<\/li>\n<li><strong>tf_flamethrower_burst_zvelocity = 350<\/strong><br \/>\nExtra upwards bounce when airblasting enemy players<\/li>\n<li><strong>tf_flamethrower_burstammo = 25<\/strong><br \/>\nHow much ammo does the airblast uses per shot.<\/li>\n<li><strong>tf_damageforcescale_self_pyro_rj = 10<\/strong><\/li>\n<\/ul>\n<p>I&#8217;m hopeful that some of these cvars will help pinpoint what&#8217;s going wrong with the variable-distance shots. At least we know the &#8220;official&#8221; distance is 350 units, now.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A while back I did a video of how the Pyro&#8217;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: [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[10],"tags":[14,11],"_links":{"self":[{"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/posts\/306"}],"collection":[{"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/comments?post=306"}],"version-history":[{"count":8,"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/posts\/306\/revisions"}],"predecessor-version":[{"id":678,"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/posts\/306\/revisions\/678"}],"wp:attachment":[{"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/media?parent=306"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/categories?post=306"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/tags?post=306"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}