Skip to content

v0.14.0b

Latest
Compare
Choose a tag to compare
@TimGoll TimGoll released this 21 Sep 10:47
· 40 commits to master since this release
4e9ffc5

Added

  • Added hook ENTITY:ClientUse(), which is triggered clientside if an entity is used (by @ZenBre4ker)
    • Return true to prevent also using this on the server for clientside only usecases
  • Added hook ENTITY:RemoteUse(ply), which is shared (by @ZenBre4ker)
    • Return true if only clientside should be used
  • Added RemoteUse to radio, you can now directly access it via use button on marker focus (by @ZenBre4ker)
  • Added sounds to multiple UI interactions (can be disabled in settings: Gameplay > Client-Sounds) (by @TimGoll)
  • Added a globally audible sound when searching a body (by @TimGoll and @mexikoedi)
  • Added the option to add a subtitle to a marker vision element (by @TimGoll)
  • Added the option to assign random unique models at round start (by @Exonen2)
  • Added a new voice chat UI (by @TimGoll)
  • Added new credit related hooks (by @Spanospy)
    • Added GM:TTT2CanTakeCredits() hook for overriding whether a player is allowed to take credits from a given corpse
    • Added GM:TTT2OnGiveFoundCredits() hook which is called when a player has been given credits for searching a corpse
    • Added GM:TTT2OnReceiveKillCredits() hook which is called when a player recieves credits for a kill
    • Added GM:TTT2OnReceiveTeamAwardCredits() hook which is called when a player recieves credits as a team award
    • Added GM:TTT2OnTransferCredits() hook which is called when a player has successfully transfered a credit to another player
  • Disabled locational voice during the preparing phase by default (by @ruby0b)
    • Added a ConVar ttt_locational_voice_prep to reenable it
  • Added SWEP.EnableConfigurableClip and SWEP.ConfigurableClip to set the weapon's clip on buy via the equipment editor (by @TimGoll)
  • Added Text / Nickname length limiting (by @TimGoll)
  • Added ttt_locational_voice_range to set a cut-off radius for the locational voice chat range (by @ruby0b)
  • Added a convar ttt2_inspect_credits_always_visible to control whether credits are visible to players that do not have a shop (by @nike4613)
  • Added multiple global voice chat activation modes for clients to choose from (Gameplay > Voice & Volume): (by @ruby0b)
    • Push-to-Talk (default)
    • Push-to-Mute
    • Toggle
    • Toggle (Activate on Join)
  • Team Voice Chat is always push-to-talk and temporarily disables global voice chat while being used (by @ruby0b)
  • Added a new generic button to F1 menu elements to be used in custom menus (by @TimGoll)
  • Added toggle and run buttons to many F1 menu elements (by @TimGoll)
  • Added combo cards to the UI, clickable cards that act like combo boxes (by @TimGoll)
  • Added a run button to bindings in the bindings menu (by @TimGoll)
  • Added a new admin commands menu (by @TimGoll)
    • Added a submenu to change maps
    • Added a submenu to issue basic commands
  • Added a new gameloop module that contains all functions related to the round structure (by @TimGoll)
  • Added a loadingscreen that hides the visible and audible lag introduced by the map cleanup on round change (by @TimGoll)
  • Added a voicebattery module that handles the voice battery (by @TimGoll)
  • Added admin.IsAdmin(ply) as a wrapper that automatically calls GM:TTT2AdminCheck (by @TimGoll)
    • Made sure this new function is used in our whole codebase for all admin checks
  • Added ENTITY:IsPlayerRagdoll to check if a corpse is a real player ragdoll (by @TimGoll)
  • Added improved vFire integration for everything in TTT2 that spawns fire (by @TimGoll and @EntranceJew)
  • Added the SWEP.DryFireSound field to the weapon base to allow the dryfire sound to be easily changed (by @TW1STaL1CKY)
  • Added role derandomization options for perceptually fairer role distribution, enabled by default (by @nike4613)
  • Added targetID to buttons (by @TimGoll)
  • Added force role admin command (by @mexikoedi)
  • Added draw.RefreshAvatars(id64) to refresh avatar icons (by @mexikoedi)
  • Added GM:TTT2OnButtonUse(ply, ent, oldState): a hook that is triggered when a button is pressed and that is able to prevent that button press (by @TimGoll)
  • Added TargetID and keyInfo to vehicles (by @TimGoll)
  • Added GM:TTT2PostButtonInitialization(buttonList): a hook that is called after all buttons on the map have been initialized (by @TimGoll)

