Skip to content

CBasePlayerWeaponVData (server)

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

Kind: classSize: 1312 bytes (0x520)Alignment: 8 bytesModule: serverBinary: server.dll

Relationships

Inherits from: CEntitySubclassVDataBase

Same name in another module: CBasePlayerWeaponVData (client)

Derived by: CCSWeaponBaseVData

Inheritance tree
Relationship diagram (5 edges)
classDiagram
    CEntitySubclassVDataBase <|-- CBasePlayerWeaponVData
    CBasePlayerWeaponVData <|-- CCSWeaponBaseVData
    CBasePlayerWeaponVData *-- InfoForResourceTypeCModel
    CBasePlayerWeaponVData *-- InfoForResourceTypeIParticleSystemDefinition
    CBasePlayerWeaponVData *-- AmmoIndex_t
Inheritance chain, direct subclasses (up to 20) and a few composition edges

Memory layout

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

CBasePlayerWeaponVData

OffsetFieldTypeFromAnnotations
0x28m_szWorldModelCResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > >MPropertyDescription Model used on the ground or held by an entity MPropertyProvidesEditContextString ToolEditContext_ID_VMDL MPropertyStartGroup Visuals
0x108m_szWorldModelAg2OverrideCResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > >MPropertyDescription Model used on the ground or held by an entity MPropertyProvidesEditContextString ToolEditContext_ID_VMDL
0x1e8m_sToolsOnlyOwnerModelNameCResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > >MPropertyDescription Model used by the tools only to populate comboboxes for things like animgraph parameter pickers
0x2c8m_bBuiltRightHandedboolMPropertyDescription Was the weapon was built right-handed?
0x2c9m_bAllowFlippingboolMPropertyDescription Allows flipping the model, regardless of whether it is built left or right handed
0x2d0m_sMuzzleAttachmentCAttachmentNameSymbolWithStorageMPropertyDescription Attachment to fire bullets from
0x2f0m_szMuzzleFlashParticleCResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > >MPropertyDescription Effect when firing this weapon
0x3d0m_szMuzzleFlashParticleConfigCUtlStringMPropertyAttributeEditor 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
0x3d8m_szBarrelSmokeParticleCResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > >MPropertyDescription Barrel smoke after firing this weapon
0x4b8m_nMuzzleSmokeShotThresholduint8MPropertyDescription Barrel smoke shot threshold to create smoke
0x4bcm_flMuzzleSmokeTimeoutfloat32MPropertyDescription Barrel smoke shot timeout
0x4c0m_flMuzzleSmokeDecrementRatefloat32MPropertyDescription Barrel smoke decrement rate when not firing
0x4c4m_bGenerateMuzzleLightbool
0x4c5m_bLinkedCooldownsboolMPropertyDescription Should both primary and secondary attacks be cooled down together (so cooling down primary attack would cooldown both primary + secondary attacks)? MPropertyStartGroup Behavior
0x4c6m_iFlagsItemFlagTypes_t
0x4c8m_iWeightint32MPropertyDescription This value used to determine this weapon's importance in autoselection
0x4ccm_bAutoSwitchToboolMPropertyDescription 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
0x4cdm_bAutoSwitchFromboolMPropertyFriendlyName Safe To Auto-Switch Away From
0x4cem_nPrimaryAmmoTypeAmmoIndex_tMPropertyAttributeEditor VDataChoice( scripts/ammo.vdata ) MPropertyCustomFGDType string MPropertyStartGroup Ammo
0x4cfm_nSecondaryAmmoTypeAmmoIndex_tMPropertyAttributeEditor VDataChoice( scripts/ammo.vdata ) MPropertyCustomFGDType string
0x4d0m_iMaxClip1int32MPropertyAttributeRange 0 255 MPropertyDescription How many bullets this gun can fire before it reloads (0 if no clip) MPropertyFriendlyName Primary Clip Size
0x4d4m_iMaxClip2int32MPropertyAttributeRange 0 255 MPropertyDescription How many secondary bullets this gun can fire before it reloads (0 if no clip) MPropertyFriendlyName Secondary Clip Size
0x4d8m_iDefaultClip1int32MPropertyAttributeRange -1 255 MPropertyDescription Primary Initial Clip (-1 means use clip size)
0x4dcm_iDefaultClip2int32MPropertyAttributeRange -1 255 MPropertyDescription Secondary Initial Clip (-1 means use clip size)
0x4e0m_bReserveAmmoAsClipsboolMPropertyDescription Indicates whether to treat reserve ammo as clips (reloads) instead of raw bullets
0x4e1m_bTreatAsSingleClipboolMPropertyDescription Regardless of ammo position, we'll always use clip1 as where our bullets come from
0x4e2m_bKeepLoadedAmmoboolMPropertyDescription Indicates whether to keep any loaded ammo in the weapon on reload
0x4e4m_iRumbleEffectRumbleEffect_tMPropertyStartGroup UI
0x4e8m_flDropSpeedfloat32
0x4ecm_iSlotint32MPropertyDescription Which 'column' to display this weapon in the HUD MPropertyFriendlyName HUD Bucket
0x4f0m_iPositionint32MPropertyDescription Which 'row' to display this weapon in the HUD MPropertyFriendlyName HUD Bucket Position
0x4f8m_aShootSoundsCUtlOrderedMap< 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":
	{
	}
}