+if ($patch == "2.5.0") {
+?>
+
+
Patch 2.5.0
+
+
+
+
+
Features
+
+
+ - Added different kill icons for unbounced rails, single bounced rails, and double bounced rails
+ - Added airshot detection
+
+
+ - Airshots show in the console like so: player killed player with weapon (airshot)
+ - Airshots are logged to file like so: "player" killed "player" with "weapon" (modifier "airshot")
+
+
+ - The (modifier "") string only gets added if there actually was an airshot, otherwise the entire parenthetical is absent from the line
+
+
+
+
+ - Added sparks/dust to the feet of rampsliders (cl_rampslidefx cvar for toggling the effects on/off, and cl_rampslidefx_* cvars for controlling how it looks/behaves)
+ - Added team-colored trail to flags (cl_flagtrails cvar for toggling it on/off)
+ - Allowed bounced rails to collide with their shooter
+ - Added hud_weaponselect cvar (briefly shows the weapon select menu whenever switching weapons when hud_fastswitch is enabled; defaulted to enabled)
+
+
+
+
+
+
Gameplay
+
+
+ - Lowered the hard cap from 180% to 171%
+ - Flag touch bounds have been decreased somewhat significantly: touch height is now ~65% of flag height, and touch width is now ~100% of flag width (flag touch bounds used to be larger than the flag itself in both dimensions)
+ - Added a middle bhop cap - when you are over it, reduce speed by more. Currently set to 1.55 speed (620 for scout) and it has a lower pcfactor (0.3 rather than 0.65). This means downtrimping is good for one jump and reduces successive conc skim jumps without reducing the hard cap too much
+ - Made HH explosive grenades (frag/mirv) work like they do in TFC (HHing a gren now simply adds 1000 speed in the direction that you're currently moving (or 950 speed straight up if you're not moving at all)
+ - Capped jump pad + conc horiz and vert speed separately
+ - Set jump pad horiz boost to 768 (was 1024 in 2.46)
+
+
+
+
+
+
Classes
+
+
+ - Removed the single shotgun from the hwguy, medic, and pyro (see #82)
+ - Removed nailgun from sniper
+ - Made the sniper rifle use nails to avoid shared ammo between sniper rifle/autorifle
+
+
+
+
+
+
Maps
+
+
+ - Slimmed down the number of maps included with FF
+ - Improved base_shutdown.lua
+
+
+ - Added built-in support for trigger-based buttons (blue_security_trigger/red_security_trigger)
+ - Added built-in support for Lua-defined security shutdown length (SECURITY_LENGTH)
+ - Added built-in support for turning on/off lights, brushes, trigger_ff_clips, and trigger_hurts
+ - Added some helpful team-oriented trigger definitions in base_teamplay.lua
+
+
+ - Added a timer on the HUD that reflects how long security is down for on all security maps
+ - Reverted all IvD maps that used the time-limited-round-based system to the default IvD system (only switch teams after all caps have been captured)
+ - Removed the objective icon on the flag for defenders in IvD/AvD maps (it always points to the cap point that needs to be defended instead)
+ - Changed the team names in ff_dm to something more appropriate
+ - Removed the map guide menu as it has never been utilized
+ - Allowed the speedometer to show while spectating someone
+
+
+
+
+
+
Misc
+
+
+ - Added Spanish translation by VMX and Firefox11
+ - Added (incomplete) Russian localization by Gordon
+ - Added Portuguese (BR) translation by Gemini Saga
+ - Defaulted hud_fastswitch to 1
+ - Made 0 prematch the default when using ff_restartround without a parameter (ff_setprematch is better for cases where you just want to add prematch)
+ - Added hud_fastswitch and hud_weaponselect to the Fortress Options "HUD" section
+ - Reverted back to the 2.4 menu background because it was pretty cool
+ - Removed the map guide menu and make the Flythrough button go directly to the flythrough
+ - Improved HUD font: add Latin-1 Supplement and other missing chars (adds things like custom accented chars, #, &, $, ~, etc)
+ - Optimised Lua HUD network messages (send a number ID over the network rather than a string)
+
+
+
+
+
+
Fixes
+
+
+ - Fixed spectators not getting their kills/deaths/fortpoints reset on restart round
+ - Fixed getting a frag added when using the 'spectate' console command (it used to be to compensate for the -1 frag from suiciding)
+ - Fixed grenades disappearing after falling too far
+ - Fixed flags getting stuck in ceilings
+ - Fixed ff_training not showing map loading info when launched from the main menu
+ - Fixed ff_restartround resetting twice when called with 0 prematch time
+ - Fixed unicode character support in VGUI/HUD elements
+ - Fixed materials/ff/ff08_sign_up_green material using the yellow texture instead of the green one
+ - Fixed the glass material in ff_dm
+ - Fixed conc speed being limited for too long after using a jump pad (#80)
+ - Fixed Lua HUD timers' seconds getting truncated in the wrong direction when counting down
+
+
+
+
+
+
Lua
+
+
Environment
+
+
+ - Exposed all safe default Lua library functions (newly exposed packages: package, debug, os)
+ - Added lua_dostring server command that will attempt to run the given string in the global Lua environment
+ - Made Lua's 'print' function redirect to the console
+ - Made Lua's 'require' look in ModDir/maps/includes, ModDir/maps/ and ModDir/ when resolving modules
+ - Converted IncludeScript into an alias of require
+ - Removed arbitrary restriction on loading script files after the initial load sequence
+ - Added tostring support for CBaseEntity, CFFPlayer, CTeam, and Color userdata
+ - Removed luabind's 'class' implementation because it seems to be broken
+ - Added Luabind's class_info function (see http://halmd.org/develop/luabind.html#debugging-c-types-with-class-info)
+
+
+
Fixes
+
+
+ - Fixed execution errors not being caught and failing silently
+ - Fixed AT.kForceThrowItems and AT.kForceDropItems not doing what they say
+ - Fixed entity:SetFriction() not working on players
+ - Fixed typo in CF.kInfoScripts (was CF.kInfoScipts) (CF.kInfoScipts will remain for backwards compatibility)
+
+
+
Additions
+
+
+ - Added buildable_killed(buildable, damageinfo) callback
+ - Added player_onuse(player) callback
+ - Added support for separate collision and touch bounds for info_ff_scripts. The sizes are now controlled by Lua functions:
+
+
+ - entity_name:gettouchsizes( mins, maxs ) passes min and max vectors by reference for the function to alter in place
+ - entity_name:getphysicssizes( mins, maxs ) passes min and max vectors by reference for the function to alter in place
+ - entity_name:getbloatsize() expects a float return value, uses the value to inflate the touch bounding box (default bloat is 12)
+
+
+ - Added Lua-spawned trails on entities, coloured by team
+
+
+ - Functions added:
+
+
+ - entity:StartTrail(int teamid)
+ - entity:StartTrail(int teamid, float start_width, float end_width, float lifetime)
+ - entity:StopTrail()
+
+
+
+
+ - Added global function GetGameDescription
+ - Added player functions GetFortPoints, GetFrags, GetDeaths
+ - Added player:SetDisguise(int teamId, int classId, bool isInstant)
+ - Added player:IsInAir(unitsAboveGround) overload (checks if the player is the specified number of units above the ground)
+ - Added player:IsFlashlightOn()
+ - Added player:ResetDisguise()
+ - Added player:AddHealth(healAmount, allowOverheal) overload
+ - Renamed DisplayMessage to SendHintToPlayer and add SendHintToTeam/SendHintToAll functions
+ - Added global function GetEntitiesByName(entname) that returns a Lua table containing the matching entities
+ - Added global GetPlayers function (returns a table (array) of all players on the server)
+ - Added IsJumpPad/CastToJumpPad
+ - Added IsEntity
+ - Added player functions to get the player's buildables (or nil if they're not built):
+
+
+ - player:GetSentryGun()
+ - player:GetDispenser()
+ - player:GetDetpack()
+ - player:GetJumpPad()
+
+
+ - Majorly improved Lua's ability to interact with sentryguns
+
+
+ - sg:SetLevel(int level) // sets the level (does not play upgrade sounds)
+ - sg:Upgrade() // upgrades to the next level
+ - sg:Repair(int cells) // adds health based on the number of cells
+ - sg:AddAmmo(int shells, int rockets) // adds ammo
+ - sg:RocketPosition() // returns the Vector position of where rockets are fired from
+ - sg:MuzzlePosition() // returns the Vector position of where bullets are fired from
+ - sg:GetRockets() // number of rockets the SG has
+ - sg:GetShells() // number of shells the SG has
+ - sg:GetHealth() // amount of health the SG has
+ - sg:SetRockets(int rockets)
+ - sg:SetShells(int shells)
+ - sg:SetHealth(int health)
+ - sg:GetMaxRockets()
+ - sg:GetMaxShells()
+ - sg:GetMaxHealth()
+ - sg:SetFocusPoint(Vector point) // sets where the SG wants to look
+ - sg:GetEnemy() // gets the target of the SG (CBaseEntity)
+ - sg:SetEnemy(CBaseEntity enemy)
+ - sg:GetVecAiming() // gets the direction vector of the SG's current aim direction
+ - sg:GetVecGoal() // gets the direction vector of the SG's goal aim direction
+ - sg:Shoot() // makes the SG shoot one shell
+ - sg:ShootRocket() // makes the SG shoot one rocket
+
+
+ - Added IsProjectile/CastToProjectile functions
+ - Added IsInfoScript function
+ - Added IsBuildable/CastToBuildable functions
+ - Added function GetEntitiesInSphere(Vector center, float radius, bool ignore_walls)
+ - Added collection filter flag CF.kJumpPad
+ - Exposed gEntList as the global variable GlobalEntityList
+
+
+ - Usage:
+
+
+ - GlobalEntityList:FirstEntity() // get the first CBaseEntity in the GlobalEntityList
+ - GlobalEntityList:NextEntity(CBaseEntity current_entity) // get the next CBaseEntity in the list, after current_entity
+ - GlobalEntityList:NumEntities() // get the total number of entities
+ - Iteratable with both pairs and ipairs (for ent_id, entity in ipairs(GlobalEntityList) do print(ent_id, entity) end). The iteration order is arbitrary with both functions
+
+
+
+
+
+}
if ($patch == "2.46") {
?>
diff --git a/pages/contribute.php b/pages/contribute.php
index 95d5c0b..cedddba 100644
--- a/pages/contribute.php
+++ b/pages/contribute.php
@@ -44,7 +44,7 @@
Modelers/Animators
diff --git a/pages/home.php b/pages/home.php
index 5a41bde..292743b 100644
--- a/pages/home.php
+++ b/pages/home.php
@@ -22,16 +22,14 @@ $news_content = str_replace("\n", "
", $news_content);
Join the fray in this high-speed, team-based FPS with classes that range from pure movement to pure firepower (and everything in between).
" class="more-info highlight">More info →