Changed

  • Placeable Entities are now checked for pickup clientside first (by @ZenBre4ker)
    • C4 UI is not routed over the server anymore
  • Visualizer can now only be picked up by the originator (by @ZenBre4ker)
  • TargetID is now hidden when a marker vision element is focused (by @TimGoll)
  • Tracers are now drawn for every shot/pellet instead of only 25% of shots/pellets (by @EntranceJew)
  • The ConVar "ttt_debug_preventwin" will now also prevent the time limit from ending the round (by @NickCloudAT)
  • GM:TTT2GiveFoundCredits hook is no longer called when checking whether a player is allowed to take credits from a given corpse (by @Spanospy)
  • Micro optimizations (by @EntranceJew)
    • use net.ReadPlayer / net.WritePlayer if applicable instead of net.Read|WriteEntity
    • Reduced radar bit size for net message
    • The holdtype for pistol weapons now matches the viewmodel
  • VOICE.IsSpeaking(ply) (clientside) can now be used to check if any player is speaking to you (by @TimGoll)
  • Unified the spec color usage throughout the whole UI (by @TimGoll)
  • Cleanup and performance optimizations for marks library (by @WardenPotato)
  • Updated the Turkish localization file (by @NovaDiablox)
  • The level time now starts with the first preparing phase, meaning that idle on connect doesn't decrease the map time (by @TimGoll)
  • Minor cleanup and optimizations in weapon code (by @TW1STaL1CKY)
  • Shotgun weapon changes (by @TW1STaL1CKY)
    • Dry firing (attempting to shoot with no ammo) will now make you reload if possible, like all the other weapons do
    • Interrupting the reload should look and feel less jank
    • A thirdperson animation now plays when each shell is loaded (the pistol reload animation seems to fit best)
  • Now always properly checks if an entity is a true ragdoll to make sure no other props get ragdoll handling (by @TimGoll)
  • Spectators are now able to look at corpses on fire (by @TimGoll)
  • Corpses on fire display that information in targetID and MStack (by @TimGoll)
  • Updated Russian and English localization files (by @Satton2)
  • Made ply:IsReviving a shared player variable (by @TimGoll)
  • Updated and improved the Simplified Chinese localization file (by @sbzlzh and @TheOnly8Z)
  • Avatar icons are not fetched anymore but instead created with AvatarImage (fixes missing icons for chinese players) (by @mexikoedi)
  • GM:TTT2PlayerReady is now called for every player even on clients (by @TimGoll)
  • Updated Japanese translation (by @westooooo)
  • plyspawn.GetSpawnPointsAroundSpawn now tries to find spawns that are on the ground if possible (by @TimGoll)

Fixed

  • Fixed DynamicCamera error when a weapon's CalcView doesn't return complete values (by @TW1STaL1CKY)
  • Fixed Roundendscreen showing karma changes even if karma is disabled (by @Histalek)
  • Fixed the player's FOV staying zoomed in if their weapon is removed while scoped in (by @TW1STaL1CKY)
  • Fixed the player's FOV staying zoomed in with the binoculars if they're removed from you (by @TW1STaL1CKY)
  • Fixed weapon unscoping (or generally any time FOV is set back to default) being delayed due to the player's lag (by @TW1STaL1CKY)
  • Fixed overhead icons sometimes being stuck at random places (by @TimGoll)
  • Fixed a null entity error in the ShootBullet function in weapon_tttbase (by @mexikoedi)
  • Fixed a nil compare error in the DrawHUD function in weapon_tttbasegrenade (by @mexikoedi)
  • Fixed players sometimes not receiving their role if they joined late to the game (by @TimGoll)
  • Fixed crowbar attack animation not being visible to the player swinging it (by @TW1STaL1CKY)
  • Fixed weapon dryfire sound interrupting the weapon's gunshot sound (by @TW1STaL1CKY)
  • Fixed incendiaries sometimes exploding without fire (by @TimGoll)
  • Fixed scoreboard not showing any body search info on players that changed to forced spec during a round (by @TimGoll)
  • Fixed vFire explosions killing a player even if they have NoExplosionDamage equipped (by @TimGoll)
  • Fixed a nil error in the PreDrop function in weapon_ttt_cse (by @mexikoedi)
  • Fixed table.FullCopy(tbl) behaviour when tbl contained a Vector or Angle (by @Histalek)
  • Fixed the bodysearch showing a wrong player icon when searching a fake body (by @TimGoll)
  • Fixed players respawned with ply:Revive sometimes spawning on a fake corpse (by @TimGoll)
  • Fixed undefined Keys breaking the gamemode (by @TimGoll)
  • Fixed markerVision elements being visible to team mates of unknown teams (such as team Innocent) (by @TimGoll)
  • Fixed inverted settings being inverted twice in the equipment editor (by @TimGoll)
  • Fixed OldTTT HUD sidebar elements missing translation (by @TimGoll)
  • Fixed avatar icons not refreshing if they were changed on Steam (by @mexikoedi)
  • Fixed a wrong label for the sprint speed multiplier in the F1 menu (by @TimGoll)
  • Fixed own player name being shown in targetID when in vehicle (by @TimGoll)
  • Fixed ShopEditor.BuildValidEquipmentCache() being called too early on the client, resulting in a wrong cache state (by @NickCloudAT and @12problems)

Removed

  • Removed radio tab in shop UI (by @ZenBre4ker)
  • Removed all uses of UseOverride-Hook inside TTT2 (It's still available for addons!) (by @ZenBre4ker)
  • Removed round_restart, round_selected and round_started MStack messages to reduce message spawm (by @TimGoll)
  • Removed the old tips panel visible to spectators (moved to the new loading screen) (by @TimGoll)

Breaking Changes

  • Renamed GM:TTT2ModifyVoiceChatColor(ply, clr) to GM:TTT2ModifyVoiceChatMode(ply, mode)
  • Renamed ply:GetHeightVector() to ply:GetHeadPosition()
  • Removed the TIPS module and replaced it with a new tips module
  • Removed draw.WebImage(url, x, y, width, height, color, angle, cornerorigin) and draw.SeamlessWebImage(url, parentwidth, parentheight, xrep, yrep, color) from the draw module
  • Due to GM:TTT2PlayerReady now being called for every player, addon devs have to make sure to check the player on the client