Concussion effect reworked: True-aim crosshair now flashes upon firing a weapon (except for automatic weapons like the AC, nailguns, and AR)

Other modes:

cl_concaim 0 always shows the crosshair in the center

cl_concaim 2 always hides the crosshair while conced

Made the concussion status effect last 10 seconds for all classes (down from 15 seconds for non-medic/scout classes and up from 7.5 for medic/scout)

Taking fall damage on someones head mirrors 2x of that fall damage to the crushed player

Made viewmodel_fov cvar not require sv_cheats to be on

Made cl_showpos cvar not require sv_cheats to be on, but made it so the view angles only show when cheats is on

Added client convars cl_jimmyleg_cap and cl_jimmyleg_mode.

This allows the client to designate a speed percentage over the player's max runspeed to NOT do a jump animation. This way, you can visibly see if the player is over their bhop cap, and you can tell if they are bhopping.

cl_jimmyleg_mode 1 to turn on jimmylegs, cl_jimmyleg_mode 2 to make a players animation speed related to their actual speed

Made SGs/dispensers able to be built on SGs/dispensers

Bug Fixes

Fixed speed effects not being predicted properly.

Infected players now lose infection if the enemy player switches from Medic.

Buildables are now removed if the owner uses the 'spectate' console command.

Jump-pad slot is now unselectable if you have a jump-pad built.

Fixed potential bug where you would go back to 100% if you were healed above 100%.

Fixed age-old bug where Scouts could defuse friendly detpacks.

Fixed buildable weapon slots being slower to build than via a bound key.

Fixed colored chat losing its color upon fading out.

Fixed chat strings not working if they do not have "name:" in front.

Fixed SG aiming so that you can aim through buildables, etc.

Fixed buildable ghosts being drawn when you switched to spec.

Fixed viewmodel_fov not doing anything

Made SG tracking more consistent (it will only track through things it can shoot through)

Made miniturret tracking more consistent (it will only see/track through anything it can shoot through)

Fixed a bug where miniturrets wouldn't target any buildable with a currently dead owner

Fixed a bug where detpacks wouldn't kill buildables if their owner was dead

Shooting detpacks no longer trigger hit indicator

Made concussion grenade push a bit more client predicted, should be less jerky/abrupt

Fixed going from walk to crouch giving you run speed in the transition

Made the buildtimer properly reset on mapchange (it won't get stuck visible on mapchange anymore)

Class-specific Changes

Scout

Jump Pad

Jump pads are now team-oriented.

Jump pads are now destroyable.

Jump pads regenerate health quickly over time.

Engineer

The deploy delay for the spanner has been decreased (from 0.5 to 0.15)

Sentry Gun

Bullet push increased from 4 to 7

Ground push multiplier increased from 7 to 8 for level 1

Ground push multiplier increased from 4 to 7 for levels 2 and 3

Medic

The Super Nailgun has a clip of 30 nails

Medkit does 20 melee damage (up from 9)

Infection reworked:

Infection no longer kills you. (It can only keep you at 1 hp)

Infection lasts a finite amount of time.

If you survive the infection, you regenerate most the infection damage

Demoman

Blue pipes now only do full damage on direct hits.

Soldier

Soldier's nail grenade has been replaced with a laser grenade.

Rocket splash radius decreased from 115 to 108

HWGuy

HWGuy now has a secondary attack, the Overpressure, that pushes enemies away.

HWGuy now has a secondary grenade, the Slowfield, that slows enemies inside of it.

Map changes

ff_training: Try this new map and game mode to practice the skills you'll need to own at FF.

Huge thanks to Bully for recording the voiceover for training

ff_warpath: This classic command point map has been released for Fortress Forever!

ff_palermo: Several small balance and graphical changes. New HDR sky and sunlight values.

New scoring system in place for palermo and cornfield: Every capture point has a time limit of 2 minutes before the teams reset. Capping more quickly nets the attackers more points, while defenders don't score any points. Both teams get an equal number of chances attacking before the map ends.

ff_crossover: Fixed bug where flames on players were invisible. Location indicators are back. Snowfall is back. Water looks nicer.

If this function returns false, the player is rejected from joining the server

Added player_connected( player ) that gets called when the player actually connects and exists in the server

Fixed player_onchat() lua callback being repeated for every client in the server for each message

Made the return of player_onchat() control whether or not the chat message gets sent

Fixed trigger onendtouch() getting called twice for each entity

Made the "ff_restartround" game event get triggered earlier in the reset so that Lua-related things can react before startup() gets called and players respawn (this fixes Lua HUD elements bugging out from ff_restartround or prematch ending)