
[ ENGINE ]
-
Updated engine code to the latest version of Source 2.
-
Reworked bullet penetration simulation to reduce CPU usage.
-
Improved core utilization of some client particle and sound effects processing, reducing overall CPU usage when players are shooting.
[ GAMEPLAY ]
-
Defusing C4 will now lower the viewmodel weapon, prevent scoping, and delay firing the weapon by 150ms after exiting the defuse.
-
C4 will no longer detonate in the middle of halftime intermission or after the end of the match.
-
Fixed a case where 1 tick was incorrectly subtracted from sv_predictable_damage_tag_ticks.
[ UI ]
-
Major Highlight clips are now viewable from the Spectator Loadout.
-
Selected player is now more visible in the Team Counter.
-
Context menu in the Inventory now opens in a position relative to the cursor.
-
HUD weapon mode indicator has been moved to the ammo count.
-
Raindrops are now removed from weapons when switching to a dry inspect environment.
[ MAP SCRIPTING ]
-
cs_script enums can now be imported and behave the same as TypeScript enums.
- CSWeaponType.PISTOL == 1
- CSWeaponType[1] == "PISTOL"
-
Added enums CSRoundEndReason, CSHitGroup, CSLoadoutSlot, CSDamageTypes, CSDamageFlags and CSWeaponAttackType
-
Added BOOSTS value to CSGearSlot. This is the gear slot for healthshots.
-
Updated Instance.OnRoundEnd to now receive the reason
-
Updated Instance.OnBeforePlayerDamage to now receive damageType and damageFlags and the result can now modify damageType and damageFlags
-
Updated Instance.OnPlayerDamage to now receive damageType and damageFlags
-
Updated Instance.OnKnifeAttack to now receive attackType
-
Updated Instance.TraceLine, Instance.TraceSphere and Instance.TraceBox
- The trace config now accepts an array of ignore entities or just one
- The trace config can specify to trace against hitboxes
- The trace result will include hitGroup if tracing against hitboxes
-
Updated Instance.BulletTrace result to include hitGroup
-
Updated Entity.TakeDamage to accept damageType and damageFlags
-
Added CSWeaponData.GetGearSlot()