Releases: TTT-2/TTT2
Releases · TTT-2/TTT2
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
v0.11.5b
Added
- Reworked our simplified Dropdowns MakePanel
PANEL:MakeComboBox(data)
version - Added possibility to manipulate serverside ConVars with Dropdowns. Just add .serverConvar with the conVarName to the given data similar to .convar
- .serverConVar and .conVar are also supported
- data.choices can now be a table containing
{title, value, select, icon, additionalData}
- data.selectValue is added, use it instead of data.selectName to choose the value you set
- data.selectTitle is added and shall replace data.selectName
- New setting to disable session limits entirely. (by @Reispfannenfresser)
- Added
GM:TTT2AdminCheck
hook - Replaced all
IsSuperAdmin()
checks with this hook - This hook can be used to allow custom usergroups through these checks
- Added convars to modify how fall damage is applied
ttt2_falldmg_enable (default: 1)
toggles whether or not to apply fall damage at allttt2_falldmg_min_velocity (default: 450)
sets the minimum velocity threshold for fall damage to occurttt2_falldmg_exponent (default: 1.75)
sets the exponent to increase fall damage in relation to velocity- All these convars can also be adjusted in the F1->Administration->Player Settings menu
- Added portuguese translation
- Added a
database
library, that handles shared Interaction with the sql database
Breaking Changes
- Reworked Dropdowns Panel
DComboBoxTTT2
itself PANEL:AddChoice(title, value, select, icon, data)
now uses the second argument as value string for setting convars, use the fifth argument for special data insteadPANEL:ChooseOption(title, index, ignoreConVar)
is deprecated and no longer chooses the displayed text, only per index- Reworked our simplified Dropdowns MakePanel
PANEL:MakeComboBox(data)
version data.OnChange(value, additionalData, comboBoxPanel)
is now called with the two important arguments at first. They are the value that e.g. convars are set, the additionalData and the Panel
Changed
- Corrected incorrect translation (by @sbzlzh)
- Optimized damage indicator vgui images to be smaller
- Improved hotreload of TTT2 roles library with RoleList not being global
Fixed
- Fixed addon compatibility checker fussing over disabled addons
- Fixed ammo entities blocking
+use
traces - Fixed double call of
GM:TTT2UpdateTeam
, when a role change leads to a team change
v0.11.4b
Changed
- Updated Japanese translation (by @westooooo)
- Switched from the voicerecord commands to the GMod permission system due to a recent GMod update breaking the old voice chat
v0.11.3b
Fixed
- Fixed Equipment-Editor not showing the current synced values, but the cached ones
Changed
- Changed serverConVars not indexing with 0 in tables (could cause issues when iterating)
v0.11.2b
Fixed
- Fixed correct role Karma multipliers used in Karma-module
v0.11.1b
Added
- Added four new Karma multipliers as role variables. They are applied after all other Karma calculations are done:
ROLE.karma.teamKillPenaltyMultiplier
: The multiplier that is used to calculate the Karma penalty for a team killROLE.karma.teamHurtPenaltyMultiplier
: The multiplier that is used to calculate the Karma penalty for team damageROLE.karma.enemyKillBonusMultiplier
: The multiplier that is used to calculate the Karma given to the killer if a player from an enemy team is killedROLE.karma.enemyHurtBonusMultiplier
: The multiplier that is used to calculate the Karma given to the attacker if a player from an enemy team is damaged
Fixed
- Fixed
ply:Give(weapon)
to work again, when weapons are cached, fixing the spawneditor to work again - Fixed spawneditor not causing errors, when going through walls due to many steps
- Set default traitor button variable back to 0
- Fixed unchanged or unscaled damage being sent to the client, leading to a wrongly working damage-overlay
v0.11.0b
Added
- Added the hook
GM:TTT2CalledPolicingRole
that is called after all policing role players were called to a corpse - Added all TTT2 convars into the F1 menu
- most convars are located in the
administration
menu - equipment specific settings can be found in the
edit equipment
menu - Added icon to the magneto stick
- Added the function
AddToSettingsMenu
to bothSWEP
andITEM
to add settings to the equipment menu - Added the role flag
.isOmniscientRole
; if set to true the role is able to see missing in action players and the haste mode time - Added
GM:TTT2ModifyOverheadIcon
to add, remove or modify the overhead icons of players
Fixed
- Fixed that every policing player could be called to a corpse, this is now again restricted to alive only players
- Fixed inconsistency between
.disabledTeamChatRecv
and.disabledTeamChatRec
- Fixed non-public policing roles having hats and therefore confirming them
- Fixed triggered spawns on maps like
ttt_lttp_kakariko_a5
with the vases andttt_mc_jondome
with the chests - Fixed roleselection layering with base roles to ensure layer order is considered correctly when selecting roles
- Fixed hotreloading items
- Fixed random playermodel selection on map change not working
- Fixed
ply:Give
sometimes picking up all surrounding weapon entities, if auto pickup is enabled - Fixes weapon pickup sometimes causing floating weapons
- Fixes weapon pickup sometimes failing if a weapon with the same class as a weapon in the inventory should be picked up
Changed
- All public policing roles now appear as detectives in the chat
- Change blocking revival mode from
true
/false
to REVIVAL_BLOCK_NONE
: don't block the winning condition during the revival process [default, previouslynil
/false
]REVIVAL_BLOCK_AS_ALIVE
: only block the winning condition, if the player being alive would change the outcome [previouslytrue
]REVIVAL_BLOCK_ALL
: block the winning condition until the revival process is ended- the old arguments still work, they are automatically converted
- Changed logs folder to
terrortown/logs/
to be inline with everything else - Added more role agnostics
- voice drain rate is now no longer bound to Detectives but to all public policing roles
- Karma multiplier is now no longer bound to Detectives but to all public policing roles
- all non-innocent roles are now able to pin ragdolls if enabled (previous only Traitors could do this)
- Overhead icons are now also either colored black or white depending on the role's color
Breaking Changes
- Renamed some convars to be inline with our
opt-in style
, all values were changed so that the default value is kept ttt_no_prop_throwing
is nowttt_prop_throwing
ttt_limit_spectator_chat
is nowttt_spectators_chat_globally
ttt_no_nade_throw_during_prep
is nowttt_nade_throw_during_prep
ttt_armor_classic
is nowttt_armor_dynamic