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()