Weapons, AI and much more
Weapons:* Added burn trail for link gun beam.
* Weapon pickups now disappear for the player who picked it up, until it can be picked up again (now works like weapon lockers).
* Weapon throwing always enabled.
* Improved force feedback for various weapon and pickup actions.
* Simpler crosshair for instagib rifle.
* Third person translocate sound.
* Stinger now higher priority than flak cannon by default.
* Back splatter decals for hits with sniper rifle, stinger, and enforcer.
* Improved spidermine aiming help on console with hitscan weapons (enforcer, stinger, sniper).
* Fixed enforcer anim problems when become dual during initial loading.
* No ammo display for instagib rifle.
* Improved spidermine herding with Avrils.
* Improved redeemer blast screen shake.
* Spidermines work properly in deathmatch.
* Fixed translocator discs being able to get embedded in geometry with zero extent collision on but box collision off.
* Fixed deployable exploit (run over deployable while firing weapon, get in vehicle while still firing, and never switch to deployable).
* Fixed trans discs getting stuck on instigator's head.
AI:
* Added Drop Flag/Orb command (accessible through voice menu) to get bot teammates to drop the flag they are carrying.
* Improved bot handling of navigation failures, don't stay stuck.
* Bots understand ducking under obstacles with the Darkwalker.
* Bots understand getting off hoverboard to use a lift.
* Adjusted bot new enemy acquistion speed.
* Low skill bots don't slow down if carrying flag.
* Bots understand how to effectively use Orbs in Warfare much better.
* Bots use the hoverboard more effectively.
* Improved bot AI for using Translocator.
* Improved AI for picking best weapon to use.
* Improved AI for Leviathan, including aiming with the leviathan, and navigating the Leviathan.
* Improved AI for using the Hellfire SPMA.
* Improved Scorpion AI for trying to run over enemy foot soldiers and self destruct into big vehicles. TTP #103637.
* Improved Manta/Viper AI for trying to run over enemy foot soldiers.
* Improved stealth vehicle deployment AI.
* Improved bots yelling "same team" when player is actually trying to hit nearby enemy.
* Fixed bots not able to get in Darkwalker secondary turret in some cases.
* Fixed bot AI issues in secondary turrets.
* Bots go after countdown nodes if core can't be attacked.
* Fixed bots grabbing orb without getting all the way to orb spawner.
* Improved AI for bots deciding whether to get out of vehicles and continue on foot.
* Automatic fix for not letting bots in vehicles try to go into areas that are blocked for vehicles by turnaroundvolumes.
* Bots are move aggressive about driving vehicles without slowing down too much for slight turns.
* Bots fully understand kismet disabled nodes.
* Improved bot AI for fighting enemies in Slow Fields.
* Improved bot understanding of targeting occluded powernodes.
Demo Recording:
* Added support for clientside demo recording.
* Demo playback is now delayed until precaching completes.
Networking: * Fixed localization of certain networking messages received from different language server.
* Improved dynamic netspeed system based on player counts.
* Improved hoverboard smoothness in net games.
* Friend following now attempts to place friends on the same team.
* Added team balancing between matches.
* Fixed reachspecs occasionally keeping level references across seamless travel, causing levels not to be properly unloaded.
* Increased net priority of movers with viewer based on them. Reduces mover popping in large playercount games.
* Networking bandwidth use optimizations.
* Improved prioritization of actor replication.
* Improved network pawn position update smoothing using mesh translation.
* Tweaked finding floors for simulated falling pawns.
* Yaw and pitch change smoothing for other players on clients.
* Fixed character mesh not getting onto hoverboard right away in high player count games.
* Improved turret replication in high player count games.
* Fixed remaining cases where team color skins weren't being properly set.
* Fixed clients auto-switching to better weapon when they stop firing.
* Don't dynamically adjust listen server client netspeed above max client has requested (for modem clients).
* Make sure all audio components get cleaned up on seamless travel.
* Fixed various exploits. Server Administration:
* Removed download speed limitations, when hosting LAN servers.
* Implemented auto-reconnect code for Gamespy uplink and advertising. Servers now continuously try to advertise to the master server upon failure.
* Fixed buggy URL parsing function, which was breaking mutator advertising
* Added code to recreate serveractors after seamless travel
* Fixed case insensitivity issue with admin and game passwords
* Added session banning, with the command: AdminSessionBan
* Security fixes.
* Added config variable 'SpawnProtectionTime' to UTGame.ini.
* Optimized stats sending bandwidth.
* Support `n as n in MOTD.
Engine:
* Collision Octree optimizations
* Particle system optimizations
* Safe handling of inversing nil matrices. Addresses rare ragdoll physics crashes.
* Removed unnecessary profile saves, improved saving progress when player expects it.
* Improved Garbage collection performance.
* Optimized decals.
* Teleporter portal rendering updates are now disabled by default, even for high end systems (for performance reasons).
* To enable, add the following to your UTGame.ini file [UTOnslaughtNodeTeleporter] bRealtimeCapture=true
Game:
* Option to allow for custom characters to load at all times (no default characters, but may get hitches when new players join).
* CTF flag is hidden for player carrying it.
* Can no longer teleport to node that is under attack.
* Improved victim death messages (precise cause of death).
* In game types using weaponlockers, players spawn with weapons from nearest weapon locker.
* Fixed scoreboard issues during seamless travel.
* Fixed lifts returning if you jump or get shot while on them.
* Play taunts on upper body only for moving players.
* Fixed black boxes on Leviathan shock balls.
* Fixed lighting on first person spidermine death effect
* Improved code for leaning players which are going around turns.
* Reduced foot jittering on stairs.
* No team change penalty for automatic swaps.
* Improved lighting for characters.
* Reduced mesh offsetting on slopes, removing exploit allowing players to hide.
* Fixed winner pawn rotating after round ends.
* Fixed sender not hearing autotaunts.
* Fixed krall missing footstep sound notifies.
* Fixed bots leaving game affecting TDM team score.
* Fixed bad low LOD meshes (spiky when feigning or dead).
Mod support:
* UTHUD now responsible for drawing player and vehicle beacons, making it easier to support custom beacons for custom game types.
* Added support for stretching IK limbs (see SkelControlLimb.uc).
* Merged PC version script functionality to PS3 to improve mod compatibility for mods on PS3.
* Added spectator notification hooks to Mutator.uc:
* AllowBecomeActivePlayer: Allows mutators to prevent spectators from joining the game
* AllowBecomeSpectator: Allows mutators to block players from spectating (not fully implemented).
* NotifyBecomeActivePlayer: Notifies mutators when a spectator successfully becomes an active player
* NotifyBecomeSpectator: Notifies mutators when a player becomes a spectator (not fully implemented)
* Added two new functions to Object.uc, 'IsNetScript' which returns true if the current code was remotely executed, and 'GetNetFuncName' which returns the name of the replicated function where script execution began
* Added a new function flag, 'DemoRecording', which replicates the function into the demo file when recording demos NOTE: Implicitly flags the function as simulated
* Added the ability for mods to specify custom settings scenes, through new values in UTUIDataProvider_GameModeInfo.uc:
* 'ModGameSettingsScene', allows mods to specify a custom settings scene which is accessible through a 'Mod Settings' button in the Instant Action and Host Game menus
* 'ModClientSettingsScene', allows mods to specify a custom settings scene which is accessible through the main menu settings page, and the mid game menu settings - Added ClearConfig and StaticClearConfig functions to Object.uc
* Added team change notification hooks to Mutator.uc
* AllowChangeTeam: Allows mutators to prevent players from changing team
* NotifySetTeam: Notifies mutators when a player successfully changes team
* Added bCanRagdoll flag to UTPawn for mod authors.
* Added slight player glow support for darkmatch (maps with DARKMATCH at start of worldinfo name
* Made UIObject 'ResolveStyles' function accessible to script.
* Added support for loading a Splash.bmp in a mod directory.
* Fixed server browser not being able to filter custom gametypes; in the gametype data provider, set 'GameSearchClass' to: UTGameSearchCustom
* Added code to reinitialize ServerActors after seamless travel
* Added editable 'MouseBounds' property to UIScene, which allows you to configure mouse boundaries for the current scene
* 'MouseBounds.BoundaryObject' is set through the 'Set Mouse Boundary' submenu in the UIEditor context menu
* Also added a selection to the UIEditor View menu, 'Mouse Boundaries Outline', for viewing the current mouse boundaries
* Mouse boundaries can be changed during runtime using 'UIScene::SetMouseBounds' and 'UIScene::ResetMouseBounds'
Level specific:
* Fixed redeemers nopt able to damage power cores in Islander.
* Don't allow disabling of fog volumes. Fixes VCTF-Sandstorm exploit.
* Fixed collision issues in VCTF-Suspense and Suspense_Necris.
* Fixed real-time teleporter portal updates in WAR-Avalanche.
Maplists
* The old maplist system has been replaced with an entirely new one, which is configured through UTMapLists.ini, this allows mods using custom .ini files to have map cycles setup from the ingame menus
* To recover the old server maplist settings, you need to open UTGame.ini and go to the [UTGame.UTGame] section, then for each 'GameSpecificMapCycles' entry you need to find (or create) an entry in 'GameProfiles' under [UTGame.UTMapListManager] in UTMapLists.ini, which has a 'GameClass' value that matches the 'GameClassName' value in 'GameSpecificMapCycles'.
Then you need to find the maplist in UTMapLists.ini which is specified by 'MapListName' value in the 'GameProfiles' entry, (e.g: [DMMapList UTMapList]), and then you must manually transfer each map name in 'GameSpecificMapCycles' to the maplist in UTMapLists.ini. For example, Maps=("DM-Arsenal","DM-Biohazard") in 'GameSpecificMapCycles' would become: [DMMapList UTMapList] Maps=(Map="DM-Arsenal") Maps=(Map="DM-Biohazard")
* Configuration options for [UTGame.UTMapListManager]:
- GameProfiles: This is a list which is used to define custom game type settings (mainly for game voting), options include:
GameClass: The FULL class name of the gametype, including package name as well as class name (e.g. "UTGame.UTDeathMatch")
GameName: The name that is displayed on the vote menu when selecting a gametype (e.g. "Deathmatch", "Warfare - No Orbs")
MapListName: The name of the maplist that this game profile will use (e.g. "WARMapList")
Options: Additional URL options which are used when switching to this gametype (e.g. "?WarmupTime=60")
Mutators: Mutators to be loaded for this gametype (e.g. "UTGame.UTMutator_LowGrav,UTGame.UTMutator_Instagib")
ExcludedMuts: Mutators which are disallowed for this gametype (e.g. "UTMutator_Instagib,UTMutator_Slomo")
bIsTeamGame: Specifies whether or not the current gametype is a team game (used internally for game voting)
MapReplayLimit: The number of matches which must pass before any one map can be played again
ActiveGameProfileName: The 'GameProfiles' entry which is currently active; mainly used by the game during runtime
PlayIndex: A value used for keeping track of when maps were last played, represents the total number of games played
AutoStripOptions: A list of URL options which are automatically removed upon map change (e.g. "LinkSetup")
AutoEmptyOptions: The same as 'AutoStripOptions', except these options are given an empty value on the URL (e.g. "GoalScore,TimeLimit")
* Configuration options for [UTGame.UTMapList]:
- Maps: The list of maps used by the maplist, options:
Map: The filename of the map (minus the file extension)
ExtraData: An array of arbitrary data which can be associated with each maplist entry; mainly used by the game at runtime
AutoLoadPrefixes: Maps with the prefixes defined here will be automatically added to the maplist (e.g. AutoLoadPrefixes=CTF,VCTF)
LastActiveMapIndex: The index into the 'Maps' list which was last active; mainly used by the game during runtime
Voting
* Added support for midgame voting for maps, game types, and mutators.
* All vote related variables have been moved to UTVote.ini
* To recover the old vote configuration values, you need to open UTGame.ini and go to the [UTGame.UTGame] section, then manually transfer the vote configuration values to the [UTGame.VoteCollector] section in UTVote.ini; the affected values are: 'bAllowMapVoting', 'VoteDuration' (now 'MapVoteDuration' and 'GameVoteDuration'), 'bMidGameMapVoting' (now 'bMidGameVoting'), 'MapVotePercentage' (now 'MidGameVotePercentage'), 'MinMapVotes' (now 'MinMidGameVotes'), and 'InitialVoteDelay'.
* Added new configuration options 'InitialVoteTransferTime' and 'RushVoteTransferTime'; the first slows down the speed at which vote related data (e.g. maps, game info) is transferred, to spread out bandwidth usage and prevent lag; the second speeds up the remaining transfers, for when the client opens the vote menu
* Added gametype voting, allowing players to vote in a different game type before voting for a map (if map voting is enabled). Gametype configuration is setup in UTMapLists.ini, through 'GameProfiles' under [UTGame.UTMapListManager]; configuration options in UTVote.ini:
* bAllowGameVoting: Enable/Disable gametype voting
* Added mutator voting, allowing players to decide which mutators get enabled/disabled in the next match; configuration options: bAllowMutatorVoting: Enable/Disable mutator voting
* VotableMutators: The list used to determine which mutators should be votable, options include:
* MutClass: The FULL class name of the mutator, include package name as well as class name (e.g. "UTGame.UTMutator_Slomo")
* MutName: The name that is displayed on the vote menu for this mutator (e.g. "Instagib", "Low Gravity") N.B. When left blank, the game will attempt to set this automatically
* MutatorVotePercentage: The percentage of votes required to enable or disable a mutator; percentages are only checked at endgame * Added kick voting; configuration options:
* bAllowKickVoting: Enable/Disable kick voting
* bAnonymousKickVoting: If true, then the voters name is not shown when performing a kick vote (except to admins)
* MinKickVotes: The minimum number of votes required in order to kick a player
* KickVotePercentage: The percentage of votes required in order to kick a player