Skip to content

CDestructiblePart_DamageLevel

CS2 build 25218825 · Steam date 2026-09-09 · platform windows-x86_64 · cs2_schema.json

Kind: classSize: 72 bytes (0x48)Alignment: 8 bytesModule: serverBinary: !GlobalTypes

Relationships

Inherits from: nothing; this is a root class.

Used by (1) as a field type

Inheritance tree
  • CDestructiblePart_DamageLevel
Relationship diagram (2 edges)
classDiagram
    CDestructiblePart_DamageLevel *-- CSkillInt
    CDestructiblePart_DamageLevel *-- CRangeFloat
Inheritance chain, direct subclasses (up to 20) and a few composition edges

Memory layout

10 fields, 10 declared here and 0 inherited. Offsets are absolute from the object base on windows-x86_64.

CDestructiblePart_DamageLevel

OffsetFieldTypeFromAnnotations
0x0m_sNameCUtlStringMPropertyDescription Name for this damage level. Presently only used for debugging/display - one day may be used in code to allow destroying by name.
0x8m_sBreakablePieceNameCGlobalSymbolMPropertyAttributeEditor ModelDocPicker( MODELDOC_PICK_TYPE_BREAKPIECE ) MPropertyDescription Name of the breakable to trigger breaking on when health reaches zero. MPropertyStartGroup +Model Setup
0x10m_nBodyGroupValueint32MPropertyDescription Value to set for the body group when the damage level is broken.
0x14m_nHealthCSkillIntMPropertyDescription Total health of this damage level. When it reaches 0, the damage level is 'broken' using the breakable prop system. MPropertyStartGroup +Damage MPropertySuppressExpr m_nDamagePassthroughType == InvincibleAbsorb || m_nDamagePassthroughType == InvinciblePassthrough
0x24m_flCriticalDamagePercentfloat32MPropertyDescription % chance (0-1) of dealing 'critical' damage, which destroys this damage level, regardless of damage pass through type.
0x28m_nDamagePassthroughTypeEDestructiblePartDamagePassThroughTypeMPropertyDescription How damage to this damage level is handled.
0x2cm_nDestructionDeathBehaviorDestructiblePartDestructionDeathBehavior_tMPropertyDescription Should the entity die when this damage level is destroyed? MPropertyStartGroup +Death
0x30m_sCustomDeathHandshakeCGlobalSymbolMPropertyDescription Custom death handshake to set when this damage level is destroyed. MPropertySuppressExpr m_nDestructionDeathBehavior == eDoNotKill
0x38m_bShouldDestroyOnDeathboolMPropertyDescription Whether the damage level should be destroyed when the entity dies.
0x3cm_flDeathDestroyTimeCRangeFloatMPropertyDescription Time after death the damage level should be destroyed MPropertySuppressExpr m_bShouldDestroyOnDeath == false
KV3 class defaults
{
	"m_sName": "",
	"m_sBreakablePieceName": "",
	"m_nBodyGroupValue": -1,
	"m_nHealth": 1,
	"m_flCriticalDamagePercent": 0.000000,
	"m_nDamagePassthroughType": "Normal",
	"m_nDestructionDeathBehavior": "eDoNotKill",
	"m_sCustomDeathHandshake": "",
	"m_bShouldDestroyOnDeath": false,
	"m_flDeathDestroyTime":
	[
		0.100000,
		1.000000
	]
}