Patch 2.41

Released February 2010

User Interface

  • Added hud_takesshots cvar (takes a screenshot at end-of-round if enabled) and added it to the Fortress Options menu (disabled by default)

Generic / Misc Stuff

  • Various network optimizations
  • Any class can see enemy health on crosshairinfo now (previously only medics could)
  • Grenade throwspeed changed to 660 down from 700 (2.3 value was 630)
  • Sharking friction lowered to 1 (down from 4)
  • Client jump sound volume decreased by half and given its own soundscript definition
  • Increased flag bounding box slightly (from basic box +8 to basic box +12; 2.3 value was +24)


  • New, less obscuring conc explosion effect
    • Added cvar to switch back to the old effect (cl_conc_refract) and put it in Fortress Options
  • Tweaked chat colors for a bit better visibility.
  • More difference in grenade timer alpha when you throw the grenade, compared to still having it primed

Bug Fixes

  • ShowMenu now works properly
  • Fixed security messages, sounds and icons on base_shutdown maps
  • Fixed escape door messages, sounds and icons on base_hunted maps
  • Fixed being able to use the security button while dead on base_shutdown maps
  • Spy/engi menu click underwater fixed
  • Fixed single shotgun reload sound (thanks gibz)
  • Fixed CurrentClass material proxy (used to be incorrectly named CurrentTeam)
  • Fixed chat spamming using #ff_<msg>
  • Chat now displays properly in clients console. Instead of showing as #ff_<msg> it will show the actual sentence. Color codes no longer display either for easy readability
  • Fixed losing control of player when jumping in water
  • Fixed HUD items getting stuck on screen after spawning
  • Fixed sentries locking on to ghost (unbuilt) buildables
  • Fixed server crash in SG code

Class-specific Changes

  • Engineer
    • Engineer starts with 1 EMP (down from 2), and has a max of 2 (down from 4)
    • Reduced the size of the explosion from bags when hit by EMPs (to compensate for increased ammo count in the normalized death bags)
  • All Classes
    • All classes drop the same amount of ammo when they die (30 cells, 100 shells, 100 nails, 20 rockets)

Map changes

  • Roasted
    • New CTF map
  • Bases
    • New teleporter model in spawns.
    • Lift changed to a real lift instead of a pusher.
    • Mid-ramp area near flagroom opened up into courtyard.
    • Concing access into balcony made more forgiving.
    • Base entrance opened up slightly to reduce spamability.
    • Removed clip brushes at the battlements for sniper access.
    • Added alcove and lowered lighting at the ladder to battlements.
    • Added clip brushes either side of bridge to stop it messing up bunny hop or unintentionally double jumping.
    • Added clip brushes on bottom of flagroom ramp so that people can wall strafe again.
  • Openfire
    • Texturing and lighting improvements.
    • New teleporter model in spawns.
    • Scout, medic, spy and sniper always spawn balcony. Other classes always spawn flagroom.
    • Flagroom bag moved to bottom of steps to make it more obvious.
    • Flagroom bag timer reduced from 15s to 8s, and metal increased to 130.
    • Lift crushes people under it.
    • Few minor bugfixes.
  • Schtop
    • Flagroom bag timer reduced from 10s to 8s.
  • Destroy
    • Top ramp bag timer reduced from 20s to 15s.

Lua changes

  • Added SetGameDescription( name )
    • Changes what appears in the game column of the server browser (it is appended to "FF ")
    • For use in startup()
  • Added callback: player_onchat( player, chatstring )
  • Fixed a typo, SetFriction was actually using GetFriction
  • Added lua functions
    • player:IsGrenade1Primed()
    • player:IsGrenade2Primed()
    • player:IsGrenadePrimed()
    • player:GetAmmoInClip()
    • player:GetAmmoInClip( weaponname )
    • player:SetAmmoInClip( num )
    • player:SetAmmoInClip( weaponname, num )
    • player:GetAmmoCount( ammotype )
    • HasGameStarted() (returns false if still in prematch)
  • Pipes now trigger :onexplode()
  • HudText can parse %command% strings to show the client's bound key for that command (example: %+attack% would translate to MOUSE1 for someone that has MOUSE1 bound as +attack)