Releases: TTT-2/TTT2
Releases · TTT-2/TTT2
v0.14.0b
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
- Added
- Disabled locational voice during the preparing phase by default (by @ruby0b)
- Added a ConVar
ttt_locational_voice_prep
to reenable it
- Added a ConVar
- Added
SWEP.EnableConfigurableClip
andSWEP.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 callsGM: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 ofnet.Read|WriteEntity
- Reduced radar bit size for net message
- The holdtype for pistol weapons now matches the viewmodel
- use
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'sCalcView
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 whentbl
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
andround_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)
toGM:TTT2ModifyVoiceChatMode(ply, mode)
- Renamed
ply:GetHeightVector()
to `ply:GetHeadPo...
v0.13.2b
Added
- Added upstream content files to base TTT2
- Added
plymeta:IsFullySignedOn()
to allow excluding players that have not gotten control yet (by @EntranceJew)
Changed
- Crosshair rendering now is a bit more flexible and customizable
- A crosshair is now also drawn when holding a nade, making it less confusing when looking at entities
- Hides item settings in the equipment editor that are only relevant for weapons
- The binoculars now use the default crosshair as well
Fixed
- Fixed the AFK timer accumulating while player not fully joined (by @EntranceJew)
- Fixed weapons which set a custom view model texture having an error texture
- Fixed the equipment menu throwing errors when clicking on some items
- TTT2 now ignores Gmods SWEP.DrawCrosshair and always draws just its own crosshair to prevent two crosshairs at once
- Fixed hud help text not being shown for some old weapons
- Fixed detective search being overwritten by player search results
v0.13.1b
Fixed
- Fixed rendering for weapons not based on the TTT2 base (e.g. TFA) (by @TimGoll)
- Fixed bodysearch entries not having a title breaking the rendering (by @TimGoll)
- Fixed
GetViewModel
error on the client when joining a server (by @TimGoll) - Fixed the new view changes preventing weapons from modifying the playerview (by @TimGoll)
- Fixed the new view changes affecting non-player entities (by @TimGoll)
- Fixed an error in an error message (by @mexikoedi)
v0.13.0b
Added
- Added migrations between TTT2-versions, some breaking changes could now be migrated instead
- Added a new markerVision module that adds information to a specific point in space to replace the old C4 radar; it is currently used by these builtin weapons (by @TimGoll)
- C4
- Radio
- Beacon
- Binoculars now retain search progress if interrupted. Progress decays based on time since last observed (by @EntranceJew)
- Reworked the way the player camera is handled (by @TimGoll)
- Added FOV change on speed change
- Added view bobbing on walking, swimming, falling and strafing
- Added convars to disable those changes
- Added
draw.Arc
anddraw.ShadowedArc
from TTTC to TTT2 to draw arcs (by @TimGoll und @Alf21) - Added possibility to cache and remove items, similar to how it is already possible with weapons with
CacheAndStripItems
(by @TimGoll) - Added an option for weapons to hide the pickup notification by setting
SWEP.silentPickup
totrue
(by @TimGoll) - Added
TTT2FetchAvatar
hook for intercepting avatar URIs (by @EntranceJew) - Added
draw.DropCacheAvatar
to allow destroying and refreshing an existing avatar, so bots can intercept avatar requests and circumvent the limited unique SteamID64s they're given (by @EntranceJew) weapon_tttbase
changes to correct non-looping animations which affected ADS scoping (by @EntranceJew)- Added
SWEP.IdleAnim
to allow specifying an idle animation. - Added
SWEP.idleResetFix
to allow the animations for CS:S weapons to automatically be returned to an idle position. - Added
SWEP.ShowDefaultViewModel
to prevent a weapon from drawing a ViewModel when set tofalse
at all without FOV hacks or Deploy code which has no effect.
- Added
- Icon for gameplay menu
- Icon for accessibility menu
- Icon for
Voice & Volume
menu - Added a new vgui element:
DWeaponPreview_TTT2
to render a player with their equipped weapon (by @TimGoll)- Supports any normal weapon that has a
.HoldType
and a.WorldModel
- Supports any weapon that is made with the SWEP Construction Kit (boomerang, melonmine, ...) or made for our custom world model renderer
- Supports any normal weapon that has a
- Made beacon model and icon unique from decoy (by @EntranceJew)
- Added
SWEP:ClearHUDHelp()
to allow blanking the help text, for dynamically updating help text on equipment (by @EntranceJew) - Added custom world and view models to some builtin weapons (by @TimGoll)
- added for: radio, beacon, decoy, binoculars, visualizer
- Added support for easy addition of custom view and world models (by @TimGoll)
- Added
AddCustomViewModel
to add custom view models - Added
AddCustomWorldModel
to add custom world models - Added an automatic fix for badly coded addons that break the view model fingers
- Added
- Added
ttt_base_placeable
entity that is used to handle any placeable / destroyable entity (by @TimGoll)- moved
ttt_c4
,ttt_health_station
,ttt_beacon
,ttt_decoy
,ttt_radio
andttt_cse_proj
to that base - also handles pickup of those entities
- moved
- Throwables (grenades) now have a
:GetPullTime()
accessor (by @EntranceJew) - Throwables (grenades) show UI for the amount of time remaining before detonation (fuse time) (by @EntranceJew)
- UI for grenade throw arcs from colemclaren's TTT fork (integrated by @EntranceJew)
gameEffects
library for global effects that are useful, such as starting fires (by @EntranceJew)- Added weapon pickup sounds when picking up weapons manually (by @TimGoll)
Changed
- Refactored client shop logic into separate shop-class (by @ZenBre4ker)
- Enabled shared shop class to buy and check equipment
- Removed third argument of
TTT2CanOrderEquipment
-Hook, no message is outputted anymore
- dframe_ttt2 panels can now manually enable bindings while they are open (by @ZenBre4ker)
- Binoculars now have a world model that isn't paper towels (by @EntranceJew)
- Decreased shooting accuracy while sprinting or in air (by @TimGoll)
- A player whose weapons are stripped and cached will keep
weapon_ttt_unarmed
which means they keep their crosshair (by @TimGoll) - Updated the German localization file (by @NickCloudAT)
- Updated the Turkish localization file (by @NovaDiablox)
- Grenades have icons
- Brought
C4
,defuser
,flaregun
,health_station
,radio
weapons down from upstream (by @a7f3) - Updated help text for
C4
,defuser
,flaregun
,health_station
,radio
,knife
,phammer
,push
, andzm_carry
weapons (by @a7f3) - Brought down the
EFFECT
s:crimescene_dummy
,crimescene_shot
,pulse_sphere
,teleport_beamdown
,teleport_beamup
- Brought down the
ENT
s:ttt_basegrenade_proj
,ttt_carry_handler
(unused),ttt_firegrenade_proj
,ttt_smokegrenade_proj
,ttt_weapon_check
- Brought down the
SWEP
:weapon_ttt_stungun
- Brought down the menu for arming/defusing C4
- Updated and improved Simplified Chinese translation (by @sbzlzh and @TheOnly8Z)
- Improved Simplified Chinese translation(by @TEGTainFan)
- Consolidated hat logic
- Player role selection logic uses
Player:CanSelectRole()
now instead of duplicating logic - Role avoidance is no longer an option
- All
builtin
weapons can now be configured to drop viaEdit Equipment
(by @EntranceJew) - Removed redundant checks outside of
SWEP:DrawHelp
, protected onlySWEP:DrawHelp
- Spectator name labels now use a skin font and scaling (by @EntranceJew)
- The built-in radar now displays distances in meters (by @TimGoll)
- Converted
ttt_ragdoll_pinning
andttt_ragdoll_pinning_innocents
into per-role permissions. - Magneto stick now allows right-clicking to instantly drop something, while left-clicking still releases/throws it.
- Magneto stick now shows tooltips respective to its current state.
- Scoreboard shows non-policing detective results, in sync with the miniscoreboard (by @EntranceJew)
ttt_flame
is visible while it is moving (by @EntranceJew)ttt_flame
's hurtbox is more accurate to its visuals (by @EntranceJew)- The built-in DNA scanner now displays distances in meters (by @TimGoll)
- Noisy prints are now gated behind various levels of
developer
convar (by @EntranceJew) - Any warnings developers should fix will now print with stack traces (by @EntranceJew)
- Changed the way the role overhead icon is rendered (by @TimGoll)
- It now tracks the players head position
- Rendering order is based on distance, no more weird visual glitches
- Hidden when observing a player in first person view
- Your own spectator nametag will not display when looking directly up in post-round (by @EntranceJew)
- Made sure the last weapon is selected by default if the current weapon is removed; overwrite
OnRemove
to prevent that (by @TimGoll) - Changed the way weapon icon caching is working to make sure all weapons always have a cached icon material (by @TimGoll)
Fixed
- Fixed database now properly saving boolean
false
values (by @ZenBre4ker) - Fixed cached weapons not being selected after giving them back to the owner (by @TimGoll)
- The roundendscreen can now be closed with the correct Binding (by @ZenBre4ker)
- Fixed last seen player being wrongly visible for every search instead of only public policing role search (by @TimGoll)
- Fixed the crosshair being offcenter on some UI scales (by @TimGoll)
- Fixed to wrong line calculations for wrapped text (by @NickCloudAT)
- Fixed marks library having self zfailing and color issues (by @WardenPotato)
- Fixed
IsPlayer
failing if a non-entity is passed to it (by @TimGoll) - Fixed draw.Arc when
gmod_mcore_test
is set to 1 (by @WardenPotato) - Fixed weapon help box width for wide bindings with short descriptions (by @TimGoll)
- Fixed
GM:TTTBodySearchPopulate
using the wrong data variable (by @TimGoll) - Fixed font initialization to not trip engine font fallback behavior (by @EntranceJew)
- Fixed the decoy producing a wrong colored icon for other teams (by @NickCloudAT)
- Fixed the scoreboard being stuck open sometimes if the inflictor was no weapon (by @TimGoll)
- Fixed door health displaying as a humongous string of decimals (by @EntranceJew)
- Fixed weapons that use the wrong weapon base from throwing errors in the F1 menu (by @TimGoll)
Removed
- Removed some crosshair related convars and replaced them with other ones, see the crosshair settings menu for details
- Removed DX8/SW models that aren't used
- Removed the convar
ttt_damage_own_healthstation
as it was inconsistent and probably unused as well - Removed
ttt_fire_fallback
, there's no situation where the fire shouldn't draw anymore. - Removed
resource.AddFile
calls, server operators should use the workshop version or manually bundle loose files.
Breaking Changes
- Moved global shared
EquipmentIsBuyable(tbl, ply)
toshop.CanBuyEquipment(ply, equipmentName)
- Returned text and result are now replaced by a statusCode
- No more
plymeta:GetAvoidRole(role)
orplymeta:GetAvoidDetective()
- Moved global
TEAMBUYTABLE
toshop.teamBuyTable
and separatedBUYTABLE
intoshop.buyTable
andshop.globalBuyTable
- Use new Accessors
shop.IsBoughtFor(ply, equipmentName)
,shop.IsGlobalBought(equipmentName)
andshop.IsTeamBoughtFor(ply, equipmentName)
- Use new Setter
shop.SetEquipmentBought(ply, equipmentName)
,shop.SetEquipmentGlobalBought(equipmentName)
andshop.SetEquipmentTeamBought(ply, equipmentName)
- Use new Accessors
v0.12.3b
Added
- Added some missing vanilla TTT entities into TTT2
- Added debug.print(message)
- This puts quotation marks around print statements
- Can handle single values or a sequential table to be printed
- Can handle
nil
entries in a nearly sequential table
- Added new hooks
TTT2BeaconDetectPlayer
andTTT2BeaconDeathNotify
to allow preventing / overriding a beacon's player detection & alerts (by @Spanospy) - Added indentation to subsettings in F1 menu (by @TimGoll)
Changed
- Updated the Turkish localization file (by @NovaDiablox)
- Keyhelp and weapon HUD Help now use the global scale factor
Fixed
- Fixed targetID hints for old addons now correctly working for all entities
- Fixed visualizer having pickup hint even though player is unable to pick up
- Targetid wasn't showing named corpse's role, information which was already present on the scoreboard (by @EntranceJew)
- Damage Scaling now has a help description
- Fixed the database module setting a global variable called
callback
which breaks addons such as PointShop2 - Fixed voicechat keybinds being shown even if voice is disabled
- Coerced ammo types to lowercase for better matching in HUD
- The binocular zoom now uses a DataTable that is not already used by its weaponbase
- Fixed round scoreboard tooltips not being wide enough for their strings (by @EntranceJew)
- Errors when looking at a player's corpse that disconnected (by @EntranceJew)
- Fixed
TTT2FinishedLoading
hook not called on server on hot reload (by @TimGoll) - Shopeditor now correctly shows resetted and default values
v0.12.2b
Added
- Added the beacon back into TTT2, an equipment that was disabled long ago in base TTT
- Can only be bought by policing roles
- Creates a wallhack in a sphere around it, which is visible to everyone
- Added recognizable badge for
builtin
equipment and roles (by @EntranceJew)- Buy Equipment menu has
builtin
indicators, replacing the(C)
custom marker decorating a majority of equipment F1 > Edit Equipment
now hasbuiltin
indicators on equipment- Added tooltip to
F1 > Edit Equipment
menu with the equipment's class name. F1 > Role Settings
now hasbuiltin
indicators for rolesF1 > Edit Shops
now hasbuiltin
indicators for roles
- Buy Equipment menu has
Changed
- Updated the Turkish localization file (by @NovaDiablox)
- Radio can now only be picked up by placer
- Radar now clears existing waypoints when removed or on changing role (by @EntranceJew)
- Comboboxes can now handle numbers and strings as values
- Defaults work now with numbers
- OnChange-Callback is called with the correct type for ConVars
Fixed
- Binoculars scan no longer gets interrupted when changing zoom level
- Fixed missing water level icon breaking scoreboard
- DNA Tester works now with more than one fingerprint on a weapon
- TraitorButton config files should now actually work
- Translation strings not rendering on detective's body search mode combobox
- C4 defusal prompt now suggesting the right key
- Disable to unscope from weapons without ironsights
- Fixed typo preventing targetid from showing role icons correctly
- Mitigated issue with CTakeDamageInfo becoming ephemeral outside their hook of origin
ttt_game_text
can now properly send to "All except traitors", as described.- Fixed corpses not listing their kills
- Comboboxes now show correct values for database driven entries
- Database-Callbacks are now called with the correct valuetype
v0.12.1b
Added
- Added a new
fastutf8
library that provides faster utf8 functions (added by @saibotk, created by @blitmap)
Fixed
- Fixed the UI being unable to handle wrapping text with non-utf8 languages that do not use ASCII whitespaces (by @TimGoll & @saibotk)
- Fixed ttt_game_text not working due to a refactor
- Fixed dete call HUD being invisible
- Fixed edgecase where undefined killer angle or pos were accessed
- Fixed fallback ammo icon missing
- Fixed a null entity error in the miniscoreboard
- Fixed missing bodysearch information if victim was killed without leaving a trace caused by a weapon hit
v0.12.0b
Added
- Added the ability to edit slider numbers directly via an input field by clicking on the number (by @NickCloudAT)
- Added a new way to alter player volume separately from the scoreboard (by @EntranceJew):
VOICE.(Get/Set)PreferredPlayerVoiceVolume
for setting the voice volume instead ofPlayer:SetVoiceVolumeScale
VOICE.(Get/Set)PreferredPlayerVoiceMute
for setting the voice mute instead ofPlayer:SetMuted
VOICE.UpdatePlayerVoiceVolume
commits / updates the voice setting according to player preferences
- Added client submenu options for clients to change audio settings under
F1 > Gameplay > General
(by @EntranceJew):- Added a convar
ttt2_voice_scaling
to control voice volume scaling, options like "power4" or "log" cause the volume scaling to have a greater perceptual impact between discrete volume settings. - Added convars
ttt2_voice_duck_spectator
andttt2_voice_duck_spectator_amount
to lower spectator voice volume automatically.- A value of
0.13
ducks someone's volume at 90% down to effectively 78%, according to the client's scaling mode.
- A value of
- Added a convar
- Added the option for
DButtonTTT2
to have an icon next to the title (by @TimGoll) - Added a cached equipment item icon to its table as
.iconMaterial
(by @TimGoll) - Added a new
bodysearch
library that handles the search (by @TimGoll) - Completely reworked the body search UI (by @TimGoll)
- new UI that fits the UI rework
- added player model to UI
- highlighted player role and team in the UI
- redesigned data list so that everything can be seen without clicking through a list
- added more details to list like: water level, ground type, kill distance, kill direction, hit group, last damage amount
- The UI is now more responsive, it is updated when the server changes states on the body and timers are updated live in the UI
- Added that the healthbar will pulsate when below 25% health. Toggleable in F1 Menu (by @NickCloudAT)
- Added new menu section in F1 menu under
Appearance > Hud Switcher
for HudElement based features (by @NickCloudAT) - Brought in code files for
ttt_hat_deerstalker
,weapon_ttt_phammer
,ttt_flame
, andweapon_ttt_push
. - Translated all strings still needed to german (by @NickCloudAT)
- Added new sidebar information, when the scoreboard is open (by @TimGoll)
- Added keybinding information to the bottom of the screen (by @TimGoll)
- Can be disabled in Appearance->Interface
- Shows binding name when scoreboard is opened
- Added option to render rotated text on screen (by @TimGoll)
- Added
TTT2GiveFoundCredits
hook for preventing / overriding the transfer of credits from a body to a player (by @Spanospy) - Added Ukrainian translation from base TTT (by @ErickMaksimets)
- Added Swedish translation from base TTT (by @Kefta)
- Added Turkish translation (by @NovaDiablox)
- Added
ttt_dropclip
to drop loaded ammo from your active weapon. (by @wgetJane, implemented by @EntranceJew) - Added window flash and noise to alert players they're being revived (by @EntranceJew)
- Added sql database access to panel elements
DNumSliderTTT2
,DCheckBoxLabelTTT2
,DComboBoxTTT2
- Added dashing to propspec (by @TimGoll)
- Added new functions to database module
-database.SetDefaultValuesFromItem(accessName, itemName, item)
Changed
- Changed sprint stamina to also consume while in air
- Updated Simplified Chinese and Traditional Chinese localization files (by @sbzlzh):
- Add the missing
L.c4_disarm_t
translation in C4 - Remove redundant string translations and spaces
- Added all new translation strings
- Add the missing
- Updated file code to read from
data_static
as fallback in new location allowed in .gma (by @EntranceJew) - Scoreboard now sets preferred player volume and mute state in client's new
ttt2_voice
table (by @EntranceJew)- Keyed by steamid64, making it more reliable than UniqueID or the per-session mute and volume levels.
- Changed the body search convars and reworked the UI accordingly (by @TimGoll)
- Moved
ttt2_confirm_detective_only
andttt2_inspect_detective_only
to a new covar:ttt2_inspect_confirm_mode
- mode 0: default mode, normal TTT. Everyone can search and identify corpses. However now a player has to be confirmed first to take credits
- mode 1: everyone can see information, but only public policing roles can actually confirm bodies
- mode 2: only public policing roles can see informatiom. They have to confirm bodies so that other people are able to see this information as well
- to comply with mode 1 and 2 now everyone is able to see in the targetID if a player was searched by a public policing role
- Moved
- renamed
search_result
tobodySearchResult
which contains the search result data - changed the credit text color from yellow to gold (by @TimGoll)
- Updated the disguiser to make it more clear in the HUD if it is enabled or not
- Updated the equipment HUD help boxes in a new style and added missing help boxes (by @TimGoll)
- Changed LMB press behavior in observer mode to iterate backwards through player list instead of slecting a random player (by @TimGoll)
- Improved translation of some Simplified Chinese strings (by @TheOnly8Z)
- Dropping ammo with
ttt_dropammo
drops from reserve ammo instead of your active weapon's clip (by @wgetJane, implemented by @EntranceJew) - Added item name for
ttt_hat_deerstalker
(by @EntranceJew) - Changed syncing of database module to use whole tables instead of custom method
- Replaced equipmenteditor syncing with database module
- Replaced internal equipment syncing with database module
- Moved reset buttons onto the left (by @a7f3)
- Added ammo icons to the weapon switch HUD and player status HUD elements (by @EntranceJew)
- Changed the disguiser icon to be more fitting (by @TimGoll)
Fixed
- Fixed prediction of the sprinting system, for high ping situations (by @saibotk, thanks to @wgetJane)
- Fixed removing the convar change callback in
DComboboxTTT2
,DCheckBoxLabelTTT2
,DNumSliderTTT2
(by @saibotk) - Multiple internal fixes
- biggest teamkiller award should now work
- item model caching should now work properly
- role info popup for traitors should now show teammembers again if the traitor shop is disabled
pon
andtable
libraries got a small fix respectively- the shop and roleselection now reference
roles.INNOCENT
instead of the removedINNOCENT
global, same forTRAITOR
andDETECTIVE
- Fixed wrong translation % in F1-Menu when changing language (by @NickCloudAT)
- Fixed disguiser breaking UI on hot reload (by @TimGoll)
- Fixed blurred box rendering for boxes not starting at
0,0
(by @TimGoll) - Optimized allocations by using global Vector / Angle when possible
- Fixed spectated entity not being reset properly which can cause issues (by @TimGoll)
- Optimized allocations by using global Vector / Angle when possible.
- Fixed the dynamic armor damage calculation being wrong when damage can only get partially reduced
- Fixed propspec inputs behaving sometimes unexpectedly (by @TimGoll)
- Fixed ComboBoxes not working with integer values (by @NickCloudAT)
- net.SendStream() can now also handle tables larger than 256kB, which exceeded the maximum net receive buffer
- Fixed nil value of SetValue in
DNumSliderTTT2
,DCheckBoxLabelTTT2
. And fix nil value for boxCache[name] inPlayerModels
(by @sbzlzh) - Prevent weapon_tttbase Lua errors with NPCs (by @BuzzHaddaBig in base TTT)
- Fix miniscoreboard HUD from showing confirmed players that switched to spectator as having been revived (by @EntranceJew)
Deprecated
- Deprecated
AccessorFuncDT()
, Addons should remove the function call and replaceDTVar()
calls withNetworkVar()
Removed
- Removed
ttt_confirm_death
andttt_call_detective
as they are now handled via proper net messages - Removed spectator texts from the UI in favor of the new key binding information (by @TimGoll)
- Removed double tap sprinting, for easier prediction handling (by @saibotk)
- Removed explicit "Sprint" key bind, please use the GMod native sprint key binding (by @saibotk)
- Removed unused clientside
Player.preventSprint
flag (by @saibotk)
v0.11.7b
Added
- Added a new font in default_skin.lua to fit the localization (by @Satton2)
- Fixed knife death effect being permanently applied on every following death
- Added
PANEL:MakeTextEntry(data)
toDFormTTT2
for strings or string-backed cvars (by @EntranceJew) - Allow admin spectators to enter "Spawn Edit" mode. (by @EntranceJew)
- Added cvar
ttt2_bots_lock_on_death
(default: 0) to prevent bots from causing log-spam while wandering as spectators. (by @EntranceJew) - Added
TTT2ModifyFinalRoles
hook for last minute opportunity to override role distribution prior to them being announced for the first time (by @EntranceJew) weapon_tttbase
:- Added
SWEP:ShouldRemove
to facilitate interceptingSWEP:Remove
(by @EntranceJew) - Added
SWEP.damageScaling
for weapons that utilizeShootBullet
(by @EntranceJew)
- Added
- Edit Equipment Menu
AllowDrop
can now be overridden per-weapon (by @EntranceJew)Kind
can now be overridden per-weapon (by @EntranceJew)overrideDropOnDeath
now permits forcing weapons to be dropped instead of removed on death (by @EntranceJew)- "Damage Scaling" editable under "Balance Settings" (by @EntranceJew)
vgui.CreateTTT2Form
passes the name on so that it can be accessed viaPanel:GetName()
(by @EntranceJew)- Added two GAMEMODE hooks to provide the ability for additional addons to extend role/equipment menus.
GM:TTT2OnEquipmentAddToSettingsMenu(equipment, parent)
- Called after
ITEM:AddToSettingsMenu(parent)
.
- Called after
GM:TTT2OnRoleAddToSettingsMenu(role, parent)
- Called after
ROLE:AddToSettingsMenu(parent)
- Called after
Changed
weapon_tttbase
:- Removal of
SWEP.IronSightsTime
as it was completely unused and conflicts with a networked value intended for the same purpose - Commented-out default values for
SWEP.IronSightsPos
andSWEP.IronSightsAng
to match vanilla TTT behaviour- SWEPs can still use these names as normal, they just don't have a base value to inherit anymore
- Removal of
- Updated Russian and English localization files (by @Satton2):
- Updated strings in English localization file
- Localized outdated and new strings into Russian
- Updated all localization files (by @Satton2):
- Added missing and new strings
- Marked (out-) updated strings
- Removed some duplicated strings
- Removed some old unused strings
- Fixed some broken source strings (line names)
- Simplified Chinese and Traditional Chinese localization updates (by @sbzlzh):
- Update Simplified Chinese Translation
- Improve translation (by @TheOnly8Z)
- Localization parameters for
{walkkey} + {usekey}
prompts made into the predominant style.
Fixed
- Fixed hotreload of TTT2 roles library by a fresh reinitialization
- Fixed a wrong localization line call in roles.lua (by @Satton2)
- Fixed +zoom bind
- Fixed ttt_quickslot command
- Fixed an issue in
table.GetEqualEntryKeys
when nil is provided instead of a table. (by @sbzlzh):- This fixes spawn problems on maps with invalid spawn points
- This fixes errors in the F1 Menu language selection
- Fixed the check for dynamic armor being inverted (
1
disabled it,0
enabled it) - Fixed two unmatched ConVars in performance menu (by @NickCloudAT)
- Fixed Round End Scoreboard (Round Begin) error if a player disconnected while round with no score events (by @NickCloudAT)
- Fixed behavior of
entspawn.SpawnRandomAmmo
to produce non-deagle ammo. (by @NickCloudAT, mostly)
New Contributors
- @ruby0b made their first contribution in #1025
- @EntranceJew made their first contribution in #1039
Full Changelog: v0.11.6b...v0.11.7b
v0.11.6b
Changed
- Fixed and updated the Chinese translation file (by @sbzlzh)
- Updated Japanese translation (by @westooooo)
- Updated Simplified and Traditional Chinese (by @TEGTianFan)
- Add placeholder message to the ingame ttt2 guide (F1 Menu)
Fixed
- Fixed the spawn editor tool not having a TargetID in some scenarios by always rendering the 'ttt_spawninfo_ent' (by @NickCloudAT)
- Roleselection for a lot of roles now considers all possible subroles one after another
- Fixed portuguese translation of the equipment editor not working