Patch 2.7.7

Released September 4, 2018
  • Fixed ff_restartround and other events not being relayed to SourceTV (fixes things like restartround not resetting Lua HUD elements in SourceTV demos, SGs getting killed not showing up in SourceTV demos, Lua-based objective death notices not showing up in SourceTV demos, etc)
  • Added hud_lua convar to control Lua HUD elements being drawn
  • Stop hud_keystate being drawn when in spec freecam

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)