CCSWeaponBaseVData (client)
Static weapon definition (economy + ballistics) referenced by CCSWeaponBase — the per-weapon-type data that does not change at runtime.
CS2 build 25218825 · Steam date 2026-09-09 · platform windows-x86_64 · cs2_schema.json
Kind: classSize: 2216 bytes (0x8a8)Alignment: 8 bytesModule: clientBinary: client.dll
Metadata: MPropertySuppressBaseClassField m_iPosition MPropertySuppressBaseClassField m_iSlot
Relationships
Inherits from: CBasePlayerWeaponVData
Same name in another module: CCSWeaponBaseVData (server)
Inheritance tree
CEntitySubclassVDataBase server
CBasePlayerWeaponVData
- CCSWeaponBaseVData
Relationship diagram (6 edges)
classDiagram
CEntitySubclassVDataBase <|-- CBasePlayerWeaponVData
CBasePlayerWeaponVData <|-- CCSWeaponBaseVData
CCSWeaponBaseVData *-- InfoForResourceTypeCNmSkeleton
CCSWeaponBaseVData *-- InfoForResourceTypeIParticleSystemDefinition
CCSWeaponBaseVData *-- CFiringModeFloat
CCSWeaponBaseVData *-- CFiringModeIntMemory layout
116 fields, 84 declared here and 32 inherited. Offsets are absolute from the object base on windows-x86_64.
CBasePlayerWeaponVDataCCSWeaponBaseVData
| Offset | Field | Type | From | Annotations |
|---|---|---|---|---|
0x28 | m_szWorldModel | CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > | CBasePlayerWeaponVData | MPropertyDescription Model used on the ground or held by an entity MPropertyProvidesEditContextString ToolEditContext_ID_VMDL MPropertyStartGroup Visuals |
0x108 | m_szWorldModelAg2Override | CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > | CBasePlayerWeaponVData | MPropertyDescription Model used on the ground or held by an entity MPropertyProvidesEditContextString ToolEditContext_ID_VMDL |
0x1e8 | m_sToolsOnlyOwnerModelName | CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > | CBasePlayerWeaponVData | MPropertyDescription Model used by the tools only to populate comboboxes for things like animgraph parameter pickers |
0x2c8 | m_bBuiltRightHanded | bool | CBasePlayerWeaponVData | MPropertyDescription Was the weapon was built right-handed? |
0x2c9 | m_bAllowFlipping | bool | CBasePlayerWeaponVData | MPropertyDescription Allows flipping the model, regardless of whether it is built left or right handed |
0x2d0 | m_sMuzzleAttachment | CAttachmentNameSymbolWithStorage | CBasePlayerWeaponVData | MPropertyDescription Attachment to fire bullets from |
0x2f0 | m_szMuzzleFlashParticle | CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > | CBasePlayerWeaponVData | MPropertyDescription Effect when firing this weapon |
0x3d0 | m_szMuzzleFlashParticleConfig | CUtlString | CBasePlayerWeaponVData | 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 > > | CBasePlayerWeaponVData | MPropertyDescription Barrel smoke after firing this weapon |
0x4b8 | m_nMuzzleSmokeShotThreshold | uint8 | CBasePlayerWeaponVData | MPropertyDescription Barrel smoke shot threshold to create smoke |
0x4bc | m_flMuzzleSmokeTimeout | float32 | CBasePlayerWeaponVData | MPropertyDescription Barrel smoke shot timeout |
0x4c0 | m_flMuzzleSmokeDecrementRate | float32 | CBasePlayerWeaponVData | MPropertyDescription Barrel smoke decrement rate when not firing |
0x4c4 | m_bGenerateMuzzleLight | bool | CBasePlayerWeaponVData | |
0x4c5 | m_bLinkedCooldowns | bool | CBasePlayerWeaponVData | 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 | CBasePlayerWeaponVData | |
0x4c8 | m_iWeight | int32 | CBasePlayerWeaponVData | MPropertyDescription This value used to determine this weapon's importance in autoselection |
0x4cc | m_bAutoSwitchTo | bool | CBasePlayerWeaponVData | 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 | CBasePlayerWeaponVData | MPropertyFriendlyName Safe To Auto-Switch Away From |
0x4ce | m_nPrimaryAmmoType | AmmoIndex_t | CBasePlayerWeaponVData | MPropertyAttributeEditor VDataChoice( scripts/ammo.vdata ) MPropertyCustomFGDType string MPropertyStartGroup Ammo |
0x4cf | m_nSecondaryAmmoType | AmmoIndex_t | CBasePlayerWeaponVData | MPropertyAttributeEditor VDataChoice( scripts/ammo.vdata ) MPropertyCustomFGDType string |
0x4d0 | m_iMaxClip1 | int32 | CBasePlayerWeaponVData | 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 | CBasePlayerWeaponVData | 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 | CBasePlayerWeaponVData | MPropertyAttributeRange -1 255 MPropertyDescription Primary Initial Clip (-1 means use clip size) |
0x4dc | m_iDefaultClip2 | int32 | CBasePlayerWeaponVData | MPropertyAttributeRange -1 255 MPropertyDescription Secondary Initial Clip (-1 means use clip size) |
0x4e0 | m_bReserveAmmoAsClips | bool | CBasePlayerWeaponVData | MPropertyDescription Indicates whether to treat reserve ammo as clips (reloads) instead of raw bullets |
0x4e1 | m_bTreatAsSingleClip | bool | CBasePlayerWeaponVData | MPropertyDescription Regardless of ammo position, we'll always use clip1 as where our bullets come from |
0x4e2 | m_bKeepLoadedAmmo | bool | CBasePlayerWeaponVData | MPropertyDescription Indicates whether to keep any loaded ammo in the weapon on reload |
0x4e4 | m_iRumbleEffect | RumbleEffect_t | CBasePlayerWeaponVData | MPropertyStartGroup UI |
0x4e8 | m_flDropSpeed | float32 | CBasePlayerWeaponVData | |
0x4ec | m_iSlot | int32 | CBasePlayerWeaponVData | MPropertyDescription Which 'column' to display this weapon in the HUD MPropertyFriendlyName HUD Bucket |
0x4f0 | m_iPosition | int32 | CBasePlayerWeaponVData | MPropertyDescription Which 'row' to display this weapon in the HUD MPropertyFriendlyName HUD Bucket Position |
0x4f8 | m_aShootSounds | CUtlOrderedMap< WeaponSound_t, CSoundEventName > | CBasePlayerWeaponVData | MPropertyStartGroup Sounds |
0x520 | m_WeaponType | CSWeaponType | Weapon type classification (pistol, rifle, sniper, knife, grenade, …). | |
0x524 | m_WeaponCategory | CSWeaponCategory | Coarser weapon category grouping used by the buy menu. | |
0x528 | m_szAnimSkeleton | CResourceNameTyped< CWeakHandle< InfoForResourceTypeCNmSkeleton > > | MPropertyStartGroup Visuals | |
0x608 | m_vecMuzzlePos0 | Vector | ||
0x614 | m_vecMuzzlePos1 | Vector | ||
0x620 | m_szTracerParticle | CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > | MPropertyDescription Effect to actually fire into the world from this weapon | |
0x700 | m_GearSlot | gear_slot_t | MPropertyDescription Which 'column' to display this weapon in the HUD MPropertyFriendlyName HUD Bucket MPropertyStartGroup HUD Positions | |
0x704 | m_GearSlotPosition | int32 | ||
0x708 | m_DefaultLoadoutSlot | loadout_slot_t | MPropertyDescription Default team (non Terrorist or Counter-Terrorist) 'row' to display this weapon in the HUD. MPropertyFriendlyName HUD Bucket Position | |
0x70c | m_nPrice | int32 | Buy-menu price of the weapon, in dollars. MPropertyStartGroup In-Game Data | |
0x710 | m_nKillAward | int32 | Money awarded to the killer for a kill with this weapon. | |
0x714 | m_nPrimaryReserveAmmoMax | int32 | Maximum reserve ammo carried for the primary ammo type. | |
0x718 | m_nSecondaryReserveAmmoMax | int32 | ||
0x71c | m_bMeleeWeapon | bool | ||
0x71d | m_bHasBurstMode | bool | ||
0x71e | m_bIsRevolver | bool | ||
0x71f | m_bCannotShootUnderwater | bool | ||
0x720 | m_szName | CGlobalSymbol | MPropertyFriendlyName In-Code weapon name | |
0x728 | m_eSilencerType | CSWeaponSilencerType | ||
0x72c | m_nCrosshairMinDistance | int32 | ||
0x730 | m_nCrosshairDeltaDistance | int32 | ||
0x734 | m_bIsFullAuto | bool | True if the weapon fires fully automatically while the trigger is held. | |
0x738 | m_nNumBullets | int32 | Projectiles fired per shot (greater than 1 for shotguns). | |
0x73c | m_bReloadsSingleShells | bool | ||
0x740 | m_flCycleTime | CFiringModeFloat | MPropertyStartGroup Firing Mode Data | |
0x748 | m_flCycleTimeWhenInBurstMode | float32 | ||
0x74c | m_flTimeBetweenBurstShots | float32 | ||
0x750 | m_flMaxSpeed | CFiringModeFloat | ||
0x758 | m_flSpread | CFiringModeFloat | ||
0x760 | m_flInaccuracyCrouch | CFiringModeFloat | ||
0x768 | m_flInaccuracyStand | CFiringModeFloat | ||
0x770 | m_flInaccuracyJump | CFiringModeFloat | ||
0x778 | m_flInaccuracyLand | CFiringModeFloat | ||
0x780 | m_flInaccuracyLadder | CFiringModeFloat | ||
0x788 | m_flInaccuracyFire | CFiringModeFloat | ||
0x790 | m_flInaccuracyMove | CFiringModeFloat | ||
0x798 | m_flRecoilAngle | CFiringModeFloat | ||
0x7a0 | m_flRecoilAngleVariance | CFiringModeFloat | ||
0x7a8 | m_flRecoilMagnitude | CFiringModeFloat | ||
0x7b0 | m_flRecoilMagnitudeVariance | CFiringModeFloat | ||
0x7b8 | m_nTracerFrequency | CFiringModeInt | ||
0x7c0 | m_flInaccuracyJumpInitial | float32 | ||
0x7c4 | m_flInaccuracyJumpApex | float32 | ||
0x7c8 | m_flInaccuracyReload | float32 | ||
0x7cc | m_flDeployDuration | float32 | ||
0x7d0 | m_flDisallowAttackAfterReloadStartDuration | float32 | ||
0x7d4 | m_nBurstShotCount | int32 | ||
0x7d8 | m_bAllowBurstHolster | bool | ||
0x7dc | m_nRecoilSeed | int32 | MPropertyStartGroup Firing | |
0x7e0 | m_nSpreadSeed | int32 | ||
0x7e4 | m_flAttackMovespeedFactor | float32 | ||
0x7e8 | m_flInaccuracyPitchShift | float32 | ||
0x7ec | m_flInaccuracyAltSoundThreshold | float32 | ||
0x7f0 | m_szUseRadioSubtitle | CUtlString | ||
0x7f8 | m_bUnzoomsAfterShot | bool | MPropertyStartGroup Zooming | |
0x7f9 | m_bHideViewModelWhenZoomed | bool | ||
0x7fc | m_nZoomLevels | int32 | ||
0x800 | m_nZoomFOV1 | int32 | ||
0x804 | m_nZoomFOV2 | int32 | ||
0x808 | m_flZoomTime0 | float32 | ||
0x80c | m_flZoomTime1 | float32 | ||
0x810 | m_flZoomTime2 | float32 | ||
0x814 | m_flIronSightPullUpSpeed | float32 | MPropertyStartGroup Iron Sights | |
0x818 | m_flIronSightPutDownSpeed | float32 | ||
0x81c | m_flIronSightFOV | float32 | ||
0x820 | m_flIronSightPivotForward | float32 | ||
0x824 | m_flIronSightLooseness | float32 | ||
0x828 | m_nDamage | int32 | MPropertyStartGroup Damage | |
0x82c | m_flHeadshotMultiplier | float32 | ||
0x830 | m_flArmorRatio | float32 | ||
0x834 | m_flPenetration | float32 | ||
0x838 | m_flRange | float32 | ||
0x83c | m_flRangeModifier | float32 | ||
0x840 | m_flFlinchVelocityModifierLarge | float32 | ||
0x844 | m_flFlinchVelocityModifierSmall | float32 | ||
0x848 | m_flRecoveryTimeCrouch | float32 | MPropertyStartGroup Recovery | |
0x84c | m_flRecoveryTimeStand | float32 | ||
0x850 | m_flRecoveryTimeCrouchFinal | float32 | ||
0x854 | m_flRecoveryTimeStandFinal | float32 | ||
0x858 | m_nRecoveryTransitionStartBullet | int32 | ||
0x85c | m_nRecoveryTransitionEndBullet | int32 | ||
0x860 | m_flThrowVelocity | float32 | MPropertyStartGroup Grenade Data | |
0x864 | m_vSmokeColor | Vector | ||
0x870 | m_szAnimClass | CGlobalSymbol |
KV3 class defaults
{
"_class": "CCSWeaponBaseVData",
"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":
{
},
"m_WeaponType": "WEAPONTYPE_UNKNOWN",
"m_WeaponCategory": "WEAPONCATEGORY_OTHER",
"m_szAnimSkeleton": "",
"m_vecMuzzlePos0":
[
0.000000,
0.000000,
0.000000
],
"m_vecMuzzlePos1":
[
0.000000,
0.000000,
0.000000
],
"m_szTracerParticle": "",
"m_GearSlot": "GEAR_SLOT_INVALID",
"m_GearSlotPosition": -1,
"m_DefaultLoadoutSlot": "LOADOUT_SLOT_INVALID",
"m_nPrice": 0,
"m_nKillAward": 0,
"m_nPrimaryReserveAmmoMax": 0,
"m_nSecondaryReserveAmmoMax": 0,
"m_bMeleeWeapon": false,
"m_bHasBurstMode": false,
"m_bIsRevolver": false,
"m_bCannotShootUnderwater": false,
"m_szName": "",
"m_eSilencerType": "WEAPONSILENCER_NONE",
"m_nCrosshairMinDistance": 0,
"m_nCrosshairDeltaDistance": 0,
"m_bIsFullAuto": false,
"m_nNumBullets": 0,
"m_bReloadsSingleShells": false,
"m_flCycleTime": 0.000000,
"m_flCycleTimeWhenInBurstMode": 0.000000,
"m_flTimeBetweenBurstShots": 0.000000,
"m_flMaxSpeed": 0.000000,
"m_flSpread": 0.000000,
"m_flInaccuracyCrouch": 0.000000,
"m_flInaccuracyStand": 0.000000,
"m_flInaccuracyJump": 0.000000,
"m_flInaccuracyLand": 0.000000,
"m_flInaccuracyLadder": 0.000000,
"m_flInaccuracyFire": 0.000000,
"m_flInaccuracyMove": 0.000000,
"m_flRecoilAngle": 0.000000,
"m_flRecoilAngleVariance": 0.000000,
"m_flRecoilMagnitude": 0.000000,
"m_flRecoilMagnitudeVariance": 0.000000,
"m_nTracerFrequency": 0,
"m_flInaccuracyJumpInitial": 0.000000,
"m_flInaccuracyJumpApex": 0.000000,
"m_flInaccuracyReload": 0.000000,
"m_flDeployDuration": 0.000000,
"m_flDisallowAttackAfterReloadStartDuration": 0.000000,
"m_nBurstShotCount": 2,
"m_bAllowBurstHolster": true,
"m_nRecoilSeed": 0,
"m_nSpreadSeed": 0,
"m_flAttackMovespeedFactor": 0.000000,
"m_flInaccuracyPitchShift": 0.000000,
"m_flInaccuracyAltSoundThreshold": 0.000000,
"m_szUseRadioSubtitle": "",
"m_bUnzoomsAfterShot": false,
"m_bHideViewModelWhenZoomed": false,
"m_nZoomLevels": 0,
"m_nZoomFOV1": 0,
"m_nZoomFOV2": 0,
"m_flZoomTime0": 0.000000,
"m_flZoomTime1": 0.000000,
"m_flZoomTime2": 0.000000,
"m_flIronSightPullUpSpeed": 8.000000,
"m_flIronSightPutDownSpeed": 4.000000,
"m_flIronSightFOV": 80.000000,
"m_flIronSightPivotForward": 10.000000,
"m_flIronSightLooseness": 0.500000,
"m_nDamage": 0,
"m_flHeadshotMultiplier": 0.000000,
"m_flArmorRatio": 0.000000,
"m_flPenetration": 0.000000,
"m_flRange": 0.000000,
"m_flRangeModifier": 0.000000,
"m_flFlinchVelocityModifierLarge": 0.000000,
"m_flFlinchVelocityModifierSmall": 0.000000,
"m_flRecoveryTimeCrouch": 0.000000,
"m_flRecoveryTimeStand": 0.000000,
"m_flRecoveryTimeCrouchFinal": 0.000000,
"m_flRecoveryTimeStandFinal": 0.000000,
"m_nRecoveryTransitionStartBullet": 0,
"m_nRecoveryTransitionEndBullet": 0,
"m_flThrowVelocity": 0.000000,
"m_vSmokeColor":
[
1.000000,
1.000000,
1.000000
],
"m_szAnimClass": ""
}