Patch 2.7.6

Released February 20, 2018
  • Training is updated to explain pyro jetpack instead of hover flamethrower
  • Added discord rich presence! Shows basic stats about your team and status, can be disabled at any time with cl_discord 0.
  • Jetpack fuel is refilled on CTF flag captures
  • Jetpack fuel bar and crosshair hud bar is no longer jittery on high pings
  • Rampsliding on metal has a subtle grinding sound effect to match the sparks now
  • Non-existant 'sync_version' command from pre-steam days no longer fires on game joins

Patch 2.7.5

Released January 20, 2018
  • Fixed Red + Blue1 -> Blue2 type teammate assists (visual only)
  • Fixed assists being blocked by teammates of the victim if the teammate did the most damage (now it looks for the top valid assister)
  • Set the spawn deploy delay back to the default of 0.5f (from 0.25f)

Patch 2.7.3/2.7.4

Released September 18, 2016
  • Fixed client crash when a player disconnects while jetpacking (thanks to LiTE for tracking it down and Fruitcake for letting me know about it)
  • Fixed client crash when a player disconnects while getting hit with bonus damage from the IC

Patch 2.7.2

Released September 11, 2016
  • Fixed kill assists not being logged to file
  • Fixed kill assists not timing out properly (you will now only get an assist if you do damage at most 5 seconds before the player dies)
  • Fixed not being able to swing crowbar when jetpacking
  • Fixed jetpacking flag not being reset on restartround/instant class switch

Patch 2.7.1

Released September 11, 2016
  • Fixed jetpack sound playing at loud volume sometimes
  • Fix divide by zero assert when concing sometimes
  • Add jetpack fuel bar to hud
  • Deathnotice fixes:
    • Highlight when the local player is the assister
    • Fix assister not being drawn with their correct team color
    • Fade out assisters name slightly

Patch 2.7.0

Released September 10, 2016

Pyro Overhaul

  • Pyro now has a Jetpack - Hold attack2 to use.
    • Also prevents 25% fall damage if used whilst hitting the floor
  • Burn levels have been reworked.
    • Afterburn damage-over-time has been removed.
    • Burn levels now increase damage from pyro weapons instead:
      • Flamethrower (18 -> 20 -> 22)
      • Incendiary cannon (85 -> 95 -> 105)
      • Napalmlets (2 -> 3 -> 4)
    • Burn levels no longer require different weapons:
      • Flamethrower increases burn level every 5 hits
      • Napalm grenade increases burn level every 10 ticks
      • Incendiary cannon increases burn level every 1 hit (provided they are already on fire)
    • The Incendiary cannon no longer sets players on fire - you must light them with a flamethrower or napalm grenade first.
  • Flamethrower
    • Flamethrower self-push has been removed
    • Flamethrower damage has been increased from 16 to 18
    • Flamethrower range has been increased by 10%
  • Incendiary cannon
    • Incendiary cannon base damage increased from 55 to 65
    • Incendiary cannon jumping now does less self-damage to the pyro
    • Incendiary cannon fire rate increased from 1.2sec -> 0.6sec
    • Incendiary cannon now has a clip of 5
  • Napalm grenades improvements
    • Number of napalmlets increased from 8 to 9
    • Napalmlets are now more evenly spread over the area for more reliable area denial
    • Napalmlet burn height increased from 40 to 70 (it was previously possible to jump through a napalm field without getting hurt)
    • Napalmlets do damage more regularly now, so jumping through napalm will hurt you much more than before
  • Pyro rocket stock raised from 20 to 25
  • Pyro class interactions:
    • Scout, Medic and Spy extinguish their flames much faster than other classes
    • HW Overpressure extinguishes flames of himself and those around him
    • Pyro is still immune to being set on fire by other pyros.

Gameplay Balance

  • Jumpgun has been removed from scout whilst it's design is reworked. Thanks for all your feedback on this!
  • All weapons now deploy faster. This means switching weapons is faster and more responsive.
  • MIRV initial explosion damage reduced from 180 to 145, this now matches normal grenades and mirvlets.

Other Improvements

  • Kill Assists have been implemented.
  • Deathnotice self-highlighting has been improved and defaulted on.
  • Add new hints (Thanks NeoNL!)

Bug Fixes

  • Fixed projectiles blocking hitscan weapons
    • Notably, nailguns against SGs and HWGuy will no longer block their bullets.
    • Flamethrowers will also now work against nailgunning players
  • Fix local weapon sounds from playing twice on a high ping (e.g. deploy sound)
  • Fix weapon specific crosshairs for the AC/RPG/Tranq
  • Fixed the soldier 3rd-person RPG pose so it now points to where the rocket will travel. (Thanks WillWow_mc!)
  • Fixed flag trails performance issues
    • Fixed stutter when the flag returns after it is capped
    • Added cvar cl_spritetrail_maxlength that controls the max length of a sprite trail (once exceeded, the trail will start over from its parent's current origin)
    • Made it so trails are not calculated at all client-side if they are disabled by their respective cvars

Lua Improvements

  • Add basic support for spawning entities through Lua
    • Not very well tested, but is able to spawn info_ff_scripts like flags and have them work like normal
    • Added baseentity:SetName(string name)
    • Added global function SpawnEntity(string entity_class_name, string entity_name) that returns the entity spawned or nil if unsuccessful (example: `local entity = SpawnEntity("info_ff_script", "red_flag")`)
    • Added global function SpawnEntity(string entity_class_name) that returns the entity spawned or nil if unsuccessful (example: `local entity = SpawnEntity("info_ff_script")`)
  • Add basic support for free-for-all teams
    • Lua can set a team as a free-for-all team by doing `GetTeam(Team.kBlue):SetFFA(true)`
  • Add Lua getters for various InfoFFScript settings
    • infoscript:GetModel() returns the string path of the current model
    • infoscript:GetStartOrigin() returns the Vector that the infoscript will spawn at when returned
    • infoscript:GetStartAngles() returns the QAngles that the infoscript will spawn with when returned
  • Improve Lua angle/vectors a bit
    • Add player:GetEyeAngles()
    • Add __tostring() implementations for Vector and QAngle classes
    • Convert VectorAngles and AngleVectors to use Lua-style return values rather than C++ style pass-by-reference parameters. Example usage of the new functions:
      local eye_angles = player:GetEyeAngles()
      local forward, right, up = AngleVectors(eye_angles)
      local angles = VectorAngles(forward)
      assert(angles == eye_angles)