Patch Notes
... everything that has happened since the dawn of time.
Patch 2.42.1
Released June 25, 2011
Bug Fixes
  • Attempt at fixing CL_CopyExistingEntity errors
Patch 2.42
Released June 25, 2011
User Interface
  • Added a global cell count for the engineer's HUD next to the ammo display
  • Grenade icons added to the grenade counts in the bottom right
  • Grenade icons moved from inside the grenade timers to the left them
  • Made the visual grenade timer the exact same length as a grenade prime (from 4.0s to 3.81s)
Generic / Misc Stuff
  • Added soft-clipping of friendly players
    • Disguised spies clip as if they were on the team they are disguised as
  • Melee hit detection code completely rewritten, it should be a lot more consistent and a lot less frustrating now
  • You no longer lose a kill for suiciding.
  • Hand-held concussion grenades do not affect other players.
  • Grenades and yellow pipes no longer collide with friendly players
  • Added speedometer that records average speed per map (hud_speedometer_avg & _color)
  • Flags now rotate when dropped for improved visibility.
  • Flags now rise to the surface of and float on water after touching the bottom.
  • Stars show above concussed players' heads (cl_concuss 0/1 and cl_concuss_* customization cvars).
  • Zzz shows above tranquilized players' heads (cl_tranq 0/1).
  • 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.
  • ff_dustbowl: 3D sky scenery has been restored.
  • ff_bases: HDR lighting and a few sound and visual fixes.
Lua changes
  • New trigger_ff_clip system
  • Added a lua-driven menu system
    • Callbacks:
    • player_onmenuselect( player, menu_name, selection )
    • menu_onexpire( menu_name, num_players_shown_to )
    • Global functions:
    • ShowMenuToPlayer( player, menu_name )
    • ShowMenuToTeam( team_id, menu_name )
    • ShowMenu( menu_name )
    • CreateMenu( menu_name )
    • CreateMenu( menu_name, title )
    • CreateMenu( menu_name, display_time )
    • CreateMenu( menu_name, title, display_time )
    • DestroyMenu( menu_name )
    • SetMenuTitle( menu_name, title )
    • AddMenuOption( menu_name, slot (0-9), option_text )
    • RemoveMenuOption( menu_name, slot (0-9) )
  • Added a timer manager
    • Added lua functions:
    • AddTimer( timername, startvalue, increment )
    • RemoveTimer( timername )
    • GetTimerTime( timername )
    • AddHudTimer( player, huditemname, timername, x, y )
    • AddHudTimer( player, huditemname, timername, x, y, align )
    • AddHudTimer( player, huditemname, timername, x, y, alignx, aligny )
    • AddHudTimerToTeam( team, huditemname, timername, x, y )
    • AddHudTimerToTeam( team, huditemname, timername, x, y, align )
    • AddHudTimerToTeam( team, huditemname, timername, x, y, alignx, aligny )
    • AddHudTimerToAll( huditemname, timername, x, y )
    • AddHudTimerToAll( huditemname, timername, x, y, align )
    • AddHudTimerToAll( huditemname, timername, x, y, alignx, aligny )
  • Default.lua now loads when a map lacks a map-specific lua file.
  • Added player:IsFrozen()
  • Added ObjectiveNotice(player, string)
  • Added player:GetSpeed()
  • Added ChatToAll(string) and ChatToPlayer(player,string)
  • Added baseentity:Teleport(Vector neworigin, QAngle newangles, Vector newvelocity)
  • Added baseentity:GetOwner(), returns an entity
  • Fixed player_onchat() callback being repeated for every client in the server
  • ApplyTo...() functions no longer skip spectators.
  • trigger_ff_clip now works properly.
  • Changed old player_connected( playername, address, entindex ) to player_canconnect( playername, address, entindex )
    • 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)