← all updates

2025-10-14

25 changes

C4 Stops Detonating During Halftime or After the Match Ends

The C4 no longer detonates in the middle of halftime intermission or after a match has ended, and defusing it now lowers your viewmodel, blocks scoping, and delays firing for 150ms afterward. This update also brings the latest Source 2 engine code, with reworked bullet penetration and particle/sound processing that reduces CPU usage while shooting. Scripters gain new enums, gear slot support, and hit-group data in bullet traces, and raindrops now clear from weapons when switching to a dry inspect view.

C4

misc

  • reworkUpdated engine code to the latest version of Source 2.
  • reworkReworked bullet penetration simulation to reduce CPU usage.
  • reworkImproved core utilization of some client particle and sound effects processing, reducing overall CPU usage when players are shooting.
  • fixFixed a case where 1 tick was incorrectly subtracted from sv_predictable_damage_tag_ticks.

weapon

  • reworkDefusing C4 will now lower the viewmodel weapon, prevent scoping, and delay firing the weapon by 150ms after exiting the defuse.C4
  • reworkC4 will no longer detonate in the middle of halftime intermission or after the end of the match.C4

ui

  • reworkMajor Highlight clips are now viewable from the Spectator Loadout.
  • reworkSelected player is now more visible in the Team Counter.
  • reworkContext menu in the Inventory now opens in a position relative to the cursor.
  • reworkHUD weapon mode indicator has been moved to the ammo count.
  • reworkRaindrops are now removed from weapons when switching to a dry inspect environment.

scripting

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

Published by Valve on Steam.