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 *-- CRangeFloatMemory layout
10 fields, 10 declared here and 0 inherited. Offsets are absolute from the object base on windows-x86_64.
CDestructiblePart_DamageLevel
| Offset | Field | Type | From | Annotations |
|---|---|---|---|---|
0x0 | m_sName | CUtlString | MPropertyDescription Name for this damage level. Presently only used for debugging/display - one day may be used in code to allow destroying by name. | |
0x8 | m_sBreakablePieceName | CGlobalSymbol | MPropertyAttributeEditor ModelDocPicker( MODELDOC_PICK_TYPE_BREAKPIECE ) MPropertyDescription Name of the breakable to trigger breaking on when health reaches zero. MPropertyStartGroup +Model Setup | |
0x10 | m_nBodyGroupValue | int32 | MPropertyDescription Value to set for the body group when the damage level is broken. | |
0x14 | m_nHealth | CSkillInt | MPropertyDescription 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 | |
0x24 | m_flCriticalDamagePercent | float32 | MPropertyDescription % chance (0-1) of dealing 'critical' damage, which destroys this damage level, regardless of damage pass through type. | |
0x28 | m_nDamagePassthroughType | EDestructiblePartDamagePassThroughType | MPropertyDescription How damage to this damage level is handled. | |
0x2c | m_nDestructionDeathBehavior | DestructiblePartDestructionDeathBehavior_t | MPropertyDescription Should the entity die when this damage level is destroyed? MPropertyStartGroup +Death | |
0x30 | m_sCustomDeathHandshake | CGlobalSymbol | MPropertyDescription Custom death handshake to set when this damage level is destroyed. MPropertySuppressExpr m_nDestructionDeathBehavior == eDoNotKill | |
0x38 | m_bShouldDestroyOnDeath | bool | MPropertyDescription Whether the damage level should be destroyed when the entity dies. | |
0x3c | m_flDeathDestroyTime | CRangeFloat | MPropertyDescription 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
]
}