CBasePlayerWeaponVData (client)
CS2 build 25218825 · Steam date 2026-09-09 · platform windows-x86_64 · cs2_schema.json
Kind: classSize: 1312 bytes (0x520)Alignment: 8 bytesModule: clientBinary: client.dll
Relationships
Inherits from: CEntitySubclassVDataBase
Same name in another module: CBasePlayerWeaponVData (server)
Derived by: CCSWeaponBaseVData
Inheritance tree
CEntitySubclassVDataBase server
CBasePlayerWeaponVData
Relationship diagram (5 edges)
classDiagram
CEntitySubclassVDataBase <|-- CBasePlayerWeaponVData
CBasePlayerWeaponVData <|-- CCSWeaponBaseVData
CBasePlayerWeaponVData *-- InfoForResourceTypeCModel
CBasePlayerWeaponVData *-- InfoForResourceTypeIParticleSystemDefinition
CBasePlayerWeaponVData *-- AmmoIndex_tMemory layout
32 fields, 32 declared here and 0 inherited. Offsets are absolute from the object base on windows-x86_64.
CBasePlayerWeaponVData
| Offset | Field | Type | From | Annotations |
|---|---|---|---|---|
0x28 | m_szWorldModel | CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > | MPropertyDescription Model used on the ground or held by an entity MPropertyProvidesEditContextString ToolEditContext_ID_VMDL MPropertyStartGroup Visuals | |
0x108 | m_szWorldModelAg2Override | CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > | MPropertyDescription Model used on the ground or held by an entity MPropertyProvidesEditContextString ToolEditContext_ID_VMDL | |
0x1e8 | m_sToolsOnlyOwnerModelName | CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > | MPropertyDescription Model used by the tools only to populate comboboxes for things like animgraph parameter pickers | |
0x2c8 | m_bBuiltRightHanded | bool | MPropertyDescription Was the weapon was built right-handed? | |
0x2c9 | m_bAllowFlipping | bool | MPropertyDescription Allows flipping the model, regardless of whether it is built left or right handed | |
0x2d0 | m_sMuzzleAttachment | CAttachmentNameSymbolWithStorage | MPropertyDescription Attachment to fire bullets from | |
0x2f0 | m_szMuzzleFlashParticle | CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > | MPropertyDescription Effect when firing this weapon | |
0x3d0 | m_szMuzzleFlashParticleConfig | CUtlString | MPropertyAttributeEditor ParticleConfigName() MPropertyDescription Effect Config for Muzzle Flash - if set, will use this config specified in the particle effect, using whatever CP configuration is specified there, vdata muzzleflash attachment will be ignored MPropertyEditContextOverrideKey ToolEditContext_ID_VPCF | |
0x3d8 | m_szBarrelSmokeParticle | CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > | MPropertyDescription Barrel smoke after firing this weapon | |
0x4b8 | m_nMuzzleSmokeShotThreshold | uint8 | MPropertyDescription Barrel smoke shot threshold to create smoke | |
0x4bc | m_flMuzzleSmokeTimeout | float32 | MPropertyDescription Barrel smoke shot timeout | |
0x4c0 | m_flMuzzleSmokeDecrementRate | float32 | MPropertyDescription Barrel smoke decrement rate when not firing | |
0x4c4 | m_bGenerateMuzzleLight | bool | ||
0x4c5 | m_bLinkedCooldowns | bool | MPropertyDescription Should both primary and secondary attacks be cooled down together (so cooling down primary attack would cooldown both primary + secondary attacks)? MPropertyStartGroup Behavior | |
0x4c6 | m_iFlags | ItemFlagTypes_t | ||
0x4c8 | m_iWeight | int32 | MPropertyDescription This value used to determine this weapon's importance in autoselection | |
0x4cc | m_bAutoSwitchTo | bool | MPropertyDescription Whether this weapon is safe to automatically switch to (should be false for eg. explosives that can the player may accidentally hurt themselves with) MPropertyFriendlyName Safe To Auto-Switch To | |
0x4cd | m_bAutoSwitchFrom | bool | MPropertyFriendlyName Safe To Auto-Switch Away From | |
0x4ce | m_nPrimaryAmmoType | AmmoIndex_t | MPropertyAttributeEditor VDataChoice( scripts/ammo.vdata ) MPropertyCustomFGDType string MPropertyStartGroup Ammo | |
0x4cf | m_nSecondaryAmmoType | AmmoIndex_t | MPropertyAttributeEditor VDataChoice( scripts/ammo.vdata ) MPropertyCustomFGDType string | |
0x4d0 | m_iMaxClip1 | int32 | MPropertyAttributeRange 0 255 MPropertyDescription How many bullets this gun can fire before it reloads (0 if no clip) MPropertyFriendlyName Primary Clip Size | |
0x4d4 | m_iMaxClip2 | int32 | MPropertyAttributeRange 0 255 MPropertyDescription How many secondary bullets this gun can fire before it reloads (0 if no clip) MPropertyFriendlyName Secondary Clip Size | |
0x4d8 | m_iDefaultClip1 | int32 | MPropertyAttributeRange -1 255 MPropertyDescription Primary Initial Clip (-1 means use clip size) | |
0x4dc | m_iDefaultClip2 | int32 | MPropertyAttributeRange -1 255 MPropertyDescription Secondary Initial Clip (-1 means use clip size) | |
0x4e0 | m_bReserveAmmoAsClips | bool | MPropertyDescription Indicates whether to treat reserve ammo as clips (reloads) instead of raw bullets | |
0x4e1 | m_bTreatAsSingleClip | bool | MPropertyDescription Regardless of ammo position, we'll always use clip1 as where our bullets come from | |
0x4e2 | m_bKeepLoadedAmmo | bool | MPropertyDescription Indicates whether to keep any loaded ammo in the weapon on reload | |
0x4e4 | m_iRumbleEffect | RumbleEffect_t | MPropertyStartGroup UI | |
0x4e8 | m_flDropSpeed | float32 | ||
0x4ec | m_iSlot | int32 | MPropertyDescription Which 'column' to display this weapon in the HUD MPropertyFriendlyName HUD Bucket | |
0x4f0 | m_iPosition | int32 | MPropertyDescription Which 'row' to display this weapon in the HUD MPropertyFriendlyName HUD Bucket Position | |
0x4f8 | m_aShootSounds | CUtlOrderedMap< WeaponSound_t, CSoundEventName > | MPropertyStartGroup Sounds |
KV3 class defaults
{
"_class": "CBasePlayerWeaponVData",
"m_szWorldModel": "",
"m_szWorldModelAg2Override": "",
"m_sToolsOnlyOwnerModelName": "",
"m_bBuiltRightHanded": true,
"m_bAllowFlipping": true,
"m_sMuzzleAttachment": "muzzle",
"m_szMuzzleFlashParticle": "",
"m_szMuzzleFlashParticleConfig": "",
"m_szBarrelSmokeParticle": "",
"m_nMuzzleSmokeShotThreshold": 4,
"m_flMuzzleSmokeTimeout": 0.250000,
"m_flMuzzleSmokeDecrementRate": 1.000000,
"m_bGenerateMuzzleLight": true,
"m_bLinkedCooldowns": false,
"m_iFlags": "",
"m_iWeight": 0,
"m_bAutoSwitchTo": true,
"m_bAutoSwitchFrom": true,
"m_nPrimaryAmmoType": "",
"m_nSecondaryAmmoType": "",
"m_iMaxClip1": 0,
"m_iMaxClip2": 0,
"m_iDefaultClip1": -1,
"m_iDefaultClip2": -1,
"m_bReserveAmmoAsClips": false,
"m_bTreatAsSingleClip": false,
"m_bKeepLoadedAmmo": false,
"m_iRumbleEffect": "RUMBLE_INVALID",
"m_flDropSpeed": 300.000000,
"m_iSlot": 0,
"m_iPosition": 0,
"m_aShootSounds":
{
}
}