Skip to content

CCSWeaponBaseVData (server)

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: serverBinary: server.dll

Metadata: MPropertySuppressBaseClassField m_iPosition MPropertySuppressBaseClassField m_iSlot

Relationships

Inherits from: CBasePlayerWeaponVData

Same name in another module: CCSWeaponBaseVData (client)

Inheritance tree
Relationship diagram (6 edges)
classDiagram
    CEntitySubclassVDataBase <|-- CBasePlayerWeaponVData
    CBasePlayerWeaponVData <|-- CCSWeaponBaseVData
    CCSWeaponBaseVData *-- InfoForResourceTypeCNmSkeleton
    CCSWeaponBaseVData *-- InfoForResourceTypeIParticleSystemDefinition
    CCSWeaponBaseVData *-- CFiringModeFloat
    CCSWeaponBaseVData *-- CFiringModeInt
Inheritance chain, direct subclasses (up to 20) and a few composition edges

Memory layout

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

CBasePlayerWeaponVDataCCSWeaponBaseVData

OffsetFieldTypeFromAnnotations
0x28m_szWorldModelCResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > >CBasePlayerWeaponVDataMPropertyDescription Model used on the ground or held by an entity MPropertyProvidesEditContextString ToolEditContext_ID_VMDL MPropertyStartGroup Visuals
0x108m_szWorldModelAg2OverrideCResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > >CBasePlayerWeaponVDataMPropertyDescription Model used on the ground or held by an entity MPropertyProvidesEditContextString ToolEditContext_ID_VMDL
0x1e8m_sToolsOnlyOwnerModelNameCResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > >CBasePlayerWeaponVDataMPropertyDescription Model used by the tools only to populate comboboxes for things like animgraph parameter pickers
0x2c8m_bBuiltRightHandedboolCBasePlayerWeaponVDataMPropertyDescription Was the weapon was built right-handed?
0x2c9m_bAllowFlippingboolCBasePlayerWeaponVDataMPropertyDescription Allows flipping the model, regardless of whether it is built left or right handed
0x2d0m_sMuzzleAttachmentCAttachmentNameSymbolWithStorageCBasePlayerWeaponVDataMPropertyDescription Attachment to fire bullets from
0x2f0m_szMuzzleFlashParticleCResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > >CBasePlayerWeaponVDataMPropertyDescription Effect when firing this weapon
0x3d0m_szMuzzleFlashParticleConfigCUtlStringCBasePlayerWeaponVDataMPropertyAttributeEditor 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 > >CBasePlayerWeaponVDataMPropertyDescription Barrel smoke after firing this weapon
0x4b8m_nMuzzleSmokeShotThresholduint8CBasePlayerWeaponVDataMPropertyDescription Barrel smoke shot threshold to create smoke
0x4bcm_flMuzzleSmokeTimeoutfloat32CBasePlayerWeaponVDataMPropertyDescription Barrel smoke shot timeout
0x4c0m_flMuzzleSmokeDecrementRatefloat32CBasePlayerWeaponVDataMPropertyDescription Barrel smoke decrement rate when not firing
0x4c4m_bGenerateMuzzleLightboolCBasePlayerWeaponVData
0x4c5m_bLinkedCooldownsboolCBasePlayerWeaponVDataMPropertyDescription 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_tCBasePlayerWeaponVData
0x4c8m_iWeightint32CBasePlayerWeaponVDataMPropertyDescription This value used to determine this weapon's importance in autoselection
0x4ccm_bAutoSwitchToboolCBasePlayerWeaponVDataMPropertyDescription 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_bAutoSwitchFromboolCBasePlayerWeaponVDataMPropertyFriendlyName Safe To Auto-Switch Away From
0x4cem_nPrimaryAmmoTypeAmmoIndex_tCBasePlayerWeaponVDataMPropertyAttributeEditor VDataChoice( scripts/ammo.vdata ) MPropertyCustomFGDType string MPropertyStartGroup Ammo
0x4cfm_nSecondaryAmmoTypeAmmoIndex_tCBasePlayerWeaponVDataMPropertyAttributeEditor VDataChoice( scripts/ammo.vdata ) MPropertyCustomFGDType string
0x4d0m_iMaxClip1int32CBasePlayerWeaponVDataMPropertyAttributeRange 0 255 MPropertyDescription How many bullets this gun can fire before it reloads (0 if no clip) MPropertyFriendlyName Primary Clip Size
0x4d4m_iMaxClip2int32CBasePlayerWeaponVDataMPropertyAttributeRange 0 255 MPropertyDescription How many secondary bullets this gun can fire before it reloads (0 if no clip) MPropertyFriendlyName Secondary Clip Size
0x4d8m_iDefaultClip1int32CBasePlayerWeaponVDataMPropertyAttributeRange -1 255 MPropertyDescription Primary Initial Clip (-1 means use clip size)
0x4dcm_iDefaultClip2int32CBasePlayerWeaponVDataMPropertyAttributeRange -1 255 MPropertyDescription Secondary Initial Clip (-1 means use clip size)
0x4e0m_bReserveAmmoAsClipsboolCBasePlayerWeaponVDataMPropertyDescription Indicates whether to treat reserve ammo as clips (reloads) instead of raw bullets
0x4e1m_bTreatAsSingleClipboolCBasePlayerWeaponVDataMPropertyDescription Regardless of ammo position, we'll always use clip1 as where our bullets come from
0x4e2m_bKeepLoadedAmmoboolCBasePlayerWeaponVDataMPropertyDescription Indicates whether to keep any loaded ammo in the weapon on reload
0x4e4m_iRumbleEffectRumbleEffect_tCBasePlayerWeaponVDataMPropertyStartGroup UI
0x4e8m_flDropSpeedfloat32CBasePlayerWeaponVData
0x4ecm_iSlotint32CBasePlayerWeaponVDataMPropertyDescription Which 'column' to display this weapon in the HUD MPropertyFriendlyName HUD Bucket
0x4f0m_iPositionint32CBasePlayerWeaponVDataMPropertyDescription Which 'row' to display this weapon in the HUD MPropertyFriendlyName HUD Bucket Position
0x4f8m_aShootSoundsCUtlOrderedMap< WeaponSound_t, CSoundEventName >CBasePlayerWeaponVDataMPropertyStartGroup Sounds
0x520m_WeaponTypeCSWeaponTypeWeapon type classification (pistol, rifle, sniper, knife, grenade, …).
0x524m_WeaponCategoryCSWeaponCategoryCoarser weapon category grouping used by the buy menu.
0x528m_szAnimSkeletonCResourceNameTyped< CWeakHandle< InfoForResourceTypeCNmSkeleton > >MPropertyStartGroup Visuals
0x608m_vecMuzzlePos0Vector
0x614m_vecMuzzlePos1Vector
0x620m_szTracerParticleCResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > >MPropertyDescription Effect to actually fire into the world from this weapon
0x700m_GearSlotgear_slot_tMPropertyDescription Which 'column' to display this weapon in the HUD MPropertyFriendlyName HUD Bucket MPropertyStartGroup HUD Positions
0x704m_GearSlotPositionint32
0x708m_DefaultLoadoutSlotloadout_slot_tMPropertyDescription Default team (non Terrorist or Counter-Terrorist) 'row' to display this weapon in the HUD. MPropertyFriendlyName HUD Bucket Position
0x70cm_nPriceint32Buy-menu price of the weapon, in dollars. MPropertyStartGroup In-Game Data
0x710m_nKillAwardint32Money awarded to the killer for a kill with this weapon.
0x714m_nPrimaryReserveAmmoMaxint32Maximum reserve ammo carried for the primary ammo type.
0x718m_nSecondaryReserveAmmoMaxint32
0x71cm_bMeleeWeaponbool
0x71dm_bHasBurstModebool
0x71em_bIsRevolverbool
0x71fm_bCannotShootUnderwaterbool
0x720m_szNameCGlobalSymbolMPropertyFriendlyName In-Code weapon name
0x728m_eSilencerTypeCSWeaponSilencerType
0x72cm_nCrosshairMinDistanceint32
0x730m_nCrosshairDeltaDistanceint32
0x734m_bIsFullAutoboolTrue if the weapon fires fully automatically while the trigger is held.
0x738m_nNumBulletsint32Projectiles fired per shot (greater than 1 for shotguns).
0x73cm_bReloadsSingleShellsbool
0x740m_flCycleTimeCFiringModeFloatMPropertyStartGroup Firing Mode Data
0x748m_flCycleTimeWhenInBurstModefloat32
0x74cm_flTimeBetweenBurstShotsfloat32
0x750m_flMaxSpeedCFiringModeFloat
0x758m_flSpreadCFiringModeFloat
0x760m_flInaccuracyCrouchCFiringModeFloat
0x768m_flInaccuracyStandCFiringModeFloat
0x770m_flInaccuracyJumpCFiringModeFloat
0x778m_flInaccuracyLandCFiringModeFloat
0x780m_flInaccuracyLadderCFiringModeFloat
0x788m_flInaccuracyFireCFiringModeFloat
0x790m_flInaccuracyMoveCFiringModeFloat
0x798m_flRecoilAngleCFiringModeFloat
0x7a0m_flRecoilAngleVarianceCFiringModeFloat
0x7a8m_flRecoilMagnitudeCFiringModeFloat
0x7b0m_flRecoilMagnitudeVarianceCFiringModeFloat
0x7b8m_nTracerFrequencyCFiringModeInt
0x7c0m_flInaccuracyJumpInitialfloat32
0x7c4m_flInaccuracyJumpApexfloat32
0x7c8m_flInaccuracyReloadfloat32
0x7ccm_flDeployDurationfloat32
0x7d0m_flDisallowAttackAfterReloadStartDurationfloat32
0x7d4m_nBurstShotCountint32
0x7d8m_bAllowBurstHolsterbool
0x7dcm_nRecoilSeedint32MPropertyStartGroup Firing
0x7e0m_nSpreadSeedint32
0x7e4m_flAttackMovespeedFactorfloat32
0x7e8m_flInaccuracyPitchShiftfloat32
0x7ecm_flInaccuracyAltSoundThresholdfloat32
0x7f0m_szUseRadioSubtitleCUtlString
0x7f8m_bUnzoomsAfterShotboolMPropertyStartGroup Zooming
0x7f9m_bHideViewModelWhenZoomedbool
0x7fcm_nZoomLevelsint32
0x800m_nZoomFOV1int32
0x804m_nZoomFOV2int32
0x808m_flZoomTime0float32
0x80cm_flZoomTime1float32
0x810m_flZoomTime2float32
0x814m_flIronSightPullUpSpeedfloat32MPropertyStartGroup Iron Sights
0x818m_flIronSightPutDownSpeedfloat32
0x81cm_flIronSightFOVfloat32
0x820m_flIronSightPivotForwardfloat32
0x824m_flIronSightLoosenessfloat32
0x828m_nDamageint32MPropertyStartGroup Damage
0x82cm_flHeadshotMultiplierfloat32
0x830m_flArmorRatiofloat32
0x834m_flPenetrationfloat32
0x838m_flRangefloat32
0x83cm_flRangeModifierfloat32
0x840m_flFlinchVelocityModifierLargefloat32
0x844m_flFlinchVelocityModifierSmallfloat32
0x848m_flRecoveryTimeCrouchfloat32MPropertyStartGroup Recovery
0x84cm_flRecoveryTimeStandfloat32
0x850m_flRecoveryTimeCrouchFinalfloat32
0x854m_flRecoveryTimeStandFinalfloat32
0x858m_nRecoveryTransitionStartBulletint32
0x85cm_nRecoveryTransitionEndBulletint32
0x860m_flThrowVelocityfloat32MPropertyStartGroup Grenade Data
0x864m_vSmokeColorVector
0x870m_szAnimClassCGlobalSymbol
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": ""
}